From dde9b24015bc0104bf3c24f4feaebacf92a42a89 Mon Sep 17 00:00:00 2001 From: Miguel Nogueira Date: Tue, 11 Jun 2019 22:24:08 +0100 Subject: [PATCH] Add venv --- .gitignore | 1 - venv/bin/activate | 76 + venv/bin/activate.csh | 37 + venv/bin/activate.fish | 75 + venv/bin/easy_install | 12 + venv/bin/easy_install-3.6 | 12 + venv/bin/pip | 12 + venv/bin/pip3 | 12 + venv/bin/pip3.6 | 12 + venv/bin/python | Bin 0 -> 4486232 bytes venv/bin/python3 | Bin 0 -> 4486232 bytes venv/bin/python3.6 | Bin 0 -> 4486232 bytes .../python3.6/site-packages/easy-install.pth | 2 + .../pexpect-4.7.0.dist-info/INSTALLER | 1 + .../pexpect-4.7.0.dist-info/LICENSE | 20 + .../pexpect-4.7.0.dist-info/METADATA | 49 + .../pexpect-4.7.0.dist-info/RECORD | 37 + .../pexpect-4.7.0.dist-info/WHEEL | 6 + .../pexpect-4.7.0.dist-info/top_level.txt | 1 + .../python3.6/site-packages/pexpect/ANSI.py | 351 + .../python3.6/site-packages/pexpect/FSM.py | 334 + .../site-packages/pexpect/__init__.py | 85 + .../pexpect/__pycache__/ANSI.cpython-36.pyc | Bin 0 -> 10273 bytes .../pexpect/__pycache__/FSM.cpython-36.pyc | Bin 0 -> 12690 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 3958 bytes .../pexpect/__pycache__/_async.cpython-36.pyc | Bin 0 -> 3305 bytes .../__pycache__/exceptions.cpython-36.pyc | Bin 0 -> 1838 bytes .../pexpect/__pycache__/expect.cpython-36.pyc | Bin 0 -> 8072 bytes .../__pycache__/fdpexpect.cpython-36.pyc | Bin 0 -> 5767 bytes .../__pycache__/popen_spawn.cpython-36.pyc | Bin 0 -> 5066 bytes .../__pycache__/pty_spawn.cpython-36.pyc | Bin 0 -> 32124 bytes .../pexpect/__pycache__/pxssh.cpython-36.pyc | Bin 0 -> 16735 bytes .../__pycache__/replwrap.cpython-36.pyc | Bin 0 -> 4561 bytes .../pexpect/__pycache__/run.cpython-36.pyc | Bin 0 -> 5768 bytes .../pexpect/__pycache__/screen.cpython-36.pyc | Bin 0 -> 14656 bytes .../__pycache__/spawnbase.cpython-36.pyc | Bin 0 -> 17588 bytes .../pexpect/__pycache__/utils.cpython-36.pyc | Bin 0 -> 3727 bytes .../python3.6/site-packages/pexpect/_async.py | 105 + .../python3.6/site-packages/pexpect/bashrc.sh | 16 + .../site-packages/pexpect/exceptions.py | 35 + .../python3.6/site-packages/pexpect/expect.py | 306 + .../site-packages/pexpect/fdpexpect.py | 148 + .../site-packages/pexpect/popen_spawn.py | 188 + .../site-packages/pexpect/pty_spawn.py | 855 ++ .../python3.6/site-packages/pexpect/pxssh.py | 537 ++ .../site-packages/pexpect/replwrap.py | 130 + .../python3.6/site-packages/pexpect/run.py | 157 + .../python3.6/site-packages/pexpect/screen.py | 431 + .../site-packages/pexpect/spawnbase.py | 522 ++ .../python3.6/site-packages/pexpect/utils.py | 187 + .../pip-19.0.3-py3.6.egg/EGG-INFO/PKG-INFO | 73 + .../pip-19.0.3-py3.6.egg/EGG-INFO/SOURCES.txt | 391 + .../EGG-INFO/dependency_links.txt | 1 + .../EGG-INFO/entry_points.txt | 5 + .../EGG-INFO/not-zip-safe | 1 + .../EGG-INFO/top_level.txt | 1 + .../pip-19.0.3-py3.6.egg/pip/__init__.py | 1 + .../pip-19.0.3-py3.6.egg/pip/__main__.py | 19 + .../pip/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 223 bytes .../pip/_internal/__init__.py | 78 + .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 1867 bytes .../__pycache__/build_env.cpython-36.pyc | Bin 0 -> 7529 bytes .../__pycache__/cache.cpython-36.pyc | Bin 0 -> 7075 bytes .../__pycache__/configuration.cpython-36.pyc | Bin 0 -> 9870 bytes .../__pycache__/download.cpython-36.pyc | Bin 0 -> 21231 bytes .../__pycache__/exceptions.cpython-36.pyc | Bin 0 -> 11767 bytes .../__pycache__/index.cpython-36.pyc | Bin 0 -> 25322 bytes .../__pycache__/locations.cpython-36.pyc | Bin 0 -> 4458 bytes .../__pycache__/pep425tags.cpython-36.pyc | Bin 0 -> 8359 bytes .../__pycache__/pyproject.cpython-36.pyc | Bin 0 -> 3209 bytes .../__pycache__/resolve.cpython-36.pyc | Bin 0 -> 9129 bytes .../__pycache__/wheel.cpython-36.pyc | Bin 0 -> 25997 bytes .../pip/_internal/build_env.py | 215 + .../pip/_internal/cache.py | 224 + .../pip/_internal/cli/__init__.py | 4 + .../cli/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 298 bytes .../__pycache__/autocompletion.cpython-36.pyc | Bin 0 -> 5140 bytes .../__pycache__/base_command.cpython-36.pyc | Bin 0 -> 7848 bytes .../cli/__pycache__/cmdoptions.cpython-36.pyc | Bin 0 -> 16916 bytes .../__pycache__/main_parser.cpython-36.pyc | Bin 0 -> 2386 bytes .../cli/__pycache__/parser.cpython-36.pyc | Bin 0 -> 8982 bytes .../__pycache__/status_codes.cpython-36.pyc | Bin 0 -> 427 bytes .../pip/_internal/cli/autocompletion.py | 152 + .../pip/_internal/cli/base_command.py | 341 + .../pip/_internal/cli/cmdoptions.py | 809 ++ .../pip/_internal/cli/main_parser.py | 104 + .../pip/_internal/cli/parser.py | 261 + .../pip/_internal/cli/status_codes.py | 8 + .../pip/_internal/commands/__init__.py | 79 + .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 2526 bytes .../commands/__pycache__/check.cpython-36.pyc | Bin 0 -> 1351 bytes .../__pycache__/completion.cpython-36.pyc | Bin 0 -> 3100 bytes .../__pycache__/configuration.cpython-36.pyc | Bin 0 -> 6470 bytes .../__pycache__/download.cpython-36.pyc | Bin 0 -> 4741 bytes .../__pycache__/freeze.cpython-36.pyc | Bin 0 -> 2888 bytes .../commands/__pycache__/hash.cpython-36.pyc | Bin 0 -> 2090 bytes .../commands/__pycache__/help.cpython-36.pyc | Bin 0 -> 1266 bytes .../__pycache__/install.cpython-36.pyc | Bin 0 -> 12495 bytes .../commands/__pycache__/list.cpython-36.pyc | Bin 0 -> 8742 bytes .../__pycache__/search.cpython-36.pyc | Bin 0 -> 4336 bytes .../commands/__pycache__/show.cpython-36.pyc | Bin 0 -> 5945 bytes .../__pycache__/uninstall.cpython-36.pyc | Bin 0 -> 2722 bytes .../commands/__pycache__/wheel.cpython-36.pyc | Bin 0 -> 5025 bytes .../pip/_internal/commands/check.py | 41 + .../pip/_internal/commands/completion.py | 94 + .../pip/_internal/commands/configuration.py | 227 + .../pip/_internal/commands/download.py | 176 + .../pip/_internal/commands/freeze.py | 96 + .../pip/_internal/commands/hash.py | 57 + .../pip/_internal/commands/help.py | 37 + .../pip/_internal/commands/install.py | 566 ++ .../pip/_internal/commands/list.py | 301 + .../pip/_internal/commands/search.py | 135 + .../pip/_internal/commands/show.py | 168 + .../pip/_internal/commands/uninstall.py | 78 + .../pip/_internal/commands/wheel.py | 186 + .../pip/_internal/configuration.py | 387 + .../pip/_internal/download.py | 971 ++ .../pip/_internal/exceptions.py | 274 + .../pip/_internal/index.py | 990 ++ .../pip/_internal/locations.py | 211 + .../pip/_internal/models/__init__.py | 2 + .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 286 bytes .../__pycache__/candidate.cpython-36.pyc | Bin 0 -> 1335 bytes .../__pycache__/format_control.cpython-36.pyc | Bin 0 -> 2289 bytes .../models/__pycache__/index.cpython-36.pyc | Bin 0 -> 1190 bytes .../models/__pycache__/link.cpython-36.pyc | Bin 0 -> 5024 bytes .../pip/_internal/models/candidate.py | 31 + .../pip/_internal/models/format_control.py | 73 + .../pip/_internal/models/index.py | 31 + .../pip/_internal/models/link.py | 163 + .../pip/_internal/operations/__init__.py | 0 .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 222 bytes .../__pycache__/check.cpython-36.pyc | Bin 0 -> 3647 bytes .../__pycache__/freeze.cpython-36.pyc | Bin 0 -> 5694 bytes .../__pycache__/prepare.cpython-36.pyc | Bin 0 -> 10304 bytes .../pip/_internal/operations/check.py | 155 + .../pip/_internal/operations/freeze.py | 247 + .../pip/_internal/operations/prepare.py | 413 + .../pip/_internal/pep425tags.py | 381 + .../pip/_internal/pyproject.py | 171 + .../pip/_internal/req/__init__.py | 77 + .../req/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 1709 bytes .../__pycache__/constructors.cpython-36.pyc | Bin 0 -> 7631 bytes .../req/__pycache__/req_file.cpython-36.pyc | Bin 0 -> 9234 bytes .../__pycache__/req_install.cpython-36.pyc | Bin 0 -> 25084 bytes .../req/__pycache__/req_set.cpython-36.pyc | Bin 0 -> 6064 bytes .../__pycache__/req_tracker.cpython-36.pyc | Bin 0 -> 3168 bytes .../__pycache__/req_uninstall.cpython-36.pyc | Bin 0 -> 17038 bytes .../pip/_internal/req/constructors.py | 339 + .../pip/_internal/req/req_file.py | 382 + .../pip/_internal/req/req_install.py | 1021 ++ .../pip/_internal/req/req_set.py | 197 + .../pip/_internal/req/req_tracker.py | 88 + .../pip/_internal/req/req_uninstall.py | 596 ++ .../pip/_internal/resolve.py | 393 + .../pip/_internal/utils/__init__.py | 0 .../utils/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 217 bytes .../utils/__pycache__/appdirs.cpython-36.pyc | Bin 0 -> 8074 bytes .../utils/__pycache__/compat.cpython-36.pyc | Bin 0 -> 6194 bytes .../__pycache__/deprecation.cpython-36.pyc | Bin 0 -> 2591 bytes .../utils/__pycache__/encoding.cpython-36.pyc | Bin 0 -> 1294 bytes .../__pycache__/filesystem.cpython-36.pyc | Bin 0 -> 686 bytes .../utils/__pycache__/glibc.cpython-36.pyc | Bin 0 -> 1710 bytes .../utils/__pycache__/hashes.cpython-36.pyc | Bin 0 -> 3624 bytes .../utils/__pycache__/logging.cpython-36.pyc | Bin 0 -> 7863 bytes .../utils/__pycache__/misc.cpython-36.pyc | Bin 0 -> 25828 bytes .../utils/__pycache__/models.cpython-36.pyc | Bin 0 -> 1966 bytes .../utils/__pycache__/outdated.cpython-36.pyc | Bin 0 -> 4137 bytes .../__pycache__/packaging.cpython-36.pyc | Bin 0 -> 2636 bytes .../setuptools_build.cpython-36.pyc | Bin 0 -> 412 bytes .../utils/__pycache__/temp_dir.cpython-36.pyc | Bin 0 -> 4939 bytes .../utils/__pycache__/typing.cpython-36.pyc | Bin 0 -> 1361 bytes .../utils/__pycache__/ui.cpython-36.pyc | Bin 0 -> 12344 bytes .../pip/_internal/utils/appdirs.py | 270 + .../pip/_internal/utils/compat.py | 264 + .../pip/_internal/utils/deprecation.py | 90 + .../pip/_internal/utils/encoding.py | 39 + .../pip/_internal/utils/filesystem.py | 30 + .../pip/_internal/utils/glibc.py | 93 + .../pip/_internal/utils/hashes.py | 115 + .../pip/_internal/utils/logging.py | 318 + .../pip/_internal/utils/misc.py | 1040 +++ .../pip/_internal/utils/models.py | 40 + .../pip/_internal/utils/outdated.py | 164 + .../pip/_internal/utils/packaging.py | 85 + .../pip/_internal/utils/setuptools_build.py | 8 + .../pip/_internal/utils/temp_dir.py | 155 + .../pip/_internal/utils/typing.py | 29 + .../pip/_internal/utils/ui.py | 441 + .../pip/_internal/vcs/__init__.py | 534 ++ .../vcs/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 15433 bytes .../vcs/__pycache__/bazaar.cpython-36.pyc | Bin 0 -> 3874 bytes .../vcs/__pycache__/git.cpython-36.pyc | Bin 0 -> 9507 bytes .../vcs/__pycache__/mercurial.cpython-36.pyc | Bin 0 -> 3818 bytes .../vcs/__pycache__/subversion.cpython-36.pyc | Bin 0 -> 6034 bytes .../pip/_internal/vcs/bazaar.py | 114 + .../pip/_internal/vcs/git.py | 369 + .../pip/_internal/vcs/mercurial.py | 103 + .../pip/_internal/vcs/subversion.py | 200 + .../pip/_internal/wheel.py | 1095 +++ .../pip/_vendor/__init__.py | 111 + .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 2905 bytes .../__pycache__/appdirs.cpython-36.pyc | Bin 0 -> 20684 bytes .../_vendor/__pycache__/distro.cpython-36.pyc | Bin 0 -> 36200 bytes .../__pycache__/pyparsing.cpython-36.pyc | Bin 0 -> 221331 bytes .../__pycache__/retrying.cpython-36.pyc | Bin 0 -> 8117 bytes .../_vendor/__pycache__/six.cpython-36.pyc | Bin 0 -> 26535 bytes .../pip/_vendor/appdirs.py | 604 ++ .../pip/_vendor/cachecontrol/__init__.py | 11 + .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 575 bytes .../__pycache__/adapter.cpython-36.pyc | Bin 0 -> 3066 bytes .../__pycache__/cache.cpython-36.pyc | Bin 0 -> 1791 bytes .../__pycache__/compat.cpython-36.pyc | Bin 0 -> 782 bytes .../__pycache__/controller.cpython-36.pyc | Bin 0 -> 7723 bytes .../__pycache__/filewrapper.cpython-36.pyc | Bin 0 -> 2179 bytes .../__pycache__/serialize.cpython-36.pyc | Bin 0 -> 4263 bytes .../__pycache__/wrapper.cpython-36.pyc | Bin 0 -> 683 bytes .../pip/_vendor/cachecontrol/_cmd.py | 57 + .../pip/_vendor/cachecontrol/adapter.py | 133 + .../pip/_vendor/cachecontrol/cache.py | 39 + .../_vendor/cachecontrol/caches/__init__.py | 2 + .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 319 bytes .../__pycache__/file_cache.cpython-36.pyc | Bin 0 -> 3253 bytes .../__pycache__/redis_cache.cpython-36.pyc | Bin 0 -> 1575 bytes .../_vendor/cachecontrol/caches/file_cache.py | 146 + .../cachecontrol/caches/redis_cache.py | 33 + .../pip/_vendor/cachecontrol/compat.py | 29 + .../pip/_vendor/cachecontrol/controller.py | 367 + .../pip/_vendor/cachecontrol/filewrapper.py | 80 + .../pip/_vendor/cachecontrol/heuristics.py | 135 + .../pip/_vendor/cachecontrol/serialize.py | 186 + .../pip/_vendor/cachecontrol/wrapper.py | 29 + .../pip/_vendor/certifi/__init__.py | 3 + .../pip/_vendor/certifi/__main__.py | 2 + .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 282 bytes .../certifi/__pycache__/core.cpython-36.pyc | Bin 0 -> 543 bytes .../pip/_vendor/certifi/cacert.pem | 4512 +++++++++ .../pip/_vendor/certifi/core.py | 20 + .../pip/_vendor/chardet/__init__.py | 39 + .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 869 bytes .../__pycache__/big5freq.cpython-36.pyc | Bin 0 -> 54756 bytes .../__pycache__/big5prober.cpython-36.pyc | Bin 0 -> 1145 bytes .../chardistribution.cpython-36.pyc | Bin 0 -> 6341 bytes .../charsetgroupprober.cpython-36.pyc | Bin 0 -> 2252 bytes .../__pycache__/charsetprober.cpython-36.pyc | Bin 0 -> 3478 bytes .../codingstatemachine.cpython-36.pyc | Bin 0 -> 2909 bytes .../chardet/__pycache__/compat.cpython-36.pyc | Bin 0 -> 385 bytes .../__pycache__/cp949prober.cpython-36.pyc | Bin 0 -> 1152 bytes .../chardet/__pycache__/enums.cpython-36.pyc | Bin 0 -> 2643 bytes .../__pycache__/escprober.cpython-36.pyc | Bin 0 -> 2634 bytes .../chardet/__pycache__/escsm.cpython-36.pyc | Bin 0 -> 7391 bytes .../__pycache__/eucjpprober.cpython-36.pyc | Bin 0 -> 2438 bytes .../__pycache__/euckrfreq.cpython-36.pyc | Bin 0 -> 24142 bytes .../__pycache__/euckrprober.cpython-36.pyc | Bin 0 -> 1153 bytes .../__pycache__/euctwfreq.cpython-36.pyc | Bin 0 -> 54765 bytes .../__pycache__/euctwprober.cpython-36.pyc | Bin 0 -> 1153 bytes .../__pycache__/gb2312freq.cpython-36.pyc | Bin 0 -> 38407 bytes .../__pycache__/gb2312prober.cpython-36.pyc | Bin 0 -> 1161 bytes .../__pycache__/hebrewprober.cpython-36.pyc | Bin 0 -> 2995 bytes .../__pycache__/jisfreq.cpython-36.pyc | Bin 0 -> 44551 bytes .../chardet/__pycache__/jpcntx.cpython-36.pyc | Bin 0 -> 38690 bytes .../langbulgarianmodel.cpython-36.pyc | Bin 0 -> 24905 bytes .../langcyrillicmodel.cpython-36.pyc | Bin 0 -> 30456 bytes .../__pycache__/langgreekmodel.cpython-36.pyc | Bin 0 -> 24583 bytes .../langhebrewmodel.cpython-36.pyc | Bin 0 -> 23437 bytes .../__pycache__/langthaimodel.cpython-36.pyc | Bin 0 -> 23416 bytes .../langturkishmodel.cpython-36.pyc | Bin 0 -> 23434 bytes .../__pycache__/latin1prober.cpython-36.pyc | Bin 0 -> 2966 bytes .../mbcharsetprober.cpython-36.pyc | Bin 0 -> 2257 bytes .../mbcsgroupprober.cpython-36.pyc | Bin 0 -> 1148 bytes .../chardet/__pycache__/mbcssm.cpython-36.pyc | Bin 0 -> 17601 bytes .../sbcharsetprober.cpython-36.pyc | Bin 0 -> 3010 bytes .../sbcsgroupprober.cpython-36.pyc | Bin 0 -> 1638 bytes .../__pycache__/sjisprober.cpython-36.pyc | Bin 0 -> 2464 bytes .../universaldetector.cpython-36.pyc | Bin 0 -> 5859 bytes .../__pycache__/utf8prober.cpython-36.pyc | Bin 0 -> 1995 bytes .../__pycache__/version.cpython-36.pyc | Bin 0 -> 464 bytes .../pip/_vendor/chardet/big5freq.py | 386 + .../pip/_vendor/chardet/big5prober.py | 47 + .../pip/_vendor/chardet/chardistribution.py | 233 + .../pip/_vendor/chardet/charsetgroupprober.py | 106 + .../pip/_vendor/chardet/charsetprober.py | 145 + .../pip/_vendor/chardet/cli/__init__.py | 1 + .../pip/_vendor/chardet/cli/chardetect.py | 85 + .../pip/_vendor/chardet/codingstatemachine.py | 88 + .../pip/_vendor/chardet/compat.py | 34 + .../pip/_vendor/chardet/cp949prober.py | 49 + .../pip/_vendor/chardet/enums.py | 76 + .../pip/_vendor/chardet/escprober.py | 101 + .../pip/_vendor/chardet/escsm.py | 246 + .../pip/_vendor/chardet/eucjpprober.py | 92 + .../pip/_vendor/chardet/euckrfreq.py | 195 + .../pip/_vendor/chardet/euckrprober.py | 47 + .../pip/_vendor/chardet/euctwfreq.py | 387 + .../pip/_vendor/chardet/euctwprober.py | 46 + .../pip/_vendor/chardet/gb2312freq.py | 283 + .../pip/_vendor/chardet/gb2312prober.py | 46 + .../pip/_vendor/chardet/hebrewprober.py | 292 + .../pip/_vendor/chardet/jisfreq.py | 325 + .../pip/_vendor/chardet/jpcntx.py | 233 + .../pip/_vendor/chardet/langbulgarianmodel.py | 228 + .../pip/_vendor/chardet/langcyrillicmodel.py | 333 + .../pip/_vendor/chardet/langgreekmodel.py | 225 + .../pip/_vendor/chardet/langhebrewmodel.py | 200 + .../pip/_vendor/chardet/langhungarianmodel.py | 225 + .../pip/_vendor/chardet/langthaimodel.py | 199 + .../pip/_vendor/chardet/langturkishmodel.py | 193 + .../pip/_vendor/chardet/latin1prober.py | 145 + .../pip/_vendor/chardet/mbcharsetprober.py | 91 + .../pip/_vendor/chardet/mbcsgroupprober.py | 54 + .../pip/_vendor/chardet/mbcssm.py | 572 ++ .../pip/_vendor/chardet/sbcharsetprober.py | 132 + .../pip/_vendor/chardet/sbcsgroupprober.py | 73 + .../pip/_vendor/chardet/sjisprober.py | 92 + .../pip/_vendor/chardet/universaldetector.py | 286 + .../pip/_vendor/chardet/utf8prober.py | 82 + .../pip/_vendor/chardet/version.py | 9 + .../pip/_vendor/colorama/__init__.py | 6 + .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 469 bytes .../colorama/__pycache__/ansi.cpython-36.pyc | Bin 0 -> 3367 bytes .../__pycache__/ansitowin32.cpython-36.pyc | Bin 0 -> 7642 bytes .../__pycache__/initialise.cpython-36.pyc | Bin 0 -> 1690 bytes .../colorama/__pycache__/win32.cpython-36.pyc | Bin 0 -> 3892 bytes .../__pycache__/winterm.cpython-36.pyc | Bin 0 -> 4630 bytes .../pip/_vendor/colorama/ansi.py | 102 + .../pip/_vendor/colorama/ansitowin32.py | 257 + .../pip/_vendor/colorama/initialise.py | 80 + .../pip/_vendor/colorama/win32.py | 152 + .../pip/_vendor/colorama/winterm.py | 169 + .../pip/_vendor/distlib/__init__.py | 23 + .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 1067 bytes .../distlib/__pycache__/compat.cpython-36.pyc | Bin 0 -> 32093 bytes .../__pycache__/resources.cpython-36.pyc | Bin 0 -> 10934 bytes .../__pycache__/scripts.cpython-36.pyc | Bin 0 -> 11121 bytes .../distlib/__pycache__/util.cpython-36.pyc | Bin 0 -> 48104 bytes .../pip/_vendor/distlib/_backport/__init__.py | 6 + .../pip/_vendor/distlib/_backport/misc.py | 41 + .../pip/_vendor/distlib/_backport/shutil.py | 761 ++ .../_vendor/distlib/_backport/sysconfig.cfg | 84 + .../_vendor/distlib/_backport/sysconfig.py | 788 ++ .../pip/_vendor/distlib/_backport/tarfile.py | 2607 ++++++ .../pip/_vendor/distlib/compat.py | 1120 +++ .../pip/_vendor/distlib/database.py | 1339 +++ .../pip/_vendor/distlib/index.py | 516 ++ .../pip/_vendor/distlib/locators.py | 1295 +++ .../pip/_vendor/distlib/manifest.py | 393 + .../pip/_vendor/distlib/markers.py | 131 + .../pip/_vendor/distlib/metadata.py | 1094 +++ .../pip/_vendor/distlib/resources.py | 355 + .../pip/_vendor/distlib/scripts.py | 417 + .../pip/_vendor/distlib/t32.exe | Bin 0 -> 92672 bytes .../pip/_vendor/distlib/t64.exe | Bin 0 -> 102400 bytes .../pip/_vendor/distlib/util.py | 1756 ++++ .../pip/_vendor/distlib/version.py | 736 ++ .../pip/_vendor/distlib/w32.exe | Bin 0 -> 89088 bytes .../pip/_vendor/distlib/w64.exe | Bin 0 -> 99328 bytes .../pip/_vendor/distlib/wheel.py | 988 ++ .../pip/_vendor/distro.py | 1197 +++ .../pip/_vendor/html5lib/__init__.py | 35 + .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 1338 bytes .../__pycache__/_ihatexml.cpython-36.pyc | Bin 0 -> 13882 bytes .../__pycache__/_inputstream.cpython-36.pyc | Bin 0 -> 22750 bytes .../__pycache__/_tokenizer.cpython-36.pyc | Bin 0 -> 42186 bytes .../__pycache__/_utils.cpython-36.pyc | Bin 0 -> 3308 bytes .../__pycache__/constants.cpython-36.pyc | Bin 0 -> 66454 bytes .../__pycache__/html5parser.cpython-36.pyc | Bin 0 -> 99787 bytes .../__pycache__/serializer.cpython-36.pyc | Bin 0 -> 10956 bytes .../pip/_vendor/html5lib/_ihatexml.py | 288 + .../pip/_vendor/html5lib/_inputstream.py | 923 ++ .../pip/_vendor/html5lib/_tokenizer.py | 1721 ++++ .../pip/_vendor/html5lib/_trie/__init__.py | 14 + .../_trie/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 451 bytes .../_trie/__pycache__/_base.cpython-36.pyc | Bin 0 -> 1534 bytes .../_trie/__pycache__/datrie.cpython-36.pyc | Bin 0 -> 2053 bytes .../_trie/__pycache__/py.cpython-36.pyc | Bin 0 -> 2258 bytes .../pip/_vendor/html5lib/_trie/_base.py | 37 + .../pip/_vendor/html5lib/_trie/datrie.py | 44 + .../pip/_vendor/html5lib/_trie/py.py | 67 + .../pip/_vendor/html5lib/_utils.py | 124 + .../pip/_vendor/html5lib/constants.py | 2947 ++++++ .../pip/_vendor/html5lib/filters/__init__.py | 0 .../filters/alphabeticalattributes.py | 29 + .../pip/_vendor/html5lib/filters/base.py | 12 + .../html5lib/filters/inject_meta_charset.py | 73 + .../pip/_vendor/html5lib/filters/lint.py | 93 + .../_vendor/html5lib/filters/optionaltags.py | 207 + .../pip/_vendor/html5lib/filters/sanitizer.py | 896 ++ .../_vendor/html5lib/filters/whitespace.py | 38 + .../pip/_vendor/html5lib/html5parser.py | 2791 ++++++ .../pip/_vendor/html5lib/serializer.py | 409 + .../_vendor/html5lib/treeadapters/__init__.py | 30 + .../_vendor/html5lib/treeadapters/genshi.py | 54 + .../pip/_vendor/html5lib/treeadapters/sax.py | 50 + .../_vendor/html5lib/treebuilders/__init__.py | 88 + .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 3346 bytes .../__pycache__/base.cpython-36.pyc | Bin 0 -> 11353 bytes .../__pycache__/etree.cpython-36.pyc | Bin 0 -> 11893 bytes .../pip/_vendor/html5lib/treebuilders/base.py | 417 + .../pip/_vendor/html5lib/treebuilders/dom.py | 236 + .../_vendor/html5lib/treebuilders/etree.py | 340 + .../html5lib/treebuilders/etree_lxml.py | 366 + .../_vendor/html5lib/treewalkers/__init__.py | 154 + .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 4033 bytes .../pip/_vendor/html5lib/treewalkers/base.py | 252 + .../pip/_vendor/html5lib/treewalkers/dom.py | 43 + .../pip/_vendor/html5lib/treewalkers/etree.py | 130 + .../html5lib/treewalkers/etree_lxml.py | 213 + .../_vendor/html5lib/treewalkers/genshi.py | 69 + .../pip/_vendor/idna/__init__.py | 2 + .../idna/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 283 bytes .../idna/__pycache__/core.cpython-36.pyc | Bin 0 -> 9183 bytes .../idna/__pycache__/idnadata.cpython-36.pyc | Bin 0 -> 29822 bytes .../idna/__pycache__/intranges.cpython-36.pyc | Bin 0 -> 1844 bytes .../__pycache__/package_data.cpython-36.pyc | Bin 0 -> 237 bytes .../pip/_vendor/idna/codec.py | 118 + .../pip/_vendor/idna/compat.py | 12 + .../pip/_vendor/idna/core.py | 396 + .../pip/_vendor/idna/idnadata.py | 1979 ++++ .../pip/_vendor/idna/intranges.py | 53 + .../pip/_vendor/idna/package_data.py | 2 + .../pip/_vendor/idna/uts46data.py | 8205 +++++++++++++++++ .../pip/_vendor/ipaddress.py | 2419 +++++ .../pip/_vendor/lockfile/__init__.py | 347 + .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 9935 bytes .../__pycache__/linklockfile.cpython-36.pyc | Bin 0 -> 2314 bytes .../__pycache__/mkdirlockfile.cpython-36.pyc | Bin 0 -> 2676 bytes .../pip/_vendor/lockfile/linklockfile.py | 73 + .../pip/_vendor/lockfile/mkdirlockfile.py | 84 + .../pip/_vendor/lockfile/pidlockfile.py | 190 + .../pip/_vendor/lockfile/sqlitelockfile.py | 156 + .../pip/_vendor/lockfile/symlinklockfile.py | 70 + .../pip/_vendor/msgpack/__init__.py | 66 + .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 2097 bytes .../__pycache__/_version.cpython-36.pyc | Bin 0 -> 259 bytes .../__pycache__/exceptions.cpython-36.pyc | Bin 0 -> 2200 bytes .../__pycache__/fallback.cpython-36.pyc | Bin 0 -> 24723 bytes .../pip/_vendor/msgpack/_version.py | 1 + .../pip/_vendor/msgpack/exceptions.py | 41 + .../pip/_vendor/msgpack/fallback.py | 977 ++ .../pip/_vendor/packaging/__about__.py | 27 + .../pip/_vendor/packaging/__init__.py | 26 + .../__pycache__/__about__.cpython-36.pyc | Bin 0 -> 757 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 595 bytes .../__pycache__/_compat.cpython-36.pyc | Bin 0 -> 1030 bytes .../__pycache__/_structures.cpython-36.pyc | Bin 0 -> 2887 bytes .../__pycache__/markers.cpython-36.pyc | Bin 0 -> 8905 bytes .../__pycache__/requirements.cpython-36.pyc | Bin 0 -> 4016 bytes .../__pycache__/specifiers.cpython-36.pyc | Bin 0 -> 19821 bytes .../__pycache__/utils.cpython-36.pyc | Bin 0 -> 1473 bytes .../__pycache__/version.cpython-36.pyc | Bin 0 -> 12026 bytes .../pip/_vendor/packaging/_compat.py | 31 + .../pip/_vendor/packaging/_structures.py | 68 + .../pip/_vendor/packaging/markers.py | 296 + .../pip/_vendor/packaging/requirements.py | 138 + .../pip/_vendor/packaging/specifiers.py | 749 ++ .../pip/_vendor/packaging/utils.py | 57 + .../pip/_vendor/packaging/version.py | 420 + .../pip/_vendor/pep517/__init__.py | 4 + .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 308 bytes .../pep517/__pycache__/compat.cpython-36.pyc | Bin 0 -> 1044 bytes .../__pycache__/wrappers.cpython-36.pyc | Bin 0 -> 5509 bytes .../pip/_vendor/pep517/_in_process.py | 207 + .../pip/_vendor/pep517/build.py | 108 + .../pip/_vendor/pep517/check.py | 202 + .../pip/_vendor/pep517/colorlog.py | 115 + .../pip/_vendor/pep517/compat.py | 23 + .../pip/_vendor/pep517/envbuild.py | 158 + .../pip/_vendor/pep517/wrappers.py | 163 + .../pip/_vendor/pkg_resources/__init__.py | 3171 +++++++ .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 96872 bytes .../__pycache__/py31compat.cpython-36.pyc | Bin 0 -> 685 bytes .../pip/_vendor/pkg_resources/py31compat.py | 23 + .../pip/_vendor/progress/__init__.py | 127 + .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 3936 bytes .../progress/__pycache__/bar.cpython-36.pyc | Bin 0 -> 2867 bytes .../__pycache__/helpers.cpython-36.pyc | Bin 0 -> 3042 bytes .../__pycache__/spinner.cpython-36.pyc | Bin 0 -> 1537 bytes .../pip/_vendor/progress/bar.py | 94 + .../pip/_vendor/progress/counter.py | 48 + .../pip/_vendor/progress/helpers.py | 91 + .../pip/_vendor/progress/spinner.py | 44 + .../pip/_vendor/pyparsing.py | 6452 +++++++++++++ .../pip/_vendor/pytoml/__init__.py | 4 + .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 402 bytes .../pytoml/__pycache__/core.cpython-36.pyc | Bin 0 -> 965 bytes .../pytoml/__pycache__/parser.cpython-36.pyc | Bin 0 -> 10107 bytes .../pytoml/__pycache__/test.cpython-36.pyc | Bin 0 -> 1265 bytes .../pytoml/__pycache__/utils.cpython-36.pyc | Bin 0 -> 2166 bytes .../pytoml/__pycache__/writer.cpython-36.pyc | Bin 0 -> 3594 bytes .../pip/_vendor/pytoml/core.py | 13 + .../pip/_vendor/pytoml/parser.py | 341 + .../pip/_vendor/pytoml/test.py | 30 + .../pip/_vendor/pytoml/utils.py | 67 + .../pip/_vendor/pytoml/writer.py | 106 + .../pip/_vendor/requests/__init__.py | 133 + .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 3513 bytes .../__pycache__/__version__.cpython-36.pyc | Bin 0 -> 576 bytes .../_internal_utils.cpython-36.pyc | Bin 0 -> 1334 bytes .../__pycache__/adapters.cpython-36.pyc | Bin 0 -> 16925 bytes .../requests/__pycache__/api.cpython-36.pyc | Bin 0 -> 6517 bytes .../requests/__pycache__/auth.cpython-36.pyc | Bin 0 -> 8368 bytes .../requests/__pycache__/certs.cpython-36.pyc | Bin 0 -> 659 bytes .../__pycache__/compat.cpython-36.pyc | Bin 0 -> 1638 bytes .../__pycache__/cookies.cpython-36.pyc | Bin 0 -> 18813 bytes .../__pycache__/exceptions.cpython-36.pyc | Bin 0 -> 5533 bytes .../requests/__pycache__/hooks.cpython-36.pyc | Bin 0 -> 1006 bytes .../__pycache__/models.cpython-36.pyc | Bin 0 -> 24188 bytes .../__pycache__/packages.cpython-36.pyc | Bin 0 -> 551 bytes .../__pycache__/sessions.cpython-36.pyc | Bin 0 -> 19452 bytes .../__pycache__/status_codes.cpython-36.pyc | Bin 0 -> 4804 bytes .../__pycache__/structures.cpython-36.pyc | Bin 0 -> 4405 bytes .../requests/__pycache__/utils.cpython-36.pyc | Bin 0 -> 22186 bytes .../pip/_vendor/requests/__version__.py | 14 + .../pip/_vendor/requests/_internal_utils.py | 42 + .../pip/_vendor/requests/adapters.py | 533 ++ .../pip/_vendor/requests/api.py | 158 + .../pip/_vendor/requests/auth.py | 305 + .../pip/_vendor/requests/certs.py | 18 + .../pip/_vendor/requests/compat.py | 74 + .../pip/_vendor/requests/cookies.py | 549 ++ .../pip/_vendor/requests/exceptions.py | 126 + .../pip/_vendor/requests/help.py | 119 + .../pip/_vendor/requests/hooks.py | 34 + .../pip/_vendor/requests/models.py | 953 ++ .../pip/_vendor/requests/packages.py | 16 + .../pip/_vendor/requests/sessions.py | 770 ++ .../pip/_vendor/requests/status_codes.py | 120 + .../pip/_vendor/requests/structures.py | 103 + .../pip/_vendor/requests/utils.py | 977 ++ .../pip/_vendor/retrying.py | 267 + .../pip-19.0.3-py3.6.egg/pip/_vendor/six.py | 952 ++ .../pip/_vendor/urllib3/__init__.py | 92 + .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 2227 bytes .../__pycache__/_collections.cpython-36.pyc | Bin 0 -> 10714 bytes .../__pycache__/connection.cpython-36.pyc | Bin 0 -> 10167 bytes .../__pycache__/connectionpool.cpython-36.pyc | Bin 0 -> 23689 bytes .../__pycache__/exceptions.cpython-36.pyc | Bin 0 -> 10426 bytes .../urllib3/__pycache__/fields.cpython-36.pyc | Bin 0 -> 5896 bytes .../__pycache__/filepost.cpython-36.pyc | Bin 0 -> 2786 bytes .../__pycache__/poolmanager.cpython-36.pyc | Bin 0 -> 12993 bytes .../__pycache__/request.cpython-36.pyc | Bin 0 -> 5608 bytes .../__pycache__/response.cpython-36.pyc | Bin 0 -> 18808 bytes .../pip/_vendor/urllib3/_collections.py | 329 + .../pip/_vendor/urllib3/connection.py | 391 + .../pip/_vendor/urllib3/connectionpool.py | 896 ++ .../pip/_vendor/urllib3/contrib/__init__.py | 0 .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 225 bytes .../_appengine_environ.cpython-36.pyc | Bin 0 -> 1121 bytes .../__pycache__/pyopenssl.cpython-36.pyc | Bin 0 -> 14556 bytes .../contrib/__pycache__/socks.cpython-36.pyc | Bin 0 -> 4931 bytes .../urllib3/contrib/_appengine_environ.py | 30 + .../contrib/_securetransport/__init__.py | 0 .../contrib/_securetransport/bindings.py | 593 ++ .../contrib/_securetransport/low_level.py | 346 + .../pip/_vendor/urllib3/contrib/appengine.py | 289 + .../pip/_vendor/urllib3/contrib/ntlmpool.py | 111 + .../pip/_vendor/urllib3/contrib/pyopenssl.py | 466 + .../urllib3/contrib/securetransport.py | 804 ++ .../pip/_vendor/urllib3/contrib/socks.py | 192 + .../pip/_vendor/urllib3/exceptions.py | 246 + .../pip/_vendor/urllib3/fields.py | 178 + .../pip/_vendor/urllib3/filepost.py | 98 + .../pip/_vendor/urllib3/packages/__init__.py | 5 + .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 351 bytes .../packages/__pycache__/six.cpython-36.pyc | Bin 0 -> 24523 bytes .../urllib3/packages/backports/__init__.py | 0 .../urllib3/packages/backports/makefile.py | 53 + .../pip/_vendor/urllib3/packages/six.py | 868 ++ .../packages/ssl_match_hostname/__init__.py | 19 + .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 612 bytes .../ssl_match_hostname/_implementation.py | 156 + .../pip/_vendor/urllib3/poolmanager.py | 450 + .../pip/_vendor/urllib3/request.py | 150 + .../pip/_vendor/urllib3/response.py | 705 ++ .../pip/_vendor/urllib3/util/__init__.py | 54 + .../util/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 1155 bytes .../__pycache__/connection.cpython-36.pyc | Bin 0 -> 3192 bytes .../util/__pycache__/queue.cpython-36.pyc | Bin 0 -> 1066 bytes .../util/__pycache__/request.cpython-36.pyc | Bin 0 -> 3247 bytes .../util/__pycache__/response.cpython-36.pyc | Bin 0 -> 1995 bytes .../util/__pycache__/retry.cpython-36.pyc | Bin 0 -> 12681 bytes .../util/__pycache__/ssl_.cpython-36.pyc | Bin 0 -> 9585 bytes .../util/__pycache__/timeout.cpython-36.pyc | Bin 0 -> 8796 bytes .../util/__pycache__/url.cpython-36.pyc | Bin 0 -> 5215 bytes .../util/__pycache__/wait.cpython-36.pyc | Bin 0 -> 3176 bytes .../pip/_vendor/urllib3/util/connection.py | 134 + .../pip/_vendor/urllib3/util/queue.py | 21 + .../pip/_vendor/urllib3/util/request.py | 118 + .../pip/_vendor/urllib3/util/response.py | 87 + .../pip/_vendor/urllib3/util/retry.py | 411 + .../pip/_vendor/urllib3/util/ssl_.py | 381 + .../pip/_vendor/urllib3/util/timeout.py | 242 + .../pip/_vendor/urllib3/util/url.py | 230 + .../pip/_vendor/urllib3/util/wait.py | 150 + .../pip/_vendor/webencodings/__init__.py | 342 + .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 9703 bytes .../__pycache__/labels.cpython-36.pyc | Bin 0 -> 4115 bytes .../pip/_vendor/webencodings/labels.py | 231 + .../pip/_vendor/webencodings/mklabels.py | 59 + .../pip/_vendor/webencodings/tests.py | 153 + .../_vendor/webencodings/x_user_defined.py | 325 + .../ptyprocess-0.6.0.dist-info/INSTALLER | 1 + .../ptyprocess-0.6.0.dist-info/LICENSE | 16 + .../ptyprocess-0.6.0.dist-info/METADATA | 37 + .../ptyprocess-0.6.0.dist-info/RECORD | 13 + .../ptyprocess-0.6.0.dist-info/WHEEL | 5 + .../site-packages/ptyprocess/__init__.py | 4 + .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 321 bytes .../__pycache__/_fork_pty.cpython-36.pyc | Bin 0 -> 1960 bytes .../__pycache__/ptyprocess.cpython-36.pyc | Bin 0 -> 23993 bytes .../__pycache__/util.cpython-36.pyc | Bin 0 -> 1961 bytes .../site-packages/ptyprocess/_fork_pty.py | 78 + .../site-packages/ptyprocess/ptyprocess.py | 836 ++ .../site-packages/ptyprocess/util.py | 71 + .../site-packages/setuptools-40.8.0-py3.6.egg | Bin 0 -> 571890 bytes .../python3.6/site-packages/setuptools.pth | 1 + venv/lib64 | 1 + venv/pyvenv.cfg | 3 + 619 files changed, 112020 insertions(+), 1 deletion(-) delete mode 100644 .gitignore create mode 100644 venv/bin/activate create mode 100644 venv/bin/activate.csh create mode 100644 venv/bin/activate.fish create mode 100755 venv/bin/easy_install create mode 100755 venv/bin/easy_install-3.6 create mode 100755 venv/bin/pip create mode 100755 venv/bin/pip3 create mode 100755 venv/bin/pip3.6 create mode 100755 venv/bin/python create mode 100755 venv/bin/python3 create mode 100755 venv/bin/python3.6 create mode 100644 venv/lib/python3.6/site-packages/easy-install.pth create mode 100644 venv/lib/python3.6/site-packages/pexpect-4.7.0.dist-info/INSTALLER create mode 100644 venv/lib/python3.6/site-packages/pexpect-4.7.0.dist-info/LICENSE create mode 100644 venv/lib/python3.6/site-packages/pexpect-4.7.0.dist-info/METADATA create mode 100644 venv/lib/python3.6/site-packages/pexpect-4.7.0.dist-info/RECORD create mode 100644 venv/lib/python3.6/site-packages/pexpect-4.7.0.dist-info/WHEEL create mode 100644 venv/lib/python3.6/site-packages/pexpect-4.7.0.dist-info/top_level.txt create mode 100644 venv/lib/python3.6/site-packages/pexpect/ANSI.py create mode 100644 venv/lib/python3.6/site-packages/pexpect/FSM.py create mode 100644 venv/lib/python3.6/site-packages/pexpect/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pexpect/__pycache__/ANSI.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pexpect/__pycache__/FSM.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pexpect/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pexpect/__pycache__/_async.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pexpect/__pycache__/exceptions.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pexpect/__pycache__/expect.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pexpect/__pycache__/fdpexpect.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pexpect/__pycache__/popen_spawn.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pexpect/__pycache__/pty_spawn.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pexpect/__pycache__/pxssh.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pexpect/__pycache__/replwrap.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pexpect/__pycache__/run.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pexpect/__pycache__/screen.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pexpect/__pycache__/spawnbase.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pexpect/__pycache__/utils.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pexpect/_async.py create mode 100644 venv/lib/python3.6/site-packages/pexpect/bashrc.sh create mode 100644 venv/lib/python3.6/site-packages/pexpect/exceptions.py create mode 100644 venv/lib/python3.6/site-packages/pexpect/expect.py create mode 100644 venv/lib/python3.6/site-packages/pexpect/fdpexpect.py create mode 100644 venv/lib/python3.6/site-packages/pexpect/popen_spawn.py create mode 100644 venv/lib/python3.6/site-packages/pexpect/pty_spawn.py create mode 100644 venv/lib/python3.6/site-packages/pexpect/pxssh.py create mode 100644 venv/lib/python3.6/site-packages/pexpect/replwrap.py create mode 100644 venv/lib/python3.6/site-packages/pexpect/run.py create mode 100644 venv/lib/python3.6/site-packages/pexpect/screen.py create mode 100644 venv/lib/python3.6/site-packages/pexpect/spawnbase.py create mode 100644 venv/lib/python3.6/site-packages/pexpect/utils.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/PKG-INFO create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/SOURCES.txt create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/dependency_links.txt create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/entry_points.txt create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/not-zip-safe create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/top_level.txt create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/__main__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__pycache__/build_env.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__pycache__/cache.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__pycache__/configuration.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__pycache__/download.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__pycache__/exceptions.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__pycache__/index.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__pycache__/locations.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__pycache__/pep425tags.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__pycache__/pyproject.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__pycache__/resolve.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__pycache__/wheel.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/build_env.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cache.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/__pycache__/autocompletion.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/__pycache__/base_command.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/__pycache__/cmdoptions.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/__pycache__/main_parser.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/__pycache__/parser.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/__pycache__/status_codes.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/autocompletion.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/base_command.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/cmdoptions.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/main_parser.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/parser.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/status_codes.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/check.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/completion.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/configuration.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/download.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/freeze.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/hash.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/help.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/install.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/list.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/search.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/show.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/uninstall.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/wheel.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/check.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/completion.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/configuration.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/download.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/freeze.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/hash.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/help.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/install.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/list.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/search.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/show.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/uninstall.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/wheel.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/configuration.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/download.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/exceptions.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/index.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/locations.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/__pycache__/candidate.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/__pycache__/format_control.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/__pycache__/index.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/__pycache__/link.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/candidate.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/format_control.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/index.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/link.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/__pycache__/check.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/__pycache__/freeze.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/__pycache__/prepare.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/check.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/freeze.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/prepare.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/pep425tags.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/pyproject.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/__pycache__/constructors.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/__pycache__/req_file.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/__pycache__/req_install.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/__pycache__/req_set.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/__pycache__/req_tracker.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/__pycache__/req_uninstall.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/constructors.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_file.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_install.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_set.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_tracker.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_uninstall.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/resolve.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/appdirs.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/compat.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/deprecation.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/encoding.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/filesystem.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/glibc.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/hashes.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/logging.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/misc.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/models.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/outdated.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/packaging.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/setuptools_build.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/temp_dir.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/typing.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/ui.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/appdirs.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/compat.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/deprecation.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/encoding.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/filesystem.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/glibc.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/hashes.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/logging.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/misc.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/models.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/outdated.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/packaging.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/setuptools_build.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/temp_dir.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/typing.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/ui.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/__pycache__/bazaar.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/__pycache__/git.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/__pycache__/mercurial.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/__pycache__/subversion.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/bazaar.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/git.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/mercurial.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/subversion.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/wheel.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/__pycache__/appdirs.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/__pycache__/distro.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/__pycache__/pyparsing.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/__pycache__/retrying.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/__pycache__/six.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/appdirs.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__pycache__/cache.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__pycache__/compat.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__pycache__/controller.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/_cmd.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/adapter.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/cache.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/file_cache.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/redis_cache.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/compat.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/controller.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/filewrapper.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/heuristics.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/serialize.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/wrapper.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/__main__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/__pycache__/core.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/cacert.pem create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/core.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/big5freq.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/big5prober.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/chardistribution.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/charsetgroupprober.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/charsetprober.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/codingstatemachine.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/compat.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/cp949prober.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/enums.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/escprober.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/escsm.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/eucjpprober.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/euckrfreq.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/euckrprober.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/euctwfreq.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/euctwprober.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/gb2312freq.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/gb2312prober.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/hebrewprober.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/jisfreq.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/jpcntx.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/langbulgarianmodel.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/langcyrillicmodel.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/langgreekmodel.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/langhebrewmodel.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/langthaimodel.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/langturkishmodel.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/latin1prober.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/mbcharsetprober.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/mbcsgroupprober.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/mbcssm.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/sbcharsetprober.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/sbcsgroupprober.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/sjisprober.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/universaldetector.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/utf8prober.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/version.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/big5freq.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/big5prober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/chardistribution.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/charsetgroupprober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/charsetprober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/cli/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/cli/chardetect.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/codingstatemachine.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/compat.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/cp949prober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/enums.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/escprober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/escsm.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/eucjpprober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euckrfreq.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euckrprober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euctwfreq.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euctwprober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/gb2312freq.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/gb2312prober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/hebrewprober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/jisfreq.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/jpcntx.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langbulgarianmodel.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langcyrillicmodel.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langgreekmodel.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langhebrewmodel.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langhungarianmodel.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langthaimodel.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langturkishmodel.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/latin1prober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/mbcharsetprober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/mbcsgroupprober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/mbcssm.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/sbcharsetprober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/sbcsgroupprober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/sjisprober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/universaldetector.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/utf8prober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/version.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/__pycache__/ansi.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/__pycache__/ansitowin32.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/__pycache__/initialise.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/__pycache__/win32.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/__pycache__/winterm.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/ansi.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/ansitowin32.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/initialise.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/win32.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/winterm.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/__pycache__/compat.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/__pycache__/resources.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/__pycache__/scripts.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/__pycache__/util.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/misc.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/shutil.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/sysconfig.cfg create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/sysconfig.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/tarfile.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/compat.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/database.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/index.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/locators.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/manifest.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/markers.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/metadata.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/resources.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/scripts.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/t32.exe create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/t64.exe create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/util.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/version.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/w32.exe create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/w64.exe create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/wheel.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distro.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__pycache__/_ihatexml.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__pycache__/_inputstream.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__pycache__/_tokenizer.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__pycache__/_utils.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__pycache__/constants.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__pycache__/html5parser.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__pycache__/serializer.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_ihatexml.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_inputstream.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_tokenizer.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/__pycache__/_base.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/__pycache__/datrie.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/__pycache__/py.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/_base.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/datrie.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/py.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_utils.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/constants.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/alphabeticalattributes.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/base.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/inject_meta_charset.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/lint.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/optionaltags.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/sanitizer.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/whitespace.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/html5parser.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/serializer.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treeadapters/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treeadapters/genshi.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treeadapters/sax.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/__pycache__/base.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/__pycache__/etree.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/base.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/dom.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/etree.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/etree_lxml.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/base.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/dom.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/etree.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/etree_lxml.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/genshi.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/__pycache__/core.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/__pycache__/idnadata.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/__pycache__/intranges.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/__pycache__/package_data.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/codec.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/compat.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/core.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/idnadata.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/intranges.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/package_data.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/uts46data.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/ipaddress.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/__pycache__/linklockfile.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/__pycache__/mkdirlockfile.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/linklockfile.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/mkdirlockfile.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/pidlockfile.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/sqlitelockfile.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/symlinklockfile.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/__pycache__/_version.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/__pycache__/exceptions.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/__pycache__/fallback.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/_version.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/exceptions.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/fallback.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__about__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__pycache__/__about__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__pycache__/_compat.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__pycache__/_structures.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__pycache__/markers.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__pycache__/requirements.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__pycache__/specifiers.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__pycache__/utils.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__pycache__/version.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/_compat.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/_structures.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/markers.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/requirements.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/specifiers.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/utils.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/version.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/__pycache__/compat.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/__pycache__/wrappers.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/_in_process.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/build.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/check.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/colorlog.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/compat.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/envbuild.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/wrappers.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pkg_resources/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pkg_resources/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pkg_resources/__pycache__/py31compat.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pkg_resources/py31compat.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/__pycache__/bar.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/__pycache__/helpers.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/__pycache__/spinner.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/bar.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/counter.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/helpers.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/spinner.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pyparsing.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/__pycache__/core.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/__pycache__/parser.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/__pycache__/test.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/__pycache__/utils.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/__pycache__/writer.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/core.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/parser.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/test.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/utils.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/writer.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/__version__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/_internal_utils.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/adapters.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/api.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/auth.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/certs.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/compat.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/cookies.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/exceptions.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/hooks.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/models.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/packages.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/sessions.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/status_codes.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/structures.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/utils.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__version__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/_internal_utils.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/adapters.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/api.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/auth.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/certs.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/compat.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/cookies.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/exceptions.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/help.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/hooks.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/models.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/packages.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/sessions.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/status_codes.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/structures.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/utils.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/retrying.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/six.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__pycache__/_collections.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__pycache__/connection.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__pycache__/connectionpool.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__pycache__/exceptions.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__pycache__/fields.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__pycache__/filepost.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__pycache__/poolmanager.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__pycache__/request.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__pycache__/response.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/_collections.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/connection.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/connectionpool.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/__pycache__/_appengine_environ.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/_appengine_environ.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/_securetransport/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/_securetransport/bindings.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/_securetransport/low_level.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/appengine.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/ntlmpool.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/pyopenssl.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/securetransport.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/socks.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/exceptions.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/fields.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/filepost.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/__pycache__/six.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/backports/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/backports/makefile.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/six.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/poolmanager.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/request.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/response.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__pycache__/connection.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__pycache__/queue.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__pycache__/request.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__pycache__/response.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__pycache__/retry.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__pycache__/timeout.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__pycache__/url.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__pycache__/wait.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/connection.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/queue.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/request.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/response.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/retry.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/ssl_.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/timeout.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/url.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/wait.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/__pycache__/labels.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/labels.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/mklabels.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/tests.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/x_user_defined.py create mode 100644 venv/lib/python3.6/site-packages/ptyprocess-0.6.0.dist-info/INSTALLER create mode 100644 venv/lib/python3.6/site-packages/ptyprocess-0.6.0.dist-info/LICENSE create mode 100644 venv/lib/python3.6/site-packages/ptyprocess-0.6.0.dist-info/METADATA create mode 100644 venv/lib/python3.6/site-packages/ptyprocess-0.6.0.dist-info/RECORD create mode 100644 venv/lib/python3.6/site-packages/ptyprocess-0.6.0.dist-info/WHEEL create mode 100644 venv/lib/python3.6/site-packages/ptyprocess/__init__.py create mode 100644 venv/lib/python3.6/site-packages/ptyprocess/__pycache__/__init__.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/ptyprocess/__pycache__/_fork_pty.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/ptyprocess/__pycache__/ptyprocess.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/ptyprocess/__pycache__/util.cpython-36.pyc create mode 100644 venv/lib/python3.6/site-packages/ptyprocess/_fork_pty.py create mode 100644 venv/lib/python3.6/site-packages/ptyprocess/ptyprocess.py create mode 100644 venv/lib/python3.6/site-packages/ptyprocess/util.py create mode 100644 venv/lib/python3.6/site-packages/setuptools-40.8.0-py3.6.egg create mode 100644 venv/lib/python3.6/site-packages/setuptools.pth create mode 120000 venv/lib64 create mode 100644 venv/pyvenv.cfg diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 0cafc1c..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -.venv/ \ No newline at end of file diff --git a/venv/bin/activate b/venv/bin/activate new file mode 100644 index 0000000..51585f8 --- /dev/null +++ b/venv/bin/activate @@ -0,0 +1,76 @@ +# This file must be used with "source bin/activate" *from bash* +# you cannot run it directly + +deactivate () { + # reset old environment variables + if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then + PATH="${_OLD_VIRTUAL_PATH:-}" + export PATH + unset _OLD_VIRTUAL_PATH + fi + if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then + PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}" + export PYTHONHOME + unset _OLD_VIRTUAL_PYTHONHOME + fi + + # This should detect bash and zsh, which have a hash command that must + # be called to get it to forget past commands. Without forgetting + # past commands the $PATH changes we made may not be respected + if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then + hash -r + fi + + if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then + PS1="${_OLD_VIRTUAL_PS1:-}" + export PS1 + unset _OLD_VIRTUAL_PS1 + fi + + unset VIRTUAL_ENV + if [ ! "$1" = "nondestructive" ] ; then + # Self destruct! + unset -f deactivate + fi +} + +# unset irrelevant variables +deactivate nondestructive + +VIRTUAL_ENV="/home/miguel456/PycharmProjects/PythonVPNGateway/venv" +export VIRTUAL_ENV + +_OLD_VIRTUAL_PATH="$PATH" +PATH="$VIRTUAL_ENV/bin:$PATH" +export PATH + +# unset PYTHONHOME if set +# this will fail if PYTHONHOME is set to the empty string (which is bad anyway) +# could use `if (set -u; : $PYTHONHOME) ;` in bash +if [ -n "${PYTHONHOME:-}" ] ; then + _OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}" + unset PYTHONHOME +fi + +if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then + _OLD_VIRTUAL_PS1="${PS1:-}" + if [ "x(venv) " != x ] ; then + PS1="(venv) ${PS1:-}" + else + if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then + # special case for Aspen magic directories + # see http://www.zetadev.com/software/aspen/ + PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1" + else + PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1" + fi + fi + export PS1 +fi + +# This should detect bash and zsh, which have a hash command that must +# be called to get it to forget past commands. Without forgetting +# past commands the $PATH changes we made may not be respected +if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then + hash -r +fi diff --git a/venv/bin/activate.csh b/venv/bin/activate.csh new file mode 100644 index 0000000..fe31011 --- /dev/null +++ b/venv/bin/activate.csh @@ -0,0 +1,37 @@ +# This file must be used with "source bin/activate.csh" *from csh*. +# You cannot run it directly. +# Created by Davide Di Blasi . +# Ported to Python 3.3 venv by Andrew Svetlov + +alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; test "\!:*" != "nondestructive" && unalias deactivate' + +# Unset irrelevant variables. +deactivate nondestructive + +setenv VIRTUAL_ENV "/home/miguel456/PycharmProjects/PythonVPNGateway/venv" + +set _OLD_VIRTUAL_PATH="$PATH" +setenv PATH "$VIRTUAL_ENV/bin:$PATH" + + +set _OLD_VIRTUAL_PROMPT="$prompt" + +if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then + if ("venv" != "") then + set env_name = "venv" + else + if (`basename "VIRTUAL_ENV"` == "__") then + # special case for Aspen magic directories + # see http://www.zetadev.com/software/aspen/ + set env_name = `basename \`dirname "$VIRTUAL_ENV"\`` + else + set env_name = `basename "$VIRTUAL_ENV"` + endif + endif + set prompt = "[$env_name] $prompt" + unset env_name +endif + +alias pydoc python -m pydoc + +rehash diff --git a/venv/bin/activate.fish b/venv/bin/activate.fish new file mode 100644 index 0000000..c28bd52 --- /dev/null +++ b/venv/bin/activate.fish @@ -0,0 +1,75 @@ +# This file must be used with ". bin/activate.fish" *from fish* (http://fishshell.org) +# you cannot run it directly + +function deactivate -d "Exit virtualenv and return to normal shell environment" + # reset old environment variables + if test -n "$_OLD_VIRTUAL_PATH" + set -gx PATH $_OLD_VIRTUAL_PATH + set -e _OLD_VIRTUAL_PATH + end + if test -n "$_OLD_VIRTUAL_PYTHONHOME" + set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME + set -e _OLD_VIRTUAL_PYTHONHOME + end + + if test -n "$_OLD_FISH_PROMPT_OVERRIDE" + functions -e fish_prompt + set -e _OLD_FISH_PROMPT_OVERRIDE + functions -c _old_fish_prompt fish_prompt + functions -e _old_fish_prompt + end + + set -e VIRTUAL_ENV + if test "$argv[1]" != "nondestructive" + # Self destruct! + functions -e deactivate + end +end + +# unset irrelevant variables +deactivate nondestructive + +set -gx VIRTUAL_ENV "/home/miguel456/PycharmProjects/PythonVPNGateway/venv" + +set -gx _OLD_VIRTUAL_PATH $PATH +set -gx PATH "$VIRTUAL_ENV/bin" $PATH + +# unset PYTHONHOME if set +if set -q PYTHONHOME + set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME + set -e PYTHONHOME +end + +if test -z "$VIRTUAL_ENV_DISABLE_PROMPT" + # fish uses a function instead of an env var to generate the prompt. + + # save the current fish_prompt function as the function _old_fish_prompt + functions -c fish_prompt _old_fish_prompt + + # with the original prompt function renamed, we can override with our own. + function fish_prompt + # Save the return status of the last command + set -l old_status $status + + # Prompt override? + if test -n "(venv) " + printf "%s%s" "(venv) " (set_color normal) + else + # ...Otherwise, prepend env + set -l _checkbase (basename "$VIRTUAL_ENV") + if test $_checkbase = "__" + # special case for Aspen magic directories + # see http://www.zetadev.com/software/aspen/ + printf "%s[%s]%s " (set_color -b blue white) (basename (dirname "$VIRTUAL_ENV")) (set_color normal) + else + printf "%s(%s)%s" (set_color -b blue white) (basename "$VIRTUAL_ENV") (set_color normal) + end + end + + # Restore the return status of the previous command. + echo "exit $old_status" | . + _old_fish_prompt + end + + set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV" +end diff --git a/venv/bin/easy_install b/venv/bin/easy_install new file mode 100755 index 0000000..e33c5a4 --- /dev/null +++ b/venv/bin/easy_install @@ -0,0 +1,12 @@ +#!/home/miguel456/PycharmProjects/PythonVPNGateway/venv/bin/python +# EASY-INSTALL-ENTRY-SCRIPT: 'setuptools==40.8.0','console_scripts','easy_install' +__requires__ = 'setuptools==40.8.0' +import re +import sys +from pkg_resources import load_entry_point + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit( + load_entry_point('setuptools==40.8.0', 'console_scripts', 'easy_install')() + ) diff --git a/venv/bin/easy_install-3.6 b/venv/bin/easy_install-3.6 new file mode 100755 index 0000000..a1ed620 --- /dev/null +++ b/venv/bin/easy_install-3.6 @@ -0,0 +1,12 @@ +#!/home/miguel456/PycharmProjects/PythonVPNGateway/venv/bin/python +# EASY-INSTALL-ENTRY-SCRIPT: 'setuptools==40.8.0','console_scripts','easy_install-3.6' +__requires__ = 'setuptools==40.8.0' +import re +import sys +from pkg_resources import load_entry_point + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit( + load_entry_point('setuptools==40.8.0', 'console_scripts', 'easy_install-3.6')() + ) diff --git a/venv/bin/pip b/venv/bin/pip new file mode 100755 index 0000000..dbea16e --- /dev/null +++ b/venv/bin/pip @@ -0,0 +1,12 @@ +#!/home/miguel456/PycharmProjects/PythonVPNGateway/venv/bin/python +# EASY-INSTALL-ENTRY-SCRIPT: 'pip==19.0.3','console_scripts','pip' +__requires__ = 'pip==19.0.3' +import re +import sys +from pkg_resources import load_entry_point + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit( + load_entry_point('pip==19.0.3', 'console_scripts', 'pip')() + ) diff --git a/venv/bin/pip3 b/venv/bin/pip3 new file mode 100755 index 0000000..751fb09 --- /dev/null +++ b/venv/bin/pip3 @@ -0,0 +1,12 @@ +#!/home/miguel456/PycharmProjects/PythonVPNGateway/venv/bin/python +# EASY-INSTALL-ENTRY-SCRIPT: 'pip==19.0.3','console_scripts','pip3' +__requires__ = 'pip==19.0.3' +import re +import sys +from pkg_resources import load_entry_point + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit( + load_entry_point('pip==19.0.3', 'console_scripts', 'pip3')() + ) diff --git a/venv/bin/pip3.6 b/venv/bin/pip3.6 new file mode 100755 index 0000000..eedde32 --- /dev/null +++ b/venv/bin/pip3.6 @@ -0,0 +1,12 @@ +#!/home/miguel456/PycharmProjects/PythonVPNGateway/venv/bin/python +# EASY-INSTALL-ENTRY-SCRIPT: 'pip==19.0.3','console_scripts','pip3.6' +__requires__ = 'pip==19.0.3' +import re +import sys +from pkg_resources import load_entry_point + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit( + load_entry_point('pip==19.0.3', 'console_scripts', 'pip3.6')() + ) diff --git a/venv/bin/python b/venv/bin/python new file mode 100755 index 0000000000000000000000000000000000000000..301cfdb3e3357c15cf82b2d01792e7a00063e57f GIT binary patch literal 4486232 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 L41G2ZIo@;}u`1PvWgFXB#MfwxZ(h{yv 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

Jyz64A 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

CU0X(caLe0utM*ho$i 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%0DTVvV)6Pwrd+C+6!c)uu+ZC$NzycT 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�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∈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≈kG$r*rK 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

GHlKJBrU0 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

lz4WVPSL@HN#piaTuKJKV*Z_d>n@7$v0TV;vjz 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 z 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 }6aOK)p~v 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%0DK z5XOMkazmFoZs5_9-Tdk{@x9aT0E7(v&zE&N+HaL9kL)Fy@p5A2M+L(PV{}vxB z58o;Y-}+Jb)|=GDln;pt4&j0HAEW8?MAKMaM7B6OSFESp4@&$)wKqlUp`4>kLJnPNPKJ--geK&x}nP>Pf_g7n8NV2_;&Z5cK7$27MnHBmAUWkvBV36 z!yWHxtu;*JXsvVFtaEm0B3#`I=v~jXJvXqDeu5s5(8Qd}{$#dsRFTt5=CL74{4wTU zm-7JE68}&A`)8PY4Qrkj*+0eH>vEoma{qX9ugiIry8p4c*X2Cz2H)ad-jRM! zF;luYIe#%Qe=#I~ae4mYy8OlD{Kbs?#baEEzrtRPTua4a9-wkjD`C`59LAgTmd%$%Wxrz@}*wqw<%{uw#|6XUtBG54p4s0Sz*Ic0UGjNG)l$`a?v z-pt$|YNjlZSiYAy88-4g(^&G05y->WCk`cOt(@@i5d}De72D4jV>eKIa;hh$!%NhY zKpCpun6hVr-rTJ2(;HKEpXtqY>W#T?HtutQ$K0;Oh4f~ZX)yVPKZfJPc9*p$3&!H* z$gkR-*C-GZwTyZYfDWP-qh`s6SrBE?TLCpbKnS z99F@ufRaW^zF?@cjcs>)K%dP+gx%|zakS!wY?FzIC^D2Q)W9`$oLQj~LoYx8!?>Gt z=ft*G5uBG;l$tp5q&m!Z(c~lLh#diPeBD|2S$Vwl^|*I397QrI{{-yd(NEf?Ein+V z@x;Wlx0?K$L*>PQ{N`|C7_vdPS+|@;kHu_52+K-N(ofl%M6vMjPvj=BzraQZ_D@bg zXKD)Qjz2nhn5O$enJsa0OvfWRD?N*Q?1~`wuVEt@D&`6PC#whc-z|)KZM^Y1@`5vGsaJA527@X5QiPHr_h0q0d z^I??OXHE<$yMrPU7Y+Bb$lUDk7aLKvqeB*WftirNYHv( z;cc*X5*L?=koA}1`?a&=k22>JO^Dkn7FPYS8AgdqR!z+Mv4nW}J4hmYh_}Vvz3@}T z#tQ$!*8W+w283z^2p>0G%wO!&_cdw}csYYE#vu$!-_E7P*0=Jvef%bzafZXNc#i4q z&$VIz8ul5SK}>VJd2s2#=7Y|PLrLf1#*Qq%o?tiym=TimTlr~kAIFKoi|OHv+jUMX z{0spB@uVUqy1(JBe47XD^)>bG`~DmnG4LxFnVNX>37z@&56);Vzg|HAn;+D=W?m+A zc%9>osezoMKwF|la8Vb>OaY;Ym6^i0;&@TVBkQaT^e8WFxbcu&to?gIe)X0rd|oH_ zLch&ICvp-+I4-`?4VAd@mJf7K*#8W-asNv4F@)I3%8Z17^bhAJF2K`nLJZ{}Pl2}k zoBs8{n$tAdqoxx;H`1yEl`tx5>sSk{V&opCGvJ{6kBR+Zg43rkX`Fe|pxAf1b zkp06uTiW~@u9#-CSwg((PtiIs!v@(J7-8}!AL8$Yt6YFjvD$!oL^PZJYMT(Q;LmacSZymT$ObFPP%m~gNoc?|Fc#zE|n zUDQkPk|gbJV{LEgZEWdn>Sf>1pwsqQf|_duUf4=M!4kc-SLy|y%O293iKW7J@QFM< zzfvKbhcPDun2qlvPNC86Vd!?Z=K?(#A14U%l9Bo+F^n<*v zJS(iBr%QUTEHAD70@oM9hYb%@&j=IVUeNPsxZYDX1VA^^)IU3D9^p42AnY$bwCBp~ zjphT1}``*SA4~Fmu&oJj(c;P$zA5bwE5Am%?%hdLVf*||?wE^dhmyrg?U&G4C z@k=DH-Q3UsU>Ew{+OM~%=Jvy9CDo#9{z+r@5;V{1z&I$N7ZhfTF7%=cIwary5$Esf zVtYcoOGTdf!_A>u@UJo%eyj3HeUraH3u=T{iSF6%nY|>kn%09(6SiGlPgSHYM~gd0 z4r6p8h-aklb{P=JXwa1MW%+a9N(2h~G_5wq9V`HQTTfCI(LxKk7yK2J8GFwl{(3V-w=uJ&_?O%<33)Y3EBfY~cx#7~zR41l6`A&S>p%b(6ufA`3pjQ`J&n?Oo z=lja*R|sh$^=;EG(UQps_Vi2#;n0r{#-wd=X1=)->4_|yNZE^}$xF^~krp?e>POT= zum3oaE9s9-SJo+hE!noxo%GC1kDA&m-&C&9vxU}k+i51SSuutwj@8&=Bd9mNT6ucN z^!FQ#;*@X=jDdYYkXt#?B}~<9WkwmKFSH(sS6ef*g31OGuL&gxu`r1)suYezQw9Ci&~mCYP-Vh3e5j#A3#6yQk|WiszDzjN_I{avx?cUkqw##5sSX{^ zK0P}GmEQST&Flr#1ACVb5cJ9rD0gT_{)vZm=jx%XTneDwPT$DmjP}KxWd{fCCw^&? zHD?|J)8!s0ojEk`!oM{Q{YdevOkNfJ^kgdK0u`l_heYXiCh>i zED`f=57b;zg0DRie$CXI zM;YcgcLrqvOZjjI1Ir0~aZ$)p=5F0%KJwp7{?ViWwTVdJO_5N_@BmAyziOKsaGTo$ zMpE%B?Z8@u<&Z|-+(A-;rloIa{>tgoJnK1 za0f|x7g;lIGNqF$iN$iBW+@bgZ3PHff!fM|`F@RBJvS8D_u%*KX6=O^lsjc4v5WW< zF0(z3=Cz50xGYh#SH-+>Ob7Z6_JuUCSMviUN_(AXuSV@nqrDon*Ewu2`81Eqcw8?D@2!^`*ct*) zQ&gqdNJe05O%?g++aA%E*Cy77jaZp0D9o+CATTOxAD2ICaV5;9!VKYb+3GKZoGM_C zM*61%ycb|s$n1W6SXe_L*gaUVQ-IMZ5F?AVqQ?8txL?mRoWb080fZWnxlY+2)^Lq= z>pcQzue%X4HSIFX7>DGL;v8RM_sekh?ptTh?cT|GX89=In4NpCS-wZZ<@=w5wR{&B zmX8#4zcPDeVO8!OFK<7(H%6Vesk^gb3 zd4eq1c_%Uvq^eZJJ=anbXk8sZYkv;4)z+=2nR>vK?`hmA?Jw&F)xKBxH-tkZgexL7o7L$eRF;e;>KIxEZ`NUvmxf~Tx>_OpAmq+oLa zmPs*{Y5SojezY9#)%J8GYV6}x;yH|>!7I~*$oxx-W_%qM+VGAtZu zKD#k{)DOZXCPCnRe5rtMWI;B>G7rJPiBY2G=A1(J^HRH$sohRjzV@eZWJjx5c;*K} z(#bj4MF>O7fba=p?Jj(f-F>&lne1cg+?iX0z|TQC(rSj?F`at$2g^c1Q#DQdWMFIa z&(hV4U5n)_|BYV>f9STi~*C{?CnO9V6r z&LJ~6BUrFv(TYY93kvE)VnHsQ8OiB!#9I55KKeejt$p=rZM9FW#T#S@xo{`k@I}56p(YIKXy;o%kD|r=I)*z zmWR&Gzqlm`ube;D!I!#YEmeiG!&8*qHoS{@*EYOygU$}Gn^a1SlHq*&KB>Oc-Q3Bh zhfhrFOEbf(57f`DW(e{x)i))>t9Y3G8$*jLQ?t-W*RwQ&zt>IA-ws+uu!{{=raJ>t zs^n0X97z|EPqB(m(@zMw$qrNKlW7DiHR(F z=6XUaTwTg<`ue-bYH?P-JS!hRlp#;B^!;ne$+eAZ=k6k>EPsMNEA_Xo=IRr2 zoNxV9Rg*_waz*2o{>Wy^ui()mUvW33iJytoeB=|kJHpTS-STL=Tpa@JwD=3r504Ff z%4hscTqajLrTh~45oo8Jn4mwfjsG`s^XLKU9hHmJ1pUb)1zbJAXr4S=Bv%d8ezI8} zKDtdVkIK_WH_7FJ0_pXHTpldqcj8)JO=*;STCwz|qjE_zdXo%&3XXo|7OEq-Iz2Qt1bTu%N{zII{pUZrlCHn_A&hH zE&r#6^TU3Y^W#FJaS1KpVK8E#Wj|PI`csDgfa%}TSWR`)zn$s?cRL^~dmyxlffH5Is2(wFmw) z8Pa_0S}$An5zGF{PI3RLk*w)t`ddsV=6e^O7@Bzg!rwmg^B+6!`Wm=3`NHj0{#uFW zFP6uqz1`&1%RDl)YCrjImE3WT#LtAPm{f$EtuU@9Q^fp@da(|;i zPXesAnL=-x6i&Q)sSDFu-Y+)2%lM&nUcW^-Be}GLwuM%T+(He8z0UNnktVziyyIHi zMA>%$*vd3z*voKH^DmR?-nDedwE#@9cMWaJu*9pED8Ow%T4(r|N@I*d4PmLFAX^~A z$dt1gACObX^eXuMjRH5VeWYy$vMl&Gnko1NWNFgBSldFOY8lO0_!aoP%|Z{{($o@d z6L6`f0N+sXyKrR&0N@mBU>poH3%{x0Zx4P3{VNy-ps8|pGJ|02-PgN{LAec!@G{g z6!Mo_+BzAOwv{@c8veD0cdZ$TOG8RELb)UM{EwCYO+NT|!nM+lwJ&AkG4uVY58N5~_qEJy>F~G$4?x z+0O@hg=MJN9XdE$=Wmd9)+m@22^VOagygay*Dxv4Oa^8}b%j7K*-3~3@n)Wgg_u4vpu}28o^se=6VIBa_ zL!IT`8q2%fZP66YmpY2Y;RO+Wi#vgX%rpcPutjdOA}SCWu%Jg~!Q0^3#3&h{z`D)^ zCht16KqzQK8DJT)r-nh=NrnOsKtdqUThlhIQD=wsjX{n1)5ytoyBc;?zaxV@4KMiaA|HrW0-XF@2$sLj6>0~FC1$X6{=w1G;1N(1ht8G}5 z|L0*%{l6TRLRBO)Bqm9wPf?}NueRA!!(1_`?PjYoJ2FK`=M&+KZw_mj2dw}K6yb#+ z;#bIaIfMpjdbXP0&E6W%X6IGkY^CD3^k~cKV``12^RiElfV9mvT=Q~)qW*@A3|?b; z8cgpd2v3-26CEI#QK71+;9uug>s{j2jvJE?E+c3%l}v4`Nk_6z(`tq#VwcD((TMD= z89lUM64-U4TOns#kdrcWl67h;R2EfW=nDk4X+03)r{2$wNHL6nRygQaRJ$@oCs zRtQ#Mi57r#32zkgOrc%mE&?=zF%Tsq*vd3R#@|sm0rBgYaOt^5KxbIX>`g9uw(tV} z(AEIu3YtZ6LgP05bwb_#qxR>SaiD_x_lZbmn}ELlyl)MK%Mz~-P>4levLPf(`!Y)* zg5J%HM@h@I{yL3LKR3{8v{i0qZ@bGb@M3G@k5#3JEw9T&fXXxTO$`>w2|FEtx7`XODW*r z8=Y}|znsdqaSym2BXuiD66?+Di_ezIrxfOQ&Tvm3xQ)}{)lE_0Ne_DbNc(s)XYC7E z6{@L?DWGg1KO+OO*IdHY-D4-{GnX0q3U`AU@_oc6lg;$ZHIn_iL0_h$$gwFMxa|vti3XFwoM5SAAQvOrZe#p0g*6yEZ=neXEgQ6>OnE1$`27lL^SQeIGtZ2Z| zbd7Yqg$GC`ss<8lZ1uhC(>x(8itLv21_a`82N9x-VpWjYV} z_5d1``UN$%K?JOw$!eXK2a+}2le@bby!6up)s%h%Z#8w)S6W)iuvZ%PZcD2(Y(znA z4?Ff5TP$8}o3)tbxsP-7_N3{cny)U`9tC6hhZY1|~v}|Lr<=<$0d;vH$ z*m7%Uti<3R_QB-RF8&7lpy}TR`5CrR8cK}FKWpzX(P8X5%ejPhk~O-KOm+1iwwx!5 z?Zp6V*;_1*nG*f-EMcW(Kvms?Amz#Z9W59+sV5hAx10xZ4Q(GgKmQ488%_{4_7IYz zqv2E0v_CQJuSl9B$S{)i-7Wjh!O2y$w7YAvriW?ou>37_m^VDpyU2eyxtEsLSk9e& zWD~s2UWII9|83fbEYanW|CY_r?(cFDYpCvu?fi9V%VP<6w!_= zcuULr3W8;L$W7=zM1Efqh+>_Y?0d^duIOfVoa}p7DE@iF#^8e0YGyjQm|l;W zBEqms82H zxvV=@N6fY>qppXRB6+**z(qz-V>&0w}vrlX3EsIL)rEc(>`E%kEl^V z*tPbWp^0~|`K9@TCz$nQ1DIXW&GPTy2K;of{Cf=Th`lknszX_#-(YEam%mOlhOUP9 z6F)gOXKwSXF}>BMr^T}OYX?kwpQ(w>ZRQ?OP;DevcT2A7Z26Cv{xgPMZ+Z9dh$UbJ zo^4Bv#9RGVpRE3;W%G1N7sG$VW*OLH*Cy+_CRcWc98LdeYO!F{(Vb_b>0M=d&RBN6 zwvT2yo7zsQ(zxYa!Y|F`|7q(#(}exE>?O&i-K0^|e;lmSp?#31rSoL6>##&Wufc=l z((abLuSds$%e==t2fdA^hbQ~h78L4|UcMAzgSm_nX-KXNgpFJLqY^{F23xE>HqTE% zl+5sI%m1YsqrJk?4jMKK(-Ne{s_rH`dqKi6%fAzeA`|XeVF0=3lwp5jX-8zPS4fYR zhJ`L^K-}KOvcy|AAMAPX9>d-!03=t@AHu6qnxa2T4r>_5>JFB@)6&uiY9ti>t)xFd z27Lf@6fi9BF3Ypi@HSf>H4~tah?J@~M0&`##_(@2ytRgZZ&@Oi_xjIodx_0C7^1&g zMa0JuDD(&T$V}<)Ad=Lw;hkirKTLwB6+kO3`%BAv%<>#Gyh|;?=P_V2>18~z zVr^XX0>fS}l4V6VAlN`7s-yj;e}~)A9t|iUjYRGZ7T--nAn^l$Li4o`ga{e^MA&#v>Y6pBFDYx`}QTh%?eva^3598}xIf0RYQ)MQ2! zMZk7~G`iSt_?v}MJv&Wr9drRtnOd`u-`CncdxIajv63$QHP7bX#g@dsL3oKz6}A1Q zOn}=7Y_?K*S;<SUMUXW{=+F_q~}!&QvU6ppA9Y-wpGh?3A{o#C%z zZX)+Be9{E+mEBD3kY(2i?yO6^W26FLB zbtQrpmQPz6l(yfh4UkVsg+2r9<_Q zJRBwx5o%`wX+#9#5urcO;N8glJy*7HKeEK%+%|g|T7lFvw1S$$?5W8!Z$^LEks%hq zfmrBUk^K$`9ddzIm`|w0bO!jcVo*5X`*r^-sWWIaKasopSubg)Gbb$SN>EwbMfNkO zf6(Fn44;V{7Cr+Q_zao5-?I-+JIiLdrbu5#02qqXR{TDnJcmo^+hsNSQnF5Zkp7VC zE8V_eH`P~`-9!c}A^|&gS_JMf)BEN5+-7QN;fB06eiLChrC<8HmKsrp&QBO=v`kMW|h9MB5`1=`NfFA{SXKgylZ{&v))sEJvFz%PH{) zCRtOJY&89{M7hE-%Wm4fEcLGvR`jrf?K+3s3Xz{89lb||)wWa}e;QU}(R4XYx-Lh~zOEz^T=KUYNdmL?(oHVzXJ`BbD4%KW(^ve*@osAa-s4cB&jhdq(vvU3F_XNVaAiE_x2Su6YH8ynQR_J1!J)iS$RXasd&hxe!}7MVjO7Wpv1m5Zob!eMuoFM|qM zYM7C%RLt_4Y|2EcpuYLhR9VzSG-kOB$)^yxOK>FW!G7bsMUB$}r7HSGJrquRq;KCs zwWwuTP4%gGO{Al2*oE_?KVdieQ;V7`Xd;Kz@+OODosnJCL|4oxif0!!r7{j|V>*$L z@vi^6)>Smx7BwXy6@e?B6Cyt=A^%&2@q7t67(QsvZ^Z+>m))R9wOL6=c)U$QDvh9y z{X06hsD|GzApr?uIZttvosC*WOEbhG+YyWw-nzuQH=KH`Ul{29N|tENO5suq_O7fr z*@0Flx~1q0+CfmsdaAU?eF*040$K~D$P(@{wn<0bw4)@Qtz)ys0jK}M?gK|dqx8x~ zP(vkLYWZ2bPz-jez1e=lyH7hP3h?R>FcaErU)UEVBE8TCPP6fY zbU0mw()OBcphSM0W@lu1cUm6S=A(wTicL{Sq#qNE9g>Z^_Ygay54-;KX)K)>M-He> zbS;0Y=|{Fg+8XR8Mj}5~_R`DfVg+4nm-W-KPl=O+eVVmWjrizrtF=N zV@FKsVvprLWq8<8v!#?x-WWq$Zy)k6^DdT6UcBFvvdQxwGBrS0+F8bGSG#MYZ1$v8 zmNKPFtx>vEA=9?Yr9{+u1TX!yQG&<}^fpslDP4^fk~1~-jtzL87+$e6^!R;h(I3RL zEL%ucX6=CNYL6?OgN@NDX&H%Oq5{|{)>X)^nVq1>4*C^0m#oCFysXfGz`j!LChwKr zAX2DcBX*T(1*W$d>eFtYaOs=u58-`QX`w#IxJ6MPJ4?2=vX5;*nU-yOHTEoeT*5-*wu6@e;Z6swKt`VD7#cI56O7s1Rq0U8ifu*|KpvL>t#phKbRr$?EtEb zO7(tG3p&`C!|kMo3fUb}S6$X)IKOV{Yd^0-vb*fxdS`S>D|i zb971SrAFq!zgx}FMtO7GwOz^4F5R%-L&0xWyA(l~vPIbSoJn`PDEay&qKLY-6k$u5 zB!t63*j;PHq&Hb?rR*9Qo=CIATfKape=GczT!w}%Dx>K?kUxNu0&6$?~< zWw32Pt6`hZwr>sW#-4G)!xOp17`en6CPIic0?I+VY%x3=Wuf$bf*nPc9uP^i8#((* zsXdBJDH~eR2xZU4d~L%vD{{-v3W&aD?_kD70K%-&-6xj49hrlvx4WsGG5ovP6@Xx5 zgC7ASyOX1sA}x}#u_NFSl7qR1RU5i-h;A`SY(TUvvhcBory#gn)j>69pA;*M$iJPI z_c)*?Yr3+sdN<;=Az*q|`47lxHX~Z*<+N!ZI_C^(c1|uw3@kPMNCGVCBB@U>Pv6a( z{Dbe{359^koJb?2uz`*#>)dEb>IZs|+N_;9r!r5uWQs;ku^bS63YYee> z?^bdL{~T6mPSHO%<+$K8rE;$9Aj8t?0mJev6W=pAPZi%d`wZ4{%Wi=)#RUdg_k7=f zaY;wQ_#Eq^s%Oh@Q=?c=p*_lt5-av^wTUoc8=_ z5YO7>KZv?M@bHuyCfb{XVzlGX{w6hH$D|ddV4~oOl$8b4djPp@AM_lea~$m~O@x+b zv7MqX|0eOif)yJXvP_yfcoy~+#oxk=4HB__?ngr0yzl4pBC4AW4A5m!q(i;Z9sH~9 zgMw`=D(hLXp}ynng4KFylz^U$ zl}Tfv_)KkLJ{NoppStH5QwC=Hw~df*n0CO%gu9t_aC$?~v;+{mFI=Zs8K_P&qayYr4Qm{#E|NiQbp0rMv@Y?wp>9iFjpqKg_sg zc%t9;Os$EA=TFejM11r0p3}sSeO58IGkkCAJ!kRd=#pxLK)a)P@^_uhC#T|1X7k#U z-D>aAgE-y4_!?E@)4y1)+(&QWYlaWGlGuNziCr78cc!jgcE%05Hl_JstHeFj^m!(i z67sNs1x&Lz0w)zvhBtD-eL*;i>YO6zuhX>lv z4j{g~`;>Tzx9Ri53z@6Dr|xL3$<^bZDxkJTE+BvFT{+D)9jvNCpZnOpuQI@=DOW8f zWMQ<^^?gR1{jR!w9G^@)QnI&WCA)B?zJm(HO_X<9p%?p+sesW*aFT#l#my>dn54xJ)7gqzmjye1%z8K=` zqSDkSUr6YMli|LH`FQiTSz80qrqZCjiCDm$gOjQW4>L*&B)4}CY8wJtO}ZBj4we&U zAC>R3oXMACL!R9Glu8C->HmscerAGYM|z)0Ur4!g=WimPRkvjx3H@IziPg9DhsUrTvr5bubsGk+3HjO26Z$pkd~s8o;-eG&`w zkset>$dnHSOkXVmoqGp&TRth~O_;TblX~@l=Cz$_iBGZa&_f z$7fNkP5;&I`;XB9Vw{w|@d^MFNT=Y04C&@+1BXJ=&3cv4BcG2D$c@aLX@1pLUG+S5 zezi${9U(O5sZq}KF?go94b{u%vN`sPQoyc~0`}BVcI6njZCHWcvsBpb_F}zfpqPu% z{q>%s`g1X^RPQ;ql#BAQde8A=xtKIj?>TWI7f)5{J*QT3@uBEDdd~&&=P=(xMAcHN z_na+%<$)td`KI2pO8&}&UoCJSyeNO=fy!n;2^AB6Tuo}Suai3{g52QFAKj$>s9~AT z=uxIKZj5QqR!`lrnD(eqrag9yG*(_fOXCaVa#Asu6N}~Yss3C}?Jt+pOS!C+Q4M2M zr82798C5_=HJVY4l2N_lj%vOdl|JQ<^8rEc`I`LU?O$Xlde1l2i1aD{SfFm-kw3is zutD9boC4|ZGP&vTQ1$uqTRigj?);8WB!Ba?&k58PZ?1fTx$SmL=C(V(%x&a;XLO}= z`wZu){?7CPGNY<$W=2O<+JPDN)c$tm0J{E`xg5xd2J&iLfVm8Cao${l?^9PQd`E_v z&M+J`}D7>N=;XRD7Z?lZ>dVXbuWdV0IGPv2H-wP7IWhCFE%2CYp zC<;#+&peN3B;U)7x$XD&T+~L>dRb@ zuJV?25A~vbJhij=cINDnId-P>ckZ6?P{7H(x(~MjBIF4r_^X{V(D%rIP-3!A$f~Ts zep!8r!n!w#Lh~tv`ic9{m}IIW1x6M}x826yyJdpzm&tiV>P?xLsMG@U1Lem;$eq@K z;)B&+{H{v%o@0Cv?Y%w-_8}j{>TWmc%-pfF^?6%P9&BAOkWL5~*0&|vlBe@MKRF6n zdrtEgM0b0$LtSUSf7AH%m4jH$z{Gk`^}0_|LdY)J-Xl`2*iI$)72t=&|9gvYZ7MRW z-cmb+(yDiTzoaa;k_lI;ijHnp#e5QZj9W?cS;}jPmzsKMGvVArKFKIE05#HHS~c0% zp(^C-$isnrY=g&S)kD6{Ri>{CMFy+R(gl1;u$qEhDcFsI7%F!cq21ecl~v$q+N0s!nK= zDtV<+Qu<_>T0ryNFs>NVAu-&Qqm#>J5u^1C3oM=b^w&gB2<1@tz{>=PVI2a~BaPHxtk&H*wn>|{1O_-_eEup>}wFA*@YO;TR9lldw)W6pLB)T|{lrCXA_m(FQr7z&Q zTesfqd`haOTlvo1PEMeyGu$2I?p*n_N4A5I;>hB2$h?ZD{%Rq`{@85>Q=qIMk-I^f zjO2iL@OjNJI;xkw(j(wxVp=rE$R86fj3rlC~bFYIc z0|^#yH!K_}fQ)0Cjp&zMB9D>5SBw0J-wu)C{C13dpWocbHT-spT*Pl@J-!7RH|&$q zdTnT(*}F8yKEb6lonyDCt6Z**tE+sj&Zw&arPPtvfJZfoL`KrFnYdds6ZdyW+}$xz zmYW#aDKV|HnJDWLt zDuwKx5wiOk7t61I1@$^mvLhtKy8*BrWSQl;fsiL$ z0F$TToEdP<=gEB#bgtr|T(-IPatv|%VL@w z0M|)?%j3cWKPXNX#_3M69=y4Pc&%0%;@^zs3s@p3MuubsxqUL#Yt@lflv#U8>axldAG+_dYg5{H zj<)h`b=B&Q;walG*&D5GoC;xdpK&i?&O5y=Pn!0eqzmGqS|qWl zihwVNzlD&m{4Eewi@*8ud=%lQ@Ea}s;RmmT2sE1@oSu9j?MwaOgnT*u<9qbj7LR-= zO#T!3#F}7Ak#ceE{YmQK#*?x`39v0En_Fx<#hB9qESQCq&bLVdT0cxV9yizK*-sVP zw-?#ddlRURZi&46ot0%0A2P%@-?}}M%0#J)EyCq}k>VQXq%)pa>55n}T%6sOI6(=I;??UFpxzP->MR%F_vdsqB`Oz2P2KCutT$P27%sZI8j zk!VhQAz#&%KIpZ+)A8kHN{dYmrvIiY1~02GflAaiqn-T1{~C|&faHpcKb9}Zox)ex zCj<3eWM%?RTx70f?)|ZP`D+!FTy~2ixNlxU=HBKqQWC@m$!p>VtZjBPT1VRF?JZGt zRe*tj^Y>C(7WeOQ_qFbPQSu21O%gQn&iBJP(OCt6KnMqCBFP2Dk4MWHC4lpHZ07HH z`Ac}bZjyvxyBohNyN5{sb#60s-cFyA{cn&E?PtSauP3sA?BHZ~BmuGAq@Sk_2mZ3K zVW7k}u1{Tj7#@>|10UbasG^kxGVLFNLDEKFW z^}3xwPox%vJzGE+Km2QKWQCDs8M){!faxztfHHzqkw{^VBvJr?t7wi;oy2s0GEYIU zixk;e2s*kDU`QfQInOg7v~XEc0}y&>Q|j#mJ31AwnDf8jy05~XdtFF6gl)**vSGw9 zJIrDQ2A$@}ML!pwb;zAChwqDo)kBVz&F}zVv*{$@SVea@16mYdceDfSr&ASb^jP1s zP(7H1%0^TOWW9h4hRJu+zpUF8^vtLwVpD5QE_jT6eiN}c6t39BN+Q=bd<6-35ArD!7r>oFC=K*FNJ9l%Gybw@(VK zD7kQyex2$0M2)pqGiV_WVgY4|Q^N9>&&)GEE)_(n`StHj-TpjTOzk={U_ckYHIALO z8v~3dKKMwf{_9%xodeqK^rF<26eNwYGmP)mmrB7*=n}09WDi{o2uBatASR zKQp4w=F^^p!EgEiDDqse2|I*&A@!navD$>a-j{A@?sywO7t`>_N(RjgP2liKcRf}jtY%THZIBZL4#ZsxmP z8y^U}WC7S7ju)P)_^CUZV-l7)sC`cAUm43IwAS=qz`2khgPE^N5YrC_PAUO<3mLWz zm3S&`FlbUz6a>qUwtZeg$w8Tt1yV9vtEm(NLFXch1zp8a#D1?#sokX0R;8xWnnX?$ zdBkz9EAvF9IkvFRoe@Z7j|wkYEQ@3@LqX!PT2iSs^`C0>(_;;^B{4Kqgg9CIJYwTe z`x7agC$)lPLUJbcVcCu^q_~RU5gQ0@SO5e=seW}wpn@f-!r7@-v4hZ2`BS|)zvNpQ z;@j1y#!Xl2KSuUc&PB3z-9~zXcWBFsH`9pJ(5p_+RRmbGT7bA+?ZDPcRPv>9IZ3CQexK?d5|@QvWPd4U>Hp zG?U{6&_Ks9{a-U~>71IMeYuY+%4Q^Qi&+h@9i{$#xKai5n9W-WFUx-xQIqFM1giif z!)muA(2gm2A1bfCBQdzPJ(TeuQ@rUb`NT*P45j|@q=fslhxOL0!jk)Sz91}+7@#Vp z{&`Uc*_{XMVJPI^mG{huLYC!kK4(8IpDdx-5K%M}OcZaY>eR#iRC3jRGMfIW-!w3K zK^}JlhuXQ{PsP=f>BSR<+U5^(F*=glxqg@m@~;Gy>_m$`U=hhl{rh}Zv9Kl2t@yz$ zl*dAprO$hEi08k6+u0uoX@#^DA(ZvGp9#RC>eX?PDj~^<%1tBrO;|XHtC>`#^*}oP zJGMXRFK9ZO@5$*LNH*lUK^pfU{|?JnUG41|odZrzO@2h|NU}5MXN4ut6zcItS|OBZexT%ud_DdpcPfFUWF;`2p~Ys2QB1TT9+R}9C{z+8 zJ>Yw)5G%`J#%2F3jLT2C-(%%L8l6J zj!biYc5lfu_mXRl2Xr)sj>hQm4)QwH#aJ+&HUf!UzH-Ws%XPS0s8w>^CF+aBKcZ4U$A z_VA`}d-$Did+2HRko=eo*G(mU9{py4-2#-ML{xw!ZLh|1O(quxu~?u#e-M(dGMJb@ zTe@f)nJkDrEJYzY`!MQ0%z;U>4=bLeRCW6Y4@g_6Hf<$FNjsf*kO4eC1`fqm7(Y{n z(E+$By11$-`!uD55QPeTdz&P|v$5K=Za`SE*+6P{lm(H)p7UN*EXocl+r@5Jzv-3p z?UnWkGHIkp1=A8}Y+-`WRCq}Tb|rrq7(K0UP?8F?o06L3aQPLE_mXN(T(0C$JKo_Tomx$WvuNKQ_Fxt?8ZDLE)o=p2g4piUCc4RP;vw5zx+ac1} z^l>|RH~j#sS}KsZJw=`<*jVc8LHikEQT_-b8Vwfiz`D^jU_X^oEx**BU%v@&22imN zS639Hp@8)h8etrxyU74Jx<$cx)}EY!@1KZlXYQN8ceNa*P_?#c1C*|If5cB^`iYlC zhK2(4s?;?o0f^<77c=lYLjInW-_iZoMOzD}^=b8;9zTYB)6p~6RZNPW7_#67n*QKs zesqiCZT&BhM>Wwiw?=NxUJj02p1r)09XPABznK<9|4f+g^{??S1k6aP#Wd)d{oods0fF zX2CU-6#VeOg{rrDQ17<$95*zADg-e_&kQ!yU>10JOlQ?nXu)@+LQJ$tN-nsPyEe$9 zXKsvyC}X^@V7%6?mOR`0byC;u-7V5rJy0dw2iIpFEV!JDnguti->c;}8_zaS-mF4! zPTJTfkcbuJY-(+VE6(CGd)}<}OMEgd$_4?_ij2e*wq&~ks?XEeu%BI{h5_`xHVYL2SPj0*U0v>p94D*EWHJ#LuqBaX^rZN` z6|1Ar5c*dUDwL1xeFXk%ap@#<$iQNE%^zswcOC`Swby3cK1UNl5=myb_hTN*&kL8yUPfqX8V(lz_ z1%O8d7YCk75b=-;OuxYVP$GABFu9HV#HO!QtZB&c8NNzZA@Q|%NT^J=MP;MI$Rs*z z+#-l-;#W}_zyw@ilH_RT{omF5<@`GCxK)nN^VdI#TG%#@_(1Rr`3#8e(*STldKe=( zr}c{eE#H2TuW%2`A{XgeO30u}6_Vfe%?3h7Fwq@Xe;HSA#`P8By4N?5CA+^6f|QD{ zg)}BALI^4(uHhkYAKxtFx)8W|r+_PU$91Zo8rNp^{xH8F`JwcOGTm+RT0r4E^KmBJ zwJ{5^s(5gaPq6$n9JDBu7;u!XFqK7oqe7g^RB@v?$t~)l`WFHXs4fSj398H4{AQ6c z&;{uk7o_3p{dgCoiD`)@*|xuEKZN)Y-U!L|6KWRD?U(M^4#ld~ioePCvHcA&XoAW9 zDqN|Ii_`E4YFwg-nfB}IJV|CET)uu}V!%rn3OWjM<+T<6I$MGiO2yBV;l`lHe4@`0 zq2C$u@+Lv@-}ucUnRuE)$rDxH^dS-T{sn%8K?Q;74*>MVkan01Ms^C|DxZ=~GB&%vguxPnSEv5OD-vNvN~3!_2Fmg0O0lbcFVwe=eZzaf z)Se3s3sGPf#OYm~&Sl*6kM_mWg)mD*`FR?rx57G356f z1tA~uOQCH0s9soyilklrg&S3^r%I*9Mbwz0YS?ZKS6@V9rF^MdUh)Uf!^CX)+f?~` z&Mn`O@)OgUngKB1BwdR$^6XZ*L$$uFVo_bQ0HI;sd5 z7#xUv%>+tvm;$}3ik?x{ql>k`q-A{q+HqNpm@iz@oTm!0-4sDFFN7!+E`MAZe~SS% zXGCIvY|;>7dl{@=CHarDHk)(!WypW77kvGNUuCMoUjALmVlH{XN26vU+`3Rrq+LHE zQJ7#6&PnYYm%_y>*C#SaubRUn$s@&4PJKA>V^ThtA9N1eyTkSlaUwuQu@AtXYEk%% zsV}+@3A2oqpV;F+BEo9)1wQAD^rO$)L?4oneUgB&w9;dieEBS&%=Df| zIGfx+3E!z!{FgXu*?YqF27%L0g<;VdZ*vS4mlHQYwpRzr)6rdBf{APTW7nG$X77#T+r8Dx~kG58XqSITrI8!k!I{gS2rz>uWPCvlK zsS1B|`W`M$R`iLojY&LuqT&ibDo#9lT*g*$K{TBgUuv%;P7qt{=%CifUnGov^tRS; z;(pveyn>*+TBF-BZ3w5$_tIfrtCg78q2f+1 z^X0N*1s(y@3*<7lVi1>wa@nbZ#d3O)Tz0OwnnsJc>cXQ_trZtp2}?6d@X4)Z{Gi4V zjQv)=OC%v``9VpkrugT2Wv>`AqfwY;CclbVFxsNrk@6aMTP);wI!eZ5972p^YYnIO zzYNk77}{e6{jkDC4QwcVD3VbJH&5K;{3h!X^7Nfar<80R4-= zlNhPlXEN}ZiIE+EDNx>M_DzS%lZlZX1wPB^{hM%kBPe#?1j`9JJ2H2;-Fx;hXTWbL z$Xh%uC}0mzr70mr6C*p*(D~)MP!4a5bBp#(m+Ws>F!NHL=+8^Oi;#-E{nl#H5tg7M zEapn=$ps{>?xUe$^%-Op>It#9{!fC{{(yy>_28=YBXT}?Z9*i+J@~3l{nyx3t2(|* zy?IXxwIW7Ch~x6QAUP>Uva>J~&xs;vL|bOvk$8T!Y&G?HbtIuQoTm#!rgukUFp}Hy z{9DiJuR-UT;-+3_@5wt;^11%Pb^)Ti#+C^7&{}|;z52p@UH@a_Q=bJB1Lj6=g`cmb zZGy>BC4csOz9_RhOHU<-XZ$(+2kIO3Rx#9>lm4|d1{MnXxVywb7}@psFVIPh`r)D? zB1+FWVQ59x-aKR(zicb(7JIP=e?y^_Hj}$?qfsT`sItHZ7F_f9Otdq>ha!m!MS?+Q@mk^ zjN+*t|1W?`y?I}XymwzqJ}goLm9XGA71HOlmzv(-ptdyZ4Dbc#v`9Ogvy+jMMqY2% zh$Hia3&VKTPIF{|Tj_?jIv==ornc3ocuWqx`>XPMBUMs9D300LPA0e&ZleM|)>&Zj zx96@jNyq*o-A4eL3`xWkaMHaiYFFFA>{L@ zI1pqlCo5;ZPYN}C9LyfR0YyfGNq2fD4;9n|Pmbj1)MHnQ=)@DD*|;mnH)>gu@$h_I*X?Fj`5|zh|3zHrrHJw`k{fMM(~l>r=^9RXzwj-**|U8!;T-mg%g* zqe@7=+Dv*Knt4;l6Idmvj$9T#%03no``S|;gYACvr_&c%{pBG7SKF-9zo z;C>1p*A;}kdjmrbs(6iR%sJvPlI;xM$59T6WSOcPgZ7Of`!=k;d6mN@ zi2vcBeqD9QxsW_4m3Q%AsXSPASpP{mn z8`ENK4tp9@lZW-O)lF}R{uH*!da!?Ku(63Xm-kyTJ&ax2G#?{y>lzLSL(U+;Ee>=< zn|Fo{3}U)F4^0=6`%|ImD!E{Pze&(EkzbCGC2MZ1t9miID3~DosXaxZY4%SQnj)8l zWS@{h5eX50P>_0plrN z-AF4_S;m8{GK$UMX`OyUujKYibEb768R{nphXDB|D&NWjWobTvpdoTG>|YyfOhtET zK~Ia+TLX61HvK(pFO!ynjc6lZf|+IVZVT_WHvR9j_=Rp-B%Mm*39RmCBG*7q9A%8e zuN1wv;Z(qu*Q8Y{<5VNSsYY2!q=_7gy6c+~LxP~cDpn(zku!?@-`WVrq9{_;kNxCD*#75G#-ip>U2hnrDl$LtfA8c<4GradSC0v!@s5 zJTrLq%;Fr~Zn}mVC5J06Q>Qa@RWPoGdvzBfX@okzVg6EsRJNU$N%5C#+Qf{CF)}ap z!2Nq#;Uqn_P};%jmM6_tew_Xl_gQ>r?a`scgMIEA&1%Bwr@f9r6gknCMgMQ<5P3p& zY4P7E-W}baP2HDy}v3_ekDqZ;!2w zkQQ$?&vIgG^{P|!PksiC*B8XrR_qaGJvS9l$oYqy?_tAI38iyY*B?rjH_|z!`PxcJ zn>w1Vn5bi^3;ue{EyjlQI=2CJW+-QpQZQ7$L)0}sVA`WUFQ}Ik zHUc;Q_-F_9PDZ(B0xn)sT$T@`&g76KtXn&R(HlUCs9#||IifqGbyWYf1e}b1_^LFb z$B%L&f@rC@iyr!0z}_OO@Ug}~;)&Mx=YDc~PAcc0dE(+2dyzq;>xBE9J0O~+Y$@3h zgq@jv5EYThN^YmcvM0W2>F!*(tI;t^r6se4F!3MX%ww`z>(#6=Tnyflzjw%fb@?b= zV3_0RY7*s~U#Y2;EyGI!@@|Mk+_{?GOAnAXZ{#O4Us?JH*5eM`+L~QZpyEj!(3KZp zn~0Fpy8>&&Q=EiZ%)WRoW)!abYogQpbgc+O_x+hNhzMvFcI8L>EndV5AS`{eI+lz= z`DENq+@(dKH>fFKUmvjl@($RaD(W?EX|5zY^H2p?exMK`0h?7QbMNgb>y3w$D zn|_)iQ&8nXYGZIZ*qJZO+ryiAJo$&-+Ye0L|9Rn-H|AU(ca;1!v4 z14agA!?Cvn`kqNuyLrX**zYJ1axU{%1A`2XoV9#vB!dXqUmW_IA*Zg#8iR?+-CBbs zO#yon%-)r@O#Qtu?y07&${Mqech%#0JjZ=Cat)`V1tIM-O5=5>&=5}Cc_v)4Zdx~E z_A_U?>#-_`R`9FG9%u4kJAog{yGuHDCKW^*AiYU>=|^RbKb-H9%OH$Xguyfj>$8*o$+ZZA>bTqVR z*9tGz3t>2S;X2mPY>v?KDlUn(+^@%C0?y*4<;-2fJZ0Q&#s* zWyonNzF2n`lagFabk5t`n0HPn^!Tr7DVV7xS)5OS>}ZQed5urSyc2CH)?<&Ti~Pvv zL0aNmU5mC{6_n;;@@)`ONRQnCeVB>T-?2NrM1Stzs9@lNwJ6%kU6tHLPl1t{?$s=P zUc|j(woU+V>gb(_-RP+sf;K{aVxG`*UbuXTiwHgboJX~Atsa|!jgNv?>ai!?t9yZ( zBj@fkQVQ(2k`o;RXT8JQWFR;5?T;QmqpF{wT#Dg_83blWvWj03w(rl=fBpGL=^mvjY^e~PONw{+JqjEnTKPmUkvu++dp53R%M6V`IdoiZ|t9fz{giV5bi2B)_ zX&y^o_?EAfJw8TxnKA;qv=fzTJ!cY(dNq?Yl%vN^F)`Ws$h?pV6*ofv*D^ul*lf$B z#J{I-9L9YbLsf*2FYxV64avTJopy{w1-=#PZ3m?xT#9E%>L?XEVm1ce)|8fg zyPyjl@+Q~nyMq^HiHB~^Nqq%(sDA$pphmP#Yx-I^Ln=0?SK{NZ$D#lmZRuLEt7(S2 zKZ%~|qsN{TXrib3>Tx+TF`{qpp%E=z!;LC+R-csiDph-m2IJ2&N_qB>+dX|m4nUug zrf5q(PWPOjgw+|zKB395&6#HGQG`34G28E}ftWs*D(C)`(h}Swy8R1mWJ6(42#u?| z@c32~a^i=2?4+P3dSbX9>ji;<_ol1c>w7dj3wZQ-H}Z)_YE=sqCsfa8_7MKlUuKE^ z=}!cKYmDd_&(kZYbAJS1;#0F`Rl9&~py_Xr;UQ!#6f>gLDp^53Kj~dK^g-69u=7YU z>srvcpS9sW2yRw!P(DoH!{g{_Jn!m+7hE^pUoyyc_IeKaE&Iq>{DM2|voNc|-yBv@ z*f%mbj2loGbvisq58ET*iHBWaMzxwaM8@BDXVuVOt^v*TCnOo$iYm>8;rvFXGrqRM z7c3t+81vD*puNhOS!$N-(&Mi%fo93ya`~gjA7U(qE0n^(AFpOB1S#LmOY5vqicNx% zxtCTI3Vy3*XHg0&fjAE%e0qQkfTvm3WqD; zBi#k?m}me(znp7Uc+^nV!k}<6u19dQ3!{ipaShL)c729HVw1qJ!rwBUxF@)Z{(_4B z(g<=T6K`Qw+GOI~J(Nv9OU-Zi8{{!V>2k#jAajvICKT2~5lI;n-%(9`ve19GvH;v}S?( zN?|e9uWQ+l=IimkutR(L7hc>%a(J_3n;zRue`=(^gwb3Q8U+bm9JcR?Wcs2(Kwyr^vFBqZK`yZUGbAL|g8~#fPS(?HRPKn!FIWVIQr+!~E&7S?t;9vtqRv z^qUqbk^8ZXzn#EUhRE~e2{{xdqmH@fafYqd!}McJMMmF!_Hi>|a2C;0uFor>%PgrT zx=8;SQY|M2M%mzziNbl(l-r18va{?z3tgxCt67~5G&yKj#>Y$?2dQpfB30YrA8r4I zp};M?@j?j~mfHshI#yyVGV2e}dZ7HERr1ikN@tc!gr3CMGto3kT2=cuLHEt+D2ChE zDw$BK$A2drndRC|XHk*1Aa3__2^_hZysWJ+yT4=(B|}1f>K}(?BCl18LcQV_ z*6f8`h$~8-5SIiIu~&IER*;b(`sEkV<4EK_ppF1F9%7d@ROl?`(Oq9eTM^JUF9;J- z(bKZGVaY*&w;-&?gTQ#R#Yb_!)8nJSw1gLo?&R$m1o&ryUU`?knOE-q*$rC@za3UI zplB`+P{YnOq4E^^#$<6a7HW*P+yI5sZ7?w{&t5FVIcvXS_hRGYi<#koeN%R+PhZAD zU{yWHM*;BSJD9|R&Pa-ZSBiBLu@bPYjNC?r>MPcgPI~<7W3CiBE1&1w_P|rmJg&z| zWJ=V|-*SHAYHRFMhRK2^s_<*FO1T36HQG2^zioUMy5kE*7iD(|JjfDsJK4KcCe&@| z2)swQ4<^=qke%D~wMsV4W-u&`r-*m~o&E#>Q~Qp{cXn!yZ|KeDL{RoCp>BH{a};f{ z^wR&o+(vvOc{8s*eZq8^o@b{w1&Yf?)Qn+;TlGE+)#MN4oPK6!oy# zCcYjamy#)CqfqG0eBcgXbVP$Jc3(oiulPmc$cs|2SNMkS3So$D0F48mHBs7!$C$o~8%6o}S zCCbGPX!`V6jMqXJ(bFT*PJx;$m?jR9stv~nY7Y7{IWi)rGfsZZW`Jvz#6&-o z&o%Qb4N}_OPgu=CV%z%CM!Ap4DyKg95E_cpDgzN(OkJo3a=#vX z8v+YE-wBnkf%`{mY}H4CESaAJ&?j3uL8Pq^SrC~a&o?Q$y(m=PfM4TK+3^)b%H_o( z_2O3cbwT@xZ0!mnx6AW4cpi4BfW9MpnxVY-p1gQLRp=2a-xRh#rKNj#af!UB;05i| zwcABNE2!AT?A?zo3(`oR07U;<8KxqapU6C^#Wh1>uON@wu#rx1C#_yVt58$W`F^;3 z58XWuX~ag+p1iyg_HcPQK18~>kF>-ts*l0t2n83_s}MJ&%u=1DcOuUPu^&)Z+E@td zpz&-#LZ3#u0h>I1Q!&){L*?5T`vmE81#Qclzd_*{`LT~&&B%=O8fHvhJw+v8RiE;v zCdf^6k;uUg$i_=V)L=X5#YILBQfRmdFf0x-But|78}aMr3%C|qVdM2%Bf3O0j-3#O zLWQvOx3}^C?(~}^U*=i5YX%J`_XvUC0NaX0LD4oo9>7(=9+cI-)A(j85Z9=p_tQQE zE8w@ldVVg_vuO;xD7DkYR9DcJ`W+SA2@;stH>B%WdML==F3qALtt#St+HINdZb$@e zCdRXoIMqd;J3525yLnCZHMGJy*yU+9LlDLvktFFD70xbLt4Lj~_D6{yA)GE|&yH~V z1+5sfXSOoND+Ji<;EIgSELhBFkwI{oAto_7wj;I`EE8=Mu!x&>+{4_~_M*)zAjnXH za11o8W{rm5pUID$qGO#?AHNrH&jWIao9>73hXa370h)N0>L~mvcIZX4C(g8`Aryx` z!M?|X#Bk8#Z}M1u;I**nE0T%FZdV@q@n7=Tavm9+>DL|559r6T-;mux`UyymB{cHA z50G>@3olDhxs1wuuwz|<+slrdg*?(DC?;gMXSa~YlJsyv(#O(J`bKFXqcqi*4dxM6 z>U6ccLa6Ec7nPJi{w?@56H{d$sOfVjaVKrg=XIh|W)GL5r_q0zyq&OU`ll2)Pk&YR zSdtfHK9D?&rM@yc(+55BDV$h}OGEfe^}%@u*}tfo0FSAAzEEa2WlH%3;TEvxzsYk_ znlIpw{9DwApOm&aW1jmRg(jHxKt3u*Nr&poKOsw*T-BET@FeT;f_t;#3fS|zRu0&xGZ-MKlZIB5TEJ|*?|J!qsdtEFM0 zlt2Wdq=HGoF(DS4Krov0g&5-4cKUM&Z($B9$KYGd274kV_S9zKDsfX~df{Zzz-B<= z(UyUFYz%8J*1vAeG!88}hy-b2eCYazr1DPA@o-4%j5OttXU$*5S7$B1m;p)1uE+Kw zU^wtl>XG;gsvh~q{)<%Z2r*cl?me_F_bT?JF&Yjql7TXui2-MhENY>W27PV|BxpLn z7sF}T`8PouYDVA1j1RY|)0*Y{tU!-nhF%wRo-88dr>J)?bmKmHD**om00Q`bD0B3G zaHGH1ZJ@5le0l=RTyRxvLIp*sJBAAv2%N-E;6aE5nf>*{l(zcT<7YI=Wof~2 zF=5Y&`F8ae=wty@_98q4^TPHq@ggn=JGxX2m;1xcqj_PzZU}e0t0-7Lv;cF!yst$2 zEcs!f{=#Oig3iy1`YsNYZyD##Yu%vqeH+UgP*WcmV@JsclGG|l>9iqtJ) zOBnXJLL=j|%JX6&LK}|y7cJxPQWSI^FAkL-5+sBYfmEP;RoK?+OH)!VFsZT6NP-Rv zg>(9S08@0YO(DCqCFAxx#y3zFX~vF}bZ6iBgV2JCq9g7y11;y-!Im6S{hNq~ZxZLD zJZ9K8{Y8d-Grw8l9K{Pcjk`Z1vF~FsHkzON020G(uNQ)F;k0Y9JwmPDH(lv?3lBpO zhD)Xyh=R^+rGh!H31C8yig2%|Y`-YG%bd;P0SHP2}@j zgq`0gGA~&bbcPp)ouB6Ei3eE^g5^v3u%Dq!{4;|9ajm_cmMdm4E=N~kLJo^RmAI-F zNf^s9i*!&N;0XWP_jwGU4?~Hpv{J zVHV1U>^%{GY7vq1JKLYi*&+fEW6)~V4UYan`?Fwl;cJj(P6bEVh}hKD-{i>|S7qoN z+pPjGeJ$;}vh<(pGBUSTkG%pEK}WSRp+09c=io~v-J_zn^WZUZ9d5 zhW!|=^cA^T9Gq0!C(zL-idG_%;;R5&&2zn#gJCNt-3i@Bt&D^eO5B+n-A)wUH6mAJ zlTal`)r$OLTo@(m#5(lsjiK_zF1@w95zM(g^Z8I~uMXKk%xCl%EC~nFL&hQBLM5IN znQ=gd6Xa-0q(jj8j(nja!@2%^DZ%?f`}*`i@IB}FY~a-A2?ou?JspkcSErCbL)6n3 zf|M{m5Tn5dLYyUw^@L24w$|V|XD)yf<)h;WkX5XRALRIfWsb`cd*U=26-d4WQ zso1YfVas8Af%iixxKP2n>e<;^vw;D!;)uWzUDet&`@icWL?14DTt_SJRdL(ZMO=ML zO=0x(1=*USLzLF%^pJ<0cql83Mf`E%az0>|@R8*2FMvLxv+ya4{~MQ9-!EisQ>$9~ zYE~M^w&u_HR~9|m=3n{EPE(~f654^eEj8+MeF}p4Y(89wpAig1e^#6mxdAnV&+3VY zh1lnC7)9-yZ7ou;-bwWU%j(#iZ{>0hr&eftStdW~!aT6(fRd{d?> zLU@A$-+b4!{YCXLnR54!_@E!H`mO#leeeR1WS-8I} zE|N1zHl>=(D^5N@}=PGCq~`ZLZkdmTuYAYnyE+x9&kGD+FZ}>`|+gl+9wJ*?j$T0hM zJTif0$OBxZmJD_wa5xiBf1y@mah$_5ti9u$>l&8$@15q-vzW4=)6XZ)mwybEJO&E> z!JxoZf1Dy+94u2{h|6Gwi-J_0J2T3oNoH`is$#)Lx!?kaA;E<+4u64NhllA?Ciey( ztZ3ka55`cAaWWFr0dTXp!W{}Y-Ndh^YM%SBRURJ49q!l!OW$98$kYqEJ0F4>Q~z-t zk8WttpZl6Ii;6KWo|mIMw|;#ieR65LG@@q_?yiMr5kKbQ44QuQVha-(bXb|IG`mpylT z4!acjf|+U&KFVdA!*(a)Gv(PpOutH_(qpf($8&}Z`nW77^};pE!$^<09%K{w`f9Hp zI|f{anBeCVHEa|l-|G$<$5|QbdA68CkGVnnN1Sy%fn0DZDpT{1ody&4700XP+%rcH z5WR4Cq0$t;C!)i7YP=F-SF0N~X8<*-dG22*i}g_Fsq4?zNxi@PU|c$*h)mmPeB?Wd zs}FM%WUUT*t4BJ%q?(M^M9P$~UC`qdRL#t`TdluLx9peX!zmnX$M{Bt0a}K|nN&%q z6(5zc`7O(fbjQV54Ljals7-blCQ;DDrW<>b`m*{Eay(zJx&&Pvot*8cv2fT>onRhs zdBzS!kL}xNEUNrJti1_*RMp-8pFn~^(Hj>uB52fTgMcP(B?6j(3C_R_Mp23&g5p{? zgc(5gm>J3R8lbIhwbe>pXYGqaOe}B%oGZ}dLdtSf) z^Z)aDk-7Jt{haUlp6`A}old9k?mCJO`T9R$rx*qlQFpLi+Rr7oS{DM(;;Fc*TcrA> zSoMx5@lfK081{bEDO&RnY+#eE;MlFH;YbM{-aV_3w&+(Zb0ve^Y^NpS_5tFUmevSn zfRSUdx;_01v;Ta09jzJ4tSn=tA!xH@%$z*JH#jux=mL0>-Febs@Fy^RJ7f=-gLuhx{}_Bq6JEaW}$RI@rg?RS{#f^J90&7v!HnM)5#ycB0F6Yw%fv_y&0rsKIju%t~q8k#p7%h?A3 ztDoPhuH^QYaK8bh)e$+(9lIjtR=jNXSFO$_qyX4w?Yp;c*Fy?Oc zDhF^1xPuy$DF>n!JYRiHyToZaTyjwskNqV%s<5OvD(>UE(Ru+_A<7#(6@d$#^5z*G zxC)XBYGf~raXJ_ST49g@v7seN?DO;SRI)m^9-0&AJ@PbYB=a2<%`L~+LouzRzh&P1 z`wRH^z_F4guov+3_|4dYjXkg$+2Ut}J3m0lgr1+Y>VX0y6mIK= zvVe1s0Ky?6O}j-Es20AIf$A5T&C9y1xU#@|c@ETs8KpQpQ)fy>IST!PI1I<;h`aO} zD&$&<-~aO8&`Es?k=-Zv$8kmkQ~UW<24Zfcj4?w`rFd$apXWG~w|{VCIC2(S=Ry-u z@S>4U5BaJ6vRNfzAxMM=BUGYBW$HZ5OkWxhKhKPID-Yqs{TXa$;aDXIp zC+4>+OVLP8uWH(L(jV)Ese+qiIxtAbw+LTMZle1RU$Vp{a-4)cj=E-Ctq9bi6ZRR^ zOR6I~s=M`4)9cL{s{K~InA)#Y?KeU)U9C07&`O)p9dtL@)QS}wymHpAunWEhdlP)Y{7OKN%ziqS?%0E6l98b+`=}Rxrs2*?5)(ts(H|J ze51h1**eoUMNZ-=l>80c1{OtkvsVhMOE4y&uzi zdXVl*4x{C6xhP2K6{H-Z6sV$tmdk>a&Oyo!sOXj(f~MwNWxByoXHC~oH;@=|4gto0h#Ulv;u~##nVwU1P_9HZr^5J=kl8TLlV3%}`O1UXmVM6yR z>c+GqghE?;iI|=o6hGJQi8QR3pda^U%(S~;*7iLRD<;_goGA(7J7%NV>0wUD%UZl#Pln92^`hkrc%_=>J!_} z^l6c)uh@2pn07&z5|eY|eF28eRJ#f?e&6w?&I7JRlRN3hNT$z3UF@TVGP{WYR20p) zrhyfk&_}ES4Koi7rt|8#x@{-m4xO;>33qKCRuIGYekx2rP0T&xeID4TxANHrfj(mz zkJi=ZYe=(}MUyTM;yd&>*EmDF-O!l^|v3wRR3Rvp<#| zqm(y;l#M~kTS~z~zo6xVAZ2xsqB&bCsb$NjLCPaRikRW05`DIO5v2S)NV!cZ(h9VE z6QoQFQm$8uSgMv?LCUxwtaZV#^6Z%8DT6X{DIj#?7{UdpJnBTPc#) zwwxT4X%13uRmx#XIWtI^5~N(CltYwqc93#$kTOCkvX*NZ8l;>Pq@1pl!<8~3NI4-$ z>7kS!N*NWT91x@k%P&IYQDMu=0QjqdOkYfDs z>-%s%O;^gqbsQ$%;vn%?l<lpiWq}`qm z24BPW>mcZ*nxyE?Wq&5ci?jAi&qxE` zuxc@V3y4~U99Wsf*B~o=YYhbw5FL z$0b`tY-U+?d}eEn=j>kh3z>L8S^JQNFFpFRt@sS8EQGU(h=C|Y8WD5SmGW_G4J>Uk zJGg_57$S2IicBQ9&L_o<4bRWHzn~Dso#?$LO?hkaZ|;xsE28GuQZ$9T3tNjH2tFnD zZ!LZ%c#ciHq9XFbV#;G;NDv=_r58sVR_lYrEXYwKHQyx;#|aqYdaOrrpmZ;SoyQF) zb5bOuDDyWUms)|QbT#3OV-=C)%V<#|orp!0JhrVWU;bp;+NX_)cv^nNflwT8engGN zaWr4?d2!r*T5r*s&55D0%(qN=n6)zA=tB^$bnA)_aIEV~#@P^OvYNK!r^GWwWgTsv zQwCT)Isf8ne+2t6;QyjEU)Z?7@yt88k|N2&cbZQr&}!TrQI6#tl%b?jWfLD&40>(7Kp&HK2Fy62b2+^&(vrPDz?1&L$) zNq{8rCEbh5#5n2SDcZt5O`{Nsn5KKOIN7Gh(R5p5 z9{lVo3Q_!aB=>bfJwzH`=X{z& ztr$2Q9?J~Q*6Q!33>IfZujc4!-{YjXNvPfb7k^^zd^$7Dd`<6*%%bdJ#nW5P-hwWV^aiM8LzN34MWlT2zXC@^#mSl0;al*x#fVFvr zqV9m?rg-Kf(vS~xzJRfbN5T!OJDAqRs(@kfg)J{NQEdl+@%}#!Y z55gBiV};yPyqwJajR&?EN;EOK2;S#M+!<_(^Gdcg2--mQ*DD7crS$ainiWZmzv+N` zIC4@0V;!JCpbN~+*_}C1s51M~z_YZeX&KA}kefct^m|4JnA{2u@%JG1)hHN-v+!?h z!g%5O{DGu?OfF_24<4y_f#er4fF2@sH1DIHqs3n^vwsS)?Ta`kOyHnN*8{Yw>hYqL@2Q8H7?pUv03`V-51 zZD8*e|5gpdU0`ctH8r=2jwM8tmRnbxnDsfhd|b7iVrqkG>R7Li`c9?3j<<@v-VQfy zbwJMZYRlrh^alo&T#%cH)OBiV6<>{fBG+Hd5B;+kbR)|ea_23fo*-Vklajtf(Bezu zz&zWWf0T8*d+S~~Kc}i_!;BI;){BMEYSqJRnPOA>-en#$wNEbb&FPfQc?mi9sr*qh z*1;wIQ9v=LrtQYnNafx1UcGq6WSm{%uVjNjh*OpDCiX`$_W?sz#G3CgzwsI_{h1A( zF&07{#D@)d9h(THDQbz^66a7F+T%0A_2N*1B@B!0^nRdXF;%x603^iRrz+<00{w~; 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

x?$AQL@EMmxh>?e<0^@O+JkXz5AR?emV_|6X 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%0DG^J%9M#2l@P?mcK0Y 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 L41G2ZIo@;}u`1PvWgFXB#MfwxZ(h{yv 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

Jyz64A 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

CU0X(caLe0utM*ho$i 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%0DTVvV)6Pwrd+C+6!c)uu+ZC$NzycT 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�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∈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≈kG$r*rK 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

GHlKJBrU0 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

lz4WVPSL@HN#piaTuKJKV*Z_d>n@7$v0TV;vjz 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 z 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 }6aOK)p~v zEPlI@>BqDFCPt zF4v1R_!Y1dd-E|W9o(pIc;i-Gg=i&$uSw_lH#6AX74I|i#)>u|a}SrWUyxmZpbwgL zQHY3_kTFtOMIbRXAJYT3#~@MDvICKuuLBc(^4)VJ1=(^8J^L>m=nVxU6$c*IH+5}p z`YyL*Fj=F8=mb$FjU)q1f@2$s)tnNRN;+7I}Y8ffSX~*qpG#&2D03 z-!Db8Q$>w5!s)2wOQA@!`H%y}3Y1Wd>+9#pdMK`!conhCYZH4nug%3=xZ+OEqf(Wu zgpY&?CLxZb63zIHfSTf)l2KrYzYe_7h%0`>;!Kp%BQU!Zy{lCP&0pJ7?TL(kZp|-> znqYMsEaADQjzbthHF`2KWPhdL+e||8O{xm81cRPSKY%TGo{4@o5FHU9?p0x~TP_*d9-)#- zP{KcDvW)3ap81)!GGA(4QqfU6ii}Vx?~A7XhYz8yWX<%5wPd1|xu3$>kqK=7%W}&z z>*T{|8DA$ezMM#yPa{t^W1C*ar!i;XMXWsp*4d1&F>(Qgd0ADmeENB07y^dW^Ph0j znX9Ru+mhCzvk)WQ8J~@|R|ykp!p~;+?b#%#k?36$WPiu4;i*s_v0{aN2)96jfek`S zR_qOME#yop#7_(v2bhc(Gv(r5L^G<#hle!V?LEbx8GG@mY7?~^Ft9!6c+^w~?+~pS z^xNBnFHSYQj)rB&>(xg-zsXl-A|E^bO}n#MJDTO=mVZ~%y+9c55p>E-wp>YU>fQ=& ztH`3`48nWUD6;i4*>2L|t~0H2$A>)5q}<|3or@>s6;H|!j6E4BW@j8kyIOQ2ShPD_ z^i8rl}?84a!nbs=kUt1Xzm67sC+f_v75M@0i(BigdCGa0y`C7z=nfeRrj1kj9E z^dR4ZOWcJtgVk^8%?K<0Aawvvci9D|&U~#iYU-S7C(|3g?wZ@x5jy3*_Pe|Vj~ov*ky zFbE>*LRBo_F9mE98QY4zCRmfkxVxAuq_j6FCLQJNy!5Q*Wbe!n^Cqe5^sN*hv5^ zF9^`aafQ6#B*}{Z&0ryC6Fc4Kf090|jLC@$6g^`)%V3_X78h~&MLE+aKF+y3mlr`A zn3k{i+mx4dH{XcSQJyccTc;Je$AE}_>uA2U=38N;(D#+{^rsVuvgT|6i5 zWzv?qaLRUF2ONz)69wrxd7_&Y;jOelG_tg0Y^xFF*QYj@-J>CTVev6 zyO23~L!id*p$w_#nWu?@Fm{<_LD!t`-Xw zmYrxIK-=u(g=g$I@l>4^Ij;U zO3lY-P6-ibkyknKvd_JmC%e?guiV2Qy)4A8RWH5?w5b7mWAu2Po7)?tg0%RZb8{%? z!)A;bnR#Bo$=d%e@2GI8_-h{h_PIOxBf7Zyzc3x6lVxvZW_bRX_0DDW+ch$sMA)PM zqP3Jgc;tL-^c<1CuU@zq;Z7qrpU=1 zOGZ*}zQSc%gLto%Kqea+f(rlHnBJyzkoYSPRIg*FGOYo1B)rxQ+r!i9$dGf{1-A{! z@Hw*<($ngOB5U3`$lkDU7`D&WRBP^7>Jzi*L>PJV2yA;6nT6Ix_h7{y*Ir%%*Z-9B z-e4knl8ri-a3lx9J~{45=lDjds@~l?D0dtCD!&k*{6*&y|ERms%JHQz{pA4#*Vid| zJ2i!Rod$l)9mX?62Dj!drERCr^Wws=s&O3+TJv5Y3HTbe_-9^1PMh80_z?6EjId31 zcJi9)bN-=FkUlJVh9PomP*Wn=a-_4Lvk{q^-a0k4QnyacBCU8564OmRgH^}O)O67K z>Zen~@oZqjQ7(W&8a0d`j^HwvO}c5a*#yC!<_2thKdv;IVy0%^gdrK_W@>yoH@8sQ zXC|jSH92i*p2-O(hQr2>0&Kg*BkG6 zu*~#;e)iBj+vNUVPR|YhG}BY2(=$=3)9D${6Osti)1T>SFw-+ZX3t4c&Jj;@k2e^d zOQXGSNjaw~@|m7}I=a^69V z4JXQ(9PVA+)-*YRbdHTuRcdkq=_xRiQ<$Edi_>4yl+)Z^CB@&8zt#!z=tt(~bm~8a zei}u#PEF7O5$~N2P4q($)BjiWGvP(U1p~?wwgL!)b*p(2?pUGepQqEsUzen#=>TwY z)NAr@p(Bz$LDRW<=B0n;rBBrKZ&T^aYq zHH10ILawc~;@W=on+27WhuIFK#As1kaj$K`pbWNU;#0J-+fiPc_GcmIW^pRrGc_O- zs+_Wff}1}B{}+WR@a|em zTW2Ii+tD<>puHwJ^{CVp6R>dA;)7&1YNgaWms^qxkQh?$kjd(?!o}t;B)6~n2y`Ns z-+kf%B)+@c)^uy$6XH}uZm6U#rTCmDr35?UCT6TDFk`M`jAPtsW*qQsj=`$y@RWV3;rP2r#x3Ji_+2 zBuCcG-j^pQG=rb$5k;A_S7BI|;Xby4Iq0S0rr2|OiudFfd=EMk+^`ea7qq*For$dL zc$-;S<^r{hWOqtv+YRz}O|p!?VS9P<9xMqY{WktGH$85VxzR^`ppP-^_f%eHTZeQC+M%rK?H1F1EsP*ir$xUf|dnb#R=L9hFDp;cOT~z zRxBoo`BqE@9!d=7IQGWeaOS3P$tEiv;+x!#%XXjsLLB#UC?70IT5)s!B3hSYjZp_d zHP@fA()Qid{5&a8D$7%3YM@jEbq<77RdWnxaV->8kFCO9_nF6-7w>Y>N`>D_SK@^V z6Pe7rm}JPYb;_G-b9u9=K8bIVl#K&WYL0(<-Bkdw{=={x`XtYXh>3q!yf_RG=x#~$ zK?G#MJfqG%Pp?ZYAcM`740}Ir^b4@lxXAvfE_t54RNSTe*`eoU;}P@mg3aU$V3em| zbKWfAh#xlj_ksrg)(k7S!irx6@ap!Shjun>zt1LhMOiis<4gf5Y;isLfPOn(Lxho$ zSCA2Zf>qD)h?Z`*fI_6$FL~fNJmqSTPaEYEb?hJ~bu7~ikLzogrP^owS&;ErtpnA; zLU~A^0PtlV32OB*iw9hyW~bYYN>(b*5K!SHPfI?euN;4Q-V5=b7uFi6+pjf5Jue!3 zDfVi}H8m9QDnpdlWZzUqd9dRi;Zurm+Y!gA&uT8{9418^o2; z2_x-3rxln^4s!gP*x1z?{coUZs#n1xXq=&X{ATh+b;av)EjSLJ{P1Ba6WrGs_ z1N#EDp|-HSR*ux{?ZN6jneOS*3zZ2sE2xGxU_veqY1lJW-KXUvo8F#^?%#c9=s~zb zC0&BS;bA;ve~22**SH~hp>Sw|Z1IXlG#xeev<^&cnFVaWy^kRVuMda>)iOlficnHx?7j+@EqscjE?k4eH- z|0(hZJwT(Ds_r9_0S&nCpk|d;qIJ&LFPo=7)=O+?5q18KHIK>!>eQly%E=r(S*> z(41RDy0wTrPz=78x~U^%D>nMCu&k05AqU<$nA+J-Y(s%p%Z@n%W!^T-mDsSv#rjNy zS!rA(S}C2a_kmliUtttQDV|buGl)LOi5xaalrNL%!4BuOybVlrP(HyuTT7fbXS=(% zrWnOfDLcgR9|mzixi1l!no#aTIoA{tg}$$Da9^WPI58LoAvm)O*bZ@qtuwR!oE9|X zWyPQ1O*;-}Id7jkQ(8;(hcU>}z)KXw8gnJc2D;$nn%<@g;yIZXK{i^v!gc#=!NG{s zM;as3k-DWdx+x~8P2IeNHyS#e#<8F<1iXtGhLCB-+8DV|49bLO$4(%n2}1~aY&Ehe zxr?M0`)$Kpn(*rtU5beckZbneN$~5ht%U)aMVbH$tMc@urK&-sD=R($CWcAFb@{kV zv_C{~acF5-WJP7^yq$_-hcqQ0W3c~}m9{_2*NmQl%!UAloqFI$*~vY_iT*{EOUjo0 zB_kv9K(K_t7cpZPb6r=&TwLm_d|khBbxdf!q|SOOPH`m%^rcw;5|)-LeU-22c%lW# z`}o*Qo|D7iMKc=HWk>TF2MW=z&H1bZyf9V{$RXTOYcwJ-cA7j(5Zd?!k_i3(ODE@B z=1xcj`tLI4Iw9zR-JrJ`hzEz-gGqt(KUx&ZSkb>56nw~?cBv45mtK5_#QJGX0+yXxxDx}m!001Z$iCs;BMm~)ssN%6* z!NzA~X96b^s*U)``6*dUrPGi-26s8_K!B+|jSHP-t7rvyaE&acAy|w-HO5$6DjP8vXzxm3I75sD^r5( z_v2g{OqrRLn#zMOqluS^#(U91K^PE|C2sK0)QSkvPV1JM%PUAu&*g2fWr*jeq>0Z^ zp@*7*-3(^M?x8YfQph2`AND<8=Pyvbha<6`E#~h*=2_>6)VE~@YxaZTA$zUHdt#P; z|Cr3uL;TVLrnxZ4Kj}oV-DM#O*&o^K@lzr)GEuBI)wwirKqBg3!mJL={h6Cvb3(-b zg1`bbGji8<+|^iwGdRiz?9^6{@*!Rt1cvr<*;M4EBv4HF)hZ@q#w|mfaeMQMwuS|0 zsY&lo9P0us?F2dbPD6{~t*x z+F0My@W(WlczG|BuB81V(Mos~CPOd>nE|Y$oP8pp%6{It5gI5kf^zAq#tA=YV5YR_GQWyQXO**l~~w>3$1t*H^H6&nFvkU6aEJ}Ns3=v*|DvsGeO(`US9I} zVHU*o$ul`yN`r1{*F6#d(W94nPcWyl`m^d=vG>VeS^DsH7MEz(B~v@$NvNleY(?gZ zN?Foaz1qfVqk9f5&9`C$Da$H}IX*2UxQ1~yIVJ{zPhEq#_u8f9f<;;!apy*_`gRo0 zZmRx~RPj<%{9fF%jLJ#(Zi;@UcR%Jc9TV@w!5m-ZVgsDGOj7b%X+y5nxb8oUJ*T2* z{0^41xsHP$pVr-493$IRnXn47!S!8@nn2&q~_X$>=nArAuKHbm7yLp;v687VVqnD#SE(|%h(CII+ zhS99Y%WAL5h=u~y$D-|}MRi9x(f zyKWf#NIOIyV&lCZNFiz8C@M-$XWDQ`7ZO`XZkV+uC=4u~3zdG}6Em{i$>)pNW{;ag z$RkcTUzF?qt2*Y+M{Kae`PRJqsa9SLUi>;vFxb`alMZfm+V7iU<&=F^~f3Dr%mcwa+( zCOd0p>)#YHXJxyQ*x8ThfjmCOyj(`fHZq;-Bgs|0heLTeqU55C)+I`o$m3E^q`PRW z%-7M)zFM*SSY7mF>eG~dN>Dj<$f#Tnj&ZPEoCRG~ZJ)|6R^55hZ3N4j8aRVur?!EO4U?C#7CPliG zBMi^ImN{uTpIIeAq(2dqgD?qHK_MqlVa56i0f^vzyD%i@+%w4KcRId5XAmbzL-T!A zM^;fe;YNrQJ}uvxTR_FW>g1*6CF`t2M_vecxIKWl3G=N8l`QwI7*GIR3G>oE3s-PT z6TcG~g?`HSR2qzBb2 z5H(ACPZOYD$*-<1SdvySD8#;8>TYzhzGFI^F1z?;kt|tnXMMq=HLr{CNA#-IEAx=m zr8)_)dQ&06Li1%0%U>~F28r|JFwHLAS5C*ByTIj}-Ri6=hLH&qM8X6E_69c4okq@2 zDnK+}^;b;OnxkR+E?8YwyN89<4S>~kJPwXapiCGSY9j1)y6ln^`}*wU-J#Vj5;Gf3RSqEk-4cDYxcBWuTH zKc&0QjC@e(s?v|_K^gW8){RZ9_-5VErN>)2;wzBh!idJXa`u5PDFi+^LplrfJS4;| zS5X1W*$mx>VOKvaph#A95*8F3JAfq{FB`pNQFFRI1Kf&ME0ZN;^iFp|zS^g$N%CU& zG;p8sD|k3ON_jYv@cgON6S)@Vk5go2{%ojgDkZU0RIEW=?vJ$&*$ZkUv2cm-dvt^c z>0LW`_?w5N2Gwqqd^=N=FEIft-O2iqbVob|a8{n%ICLTm-v{vW6M;-0z|PmmdS^4y ztP8q0Z~#BNr&!46D^Wv&nvapK^()oPt`Vx?N_U!Sgo_B(%zN_>P)*&DRs#|pg5@Pg zW^{n{ETEKcMZbcK5JvX#B_dj_22)j%P@x@bJ=h7LQi;ILTYr=@-KF(&;UuUOTb$1a z?L)~4Y)w;h(uX-=B4knv#X106Z+t0+*_2I)UP36q)%8WP?8na31>ekLwv_pS0^lhU zN)UzcH-O?pE-T`TYq-R!uJCa?X7jbz6m7h%)opCRlDB2JeeXR)FW#x3r%5rjl~`9S zfT?4*d@B|~bTlU|TtrX~J&Kk&kN{5=$vH)Ew{jY!--a#_#zY-**noLt1+pa>h{>oH zk^u<@%>1ZXWk9D^JXPQ{P$c3)nYx}rJNa(OTgT8R$32i1p8U_!mJ;<{E(s0>`ZVo_Ua% zf61Xts?d1sMwuC57+j)H9s+Y^nsVuf_%>kp5ki~OMT2$04JRlRVZ-EulLV2bk-3eP zY0@`r1lV-lwIG-88efHAlaK3Zn;Rnq6QtJ@+})EwD!M+>!>o{Vl|&R}`3TupS@C;m zTsJ`CB@Llmb(PR;att2~Yl__}^z|s4tl-kDRjc->)wb3O zS_pz5;)RPB6cxO(w}avpkXxSjXYDhD92LOt4T3QbvAz%7P#tZRnb%$(tpv+EUqFL>dC)inUb3#sVhq0 zHZ6y1z@a+ZV zxsbs&v|xeKoq^Jv(N_1~UmgTlv|>XjE#g*8t2tseMWXR#ce5Zr72(MOUrCDB#Fv39K`A(e?z$PisG4sJ&?uBieemPxlMlC z9s96+v@R>jeyaS^zJE2rC~>bIIJ)Gv9%%VXLdv%rUbdwuTohXSpie1M7nO8ysg4)m zN^Lt2GY-_F=+65!UvfaatH8b)$44x=@%2-r1wYwN@(&``gF{oK&>sOqjBFeVJS3cC zSDoVs%f10i?selnp(w^1WTG5zx3Y&J3q~4p8G8zNLU8;?y@(rkb4m&NqTffu=3Oj=NxVt`}=K73)+asWNDEeS5h}AR{5bbZ>TXCIQQJgk7(saCnLvU zF~m)KXgE^2!pZdD2LT31uIkOk|2mEQm+#2)%6HyI0rsnO|reBP-HiGKN>?P?<;^n?wBWK!fn#ZsC}ncJp^sz!^X zA)`jZ5~$^)sTryKlym}&7{O#qG&3O-@2r;M&qV(Do{z7yqm`dI^AD%vz}tHD6fvP| z_*aBa%A8X)#MES5fQJMwz?M9k$5OSivZi-PqjnnWcxvZy{reL6o@yvp@ByV6KB=i5 z-}=7&1^J##4G!2(fGPYmul3*T@KRPw|J8?`@G5U2lpz-u9&>126{QDkxSerw>W-PE zIYO-E$YmB8?BOQGtqE67CT7e6LS9yrE&sG_HE}3^o1P zWTW<7(Ck*C!% z|J9rNNq4P(5}QBAypf!w?zmMrHOrX)+e#zP`TzkUxiV`gBRmVYwiV6a7|Tp(aZ-5# z3~}&<`ty#ZW(<)Q`#&$T^Q}mEGq>unDbTkYY{@5~b$Q!v`l2Z>mU@TS=x0aDU!woI zG1^XZ|3XiOyvIL608_JOwOn>IhcE`!kOVbolP` z9;Lc_SFW7yiUsM`kqsBia6fgl!}@_TpS$NTHJBT^r)g*ydyE(o`^Z>Q7aEa?pO9D6 zG!|~@*R;(3>v~2s|8qWfY6>6gBu6qyZzf+NY;3QQhTV_u@pZroM)*EoyfZXdaRy$K z2Ky5pz2o#xPyT5;?{fM@98jcl-MOSngP*f4%ocW!xs=~HBbYAuPBoZ8h$91z*!0i(@xjO*kJ1 zfV&v9kz`;h!sJ9`EkYa23;Y=ywv9E-VVNc-&m_+E!M1rCcLV=$dci`Q%X%kyi=GEp zU2#9h{8sxmO$pw|JR2YgYT>YIVhI>~#%@@(aI zQ*B7Wi}Rg%)2M+bKQ$uhx?=YqtyTWBU6m)T%CV}_$(bjuB6c%YWk!kH*ji^WRw-&%c5olS^j4oW1UV^DW$P zR-V&1leJt-99nksC+=HkSe&q?tJIRXe^%r9#ciumYwypOXj~UsG(-cT*1x?cY1L`^ zk-nmIIsR0QXvNqd#zOUFetdHO`hQ>cqreb)NX|GVIahLDYP0+H2r6oa!<)tJ-Fw>N z(H#dGW$%dQur72xar0EwVpQ5ckz#K`#U$+^;H- z=pGWa&bZN*yzyaP>aMznc6lu~?|@w1L{qh>l_&R_{iOF1QfoVUsbD&0bEcH!00$0z zkM_Aw>4h6PJ&1njTwt4DDNIAjvuNR(g?Wq9rG%q^B`6s!@laYX9?IP3EKKYr7dwqN z8p07x(Xi3fNqf~YtWI))egyi#Ul{6bUNV(d-P4z=1cZ$P&%*koyD#Wxj5TI-D%fCQ zmAhNp#8nKVf7_9isX3BpXM39%PZ#l?t(;U+N5=vC$2|nRq!X4llnYlbzmrxIhvTd% zQCDz#*1YdjIJ?eH1H7>xi)r}14XMfF&=zY%a>oo-LmJ6&DjQf*U}5knFSB>q+<$1( z;B)|_2l3m4!=wIT=GcvysDGk)haqRI9$T|d7bTXz^mgqQGPy6QwfBspK53#2gmS( zpt|%KUiu!T`ER!F<>y_eSLwlbQ`MMR_q?NEW&h4VJKSGr|3&=$7hXJS=BQC;u|lBS zlB;gGa@zE3;**qRBAS^F-fg=_xPXL9Xok#{y{dGk@z2a&F=;bu+t_&FS4Fjges^z8 zHo+uKi}#7NTdz9hg}ox+>j|`&SIv(;`XLMs<$m^GWWf1JRFB<#~BeD{5s}nnC~8r9Cl& zoP^xn%d!Rpi(k-TwhPrv$Jxd#D9yiXw$(e?v6}CF{DFr&T%}=q>~-jsu zIQ?M%40wjRg5V$ct79cL@T!uT1Z64uTY^);Z%y$y`*Bh6iIlaMa%`%?15(g%_*RMS z8trw{K&p7>jpm&&xAQz)jWb`|75yy4?Wmu>w%Ym+ai z-8pedG}FJJ-)j0SJh--^@K7RGU~v$se0lb^DBe|#(x6~V*Ev7p-2c)|=gC&sI$C~P zGxLe~@w1{%&GS%Uw1*aGOL_1484vQL|0Y`p(pn#IN)>-lcHOoe6Lv?S!%?G2IU7e^gcDRyb)@f9%W@2r7 zIZb}Bp+qfv;8YBf-qmfd3+ZDsUW-YEfr%r#V1ybDTtq6F{UtHT`{I8 zeoDod&hewrdK?s~{4PGT;>U>>e9JjEvDDkdjB`)#crUkmTJ70wFz0@((oH<&{iWTv z`%O5_)mz{xI$!XFPF$$TMSt5HB_s51)5Ay(mfEJMr@1ukv z-|0#@0;RsRSD(bXd|6#V#(*09BAOHL#ZntbW_lIWRvg|d!RmenmYh^wQFt-|2XXID zeBpIgR|qo|L!GBCEofn}-@2(FQobufn==S!Lkd2*H>$|d=MedlY}wBJUpft=&`&sB)9O|*Bj2WIf#77MhVdx^E5UW z&WE47zx&A3cyxPHlBjMQ&9DPULt^;cNScmo9Z9`ElAC$sDQB%IUkrw52P@rI9<$jR zkNvqWJfzC^qc@J>2(g=laQ^eL@(+e*4#!ygtZ?R*{Omy#!w4JG=Fi!yx6rJNRZ-fO z?{>F+XyZ-1<7t=pP&cJu5}gP0syitMc2j?GXK!FXfvY5@sZ@!qN{KVSfTe7k?Mb?` z&>7(`6ti$1e<57{irdYf0Gei`Xq!M)D4PFqEVWgGvmVh@AZuB#bf&EkE#L3&)^O@A zNe2&0S7V&r^YP<++a(k&?zwwBT%5Z0R!gz`ZL$1UWzm!Pdv2BXN6UBXF0I7<2_?Oo z*rjbF&S=E)Rj>`$Z+$E?=;TQ1U0dF-BV7JEORyvd0d;^xQ@aJbCq6LP#eW#Vi6Bz> z9xl4VK!BZn3)E*KvDCNdE`P~FrHD@$E&tr@`ltcUX*`txqh+V zEQ=iPO(ZM18bRID{hJJm^N- z92aShinnjq%8^Xr$vWl@e~sNNCTcL(qp5d^#>&Zx%Y{GR5>0mb`!-oj9oPpk76#w| zOfKI*l&`r^*DPB#(~-<{SRL22jY^+6fAd|OF3#iM0tL`2gqg=FZr&pSERO#-aWq*C zi!VM*xb5a}kCnfVe3dwfgpxiSG`Uju>hGAG6t7a50r~hXg1QnPC_^ZBtdwS6$ZqZ- z{)J{o)>)>T`B*w`kLK@lx99klqD;(%|B)!{oo0xLHO^bQtI_fhgGoVP4#%H=Q zYC4nOqPgXtkWJQ^o6!hyG{w#C#1J7o7+yzzOtvue?Ye{UNj^Cw3hjhl8}UzVZn7kh z`Ac7(B;H5TPcNifSweP`Rio}GE%k@MH;HFD-P z@``i&x)R;(m6!lR_TF&j91{9|9>vtsPWGCV=d+$U9#jk`ONRq6UFlX3nw+f(xX}+| zUEYdjF42m)BPGFLRR5@PUPo4?uc2`G_GEC*wFLHN4nyZq|3i zQKEipj0Htd={BB z>M)HdF^5JtdguoP(a1>h9@f+A!mAGRvAKAs>h%I2DUP>VFgo@qE#@KCCvwl~X+6W` zE3^0b1$PI#DXD}m-VibOhp-#g3h=)^_n90!O`Qc{B3I(?j^PY7Y5o>Wa`KC zqH<@vt{MSrKhcWt!n?Ty>D;+f3&8n=L)Zx{)rFy&ii<)-y3E`ROEViz;43#TD=iN> zSC+FZ%lmDrZrEGEL*??s5ologU76FstTa+pOya+qZnn9h`LmWbJz_XO<*wSKQ!Xv}`WtLzHt zY&CVa_*2tvJwUh4{NM1c%K6=@D(9(H*}E)XTTYt&8vZ7PCc0r8)^8J`L7UxsFB8^E ziA!Spt3_ecMHe3#*tg$EQ{jd>(pWcM%}=a5WsUT3&8A zWe@}HM@`4pEWzm^*({y>U^Qk;AJ~m}3Pm5NTKEH%zv(o+0JMFgehV}bqI`NZa~_iG zwLwCP;hA`M*kTVdE!qhy{Z#yiEw+`m_>m!YF&OIInqU2_RxXx$zb5sa6?i|^<%K9Q zAZjZ1$DG=iDNY#a)j@G|TU-2sEOaE`tfpWA?yx~YY=Juz+|!|8Vf>*cr4|6u(e~igE+{DAr|5H1qTCY+yAn(O>6y|LSLDi|JeD>Cicz8zehX zwjk_9%ipKPA!qeJ-ft2OW90|4H=;1NNt+d!&6%cGfHe!wIjcWs^(VAAGIL!~UTsB! z$N%I}Km#2Gu%Q(*i?ESt^4|iRM*$$Zm6=7IYAbH-l(X1BbY z((c9C*+}J!iCARkTJqSR9ZeA?lhaCM5)0uAVS)a-kg6g|U83ocut2L5bvheLdCM?P z$&b%K;Wo)na1f~RAiPQqlKL1qkzh5E_0f~x#K7mIqQds&m-mJ;@TA6xgoqPd$y;PECj(9_x9}uUz%$) ze+2|JZj6Fb?}-ElEGk~Gsv$4C?PPOU8r1sLatlx!1a|kPx02$9H7)M&ZBXMiH1dql z+?&rY3%c&z%&!H3eI3Mh3LAWnDE2&8Tt{XYm!q3d?^Nx0K7XkeGqM@g%;Yyi&it!66Wb>Q6l1A)@jOLciW_a$o z#ay0=P0R8mxA&?YD?_l>P2{Tjq{?Y5;K$OR|3s+u8CKh;U5%G{^|L%<-1>L^6$#2m z)_x@$YSTZ{J0n<@-*hy0AWoxHVU%#5x`OlML#MHt-s|^V>NHl^k1kGQGo!5EbFlB$ zRKEup+|Qeu%!n=3_1|57^W)WvFRf#{rZzQv=v-ZsI*gEJP1|bns++Tg?3HZLUm-jB z@Kc)3SvGBxRZ1F*T=N2 zMFFPGp#>5L;K~f5y`222rTzmDZ6QBaR`vb4kgTR@d_PaTvW?yA%`bnRZBE|$Npy8eASIh(S<=(w^kX5i_erNh%b z+%^r{X*Mc6aWlA5q^@8>23n?F_QXmxbi(&s5^7N1&opWcYKAbVu=yVBU-*y zn||&}`?f7sc_CN-cj}>G)#w;Ge=^E85g{Cwr|2)fe3IG}E&q_)MQ85(_SHt~Au}6K zz4eh)i<8N>nl}eA;5b8P0uiF*;PugCZQBHHq#98oOSt18=}jnBzC|i@jUS_IxZ^V; zl`jy)mkIQ@-rx!L0h&1shk2Ta%%&`AKa!P=j6@;47)>kq_QONql`ZgjZM}a@Q3NhP zwlSI+!p;8$fXyEPy~k1qMJr#x2Nvvk-I@D03dizaGNvr~ElBFa>mqgM!|OK3U^Rem z{?bbM_=%hPwIqdRlf8XMKnQd+GdkoXUq;(v*Azcxe6h*zqMnd8Zqdsx*?(ODWhB!B z7mO@^%Gtu0^Y~lZT|}`s$dC6!>|wz12H@ZqP=3Py1)KH@|5u?B$?YkM59Qy^@m>}! zg3uTd#5}@M^zRkpCSo)iYqx=m1iTF*`Jcw*D4jl2rI?qp*i7`l#qvLhaE!KnQ@s)Y zqTZ?hqTUbxMZKL|5-^tU?QfI+jdAJ@HhtjU=+~nY_U-|VKewZD9;H>Ej}p8iBzjV#)EX39k>g80#@XA~$T zwHS*C5!n$-eIu9r$j;ZehNy1%sK6xWj3%ERhbusOAwZH-5GsjteU;lsd{hD{J|JdD zf0kaDK@Q1nQN zK}lKWckJaek%gd_);2!mrIdrQ^g_Rlk5B|76){xg=wbh@k%!wgVngl2i&lM1FfiY= zgm8_m8p3!tlJhYzWK%-&A26`F$>=eZ@?Z*v@?(xf^Hr|;DG*vnj| z$)`he6f-7MnRcKorhFuGos^B2(bjZa34qi-RV5f_)DJ+e+gR3PtUpQP&pNEfa;fxk?y{LTLNsNg1b=|#l6YQwI% zVK$+qgbJ`A{=P3mFJ8zvO+9St5!l^i_X8Fy{z$GRFF`9|OSyaD?414AUD|J~hc|AQ ze)+K@)_aGlXz;Ybdqhu*e(V3ojn0eC{1a#)GI=)yk6Q}&fg1|6&}s=7b>W+CO8eTu zqH7HC8zFB%YZpL75%+YiqoTR87omWlo}sANlI&m>F8(9C1A(fFestg5Mr|n}N~|y9 z5OL|`QpNrHy?_Spj#g$9OH3|2MQ25lAWbdaSu95Y>$RRls95@xSmt_NddE_ypis0| zLw#Xxbl>drBhr_CjxRvYgn!p<{?QlCj0oA0%Yhe3IXdm4c;*-b@j(>0%zcKEoO}Mk ziwMG*wo#{KrR&U{%eP4WHt$P=!%pudE^-dIAHaUiw;$jvyI_o2#z&x6bGA)lU&|Y= zudzlDTwR9IIk#{~pafay#jYC7+G9M=3rWZoW;%bwi%eZ|(91Rl-P+}okKwskarYDA_R+7iWC;F1lRFLi8C*Hloq6|Be$Y)$<8J=Wnl=rmlc%1=$}grcFqd1_v$ej&2lo%+-8o#V_ui_e1`=g!mkyX^f!x+s*Z zS^f)H#FOzwA&;}B2*cbIsJPd?05ImP5HQ;@p@Xh=8t+w0HxS=$mL~UH{>s|CgR{>{ zFgb)b&b*)S@1VXjuNZWuGk*>vY;gO=DnFif8kPlPI@M+_SzBGd=b-7wGlGKZOwDs^ z^|8CNWJEz`##*G2gQm;ezc5p?Y^_>nc;2OK`Jkt6-Y6ah#p69A4V8I`f=H_0%1)Pt zGuP$=PvtNC+PhsC?2oI9C%2eEmnPN+FD~_TYzmXmmG*0HXJMOqaZ&S&3pum4O_i-I zd3o8Ot=bd)C}A#n?v>;HOSfyl0d}9ZWQm=ZFpsGEePVO_!xYu=RviC{jHqRR)c8Kn zSP!vv-`7r^JP}!_VZ~HImwd=74VRp-Hrf<^t5qotp$9Gh$#4I%2NuKbo}8v;`z~Zx z7hC3O1Q3v*kAu_)2Tz&k#4mM7wB;|9l4ux*M029QW>-c-{)wHu8W8!{1!fuoja6_y zQNE}FuilD^6iUmZu~d`QO9irj$Cv)J;Zgs5U&d&H&|6!)!>AhQS>{~bs%LROetRc< zNy$0*TD|VO`)ZWWN_OkM$S0hIl%$A1iW=LdT`>R24*8TDru5Bk9}gTMP8o0r{i3;J z{2>$IeeJBvNr5ST(wE7)fQC7vAMdG0zQ88#1uTrM)KVFlyZNm} zt0;OgWxaWn>q!4}lpTe({r-!jZI@D8TJ|;w@#*2HK1q!Ze#usms}v%iZsXcPDQ%{X z*FXn_C#(;r3x5QLCFHD%0mbL37sp-Z4Ww^qCQhuMv$}(&aL4YTE9Q7I_@JOt&HCkm z%ec!@FM7pP$>~?p7vZ^h5L)@!xQ$kUY8BE)#$xHxsPp*Ic!xJJ1#|N#Au(2^ytf^c-JG;E!>PULf3$gU!tEn>R z72YEi*L98-KeTiz@6U z0zNL$>Fed`QN2>HaAj2Y4Pyslv-?ITyfHG}71`yx{8=QTA33maed5iU%*Fey8Y0v( z;sCY8S41X!9ZerjIFj8~E?QamRpRlQOk`iK+;iAJ60j#W;jQ86{+qFA^xLZ}d^>R` zz*yPvU4a#K8WW&TgI5@yfYWm!W~RIHXB|v?FFHx7&B6q*pnP+3^^7f6p*{XH$)Uu6 z*UTDhk_sq+Gb7jj+#^WWNUm|H%DfGNLwY)a1vJecNerEZGdp@}!JaP^L5U`+$h5SDOidU1TB0xj~oFpS0s z4zMOQETrV%fEqDrn4LL^2^1(^HLO?gvM=BA5|gVN-skuoR-q^M3%qgzzj#xnH~bCj zudcFJ6fggubP*>oz_7A=pO5E#Pgi`*5XB@lj4+`cyNnp&=|Jkx#Cqr17HmG zfib4x17I=KV9~IZitKxfbVzw8L7F<8f95AWXCcGlD8UjnZGStpZ1K-wyX?O6^0t#d zyMAX2C*LJOd_UhGWrwa%34W^6>hM#umm#MXywK6Idzobi7EY}hxNL9P;2&2`zapn z6H6}`3ubb##IKE{&w-U=BkS5EHgI?;p(nun_%wcp;#f_yQ77`dERN?QdvhGW`^JCd z$FTD+wKm3wjv5$!yEO3yJRsKoxF%q=lN)b69h&i9EM1>xy&|Tr;U(F(nyxQwo9%qnma!_{^8W2v4`RM=oIgl%L; z)^8TPWlQcZKHzyMZdH8j8O8BOz{-1Up+8HU9+g@*jql6bPV$EacVZmKj!nsQjrAe0 zn4P%d4TVd~iEp`f$Ik%iI&14{Lci~=nn{YtGkodU-2@sjq-43VOQ_Q4>=DEX=cpH{ zjoH6;pdVDX#5K#7s1rEc6n_J&Pjg25lExj92tS{9JPNtc8R)DUDYX1TjB;cerwN z2)|CeK;lijC(I+i;SlPCy8}n}jUVAh0h3;*@=Fpp=zZn+Uz8@c`M_1o&R|&@b%Ha@ z{}N`l*Ds~JEgA=KlBD4I`J@E8lWu?E*|1&$jm^H4%5pHTvhhB}Y=k_1AO1QE_v(4i zW-@>!Uo$?a+hw$sy{}z=QF7iy@k0q>opu|f0&|Exe!4~>et^g|sct9me#Ttf}pM%Xrpw_dfH zY3TE`Y9$`b{tDiKwS(>JOarlWIejJW@y?*AKPyI=p{$b>$K$PLhV1}cYhzmOMfes= z|A$YOP@k^U`#HNsmIyma9dD6p_v3XSUxz0=HzxI>FLuPRgtr`0tv(+eh!OJVq$SS_@X@PAd2uvctASK5`#y&IQJK=EhLsO`^6U<%r4R}2}vq} z7G2Pisnr%O31&BvCL&sT@Ye`X?&XA2#z6CqHh!}D>3K)S^A@?R)Z$(I^?jqhX8}=%`uFR5oxX3;cUc;=``%7oV;4(av*k)g}~~xH3q9+b(BYC4?+Gi%NO>|m=u=gIuuIWZ@9+F?bSZ& zAy``rU(;^Bi+bC zGnwU*hw;d<$>2|mZUH7SJ-91FN8)EDLrWK5eabX{cJ5U#+GLg@A20r*WBX^dw(m5a z=#N~W4d{W-sC=VkQoLmFOPGB#T*|rQ&FE?k)Gty=0^TDNryE-_oEK=h+sdFZ#;{3@RUi} zvR3{rJ@_rYbGQ+P+30)GI-UdiKH8_J_t8y6IqC#RflA=^yUUUHaC#)`1#Ntg&rzd| zPEx5)z?nK4Br!nt-+=^6nb^R)D|weqVZAp_y=UrR86m@iV>~&@DQLU|i1dJ3o_*4e zH@B>1efZG8@qD3CC#m}qPxRVC`|G-5@nba;K+?hE$G|50go-tpuA{ZyYjp1+ghLeedR^_+LeE?wS4>i{57xuVQx|b z@{iB$=RtBw$nEFP>aPm+^RHG0`x$<(49P15?ZldVZKV8#aOLz85)uKb19?NV9{_Lu zF~Y^nRrn-uhl@4a9UC=3&gCZY`}ljT{wnO8^s0bX$v)(j+5J>Cd}S65cZp{CP=$MjOvt*iLgu<~9_EHwlPaY#s^x1y;Dr7H`|0?9UD zHidtLbxM7zK}6Ph)eRry$GWWhD&m|(X7#bFy-A=^NBV(hnmkk@>#_vwj&|7?40LR> zC*N!Ir|VqZwA|U`&(V)>p#flK|9ZdXm4zqedGfH!?YBs3TV&a`0xo4R9xt9gn(L$j zr)e`-V^b77TBkVmcunzk{NR+Tbt6axMJ|?79go3mp)~X?3*FrL*b@{vJ1S~!V`XS-4fR|gG)~;_Y^Xh>SG37$c4!-)M z?3>`X$^WYe)CluwIsjtALz5%B$N0wT>iG!sPV7V zh~ami9$6NV&GdIXJB_2%+fogX|7J(a5lQwt^Y_3~NAvgV$}ELtr)a}wlPWGm?!orD zfN{iV2*Z%xv>z@16tNt)xbkTJt9B>pp7sw+MOb{a>&3XK(-)C+kHD^-<#ubA0al!Q zLoL2@Z;5+60kv5?vhuW#cLNwT;_^4^!m{<}ESktD>B_V<*_#$HFqB1BgGvQqm45mAL>~&3-#-(--z7;V|S;!b7ro_64!>S!KbLe~o*BrhGG8 zw&v9^t0XURiq+KdKL0cZ;Sb+w9H!rjW9E+kgoCNVA0JNQKqtG-;6uy>AQLYCG@Spc zd*o9xu3_C$JL%2sZC%ayt@mU4x_ZGFRIeN!bUuHd#lj*|3D+6oQolS}d+U&6Ms)Ds z@h$1Aw1{)Q`{J%~d5ObtFr@f%6d%`e!Y2OcBBSN~;J!e&N92HButh6krWtIRR{fEC z)FRCDVZsZM8$PC)-lxGEuY7$c@Q817_wkhvFSY7xym9w-us8G`>G*6?`eUSjI6$9r z&UiW@2nkPzti-g;%1s;a~VIXCVhpeQ8-3+ zZir0S<6SswZ%%*X?=>(9jg0qG-gl&LW@YJ~$a}i9Sc|8sS4@3VE8Y1`yjI{EQLd|P zOo!=fLj|O&t|ZYTypwWu!F|$3xaRalrBYE$*qzNV)4EWctXCsSs|i#%;XAkaHZ><> zp}#01C~qO=w_aG?hIo+%S+1Z!JkYVjbRElFj7k zkAJ_r_=%gwvZ}}oJC_VRif~AhLAl=T>b}(1zsDVKfW?o$m3Y@cBD#hviRg2szGV{3 zaY~TntGkYo!i|J*cFES-{jXZI;S)ag>ynGW+00~ zuPlVT*WkO#l`wa(lI9@(g}wCG-CgaEu+xK#0!x3;@$gtSJ4LE&9ne84;edzxKtUdC1zh1Ax?deq5zc;z#6@ znPfIyk%k$idGXHUy!@ps4>z(P`N}YyY3RxcuqT+&m;G~ROLj@vcVv2mPyL#gRPoVu z_~0+-LyuxUvnl&q^N)$(0ARHJ6(RZSggyieG~0dD){%MXb3(Wn3@j?>Jt8l44iVQM zd`!w2tftVM`H4_UQMK{lCqfy=Lp1$JJu@;%q8r7HS?kRY6p$+0u#ZG2eYikGN&J}- zp%~`Ke-Nx85z1qh2ql~v-gXp8_x!lO&dYHwlX{z-;qw-6A2*9*X;Iy1YaI(19PnYT<&4en{xmAhsUF1zPk$}1Fp z_9~yBBVhClUfI&@RHkutl%OLyN?J$10iJ0$?Wp@YVm<7?9NGc7J{zic){dV zlKfIV`_n1bm%GB5$!OUt;T+exmpyTcvlH(7ZA{1LDsQqPjtnYN;5OPrX8bfL-%T&_bhPvPXKD2sx z2*NY4+eIfptA|6Y&*PivRaW7=*zEf5(F5vKw9jc2LgXT6$(((nAviRV3Gr%Z$WUrE zdA7n~-40)SvKl|tCSxU5N=S`tF8U?()x4QD}f^Ca4fE84#NuO{VyntXpWHBjL*{LySj_N`4{(s4AGFq+A&qj|@fx7~C@eL7KR zWo@rKZ?m4wdcT3zeczqo>G)?h<=^p9jO92!Wq-v*toMYr^~F3ICbr7AU>-J9l|)AQ zt&N_GSj;SuW(^tr`?4KH6AKL4{%-4)_SKQAGds_n;@9(x8=MTkc`k@w#&ch%@p_)yZct;DZ^vs!4ZQL#^pmy+vWNKRjXkuX zHSzX0hW$%a@YhLpVPIUb`L`8c8L$T&aVR+)B=4O~7rJ4t&c#e^97YM4iv^6@aP9`x z5cBzZZZ{0ln}M}h!Mp)J`nJN`Sq-SZER+}I_EX~=gW7=W-fKg~5F)&tL0`eziN*0T zQU)?gx*^iyD(ZvQ=Qv?|x~Pw;_t}aNUYibs2VTCvnQBvE&|nZ9+eY%7jAE~WIeXs~ zPM!lANSnH(YQh6-nyqePO529sYK&#~^_0wQ=sW1ZHuMgCGs)gI^yQog?5Kw*T9fWG zUb+C=(bWfT>4DU%W+=7V)5CaR>^Is_TK9Cdy&d7RC0G{f;>+h~x4WGWAw8eJr{y}~ z^`UIL_4TxAY^A-!T7MnHFKwdu*#cfjz|#q(RbTFZ>J;zgV?Q~~p`;WzIw)`-1!Q_rRL>D2O8j6v)&F)%xftkG00w?a>K~dP9=MIT-=94tef(~x~ z>dz3V@XmDzW-a|zyMqoj*Eg~m-$yx4M`|wZ%c{74y_{In=>ch8!!KU8$N z={i1{0l%^yp{$3Y#mxMpFy_AGd=uYrg7z2lZ_h0JpXL)xJb#9v8Nv7~Kis#E1y_T! z@ezFy2jK@uJ&=PC5A@$T2=v zNi0m*lk6{(R9?#gHKR9~XN?&XT>DB^9xpKa3O^uPBFM^RLT4J!hxg@K_WmJv57Er6 zC4hR8T9S8#v1J14^h={2e=-+uu>|z?p;#|fqgkJ)dt(LS8 z*J~7_W2a~rrMu1Eh-8r3lb+$HY3thqsyYKUX^|kpQoYVbA4i#VpYD7jQ)!NjUJhq; zNodw^C}>UPyGk-vbUNjHjws#zCu&z(#o-3pW|Ewaj&pb*wyoD2&Zs+)+{9T!5_Z~b1)16=Pw8Fo5Br(x8x!)`sh(5^au-{qou1H8$U}S6vqbv za{WE$l>aUW&iFupDvt)J@??N2K|*uEXS$6W@q8>l>d%G_j?x>J6sEe-M;+L1xmwuL z=9W~r8nVDrLibYl29gKm(4@0kuuM2?gdKB?jg9w}HW&tdrK@aLqEZTP-i}JK#;)NG zYb^bTRLF)N+pQZniXJ&vZG$gLn-ra0>7Pe}*9N4OT{I$K0Ug0vquvxf?1r?j1(PS8buL?+o zN~z1=Ku|$8@uii9MfH3D)>YOdbbl$2^#gfhCNF^zzd!H8KWl?*7nPSms$lLPgoW`7 z1zE*WaKFP}NFYjFcA%=k*A0q(C%XHAwv9%?KLwryKwp3}(EIX^;E&W4tnqgDrO*7v z_JsRx3=3hH;;jL>U>sJNpnQf4^b&|MB%1tkYQQ)1M#iyFJ?0r-z-> z|2Nj>`3KbGzh0j>b|g8>pQrK%uFufc^|@H0r`9L-FV=@|3WVOaG}(a$zXR7}(6(Sb z{$}f;b-ln4!>@dv?;+B*u5IhniJI9LIj>Rq>B!!~!uvbs|24|Oc6s{#U^yP=hx^kb z+sNg&5XGIHtnF?ekn2X;%@bV#b8%X zQ0ZVX0v-^^~A;sB>TN>S7nXMHfM131WJZFVKM1ULP#B%y0pFRcq1AX+T zZSBRMuw^DNcpeD0It+g1wrz=zbt`b-VQ{*wmJWlV0n7TY4g;UQA9x-N z@_hVP&9&{%10>DuK5*Sql}SCHeF94LJ@(9z6i)uz%3#kWQj=n#6I0FUwr>z5a=Ptv z>}H``#adW|8KKNY`2)Le`yo8Ux$qE&_yv89_@jOkzDE2z9-`@I>Vcpc_1=i@zqpd7 zepJDKP-RUcUaSx8HR3J$L>iYijdY5@o28}p}@qnjz6HSdQj$_%~IqYk@IjM(~#zzs; zfta4A|0ZUkV(|!IGX~=mYGCWnu@!;^&x1zT`OE3aelP4%s9QnT~ zneKVP44*NaPXD=!WcRmG3$k^8il|o=kZ}qafXMlF}ylBxb39 zKg&^St1h?bJ$uapAXlle$TZ3QeK3w0jN`95{WXqz^)}u8hc=Fv5A*p*8wR6DUCSU= z&`B_eSNRDu`N_+{AdtrWcsTHkWj>c{5u#BGlRnGtTY|_XudACJV*W`FepZnAl?()m z!9W+#YL3^fVIaoqZc+j?q}3dTC(oCdY`%}a-MhQ!nk<0qex7Rg>`FbUxN?A;3?P}q z{Ksi#*`7|B9^)#r;)nYjPw{H$w@l6)EP+sg{yVh%_*nGym<_hmr?R%+tr0v~*P9Cf zq4f1z8B&hErUx8*N<000R~}mR^T+&0POTk3`+uaLe^cC0s^{Hw(oodrr8d31w^m<7 ztV#(z|lO;j+6q@|64o#k_O0AL=Ya~`N5oJUN1W{XktlgW=v29?15iL-oEfQg^&um|u z8{Tm00>7C^iexux)IB4pYvx{TnUDq8XzNgY;c^#FDPkpkk4VitQ&{Tmt5&D+u`-DY zDS$W!Wgf9eYRg8YqGy&=`wkc1H*ohkziLm5Bp%#6e~TUUrM*f=rFwj$m>JpUnb0SLrfS{~@HkOOoQ>?)p$W z9R_oZ3!+H?(AA`rNctPHzqn?vWB0ef(bUjB=95~!h8KuOP6O#~ox1xB4Y<7X@DbQ% z*pnD8sMMWFvk?TMY&;Cw+{1oetGBXTs?wc9pHVd3TcrntstJ0gLOrX zRW7cL;nc3>5*of{F-qO*-_@Dt?-EC~uu7CYvMb}l z@fBsUgNZc)Td|gh08~moX=-m$AF6++QQS=~)uH^EcNFdXVt5`WR@llaLgRLK_zVgO zKVAR@A}K}6ViSCpUpJHJX5jNt;vwNJ*%f0;ab1IXsBiF}8m0p1aIG&PmEK9Oi%Wa&ccUEvM+YVfN^}#L?E(X?n&k zke1$alPr?fsHauZOX3_jVUpz~h*vSOxVlBELc1YqJes~ZdF7sn{m1uB#`mDNUOp9I zbO%8ySa7vwb7?Sml0LMJzp)m)H?vV|PoY~<+ef5oz9?-6C8zNiD}}u#Un8lSx2&y5 z=JHPMTH3>~ERPBA3uxl2GH)!^TK7|W@ONFX7`*#2vluLL*8neKTGl)#4xPBt*i!0V zMzIz(fw^z-qn*EuzmbrkSYYoToX_o43R#akt%GCaA6b^|6w80tX$olz3dWdty2pYW zz&QB@xok`;9!*{8ud(-*HN=J%TKsy8V5XA&sqUR5IJep-*iue2`paJQxz+r5S08P$ za}$XRT$bQMeo?IT)V)+KRrmnJ2G8IcbV=yAIOhSzWSf4CG1)4FZ(kpnBPC_p>Ou23 zSF1J$TMu{U8+%(g#(EG`qMsk-b^4(xKW+kB3Xw(`S$~6c=11U#?~fMw%fn`b&3-KB2UL0#r9Td}tV=296LR~a-=Vn~4_mq>r)%&@fIdMfL_VzXPa zdT&eWxqi)vw(%m3(uzBc3#gr41_3% ze<7W;377&oRV?T(0~cgD!#JWpq&Ki`LG$2WY$v@(6pcw3hQFIkkn_Ap5ggR3x= zOY@Dv$Wy>nw^!Y=O=-gLBwbswoSQ&_UcV{jVS zw_%N@;hmwMg;L+M*FCjW|OL>QyRI)B_hF7pf2 zXjjZ>+0vc4ATLcTu~0VX$K!=GU*;FC3kv_3!b?=ty`zuTIq`}VbY!sE?EZbJZ}#xE z(I&2x(}T~$FdMECadOF8h=u#tUn)vI#K^w@SmmDk*|$Dl0S-x%+NRHzu%EJ)6fEvt z1{lCf^z5z<^o;evt_A+Z+!k$>EXGQE>I0v~$wd?gvz6jBJi$wp zC*(>0j8gh$Z3SU3R=REY!EIZ1Q~PHVH}~Q12UuyZ+Ng%p#MLk+7nddvmwDf^Pmk9A zO+HJRnshYDzIZFV?ERx7T~?D^GrVj&Cn`zp?o|^Olts?$>3FhhG__jg!d2=mRf;>Y{INPZ2(y$cNE27i-<{?`4+ zRjlWOJMH}L8F?l!OSpn1i=cGVDwrWd*v~}hJwyY!Q>AO$sgf8NoG3rxHZ?d=-1Gt{ zdQk5c)gz%{3d{IksPPHU5kF;_cR7e?(FefsIP{^exO$N=B%J<-cEg-c_y=v`t3!u!dZme#2vBit=+r58iAlI`0Hj-gZNf5oSI9}0u?)r3i zp4g{?5FJx|-KuT8sDH7BLc_8wFNn1o=RcY?X_v2Hn(XxcXZZ?7w&g3ZICi9f0N%z@&^Q4PX9`)QlWSI#cy4)dl$ZOHLu;l=c- z|7M35<KJs9*4yKip1|CXD8T&pR&deQk@_jg!Ba@E2~g;^oo9)EHzXN zTldUFdF#Qd>(=a2wORgoq>?zu-#T-jXT0Y9x<5aDr7r%H=RlXdyQm@hO7CK)^Afj< z%2gS?bGJSvZYB|@ZL#fD(&~&RhB^^68Gm@+&7J9->{7*I1LUw0J)gG-NvRIt7?kxcn=p=_?i1;?L_!`_T-hV5C^?%deaF z*Gd>%?Wd~2JG}=8sa;ykAi5&b@23Coh7TfL)(<_ausG3~&#`jS?<_;bv}X3(HK}FQ zhT&m?{|BO8_J+TU_U4=S#$7}O<~erC<=ZIQ|~@d|(9qcVd| zA?ekN&h3X%MKJJ+_yIsI5)b*?yeENm^|KZ%>`pEQn0#gMk9yu=vb|}hI3OMaYpf$~@ z50eWmlm`JjOyCd&C|R`dm4$hWkL(f88%;iKC|^hvvCO^abCIgcuOJXUOX92A*}<@V zEs2wi1Uznyp;rM}@8`FL+*(oB(KnaiDY?rxZjrLuv?3pAwdvobCTH`TI4k2}Qt_v3 zSR{2xUi?xB*-KmC6|eXj*aS>j;}NPS-tbxA=QMt-_I!h^;-!LFb!rut)YkZIB?$ko zYmDjJ%0M*S*=i<}=2D8NNcxF|0udtGv~a^u^WxVF`k}===-NHyuLk|50o0Y>bYBiT zsg538;=e!G=1ub^<|R(Hs*8ru9=*6*usqTLKhgrTFGGOEo%~-c@@6eEW68eaj##Bl zfXb13l<79aI*7|dTWBL&Eqz`s`RK`FGcZx=WWo%Jk#et5;xwMGX48qXb5@dpoHK;D zrP@q8?e%44HBIr;WqVxm2l>ZdMa@Y1HUg0WE8V)s(y@~0z)>Z)T_43ec0{_z8rvwT z7`okp{3xeNwQuSM54}hJ`+|y&l7ms(pb-s0CnSSOWb)6G=@X>Aagq_BijEjbQ^vU7 zSvPydx4tFJ%m0Zi8+ufu#zxN}R z($c(ZtwXTf*AF%`cwop4kKX#2`&06xC=xjmywmu5y_e`dUO#M_Gx!BeJWH1t;lcYN zBQNka__oml3myo4+yFhO2!eaw0QZ9i0R)?fLUFkES#W0^>@`%2TF>-=>%I}=u-)Be z_Mei27-`Z*1V+!}N2Id0#F=+I+<^`9PrT9%c5rdcnz$+r)|3frUPI@B{LVF?D4nHh zH6~>GkB2lB_9t0v!-|Ry3@!`3WnZw+&j7#{_paZd8GVyjTcIiUfzd};^Bt}jHQ+rV zQ<*hAtIu}9m%a@}4G3#v(H0zgjEz~zuAz{{Oqk{pV4YnEijitMohRJb?44%7$V18q zJwIy4J^2BX@?s;X4#`V48TT41{~An=7e><8m&H9fFt0cH70UoEk(c-0NJ_01#r_*?}nfYKh#TE)t*A_jxs^Oi+^&(|^(u_Ae4gaP{2ncOe&N^Fq9s& zE1XLn!N-1^yv|gQRK82#JL%qhy%{FIR4~1m-|00+YDKk{#ffW$OHcRhVv76s)fyFj zdj`&wwY-p@4mT)EO|SN6_#h*$D@b&!(r9zY)C$yJL)0+CBjpO54S8tqX5rny3oHH0%=336#T2WT)Yr|V5in4Ue%Xv((agCpKDDq@kFSgD zBw4y{tufCiReBc5CsD$K3dysT5sF6gJ>oMt4QA@el}sjnGNgo&5v7A{3FOq;>aIcX zvMM&@X#UGgMrb#42{DvcM+?x*)5bJR!M+-i>EAV|{$iwjHF((7olA8Ux7uWY7cB4j zM@!4HUB?iF?+j^8w5N>Sc}!1Gn^u){Pl2rAX*<=O#zF(&fKFUdYUAFXrL-OHP@3+) zpd@Fw@l8(CYdpp(IrQfJ4fq(nspM4@v$g6SNtwDsZ|YPhM{lnDr=3z|I->dm+MLMq zM_8}`VHKyu0)w)#%0IQhbKZK|=wL5}J`@!t`p}(_(NMeDa1R>HgeU^(0fV-~pDZ<# zQrXKuzL#k@+Sp|x0RthHnawul+A{K)4a#%Z4Mb<$up(qS(HuY5O5WDkYy$EI0R#8k zV|w_s?PYxvS<}*swgum3vr__epZ5o0Eo@aOks)FwiDQh^*IGqgCl+wVVF)@Hotih@ z&ZpJSXwjsnzO2kotQ6v-X3%(}jV=Z4t_qqD?v6-qbdYZhg}ucr(_2 zL#>m8T9aDe__eCr)#?@08sA!`YfvlfzmYnmky~n$S93!tW+=PbhQctu%RTitq_%17 zZhNvJR5wl9lY2V+5W3!*E7^;Z&-lf9|P2Pr+mvK;lkM?ydcHEZyZ!%X6PX zK=!^6nrc<^_tfhUh-9J?BB@rWqyx;J?^*#=~L@z)Lf8qk$YCXl* z9Bw*|59>*uaRXAXYol=|`KJ3LSEw&UU5UFHMhI*`yQLx~t=$9GPBXsD%r6oLl<=;z z?i*Qf2s?_FMUpKDd}eZ_aO!QSx8IDX`$sv`h3)%}J1s-Nr%?Xj`-ir` zHokWL0v`V^^ zZu~@>O|05dAYr4|)nYV#*H}I%X7bNtw69=F*lovsFSQnu^LlCn{Dl3#Y)9a&2?}_N)zqHx`ai7Z*>8q~1jtqy{yLbFJfG6n|$qxIPRzE%H093py=s?et44_C1}p z>Q{pJj>gz?s9#3kW?i=oFF7z#!$8*vGIypA(^G<6LAGwFgL88)Z}`HkuAp)9S%2|dcnKW zu;XH=!zQVmCz~cTsiIybpWLxi0wJu4;n)R@sG}dIZ>HZ&IQ50s)0(*+CDoO^iWi6T z2_uvq{A@nTHa|vVM5ht*YN`9LVD!db-9(Xo>w{n$&F%`MD9Ol}ZsDS8v&d;6I8q3zAQ8z|XwZHO^MFhz zF4v#~4+ z$JmY1lFrW@88O=wPB9!;kufg&p;P79L{yG-G$ssN*3^=T1*tTeZY#(}c`7f8yrX!*QV|r3%B~`Ei@PgK#{gbxwbm9D z>$Tq6`U6o2AOy84ASyx?@9elD;DxJ@|L1#VcC(@O|NH%)=g;%7nK^Uj%(=YhJ@5S` zPxK}p22{Y{8oP8&YJ6ptj3x$Si+dHV%%0$h%K$6nw&+vL` ze7$++y578lwet7B(J??tdwOkXk~s+8Rp!h{aDy~i~*`FTm>x&@_o zhgs3cowfQKBpZ$6Izljc6#)5xcxK#%vC^!SzD*5~Mn&6H621I9C69=1N!Oaiw9=2> z3<+tXL76#BRxtC)8v>M32pd%-KXPCeg!vclKE>|2+3vm>1A&2cPT9a35(#0i`r$S* z67hMVYkfMgf8n!_3H}P7P8?VK+39>X;p($UDDZn33g3u*kI5k*hnuz!{I(`ZvY^kv z#x2-@dFNLV1ixxxHv|sLt4(x&mm<^`9rQP(QDN*XRb6SKjA*9@sTj|lfMo^m+&0A*8sb$}Rqe*?T&2|qU2T<0=6^ooFSv8!j@T`De|GW*m5?O*w(Z!X%L|MH}KD*3I35Ln}v~m zlFV7`=6;xQOHn5eK-C3Ba`)06b!P^3!J(>qb5IvLUUl#8P&YY}Hiz`XX+%z zwSPBh+o@aykwe-NC+mAb8xrCc)v2Wp6GfdLwbwbSs7~U2cgfJgg0|a(_1sWY3TF-O zHdIl8-zB_T@p>wf2g`sNTd+pq`uvy0As-cRc|4Ts+Q~Zpu}G6#8IZXNh~cWZ`ujqf&Dy@9>P%aG zxXL{%VDPv3?AE;gts{I@{a@f~4)6b8;fv{EOswTzO6b)9k8wT<;nR^gu5id_7%yFD z-TXdsK0<3d&4a6A-Itg-v0JLR`G`Uuj9pd3&HMb{J;M6t8w%c};F~oR zu>9Zb7-6jGRol5)XWb$Js=;I*34*Z|OI*$`X>V_**I)Oy#$e`0{_@n~ z8r_WDG@`#X`b&Ps>>AN%ZQL*-YK`4m#r?)zT#nhQpEjO+^Bv#(if_H6PVAs~6%zlk zTlHo7w{e{Y&k)0=xf!_0j=auz7xMO)7OE^!+ncKNnHGI;nSPe5?U(fPiXN}5(d9~> ztXi)7uWEF;g3FC-tXr-T+U^*?OoJE>R4yzh$@CQ64V}U(qyMe`jGd)VRI&$_366x%_2&H1v<5X;$^x3D%2|Tw~ID5@*ZmnpagB0 z70rXyDhkJbtp$Bw_19Tb{~|VJ;b#@Rkc*Wrjm~@Lgj3#?jE;)$@v||f^iHa7%&EAXii`6Vrwg+Z zrB>Hd|y@T00&&sV7XCT+|6H<@H>l4|_i`%<5d`5&)5*7N09_qS7@ z!S%U-iPL;tX>8Qn@r~K*oSv`5+?99`V`#W9rs{{pdal7?-Wj#%H3%2G;^V~!oTx1i z3v`pnx6|v%_}7kaZm8n>`eI@__*Eaxf9D9k6K}q-)ETu{-?4ixb6k$Og%~OBYcKQ< zae6L`aX^l0+4DR97$1IT#7sd!nX%?EKv@Omu(j9*CIy56{CyQd)*kRAI1;erAqZ&6 z1CIbl%lL19Z`i~FJ*mWR;W`q@vT2LvH&`)IBCk47u{X!R-8qrCDy}VKn0UYan7n9Uygo#zgx@WqZS2IwUEi- zy_jD0!`XT{&J6zNZ2j@ZV7B}#cc61==Wht?x=V^JIdq+01IQq8T@6r`gL#QPZQUvr zb4W#Xk@e4tS)4cT3l^IPlJSS!z&i|J5;FZ3#!ZGhOi646Zn#{!a<`(OVxQDf2= ztIo>g`?<#o_+iTSeG-3iUr`{m#e2o9{vYr0J?%d@?Q_qTM>X`t7nP!t+Ub9|GZWIG z(W^C4j|nqv?x|eTT5gJT*}wD)IP3oIr^#b;LyO@TG9D?+T?+@4xD}%ToVKoyaV^Q( z36A?NS#P#E-UVQ$YqMbx+GH=Uq8}BB7%x|xi>Te!_4?qQB!MuNKvwTM$jS_7qg>b+ z1Upe)HP6X9-i^q6Eo4Yp#~oMcv_=g_l6$g8Hm8UA!Z_oxXwu~~-?`WSNy00f5$!;d}yxzJfcE04^_X?UDM<#@A6aFcFBJ=XN@wR)CQnp5ROhn0ldYj#Sx!Ox8 z{)l~#y>)x;uLbzobH6xBmaB$ue8{*2Y&(VP+&zW*B-0htyPaf}vzLDgt3;RVh1*V{ zEcb=^oZE>$PTiN%m}WM+W7@%Yip!nQT9h8p0%jp0QO$YprFF zR;9JnY>=QF7fz{(VTu{0gTxYf>kTxGVPh!y8^s-FQ}4YdF`F@q4^-aigJ~x29$TB+ z3vYJ!SBO3^G74KoNM*Pw8bl!9#WXlCY_JU|qQP6k1_|Hh!oEvF5F&ir>v78OWN^O$ zU!&ASdFdEiqk{VygNxw0&Vcl9it_?%qkofQmi+++Z0?b{r#UVFdNZ_8-?Q34Z+`w> z33{>D9>c=qOp9KcNCs&n)V`TDeB;wMsD=D|D$9x#KJIQV>;W_X zq;FH?U&qVY^+CCn`Hh;A{#1>}-0r!D{WDEb-%r*68<$n%=kv!v%Ikl~>ynS$z1Zw7{YV&8z+kRiL> zd?x9xmRq;>GVItxE4ALx}I(4pc(%m5WTDYf5>YAO!&8V{%nnn`q~s+Expf+}UE zEt!a_N=;Y=lA|R#oX6!no-kgI>Wd%QJgP8nO6;h|4aJX1jHsMkbkang@=hOSr&^hZ zmc(aawfFP;jf!^aD#>b)pR(CZRR3apvI4A7bg#2H@A~da%5_|6;sQ)M{`#@RZkYN1C; zv`EZwT2o`E7DyI|bnr(0Y?&I0`C7*ckmdwc!T4sqLK&}>K2KGrgjL@%Rc8cMUrtPF zZ&BHH3oRy1wWjdniSx0>3_q-*Elpu-167Ss0iH?JsujT}GT+6w>1d(B+Ms4`Rmb`F zo>#LFjDhlW+~Ia9-e1Aj`)k~Zn5JF05gh{Xe=(Ti{XjnXwd1aKx^Kd8<h-D`W#4>9&^Z3(0h zdzWSp{{?ki(*PD?td^hPM+X4O=r7Zbcemxf&OWTBsFr)jf8o0Cx5r~$74u4|XC(Sg zN(!Q^B#PN7Em#olWeWLK=`%)ZvZASC`jl|fPUVrNj!oP1q-fu=q}(7jD;@Y48L={E zn{55zDA2*T;v{A|-n?K5nctaAbk@U79;dQ8$LJSepqTm0Rdk2!U`EYgWkzrp_dJ1{ zPJ+y_%!w1I8+3SQHmUQGx2?<@swj7@x4A$ek$)q7m--p15Uk8JHPn1TWjykAa5Jw6j$v#f zi#FrDyj>$JG=sKng`07Jd-rSqVj<=NKb}{tJOFoE8H;R5LV&c7cvJ3o9qG~brRWu% zD?*ahSk1>-4byRdB&~PAC#&gga%8@zne!M_u5;1%U#cr8%S|Y&j^D%G_}|6&#(YFp z`Wa<=ibaOik<#=U^i?8(z<+UX#t<`KPy{DZ4uvaz$eJ!br$1JMk!W?YOAHbX6Ui#$ zARB}pT9X((FhWRxP|Ao4xYM_yXM-w7_RFO&gc6o5xhgo1dsX=6)GWMi=xu z)hdb3A9vmfCBgcjX?hPxJryNU!#H6}yj0&I=Z&HJf5PBmJvYVO&k>8XI^EZZ>54@@ z#%tkx40@A`oaS40PADyLT4hBV5O!80j!qzgF+W=Z4g?f*NgLcgXFnI=z*5drFvtw(+;sO ziPr-ARnjxrDFQ7{KSo^-s5ujhCb4&R8vV#E_>Tq_ZZ{3wYLt6qlnxvC{OXPkU=2h` zZf>wXqQ?#HXIiGJs~kU-C5bA-hX;q6Nn3GLNmV&^^!l|j-_U^9rSCdfaO{LU%e?H) zn8J|VuH7jMWena^CIf_bIp!RnOd27&J3F18Yv%t>1DM*CCeEO^CMyF!75^zH?v&_F zaa~sAhl(>naarPs=!>BGk^$a?4b@rYJJHiC%+n?K(0q~n)NV3|kH%m|U<^p+O*`YE zk{74Rxd@}vIgdYP{wc2E^mU-L?(49oNA0k&jO9mK(^{HZUuI<@v}=2PV$Fj@fK~Ec z{8Y-srNrDW=juh_!cC)rw&t@51$Pp@K%Jb{Q%%j7`)17Tc09G5)=q|VRprH02DX5Z zK6dkIWqUMB%=z7z@tbDvp{CP(VST=eG1yEm zB3-5?!Lt5kr<=*M9|5`0`Y|J9lC=w4JP+H@h^y(%Sl~L zE6V(i-MD}zHBq)xN9wZaCKC`a`FLUe6?cuGfQfsG8}@tAYDmuqiJ|lL)!)!!kx3)@ zR8yNio^O6)(EN$U`bNzj8(0!$(}#zVbr+$>HB-==N!ENnpt}$kAt*a$VK7q0hFuHK zaxWI2H~N0w3a5C!PPdzaZ(Hd_YLJ#bY$?o{F=N*}?h4{z!>^`#msr1Vv7T$mImPXV zGnaU}FsDDl!h|{f%Y4l!h&rDBg4M%-VAw)MaZxJR+$=gt0oU3U5}ge|=Hi69a6Ry(j<1N{$N0n^Zl(E#DYs%SaqQz-!!4 zG?3(SB*xtLeNYU1Rd*BBXG6Av4egJIl+{AoL4%NwR=QWY2+hIZaA+!F-M=4-AwHVvYw6FTd02qh!1bCms-Iik&`(wIuhZKmFYO?v$n~ z4$+wwOOQj;D*8M$FG4u-7UVMz;*r;Y6DxD8K}vo9wLtRb&-j&JS#lo-GdnVgD!?u{ zDh#m`#uO0I>Gl1idE+1ahT%%qUZr)q94x)D=LX}Bm-~AGKH?-qq?h2f>ou*-L!d9; zx2DUuePEx%)(mLg?>#}Jl|G-x$ahg%Ew!e9#M$XYF4~7pdP-1^f`sx{R8DKj4gS%T zb6zn`Sa)1cxo^|v%(yrDO+@U!dee#QN;C#yA$HCikkS~YyoxE?u0)SmbF@<&N!9c@ zVR4m;e<+UwQ+z+g1HE4@rZo9^cF9NqB;r1tHjZVi%)w`GGkSN?{4+p?7+Rh_P~@fj z48OY);FQ5hW{IvOFLm2`Zjg`RpEUW%C% zr0sywlXt@=89o`q8gFvec2C9u9X$hS4qE$VwPpkvo}U;*G~(u2+(lE{ds;K({jdE2 z@!j7w<<@j11jZgR-h5FlbF&j%t|&1Oksre;ayN_TfsxJ_)x@RPSU4qqqbh-QQ>IYm zB2`I|U^_)Ds#8@%_DG2bj5W_sc)~{JNnPQ|G(AavmOsxKS0%}J3@;(h7v;)JY)iB9Up zN4P49x~3#~NN`ey3FwOHrObxOAN$=#75p`r)KO!J+#F0Qb2>R0OlLHl&Kb|J*6MMv zzd7VX>!YZ5pZR*O=#?E@6!y2_UJNuT>m#{LY#libxNCMpeBH(I{Iv&DK)P} z)7co#L8cQAjBsac-J}z2?_@D((vGKfycwXH&4r*L04(G1mRc%KNCz-^%bSNb2oYs& zrJh0*J6@R0uk4fMuQczb#%phahAHbvCt9M6j+&0Xuuy!wE%wPZaYH` z0REdikUzP^${e6_f;K0qFW#TL3t9F*q5`P)v$JuRe61lG@VcevnF*P(k&3w{7V_b1 z2vu&@(IAD(Xjwp$jnH#=WjEbjeI^rsOkJw-cl?*c$*?W7}|KBKCWzjnOG>P&YwNUe>-r9!i{ zy@kX0Z?)eGVzy#?gd#ih^2EIk4tQ0i$vZ@7Wgfg7;-A(* z0Dd8Bo_k!rMONlgKIhA#bHvP09G^V>+_MAqzBwkwu&Fm@r}UDVe@Lk2e~)ivU;8;l zW~}RazC83|2~(E(<7S~$F4#LxZGb?v;c1QLHf$dilQ(s6{z1-d$0uR@t-vSCFt?Y0 zS#awRNqD;`vi&ejwJa$XQ2!j$=dcT)A1Oln&@}t@;-f7;i z0V|=hKDSLl6pjtTGzIm8Of zFuBMonf>z507Ou^Ny;7f4v%}2$iILDD?^N&!@<0?Wq1{(Q8$Xk?1?=MuWy2f{Z5Y! z6=THXDCb~z9nW~dX1fFxtxP(o1-+>uLZ#J-DGqC`uQ$zMBoNes&P|H;PE(P{T{vYlGT>e`n?^ z^NK>LypdeqzJHky3>%pX!s;GQMA+eMzdTcZsad=Wg2g*a5cZ|v=M$%Sf7ALk5;i#6 z^UG+{XIeu7{9I4ay)rZwk|#yo$F+oU_wkupNl1Oiy;lzcjDIrkn_YDbIHidGG3pYn zWHvb60tqJ8)gipnUwGg=(cFC@+JMzLn2OtCAYF zwkI{b;yxq7aa^2y)8lE)X`Wb>{cr(Jv>ZVjxTMZNq~S(!Vb za5Y_)`#Y}8lvy+6mmb1Ak*m1z{u#_0DdT%?jy8Q5%-cZ@I@_{npJz2;#NVKz)3iu8 zPM-^LL+DLG+`H0jg3L})ky1sYeyT(b=|9KymW;GwHCEu6J%py{O-y`Z&}f9v5FWNN@~+SRRZ%8H z_u~3}j-&*LB|1H%uLQ9$GB?tXBGyH?;#lgDIIqz15md3ge~K=%-TPF$bt##AAsVJp zL{1=~c5AxmU({qIShz(ytvqo)NDa;^hDBcb67%q!HiXB?G@t znhR#8|FEwDc_R3>IBI;y`JF!nS)x|x@6i1^1jV&j3_YLNs5N^}6HkmQRI4(*nL~pk z!^AT9H|P$ICHv5Wn%v`|atVKMkeOV=%D~7N;QWWsVt$F{1YL}IFKSk;%qn_nRAx_J z`roF!E5Mzf@)^wrN`$dA^)E_3M4orU98CX$XQX&%!lwiiex<|`YbOnl^&$IBR1?ox z-G{t4z0AZ9 zgb^3cQyV7?0@Apqa_)D~HxKDG75b7@3smmLHVB#$u|gx-8M$AcP-{)^#7Bs6fn+@| zU7kWjWIkfTgQMDudH-Y9yMz6lQ}9&_{8zGlXguznQO6?IAjqmQn%1xBLa0ox5F~kj z(Ag*AEi>8N|4)rRgz!4kkNY@spUls7p%Qssnb_k_gai5`?&99e5;OXhiOU`MdK0!C z;w>nAIWgG5)FnNKnvQpy3i(o^kFA;y>bpVBfJ#(NnQ`0RGeONQxGqMP;#ccE7ZyN8 z8Q*DAQ(XkfHoRD#njdPQH}$&SdhY;w4N2F9$<{d1*^5D$?zWKL*ND=`@hrSYZWRE2 zFPe5Dr(w6_)8Rm8dRT2@%ph;V+74@CV#hh!}%C)9*jp_!s@i zJwH?Xua4z~B#hP8gdu;}e?odCroF`J0`MAy{pc*D0UV~$wrc=u&;Z_o199%f?`h)2 z_sp;|C-F|WL;V~1vN_UH<+Y^+q1P=dX=WbtdPbQvgw zGU&eApsX%BhjruB@)@-xRz!q@z9qV6SZ`uK1#IJz!vZvuu zpFb@3HcK}MKKK49)MEo!=~YZ9>dH4RgRh+wB&$t5go*DYGH?BiXKII}Y1nP8BCE(F zRBQCQT}BNS*CZkj(slJG22X!?a1HWEkQrhE@_(XdpB*1yF@DQmnG#%fuW~6pAC};>i4r4e`*I}y)qh=;ap}z)HS8n zbV+uQ>JdYzmhS9Ej@Lx(cB!6;w?3zzwHs9bU*&m;N-0L{A#73zP%9%jA+lQ-M-)VT>zAF+I>_D#u5Vl18KjHnUwVS^En%*A)oPw7&0iJ@8Sp$C8!svy|-!*1ie@u zD&50!e~>7Xfd2?5Kw)T*WF}?PxoP>IN?JhK(>@cLCmw^SfDI?rhu69z@f#4YV<}{ixi!{lH#5l;%w3G zUl4~0nZR;dH&!16q$d0lO6v(ZNza3T;s&@fUmBcphKzIo<-o;twb`djO54oBx4*S0 zzkf42lC&~T(OVCMZ$KHnRk_ueL5?4 zp|K;WlgL!$pAQEz*>2n+Zg9J8`YQrH1XH05yDPZHoKKSfV-;Qa+;=n`Yred+?Jfbe z!7nlQQ!^F(h~~zOY2G>04nja^k{sw*`KKvtoK~e&rQ|kM!iHO%1Cyx25^lAD!Pf$R%$d?KkB zlVN2e74bsO{e;G5RXgt2K}H3{ik}A=6{u4~9S;2b0gxnaCYtL_ILe<5qQqJV7dn4` zC=kh~K~LBcc9wkFafx@;8mOtfZlBB!r9kaW*`I+m1ZAWQ!QPKL#rxMA zSG{#zZ1_fFj2H8cTD9$Tdc8ios+(`HN)Uc1oAHc<2NR-sR6zVj{}zSb0B@V}SyNolhoXIQN^*`zs?)v^Jz}>MBX7vyX^1D9Mha3M( zx{NgY4HvTCB#CHlgs)pIth5y?x;NVVgMg9Z@d*FqWvc*Kul-EF{vyO9b}Rjb!9DA; zcODk@V)I#h;GSDdw}!x_tW{8#o!}j%tHUfonB3&NMDcGu^|eEY! zEo2h8oAe^YzW9>#A~2#CQ%D&*2B`jsY#@jOU&TR}9rLP{IYl!m@w$=4HhQD)CRpMt zI093VIAm|xY%M$Tnw9yXDmD)!1jF{W#2Ma2cUNL?fU`dJUX^fGpOXQuLCx-(+)s#; zI*kn@PYkx{n{oF&ZPQrfb1U0Jh8n%bnGAR#zQ7C^!|uPD!r#n9PT8uQCQj$?;_jybjvzk8 zR36Le(MtC*6=O5O5uXW1#5%vuwl%mW@`07PL=~F{1S5u_oymy5aTb0;z4h#9HKkQM{rJvc5XptQS+z0c9*O1;$0y%6!C)zY~N|G(Px^QrZ&Y zDQ)kcZlAp+-@okF>fgtM@+hq?=-ZLi`-LH{iN6i`~lL*|vIc|}^H)ARkCtpb9t zY-y5NJsUV;`e%>{cI`a%=ShO#e&j3IIjHTMbRM-mdkUxxV+r!dtc^4{9tP88yE{_Z1v3#pAp3T24B|Oo0?2<8ccG(zE z*AfESe7Y@Qj~lGCiT*YR{|Nn?Y)6(@Q$N*!nv*i;-}D_v-0h1(@gku_r&Bauz2mA;kgN-hI(SeJcie;HccS}S4QmL=%u7IPtW zq0HcgZ?`OI2(xs?+~Jjp7}{Aw7|EG^#deNrXrm)(F^c-#AuA`j!O_ll9ew`*fbneD zz+RVe31HK}DshzqYIUAVK%+{Ihs|*<t?=YrBGmygB2*0AtsTmg!)A^T2pL54|q$B94S!;I|kU zx4T_hD6(c4%F_U2AF3Bt^_TnY0gNaq3c&aZ*LwmZA_cR8MW!H`bpw$xnrKR7UllC& z_<#+-;4BT71D|V7-P&g;5R9f*lK~Z#!#LpK{o~ z#;9OTyk7gzZ{Uy}R?&7J!e7vx^4`YXBiMc$RO0@+(pLrvuh*c58%soWP2oFOF->Un zdU$^mY;H(ill`z;0GlId>1s+5DP8zSf#q+wF+KCT#<`3)+hyqXN*s4!rAe77lzZt@91hC@arfdQ zjY<5+dz|;7cLgQ{c`XK3mGd2qqu1cHL+tg!79!vve96>5=wWK9+JB=-(6xf!{4TnN zhhCRE?q(PDa``RZMVs9&<0+a<^t6`h#7Gluie$+(S3W?se$@t%wDt>x&(e+pFZD$d zy3EP6&3XR{JFze+H$iG4zwi1_3JE&}Bn^dDIuu6aK}sCF%(OoOqaxsKHsI8fND|NQ z+D7lFhQ|d;pCm8O-gRgIN<+bnKcTd>qK047qvio+q7f|z(sX+#yHA%LkKsZxeH)AE z^;-G|V5iqh{8}>}P)XlARnqr%Q*sw2trc%mU;pf8Qu;}vauuM>yi^7Q55B_5XX*sw z9?9g6+-AEudj)ckot#vs+GZPJADRue5|6#E3jkW%9V`U#4_$iKf(fn(Fnr$!D2ch3 zRvLLGwgNR|*3-L^ZDKhv94>J3{r_n|!p1%>`uglMp4tU9frUx4<8+cR-Zt*3hJ^#rR_ z)@$qI{7EehGS}~ONXYmt#^=IV(g-#%sSH^@!=Vf&I{)FcPvEri`n(}#24+(g`wkey zG_;lpB^940J?TQxX~J&4UE2}7%f6k;rQ|gXn{gsD?2@F!ah*#4Kz+pPb}l`n-_2u# zK8~o)_Yo?ORct>3`h{IJM}dE_rl5noGM_Cl<{fP`1qaeE2ggtVHJ^4nlk1NhpMd?y zU!i%+{26c+uamw_7bwEm7Mt@K%hM0?ro)?AY?o^{1?&19S+X1~^r(2e zk`f^7Q0xybn4*$NKa08F7SZ>-hz|xbzD#%8lB@&KQPK~(=nbxO3iwZw{46q+x9u{* zZKf76Gaqe>MOIos!<{y;)k?K|5& z6%(5RQ5tiO#Br~y%+0{h-}8^CzL$O|{> zf*5(W`)#tTEO!LtNn%rQ__?bu#8IX_L#0Sbe6q6Et$)>9)>FH(D`9+?)Wq9R+#Hq! z8yi}kcp0)DDR0Z9mO;(?Eztt^>`1?W1FCJeXOLN)V0ot?{;G+&#B3!eI|`Rh%CmlU z-F##WOd`IyK`~Y-aql2fOB}SBjY`E%$iS8+bLbzH2I6HqvN1W^mqYFz=c#e(fdI${ zER(KrZ>X#=$ zfWt+Z{P5eEE@CO2iSI{^gWaISj?e@(8r!*Kgx9#Xm!Yw$!;;^-xL*0_DJcht>Jx_= zX93z4J=)bE(9b+({Q|(vT&T4QehYXZl`X%UxKH)hD8wJbi$IPJ`TY ztV*JkdPDi9$#`Ej$i2v_N*uaClZn~e&T5BG#NGWMa9VLt*qHoWtK5OU1TsW|C~K-B zjqD8l>Jo8csnD4%Q3drZiCNBPM1ZobGl)#K3gM7r#lNuo8b#Hei>TIM{ds9a`YS8F zj0jeC#J4gFbU_RPn+O93%zuX6wqWZS!%MPH4)_9hKJ64^Zy6X_wJTvwx*g?)M+y7? zi#oPBUAu`91Pa&82DGe|+_r034Jt&{YE4V^(*d|vl`*=vW;{)wIsJ@5y*Y2x4)D(D zXS8mW&<_&)J+oNJwW^vhi(2ntcJyx@`nSP32p-l;=0>~Mr6j^^$IR= zM`Aq;y9g3Emy)8SL7M=Sndy6z9;r=5Rmw>NlE*$d|xvtA-;col~~ zfI=`^ihh5;+~EcKu<$LoTsiEf_d$4vnNuaM#r#9vp7=L)1jBH+XdGX6jK=6ZH0(R- z?>Q5;{0TZhp54=HNEn#1R@Wcz2OYQ45A`RbVCsWm%yvz5%C=#M za8;N_XE(1xU;T3f_lhKY+fdrQg&Sfbb3UD))G2!{zkZB4D3;%&=U4b~r*-cD3H5sQ ze#rHV{BGjj7!cAf_L%a4qBjlY8HjVe<8XautVP_UgNh$pV{`Z~z2VQPhnf zFu+oEg@6s!aqmb&)<`>q>bj0*2i1rUw=(-9D&cg#qb*KV8Q(M?OJYegi%#mdRWN)v z);SA5C8jEd15G9&8u}*N?RuHsa3NdHtG1^9iH7wQ8pE3L2i|s?&q>zJr=V@bsqP8q z+oiAAO*d9uvmdc`)9X~(8;@!y@bV7y;g6fX89SzBy3`_A&k<3PI2aB6-R1pV0&cdi zLUOcOfe76<{#o8V#jB834s48pqHS;b%Mlm$Pp`Dxl}wCj{L7tsmAfrEOT^piutHqVzU)oR_N&Eq#jy2~6#={AszwQ~6EGRqe`xdedDKE>I=xdfR)0gHriR2Z!+bA)zo42!_j74bT z5P-A(1EZ=)KD`6HtTn+LY?XePx zql`6K;Oal$}$OyWe<95T}ZY z+Z$er1LTMl0P>4!v7J~KqO-)YqGYq8gExi5Bq|B2I4+YMtIfvn^eqs_Cg_JqX&lCl zJ!RqyOf+!wAai4^?Ahf)0Fj?2E935QrYsIz*Xix55=c3@;AUnTB!RY25n%Ml@bkK; zrvNGg?@d0nprK zWp3a@*#p&L8i6{oGW*yWT&H;^=(dXd_;YHAANL zfW^~wr?!?)r6&+}ulS!*N463#tPTv|{-H1JfpLUxz&mmgC4|552rGeHXYfv;5Sa*G z)lx0w0yCv!)o#TLk69KrA(}&Xs>R()s)bkz2xXZy{Q~tmk3!Bd{n;{tzMX+hm!MbO zJB>Q+kn+92;a|g8Oz4KziudmgWE$D~<{_rz1c5)U%X1$j2-egZEdLPi_{SmCk52ih z!D&9tq&Us{7K6!!PycGZt!-xY}pBX3$$|D^iOa9>{Ehp*Oo{V2c80x^_v z#^9mX>nh~ZUf;_kozAO%mX=0#yS>h$$eOWSXI5xceO_q+__lTC- zUAUzcUiBo zN=M~hz(V)9m`nI9nBOQ1-5W{CKuR2!@I@eEdO**k2J`T@M%$6l2@q^iNz4(GM0*Ey znp*Uie}N!rnc+V~)K5DrqM_lc)VFE0W+}xlQv^?oS&DfU4twR-dk#C@nQ#0D{2)2? zC20%g^_q%&PlJ$^Oo`NCQKn-QI;3`WSP7qNSBLT3tGL)GvZ7)N&f?PX&H{?g++@2y z11~kG#J#GLEQ>`S*<(7wset9ywCp(@zWf)8={Mwv7tCk`;X?`B&U|SP|Bk;L1h@S@ z5Z6u$Y*Ig}FfvgIEAwm-x+61PrBwrDp}ZHF9a+<80j#>C%g5lPYj_ znAF$nRmn}H*KS1ER`b)pWc)@xiV#$$xRu!+$~E)p1~UxeZo zPx!z4wMSFw+FA6yG*vO`6($&|)Z4veA~{{9foJkvv=&8=o9c0zs`PimXMxQ!^zOv^ zS-YgeQ#yl~_ctw*6BZ`>#P=xp*`5W5>`{=|*lw@!;xsKe8JnRa6=Eax;y4vVt>3qD zEgGf-vvEF)6MAr$`IZV&DsQa#7R-`SeH}Cz_e3}uF)MpP49C2QkXmg)w>MD5aW~)% ziS&sIY9Z_sW%+uEb$qdgN6dCV@X$uC_^K(fG9Q|96Bf-JRV&o9X~)nryL25$I0)!y zd#9MEe^+hUw`T4&?-@6Jl6T7SjNR9tKjCLG(mOC5+byq+wh;mIu-Y)f8eTk1Nfcu>H{n|?xIPjN74Hsv45HQi*7l!nnjz>Wt_xEPU&hzdly=J zoFb={pKxK*Q@9dcN1&3rcw}dC?tem*m3Ha2{}4X`em62Z*GD%+zMCLtEnsIM{WK%_G~~ zZu?THzx$+~B|4+@wx+M|$=Q%AZQp_2*1t5c#JJEDT1!=|q)ce}lzO=-7}Tpk1Jh3l zrYHN$)Lz&G|BYI?XWKVSSK7uQRM-!hM)LTWmjsdR7Q#y$VwOXlf7^s_N$;p4x!$TT{Bv z_dnpZv#&l%AT`efxHY3xz>e$>A2)?V)Fu+U88)w)fd@m!3x@rx9CIcd5s{SJzygMn zjCqfbq^1$cOrfcKCybkrlgBaC`C<~L=t3bZUvDqt;-SH*^oCKA=ygHEZgtFPbg8yfxX#Z ztNgK)0W4{?g?$N}SUxBO$DavRFu&!l`%1D4H-{ng78`=tN*|)JqYw&s45O^Rv^q>e zu`c`3SMU$eqsQ9aR~zbJY4-TPh9-86p?J!0CwS{9Ux&5DFs!r@=rCuGHD zGa*)buBsF!g%Tjl^d%L0J7-9t11&mfkb6OI4!Z zQ_btJf{Gg^zIlB%imb-e!4z2$P5qynJ|=3b7yM5Ur)%Q_+uCwd{DG9`;ZJ--KE7hR zjnEV;eYrj$>&VC(iF0gkZXVYV80J!F;6!mW-)`F3GU~yS#OjXr2J>r%&ju(q zW>eQ7Bo3tw$Etpx{u~nZvF1UL>-{J|s~U45%IownRk7$=eM?zv*gm+$g!y2L{gGIC zgh=0Nm$_RBWs&{Md5ZE7B_iOolfZr^9x0hAg#fetm`lEIrE7SCR1ZI{?x&!b zA_*ZIqJ(^81b~F_EssaOjJq4-)}Y-c4Q-n>eF^wsfS35RI&iN@uU@hRpk!KCUd7IK za6Izqq+iD)pG~?LTjp|H1;p*?68|*W8_7|$6C`;#9a>UJhZalZSj2z%Yi`gTd!mD z|Dm5H|I=^tJ16%hP7<^LqqV4iW~JG=(RtcajtPs+q47+<#-A4D{v9NZTF>Wd3!lr) z;I=>V$w5H2_$i-S1H$Q3v34YW%BR*?GX|-WPCbGU5~q^59v{$#iXVC zeXzvR(`yk*Tp_Zz06xOP0-v1)@KFH8!zoql)O>k*EHA|(R};2#1zi~AB{o#E%vPq1 zNt;87&{+|9?74o9H#5N8I0#87f=?Z07cCG{yc_FtVKtT*B$-5Vp!>*$HAa61Tq@N) z&#^J#IlwtQxUWxin7vyVXt-1VbHr$hXI zW>l^3*nPF=n$e8tA3N3KB!rB7emHfF&c*g_2^OR!F(lyO{GHS+;GKvJHgMtUfpbY!8!S$r&;X!mB@>axU#|Dp~ z`3JejuFG2zt@qERPM&|(auS2=1d8O*XQjKdPKbRoFB?04f;clSFX0`Ocd%orGV&Jo z8a)h7L!Y^2i0$Ng>&TH%-oUg4l3U3Y-h>{WiN=>V*7^Og8O7GgbWz3Ts7VfOrSDOr zF%L0e*yzhn;Ld9r{g4qUF*qhS#sDELUlLps0(#t%;{Zae}*W!dcq5D^Dg2zD z`4X*coxr8<@IiTpv?Dr;Ve0aHHyv^G;bc?c#=-E)nCF>p=tP@F3n<<0FxA-dkE&Yg zCgm&p1D9qa$Q_ihv6f3T^frGPKY4uLvn@M!1!bpF<}?A&#wIZH3&v|)sYq|=|5V@7 zp2IO(4lc+?v;IE1*!r%K0%B5+S1_;mvyTQr?!#w&pC93?kiS(@K)fiws6k+(Pl%2- z`aj|$LXuVWY?(V4@5AR`5+m9=G{6X(H59WYg?tYO5VND<$2gGx~XQwTrAm@L284nJprV>*x?O{6A`l7p{?lNY;8MH8=Wf!=^&3dZ+d_M=`t?JgBtOZ zeqP>Y1hs3ln+=gHZyMl{aNDAk{e@=d7wOxw^WJEm3b|deJHBr!MzF9<#iYL=-{qrd z;jn4NBDOlwj5{5Yyz*KVfwqQ$wuFIY797qO^Dr2krF$iDvG4K>lG?ILla&DX=3+yH@f7HvgSK7{k@6ZZwhjO3L9fhCVbrW6~nDN?9# zkln}B1)(4>;K~dN5mENnHwU9RMui5-q-q07A^1(c`oMbeBu)Ht18dx6q;&rk`000y z&`OQdTi#7|U~r+Yb2-MN?yIQ}hoR-DnX-MDmH7ch{nH?@U0fIvUE(~G_+H@?(!bXE z%8^^e?7U5zT-HvqZW$_qfJFnqFRHDxyOTYLkO9*hDQ*OH)I?2is|cUx3Kn+YQRb>N zY1w69is<}fYw*`?bb(45=@c%{YfqTvNnZwNWmg}GuUVgpXDG8WSpBrMRy@kJ{#j3M z%3g2*nRA3p6x{#CTAH7K%}cXOjH7$5$|xn4R;6}E14UTWI}xiCUtE0879?+bEyOkG zhs3<5iD)Z|Wg1PNODp#9oeKNJxw)R5B8JynFp_q&{^{Sc2`F$8( zB{L^7oyGjfw3WKTu0ybj*QtLTVPBSZ2QFj|Q7c~vo ztPqov$NkeSY}s0ESMJvWr?@^MY>4@LC7M)(;SC^~l?k#Yc{ zuz&vk6fU@Q5Q}`krQ6y9n?%|G#*#1i2l3FXhM8!?sLg*(6vE|yHjCkoW$3{olx?ms z%d+#_?cxEXr!}q`{s=6}7d+APijwTpmjFeI;Z0wU!b~o=B(?r9tZBgtGmc=ArnHgz zU6#Ulm{c(x{oe(a8nO0dUr(k2;AH#H>U6o5JOA(c$<=7g*HteVz4sM-e+L;C{9Dau za(^)AkBNsuELwT~n{d;pJUo+3BmpribdIk?n90 zl#;k@n9&0tp&PZ3F?BDz#xUQ9>L!93aGa_8$0@A2g4m{ot7CdF(p10MP(tcSXYQkO zJ5w)LMm}oOsW@fI#_qUll-qTHSN;RgQ}P1@Nyj~XI**__=Qj{uKi=$ga-RQ1@DIE0 z^;p?T*4bsoGgRyDJMOKu+LST(L%aKSyZh@+3ukh>&@aOk`D^27$WlVdHoo}gbC*@ zAK1L#y|LzlmMNrRTIR%#5e%0DK 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%0A_2N*1B@B!0^nRdXF;%x603^iRrz+<00{w~; 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

x?$AQL@EMmxh>?e<0^@O+JkXz5AR?emV_|6X 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%0DG^J%9M#2l@P?mcK0Y zz={ijP8QQ~cEJr*0pRKZn_yV3m8@4pkHttPH=Q$3dH`hB$Xb*5|j@-a-;@2|@{aQ`Vi zbu`o6`^&cD{I&fn3z@F>LzEuy_rD|bRnq?-+vhk_K5hTXQJh}yw`%<)^H;hfbiF@s z^nT{A^(!sl^m;!;Y!RnddO68-z5mX6m%sh0?_s*$-;g}XpT2q|)AjrPq1`xtt$$4D zdOyRk)L-+j9>MAL{(+KJen;qfzgzhu{`yxA=k$8N+mO}2j?ne{eP>4=Uz)#j7^m0! z*M?^J+b{NRrtAG{!!!N#`8}BF zdOzC8*8cX730=Rh-}y_&_~fT_5T}1s?mu(x{trXf{Ht@BuHVlWZejUX`6>(D{r>+I z|M)4*;q-cc$ndZH^i+cBdcR=lkNjPw@~<4gbiE(2`a3_}5xU+lSo)1cZ{hTMKVjt+ zKfTn<^qXaTHN5DjJ3`m{5vx@{y*!)K-=+Hd=YD!p=z9NR>&t$6d4Eo?_lqQc>8Hnp z{-Emr9sKg0+>g^gA@t?@TKZuY)AfG3`Hyq|yYemclH6a{V98giiPJwL{C9Yf)2n<` z8kw%=*Atffr-ZKedlZ)O_}D|_*V%{D>-=))D!+VI_h!1@ANs9F{B&Ux8o*$d>1Tc; zoA`J_ds$7!)UVx>XI^T-T7~6JKlyS!&l+f<`sbhths#=CkOmT@%t3)UB59jtgK#p5IK9H&d{$KxR= zeOc^*AbQyI>W(bWVYq*Fx~oslnIyP^tgXL zRXCjWXkr0}F8=6gCHkE_nakPmQ!Ym(>BkkcLIn2wOD>Z7oy1}31c`ev^?ptlew82j z>s>mA^VRRCM&;^*?nu*CK6$p(+4CAe4MzN^9uy5 zBO!H}zn`>!!q~m>NQNPobNYYEzp!*+^q~BICU$|2Yvq$Xob5=B2Zfh@`{*FjxX%OS zL%xr6uH^cU9vZD2Zf0NLbg9pC=su75!#R%g+t}Yn9?*shgR}T}s--a4fwE4;pZ6IR zpY~dWOi}ZX`W4S4w(bG(iSqBM3wggmv95exy>9KTd^CSsfBi}1bEyI)EFTf=eua(? z>KE@8gOF&Te2V@GNghhBzAM_i6Ut~K0fPGH+#WyP z5+*)d-#!cMpQESIFp0$^ed`TNOtj%f4u{Y2=U15Kk2?>q-@H<|nE7pN{h|G1D(m^r zCgNWu;d%C^{+y;e1M60bvZZH|Ry>UB7Tc_wJ_zF*Mi1(rcS`@v3uCac=^sUt_8!Q^sKTQGpwfbfMdNinD z)qwd;@gs6iUGgzMzo`A=q^)$H;Q7>^uQk8&Roov*4X=EA^pBQ*^h&NNk3YJua3Vl z{^Ml+TodqKb@U1U{*jM4BGtY8>w=OMxAAs7A^THmeW-Zef?J0jQeGD)3*Z9yy7@lY--;?fWm>y_Q+)_tCBVa#>zde>`jYiH6RV(Z9v34S}t&M&3?r{Uts z?N2+ub&ao?$|;jSz25u?8edP#__FnL>~GQfXI;w|*gx|AGSqWfpa$1P~pLUw;^MvFdBtNqxAIC~xiP&FOvdGae`Kg}Ba?mRKt3iwlDPG?XUBhya zl5|1%sLx&b*`MWU(>S9@piYIn@5XvYGomsGMQ*wSJ#rr~l_%K1Y)geKApb*|HOq zpZ(nC8&+P$t9+I}>EHiRx`vazzj?FNtDqTZ_yxaS(Z_b^e7-)ea4gHOjSr2B{!B`G zXO#8$Wk>M5HvBoxPtOBXhy3}M7W(sbBwqc*`0bjKf+au8{8avjKIZ2iTK;telt0Af z(@@zwvI+mH2wg*^o69{BsR~^~n_haF$60kXhf3E_<HwKvKBvGzw}A@6f_{wnRj^GtbN^@dgd4IM4Zc+-4> z`sXKa^YJsXHTR3wvm7vfsyDnn$Ipvz^ZqGY`mGw!KjrdUtA9$j)t`sL?4_Xno}lq} z>BD@U);|955|Oi{>9lT8ox2g10IxiTsM9r;%_;C?Ycj{`+AeM{8bJ|Ej>B3w*Gtb zX_xVSr)E6z*ZQ~}T-;FxdikH~f9LbHWxQ@{n9jK2*X#2;(B;QDpZv%A{7$xTSNx_v zE^Xm%`E`BV`4;YHuhhp~F1XbHEieV#B>;DW#c%1F`urZYaQD4jANP!fiv{$@&be+= zuH;|2e2LfUxAO}YzngzmKi}5`R}g;J{jxr8o6oVl486wre)6UIxJJQo@5W-^d$B(5 zaI1U|jMm4^xA;Bt`}(*=7VhES)yK72xJ!RqAJ=E$9)7hxPV4#a@ZT-)?-uxX3;eqU z{@ns^W(!pAV>>XY3{wIKpOpD7Y0(Q^Y3oV-X!0UI&XIl0(UI}XW4~XiDqhZKmcLU! zef4hso>kY2mApUy(zmR1cD#Ny#yr*a*YNF}-(;W9bbi3)to)F}DN=&UrM!NuKIgB8 z((U!v8KV{pW&?<_;_^Wj?7d z`qP)U^5-{V-_s@OTz>2MV{`}3Z?f0V+8?n`b3HX~_s^E%&$!j9N8;-7&lxMcbi1T{ zue^UagTsP^r9b<>ABf5QAc6feZCV5It}L#PkpX~8v=ZDKO+S0|r-j41}Z`)Eh6e%{rTf^ymdogaef{VsZ*JX}zbdt;A;t!Jq zo>hAD1Gs-P(@PF|^YCP8I5MuD3=w+ZNO6M4$_ z(kfQ2E5U6lxJ40eAL-^1s>~Q>-rGgSmZ5HvCdtvQ=(r^qH-om$O#47Lyrbpv9k}eb z-*j&)ZjT{%2R%LMzCrjV=zGdO$P92H8t!Hp=zxa| zx>P!TLa)<0*mm?WN1bsTu3qiL%`V2z5?T;f`1Ux(Jp6m&GMNlq7~+;-a|<(sfo``g z(k+&~9fNQ*mg!gqUSnH^pTHk=*k;hrHh+|JLRriB~XK)TyR2&Ta0o0DBW5^7yRNHN{BeQ41wdy&Z0>L zCiH*Y1&#aaajCg+Cq<=0ggkQMzDv{8-MHS;c<97!rBt^9uK#5ZlYJRna7`@%PqGHe z4aApM(tSGhIui0prN!OGK9TIs<=fGc%tot2O<-K9l1Lg4I3kpWLkoPc@Lk7lIdR=_ z0hJ{06eQ=lEF6VGAbQ|5F`eVmfEDMj%ta>6oj>Chg6>+aT^J+{1y2s-t|_j}a0h2D z2jsexjO7F6lXk_0t#rq5Q?I9lxFR>(Gth%}Dv;wbzDK!ruzx8EV#LvS=%8DP(;dsG zPkW`W&HG~dvQt3>H8^Df*Bt=TNZElswXvLNg zeoA?|jctpCB&-RBJiyh~;esIp7Cbe7&BxRJV+%2!Sky{NVqrW)vBLt7giN%EC|_p| zp0j$pa_R0OgoAEvq-&1JB@wGRL%~hE7|77$B-mcjpv%aagArC-8>t>k)mw|_dU?3~ z%BOLydS)fmgmDoJwK#x#%u#~{J$bsa3;f9i5;_K~j9)KvsTM0JD3M(Hyg^bz`P_2q zJjiTuu%|r__t7RlxF*ZP-4ZBiQn}!b``qEaiWN~Bs*L9$Z>1BnNZ_F0;fV(qg$uiM zM<3*FY*BIjGMHh8ug5B1Y&m_&qNCf6TXgDC3le9A2O1Qb z4Bl(`5_oncK>dqr)8OyYK)7FlIUJKV-IzWm>DWOw7Ub10aAXTD?8}6@2G^bAs%2P9 zpo5x`Vegfz_!2yZTO{(ejeCvH9iZ9J^tRLnm!6xl!+{#N9$z|-z6L{|$YoYSC&7Ib zWDj{4nHM`z7{DdXXqLVKxGW+CL$gf0$w(bdW<3SIBHmmx-z?X{br_9BH?NZ{H@gam zJfc&f$#GW?{2KMK^KiP94Ss!LPf$hS2|G)Zr}jy$El@Db`<=!30=h0W3mN0fpJ`T2 zv?LM-J52{WJ@8J28{!O*I~@IMrqTM{Ye-|e)k-n8S4DXtK>zyD)V)jSZfUAcov8wo z1m{YU?lXgBsvwupgK?T)*j6H+-8BBlg`Y8x(ztKC1K08|HFE_Nh4i#E8uc8x!r)S8 zi)~`%La<;2h-JP6zS(HpYXNB-!v|Y$w_R7$Zt%=zE(|ovkAKGFsniK18@-K=vCvM9xcHHRLX#x*#5xfxyE4wloaPfJ#TU%ZAEto76$svU4p1P8V(W$#6ZF0 zKpsL%9u{E%O3kR*H8bOchOVZkhcp*wvD|?5WMw9%xVW*v=rE4uG0r3SuOnZMT_n&= zXB#7dZ(KA_)Vy>TL*}VwW~P5Cm(iAHsz*WKB>O(cC~@!B1CxX zsg=;UM%U{ZNs$phE~B_<@RY<;Z&D24uLb}nn*0E6--pUKvnpl5U4}tV=8(}eW>pBU z<}4xPkUdw&3oGe&tRC}Sa*HNzZRVTqjVyz!&n#9yHr#c{6f-(Bqdh2U!=L64*Q8_n z5#!$@iaL=PY0^$`Q?SKG^LU2bPSk8o^&qd~lLnI4*3=OeU}nOPLS!>jjMsW*ChBSG z*Tp`1xK*^_GLTJQRdK;S91D;iQv;{Uatc#eeag~{VT=yvg?|nnpUDHD@w_L3IG7)R zGKV`sv;OPA0;nDCq9F}%*oba1PAU2R&n7rhg-L^T$1K!ZOJFYcrnrn4O(?cY%5G~VnEuK8Z- zf#*{!^f-YdG7iP+vLYqWjkT|F!NaO2i)(8!60Na>{Jo~8=IyI>-7&;gx6yfImAZ<; zYiqX{gTt7Tv}a&UL*pv~I>0z+lD8o#)QpL?e;sSqi%czdK_o>|#JYj+q4P54RI z@y}+v5lWZ#McT2%HbTd1y5o@%>|E506OxZ-v~Fh>UV74l)WD{q*bIQ(KPpHiFUNu`|>Xwe5_y4mbhrYomT`>%i8OI1w}LvyezeY|UV$ ztxLj*$qFkC@Vbr8s@eRPtRxz^(lVZ{bfcfW-n3krYe%Vx)sNlMYzJ1wu=p1)ShT3E z_4HGZJz>!?&I$}u(S`8Xgq4KY8}!_C6{hYn_ih`VfyLaJlt4B{$%OG*a6HQsbMoIz zd!v3u=PnkpK}85C19#iFHqH1dLQ530P=y7$1nNx8U^c8^9jBc+bDFsgP!&uGq%SaH z$hkFHauj7U%@@W*L1%Uy7EiR$yj8P4O_Rsxw1^pvS+;fXSlJqFTS6Vk;$Do;g&Sj+ zq;N8;JFyc8ABi1u=Q{i#yOziR*39t(*EONzm|@jESb%FqWPS{)-$wsg2*c%=l~~{% zM66HFK;>cEkc20Gu>FMe6myIY(E zXgb+~Ho46~bDrWlY2*P{$QQ6D$-DYc=FnJ_yiL2eX_iOet)FLqo8Q9@k8qfg__GqX z;A5g@h3&qZievWxW)MpZZ-Pd8V+)?tsT;j7OzCgm`Bz(VwYehb?5-&(tul(Xg z(#+HG_y$AMbZm$a^pR**s<5YfLmiW6Q{;b3c#UdB! z8OGf!>5~$_RN^IxUnTJyB>aYitA%dYZz*0JNX5nzeRor?ShJ+bb0)pk?1oFXB7CB= z+6|F+JO6J>`R>1&zhl%}6f1Y#XrTWs^#A&>pPmx>3qpVKBYt}ME1dqcKd^k1o@+P! z^qfXg=zoy(l}DMb`IqkG^aslLy808$U(XxFgudk?%zyYvPOtRJ?VSE~;s5(CfBBL^ z-}*b;uQR&+^zv<-epjJi@*zLn5&8i_Pkz;3{_?Gy{urS*Sae6|Z9*S;%xa(2oPL?m zNAL9WPkou`k37cZPkfu{Q?-MIex}f?k277{Cv`KYpDFE|vf3|s6Voq{{Hszv?Vp&? zUlIOCe$3xLsT(={C6ay{p}XmYev70(UgSs1SGu0luafi+c3AB%^p8mTWhH<9$?G`% zS0w!$ksp=6@|T$YpwP=Uf1!U)_}^#ocdq61-;(qV(tgUnw2JB9SN^yA`!6Q+eWpDKh0n0+Wsk_&v=sMr)tSh^(s!^DD)wr zyXl3l;uaK|jYD}6#4|apy>tgHS~)wIm+;wXhl3`W?1ZqDHqOU|>978gS}zk#B6V>OFzz#$AV`HdWj z=TPdPVg|j8B`&ItMnnd^o!IC?UYIP+-kx;*;qHcyA;C14b+I=U*2#g%Of@+fovZOC z<2^_gG0BHE$z^L2J&^9s6j9rwus2}pM6D&&!g5T7(`iB?9UVr@+cWHtI}5kgW?yuc zX)~_3*_nZqy5|ib4R~2+gv>0V~#)=Y3N#_u&o1??7K%Lj`>T70C8S8;>&MP0|cScj+!;n>UXQn$!!9SJCR))2{GKTNvy!8|0{N zErL~N78~$bYmtJZUayy!7Se6dSY6qb)E)9m_mr_U%A0LH*r0%xbl2)w6VmAuJ?DcV zPU~^gRN#_s$C(4HgN!cHHys{GI}Y+;&sbz+?2C;!4!@-Pjjc+Bg6C{&p=K1W&nkDf z3`|mMi=jmr(hFv|1RI3dgDr2WqbZ^N&^gpVq;m}!MKdnKW;r@6F+2?GqA`Kjt!!jG zV{~-q``}NwrzO5Lvr-luR3825trx$BphJ?>3MeCrPJK`N@&0WT;-D?*dl?VByOG#J z)7!e09SO&@D!C0OEsU(G>2jF9$ftb~&hBxt1ak!5eRT6_DQvo%c@|5%IFjKs0li<* zlftew)W?G`2Jf*H>Ll_|$E2*;2z3(Hh*r9|?n@P6TzS~j7CR|35?bG$ zv>D;pi_7$4iid8izaL%8&tg=wPAG8}R!>dolRd;c-e?)Jc}!O_1KFTtiD@pTyJ!@< zqtdhCsk_r|M&|tnGcj*Er~;$_^c66y*0Jwdow7l_nkVwDnmZJ znTPapI*zkO+>CHJE6Oy|m}(hOjCw8?u75-} zKIYty$&VCXUq0tMn&a;}bM}Xix$$`);$*!6#VqAJS~z~U0qg5FO&i>8K)7w`X>Lsz zwXK2oG@GU#_hfNAR*`k8uIG-B?>I(e|LW$?^Su>oC4SKT9R@n{2fU8dbQ;p=^XT(> z8@x;Lri;Y3{@|;x(3O3R{Cv5QaejR2A@N@qfH~(6T>%t+ykv{+ap})o;;(@l` z(9co+Ut@Yoa9apn_iH2?7+iC{>@z&XeAGW%N%#gP3?LkLp})P$KlH~hmVM}epR9n|`(IOWMyhK1;@t#_jNPA?X#rO!}w#B)4l>!l?>?cfOtRcXDh> zYzu_!tuGe4%lw`a`wE`N@VBE0r^aqK9{x6o^?{x?&o(ohZjVv8X{><1uGqBLQNU$@ zc_%Ow5)b-!Gr~K}@2SXlD&kXPyL;$6gSIE)dzfdj*lh;8Nz4%p$2X7df;_fCp1a02 zH+CX7e;cu7NRtCRwERKA(#BY{V$CQ6M%Co7YVZJ-Z zrpFG%Urg$^v*gD(s`FIvWh^nKylb>6$d~JLAaL}L;?%}kACAYsV+!(N8sU^~Kc~K; zw%o;Fr^QwyKPm&YCI9A;y^G+8KmGo)!PoMo_$t(u`fMBg?TEiyP{((ecHI;$H6?Zp z(w#2lc1$=8`AkDOIZvv`&G=&)m7VKH^|%h0RfZSu2wpFF#Z1~*>`Q1qcdMf|h)y8?fo$Fn^^C8@X!f1ktO<@lp?L-?bAm*VfU=GTUq^n>_)0scOOzYpWDgujpA z@1yu5>>$#A4D~x-_>#O({Z`teO(QLppXlczz8Rk9@teY4p;6XT@oW?PkK}>+^}UA1 zx`@*E;Ezx_^E?JR_aBd!X&Cn`R}OGgzGa|)0KcgLyk92MLI|qNHQ>l&U-`NP?kH2&9_aFFc!{7G! z+YW!*;xC0i%Afj?{_$Alc77jd)PB@&q%Z%U6+a7c{)$%he++o~Hzjr^{^;KsCamcd zj?-9WeW(4lmBEdDPV)-spCzVUH^o>W-Lo0uo5osE=F?HG#rWF_{OtJ2lJ{w#x0>Hm zVy7TH)%@lN(0?pfC&}{@B|JgGqY)m1zhm)t9R7~SAJu=M2{$qQ zzCfOt2C@Eg5NHSE?-2YQiobdIdpG_L!{6cfI|6_6@pmNt-h;m+{^%dcdA<3d_MGdt zyQh9MC+u$ec~j`qO=Ab(Z!YTRo!1kH&p{f-O#z1MV-?$tHiF)SzghU(4}bgPZ#Mp# z@z;Vs8l&`YAN<|~zxTy|DWo{H6OHp}@|*g4XUs74&q1&64k?X6N_R$o?~QOz!)qIt z9y3_BL>6F(ZqdqWrO z0X@OAO;MID@Qm=AAuVA@K4OM9^PFPhd!sI7qi{N&e~F;;uGZDA=WY|M=WY|M=WYS@ zG=;{0cB@n0-B91%Lh8GlRo`t)U&UhYLL1QUtwAT>)8AN48y+X=l-&t?KcI%Wrh zV|~VYjN5lR&`8J4z+VF}af9P<6YwD0j`Wz<&ZFmB0l%g2r2IC)@6GYwEhIg0r<9u` zPBfB9`bWQ6HaUOuu+D#!y7Z|V>riWtm@Cd(M#QB;aLQTvmO}7a&XplJ*vD55Xy44K>}WkaUW>Dg>wPFcgAQexDA(DZfexPWe3&5%)ku+`SQT!y!1W$LbKA z)}tJP)BaPwBO!R@`(y}C`D)0sODr}Tl1_2e5S*6d`G~k@BjOsqKfZp@cA6d$7Yo5@ z`)GZR2*E3EUI4RBkFEIJTZ+vEdM$*7v3moaTE~ z2u}G8MZ|qN1gH6yBH{`mIF*;BAvn$VtPq^mw>2VeQAFJFAvmo^G6bjNPD3qkH6)$# ze>Ng+Bm}4VE8p0E-KdZ1hKgGo!dLrgO$bgi(fZGfn14eEPWep_!D;?luVe^baq~iO zTK}dHobq!*a9W>TLvUIjJJj@Ng{0T=v_`}oAA-|zXnU*-!E6475S-R07ZJBKBCazc zE)@~?{t%qDkJfuQ1h4H_4#8>rtO~&?zo8JEmhYkvoYuz<-HVz2`$n7Oi)(q-gyf^; zsYb*-8-mmJ8VSK^zE6hWlwTzx?vaSN2SRYZ#`HwA-19=(U(1~c!70C{5S$i4`L>4O zmGAK(IOTVAL|ifir*>H?1gH6)6%n^21ZTI;MIm_J4T;4HAvoo$p_Y49NID&VLm@cj ztD*A0BP5;jFNffiuZGJ1fsk}6Kf@t7<*T9ce=;PU@~?#8l&^-$|Jjgq%6}vTr+hV3 z{x5~3Q(QG7?)ea$=I`qFk@5Ar=KtpqzKR#d=tONOM= za?Fc}J17LF`77Vn5WJT2_z;}()lm7TLeeS!vqEsnS3~8$G9;byFNENfUoIkUX+&IS z2u|x`hgzPYkn~!=i$ZY9@8c11rHHr>hT!aaX1k`%*+)H3VnZOXHeP!_(u>k6OR!Avon1i->z8q}WH|TBI3#sajPQYt_s0vdkux)w7#E?h`T5v?&Bdi?H3KT z96t<6r?`=bxThlGo(#chdsaelTD}J&;_i)z8;*#JJv09Nqvd-eBEPi}aeofM>At|4 z5S*5;8WHz=MBK9xaWg{NPwO!~1gG_w7J^gx*K_br2wwTl48bX14K>~SL((bktPq@z zht?3B@;g2v?&uJl*2fMtpIk_K#VrlNY5h_mI4y_r{a^@QaVtY`ntve#XXk%W2wwS? zLU77gLoN4JA?cL=PzX->YN-5&L((b#)e&*!5S*R=lOcG`zY>De`aBR3cW*>oH3X;S zdo~28Cc@pXNInf>VC4M#Qa&hg41#+z7T>}TrLEsd^OZ`D?`#Lu0I5)d^My~-t?~&l1}-5 zFa*ckYX8-ASB0cg+!Z0X8fX5c>23;1r?_%N+^P_qmP5butc2h-|J5Nl<*T8}ZNm@8 zpFb2gJp`xver?2ZXt`&H@Ksz>2u{oCgy59lt`TuFLvY%jcBuKJLelHJ+ZuvXe#eL4 zv>lQWaq}YL5+OLd{(7HTDI}fNt1|>=^Vf6_grw8<7>JWC+gYujBcuAC0dc6n9ZX+{zG~mbX75t`LIL@s$d}X@8v+g46mQAA(bU z$%wdlAvn#qDI#uWMBMZcoc2d71gG^~8zN^~k2N7U&G)4cobr1%1gHE)LU1|`6#qcP zdJl)-l;7%zxSK+7TJMW~e4`e*Zm77G5phdHa9WSfh`3Y;PRD0!2u|fI8G_ULCPHw^ zuPGwV3BhT;4H0p%h`7-ZIne%C6N1zFRzq-FkC70Z=KE9#PWe?raLVtI5S$9R;#Y^X zqt?3|f>VB1MZ{eZ5jPSM_f$mOlOZ^*ZzTk$^?e{B?%s&F;fT09BI2Hph-%o6N1zBu7=?3{9`}4Q6JR}wZGR!6CwKMBJhfoaV3L zoZCA1r)DGswF?yY4vXGs#iv;Dt*yB7(Qp%sev%cRYQ^VhLJ9Y>=zM!Y4Rne{*Y&U> zrdjk&t@z1Sd~++lnH4`&8B3_--@M58VQE}p)2#;wDnY_I7M*Tv@%~F#^ewD-+=}nu zO^n}sTSV<4-5}xpx0g49-&I0$AwBkEi@m;L=&Q@Hbm%ZR0FIQUeZN%?_;>#BO zaNN*D|K6nlDc^2ZT%+4oG6u1yJ`ntl5^8Xe{*Z7F3%|P+*J!-R`qj|~l3t^?SmnRd zihoVwvowLE-_MHgZ^dU@@n$RDWW_c5%1i$C|GHJ49}IAP6kj;QAFo>JkFe;gzsL9k zl!4VA7p-K!F-rd8OfFB0J`nujR$QZxNqP1Chrs356^+GW2WtX(bf6WVYsC+;;u>AH zoXdNNJ`jEy-S%9r@1gp@qMvwyzrE+4&+<6W!oS;!&!|7 z^Fv(TGxUMhQ{vwheL;_@4JtEkGKkbKWn2pG#~vKDT}p5(1gG}w3mzQtt8UNyE)|^G zwXb?`WV=?jW8BSxQ~UHa56eTR%UwSGTlqDZxD=`Kq0}tp`W8 zv(v!*ejqrtUuR73rYz0BY4~qx8^--waB7$CS_t@di82S@y>TQY8@ z;M5Ln@!*JGb-JIQ+NXzkaMXS!!6`por+iB6bU<(i7V0aw10-Kv|19wEqw^P#e&+~3wNu+YIGWp%n=-CnaBAP?JUAoI)BOC@&i$|l zXXHw7mk2+#&p+kC8M&Iu{B97O+U=k7;7mIU?m@w+J-^DrIf5GzoZ6MQSh&h2obStm zQ+xAn3zrhy{|Qd*&~JKhrXEw6-#cGs`BQuJKRq~855dhAoZ7KJ_TZ>L%D8Qn{w)-o zu2)|0;D}#RaPJeG+Nrbha3hadG@>erm_ z3xd=AjRB8-p?s^aFmA2j+;x}C@02CwTN0e+tLp>DlP}>M3#aRZSr)FchVxZ^x?Y%T z;Zhb(*A4S6T+G5HMgJXd;mR-j^VN02$sQcFi(}!`{$Jw3nep)}=C{o&Jbrau@IDWY z_{A)ot`9mrI9dagUSfXx3O`*ZWIZ@D-d<#!+7Y_GSmD8u-C6oy#?2RgYPWybgEQq5 z+!Dd5J^vXG&ghL7n4jX*&cD)wBYx#7ud_`4`Mj^^mTA z?)KnlO_=%_<31|hYYPpRQXTkbN>hVk8GK3#aRu zr#<{=e3XC6{Dvi8T~|Hl!I^&hAI5!0aJn9P$%CVOtIsk{=NVlmz3Rc4@hdpB4|Mon&sy+~MXuj+dHD8$@Awu2B?mm}f!RiK7AoZ*GpqPtWuZ^s$e1q#!46X{XVE8pVHK6a37l;WP3u zCov0dyx{!@g;9o-fZe{sp}p}dZyftbcH|i|(^Ke&8%wW4A1VSfZ;2Z>pz4>1@Z>J3 zmmFFa3z-i12_qLrgT`eL+}yG6PGp$rgL^*Xhm48?@0aPpcwgoNaGDAK?Y+&4Ab*8* zy;H|xMdS0VUK1TK+u3invn(?>{}lK+qN0;`ugv^o(IFXMtHHH&W(Bqx4{MC<&yGreKa{8Xy$f!xPyDPT$Vj} z);wt%&seAd^I-2-c!oAGWi@W2Tn^-uh#WqiJ3#*4C@FgZMO(uolT{p*VYme%kI}UT zf}G7ZuC!-!!@DB17_OTPSN3)0`k5wg^^{pRyoNjH=1#qeq7#mVXD;}BhqFiNEgC;iAH5y90VA?Kc}S2r z!z7)B-fJ=?L4sMcocZ%9r71f*K{dTQ+i7WOf$GT=<~KU%T8RJr#`pK)7kMh3FMimd z4)Fl`WvPy|cq_StD=^aBo`Lf@ z%Jwh^!azTobL2BsD%`}pXTftFYdz%7605%6YT30wW(#0bb4^)<_f7~yd!~N{`4i_XrD6qy$cR@`U;V}MHrR}63B*vK)Ik@#C|Cnf{!$<%jNk{>w z$N9dFY&$7RBJmJ2trRFnh5U-z*v6oPjy_Kmp2*QLzOlD*zx@WCCib1Y0t2b98(J8> z1D~6Hjv?;joTmVB%&HJLR3&%LMjJy8;NFm&BU0Z&bHRP9@kEMRkcLmglQAA;x}f^A zG#R=cIL&~AOU&i@WoYC9@~>$sN{+y41CN@b2en3**Xq~dDl5-?H`ZgNnP$@D-LAP~ zX_~x7qjlNw=$LlQcl6iz^I)!*31E=HvBQq$Q1%RpVFwvH^2j3{VtL>}a}Rv?9CF_4 zG$!(M<{o&^!G|2$IA-+6V!fG_{Y_>XhM#CCKoOI3X8GoHLYc|Pnv0O8#W|r%Q<17= zHBFN#sVC(erzw2p(lp#KXFAo7Fe^fI0{Lmqq&rEExPA@csQCn%?r8XpX|-BKda}J- zd}EgESF6E%3`L%P$t+-nZiYgfl0fd}kkE9`#Vm~g5=3cfwzlD7Ik}Elbq-e1b&V48 z3|YhkkfZ65X6_be3FcBAc%nd>*~zfTy_zTFwA?$niJg<}ic>3!V{>vo$p)Bf5s6*b zkD)|5mqcF6g(?XbV&N7{${XLH&9L8p5FN)K9zY-TJ( zYWmF#Nq-AbONd>C(NEn@#fAEIeFu*-_@M@9M7RQM)<T z3{y6l&Al{h3%_CpHSF{-)RIzPh&ecb64N3;1~Qv4WOh+KxLvZv;y`-`Ci-HnnLBbA z`{r3&zOT(V4YubLo%0)kZKNC_saOmxN9UT=1`IwUbcPFw9w5|J#{M)9A)gD_Au;r* z>9bVIQy7>6O$%l_M;W7S)~r-&wwk6gK`=k8;oyB0!W=h_QJr)*+?E&nNpm7c{NKNv zwX;}Y%m#n9N6q^G-CcW(TvZt#76da1rc#Xsja~y}cT0CVeQ#ed+it53kFITbh=rLu zJ9l@7&dw||vt`#rvxyRkCbB^kBt(V;2_l6xQG-J2+Wv$8==uo%NMwv5N)y5Y2?3+j z-}kz&&ZCv!9}aZBd+v9>bH4MPbH3NPJ2we_;VR~Gj#nS;ynGVy-qD|nnF-{_%k=Ez z=PwlEm6nkp@O@}-fSSkeS zQ3vn>P*nC-m`zN z)3>@@oZ05=u2)L~!)u(I@e=vUT{XRN>s8_t_QUMD6t00{PqhjMDY?Jw5GB1Sn)Dml zWw$^sII)c`AO@_DqZmDDs_23(hTP9K>Qi2Y4!ujO%$x`o7@EibzB*>vKpWvb>`+FI zJ6VCSYsE=qW!$n?nXbX{$NQ#hP%p?TaOegz)VEt-pAJrC(+UbEYtnT{oI++G>o4YadRi!+C;!W8wpY+ z3A5OBr#9jXIDAN*JD0pwY zN4A};4=n*`X6~D%Ms@qKz6wCsM<)nBgv3q}!}4UE2TpnDN?r#YGEPyZiP?|`6H0#( zChj8XyQRi8Iy1LAW!rtBO9HD!_6oTxc>R<#BAd-QRp005?M`{JGeRt^4)J4xo(mPPR_?9S z%jRqK?Y@#MViZs#{>$j8P1b0nt#$FcHCw0T5V;`(pxFkwou%aK&R%3_qO;DGkZRUi z*}hP91fHRijSz}Q@+X`JRs)bq9z?`W3uP~J;T*JFFK4B$FP4h~*STfrzj5qGOpoTO zCcM&AU+>=i2d*DFbZFlVpX=?XZI3{$4iy~B^LjJhXrMo8mFemza=E&y)y_!_5H)&x zK!=^d+=(s`T9F}^Hr^CZK{a%?HpY8Pn&LePmbo|cn|urE>ql18*s^eUIPz0H4eJLp z123^gju3g$1z#gTA^1@@?R01{RIb?8T5=P*CC1|g>p ze1cp@r^TD0oGB%X|DUF%P&|s$p$hxtc7e3_*mcxWC-E(i5b8`H_uZoxE|Y3d^U+R0Hi}a6dXFHt7fyT<~i&qw+^1+2;E>-8 z1c|X9+jku2UD#{vbP_uv9pthd_IxO7T9^hq()~6bmfV877cidk>uZR^t`U;a-xogJVqvL4!UykRPH-x0pJLvFQwr`DlS zQ^(R&t24fWS0a9c1@1dTzEK0=t)SAjToG%ZNS62uTfZ-OFIJ9K}k?7&@)w9Ji*5gCXl^^-Qye)+fI(qSxdvnu$57>#x2lsm2c0`tm;Zx za(v7zri^S{pg_f1+3?`GAn&CcfR}M~x;%hUz&ob^3_Ax7HqwehMzZiNTrct1OBPE7 zNgIu~0L~9-i&wH@UDLIf^6UNVDx?h|rb6k*cg@|g_LQ41v=*+(S*22$2Q0(nDrGq!V_o2LX8&F2^$ zgj3J>4vno)35FNvYYonADBLWvD@O~Fxba+KhYlEU#64Q9L(k}`KN1I>HV<&46QR9b z^!K#H@>mRZx}(_(2!Mj5;8;gaY^z8fAPg*S$6@b|olcRy(lhH2j*g9W=72;*1|X(j zq6V}@Xa^;3q*#k7FGbrPEB*+Q5;RTrECg-38!GJQP}E9^LP&}tS0jhclpB@;;%T;; zJU%y>%~JJj7Dhzukc}#j!xUflw2$vm%|)ib-|GHih1NLZ0E^mOzh&#@_38B*+2_}# zTm1*sh{qs`#ef6W&Qal^hoOVJ_wAE|mzErek%6R!$UUBdsSI2JEKNT04uz(!Lt*ZKVy-nvCy9FC8kS?dzu~_5V531D9?-l>5LGM%N}u05vKl3Kf|P+Pi#L4+uLn%_7KVacqMpc(66a)N4f5Dm10c zKDn|xX?>UQh)-!Jp2fl=Wn%F#C)|{80#nW|Zxlziw0bc;rc!9CCOsVRu&pIDB1z&| z786u7EF)|gzS-raEElZ=S)?U$J}o@~2b*ePjpAlfMp7!~Q#vN$3wr<+koq03x|2vY z=(Ai>Cty~b3kxXy;~6l^ktRCe{3oJ(uZkmJ*^(NDZzn5) ziLSR-GeB~W^n{Nmhnk^B_mDpq3TH^3NU}kN zHYQ~-$?wKNhRlq!OCF{O*CqM!5KMTq&V0wi4?ZxoU?zO~R!L5IRjifCU{^pWRr0~% zXQ{Z5aZgh_wsF>wn}nDJYPnK_XMl=gi0GjMT9?83BBgAxZV?T^RjE{qP?%t(=DAh4 zS$;RTMP!!0kg>Meh}kSX##G3%y~HM@O=8ctt>%~p-Zv6UjMq)Mdi9aJ3V7lLJCAQ; z(7(G@ z{w_HElPG;o@$dXy@GI_%;v4&g{!;zBzszr=ct`OcyW5lg-;n<2xP<3@uNC?qntWat zygoLa$SD58(Q&3&crA)w{JhZr@nw{j@ws8ae|m%Px8ms-ez)N3&&l}HD*p>~{Byem{}~(qGg11*A;CL3zYC8F z-sUf%`0Fat|59vz=Q2Wn$#b$k8?p7Xc#Yt9EX(+oWAe>iE%*`TulcJef6h+9?@|0z z4By-?_?JFh;1M^Uh|)K=3H}oYMgGf=M8`L$_$R+5c;{7_{|i)pxvfHf`#M>l&Buk_ z_MbB-_%9xi@h`{l&CPLZEOxBN8%};E7&!q+bveG*- z`rKN<|MNVNPvc}%KADu@hxB(AGRnV=Z*f5II$dqSE@WIWVbs7PLMwyUn3zyU7@l!N`@12>ZqP-|pWrHJHHki}0 z!6_{poYS(wc`X}kXxZR`mJKdy+2E3v4K}rGa9PU+6FD8f!WA*-XxU&|%LX%AHaMbX zgE=i5oYJzvIV~HU*RsKemJKdw+2Ep<4K8WfU{lKmm$hs#;p+Gmu82WL%Ldb0Hki?} z!4WMR%xT%+l$H(7Y1!bsmJK$vY|wPWRL}K%xqPwM6T5$tUSu2@*MgNluH!U?Xaq6X zul6NzO7v_Deb&W3^+Vec+&dd{`_pyNaohbkeCHoh&*bvaFSK4KCk9%} zqs#X2yZeLrfof05Zqui!ah6~49534SzxPfVS0>h8=GQmI?);C6!xwNzx12Z4u<>M$ zVeYy2$B*;WqufrrFZ;c{sngMZ(yvF$?dZ?-e#29}86#Xd)p(f^?q$P|JHrg zE)=Hk`x0L*s2x~RIHLC_WA&FGkowI_bYEyWF)#Nk=UCsWKly;@Co9Kc|93m%y`Q$; zr`ArsOZ)dd-}gC9BwwI zI?Ml-F73Zj>rCHmf1K<3&yRZP(XE4SdP{o4*1^q#=}jBF!p8jiE#8)`TQ_YTb=^XK zYavze^3!aHAAb7H-HB9f0_R?JH=jt!p+O==>FU(bu6+Y_cU(*3<>?eBSqF-RM2brE zSZyLzm@U_4Ck584f}y`=!4p=ILKZm6?Gk}rO_l1@Wf9->6kZ}Vh5~RE{B4b!NO=?4 zF`PAc*@*&Ztt1p#w_0^)g~G1Uusc~CMXwdKg|8HMAdTf~HD)KvW5f#Hy~4e?cRv0Z{Sy}tF~Jl1LuVH~!bSfpF25Uqf&1t4zwngMFFYkR|Dr#X zX#8702Fd!q7owj(F7)%qg??TD^M4`g8vn-79k?KwT6@l-&^wDlxIz)uztP+H>q@^% z8%&=N`t%8*AJHGqC3^Zz(}P-_n@Wm8~yS#!vFF!(!bS175*5#K~fK4`ox0JCl-YM9uiLIV{`^z1};qB zI4<;!<3j(!vFHkNLT%CIEBHrk8UJ&o$LMxqqBP8Kex+f!m~aI6-=}az{l`B>ujT)W0)LnO4&xEvjizNoXP2r@cf*sFawLBt;@ZYFeaCjf7}1S`?9xorDlV zp(0zB>=aqDf9Kx!o#*@fpSjQToyV_p?{ChW_q^vl?|ZMAd+#K;OmSs07=%Qa#6*JJ zYu+9}Q9S%Yexx(rA_yK~PsqbxT|$SD1C|Bg;a7QhOQQR*Yl&uKI~maA`|O#BuxIk9 z4T&CvXhNbT5t3RKzlIbK?_s@bEZUc7f=lg_?;~Ta*^geY*}sG0CHi=sJhd;lr9^20 zzmE)$d|y3&Up;=GL|ftbC0f!yvTr12;@4*~d9X+B^GHQFQ-A+gleVPryH2MpW-=u%i*3D}cX-<&ija^Z%YhaFi-S2egm5hEe`C+mX?;MI> zy`^yP{h}Ut!%5NsKn0ZC-K^<~DO1@5--Jh$WVt4#2{_KgV1iT6W*dsZK$yfyWE#N+ zp~`1Fa)cZWc^+dIlV_yGNoQV~!E{JuDYEuVCpa6k5)Ea9+bvY(@}@KR3Itn0RtN>H zOY~z9Y!Q*jBYv|w>kTzHgdsf!5Y=TP-2~Wt78>G;SF9RONAmgq5j=<7$G-tx!#4L!V^Sgon7SW+9hN@H99a zE+@rV$Wk;(6t0go5hillY}5#6acCin$xY=Fgrgr*=)kfi1Vp`pk$eh^p>Y z$ZBROIvLAr3HjbaVG3Kd9)_5i!eQ7DJhl}hNp?6dRmc>Q1HfXiS;6K?99I1RS<^%2 zF1$2?ZR5!0aR@#kOyhM5t;8ITdnZK8!SpgX|OE zC2>s%hO7`4HfWV#8WTx;!W%{m(oC4MxrCOx;{>Y|rcId8WAY4PgRG+}BbRTk!D2Ts z*qa!lL>DWg%0Q&qSE);yk&r@$sSN<0>a$uP_i@{}1Io+E>2 zGhbt$lInb>6~U5W2%X(Igs@zL!I5DxHxo?LPJ&Iyk#mtPFlQNYcmz8)7s@t`Xw;Aw znU`^S#B^`>RDzvCq!BhOHl&phs1j-%8F@lR;XK>0R=A5GER3v^$(MD>AS$iohA>#=43-Cjs(ly)f)KKt_+t3Wu9vBYktP`Z*kJ@S5xU8d z7l#NP343Qvfx3W|#vx?5P^2&)7=)0=;xSy6Gk8p1J=6w4aI~fvsPeeEhO$aWV zNpLj?B?V_5k-}!G@zn?omrAA!L6{IWYXen-0&~aum zi2?P>1cw|ZC~Zium6`{UVzz*oFZU!~hii2-#np&I+!5SuG&3~e5+bpu9D`v(FbNYL z&zTGFNhby-GOc8pgwTQQPOKofFdkY-!o;K;7jt)ldETlYgCWBp$m0(5ZauLbvLTb# z%wox=apt7h%Ql#L5~?sCVGZG$&6j1KCe--Zn}meYMZ@|;7Bi8>Wr`hG?v_bJ4$siq zGmu6x5o_iB@hJ z;piUZ%1$zJ+{Gwl$uNl_LV*d3<3uo_SEwLN=MpRd_zhEJXUQt?9UIhG99NMMM@(pqbzr6tJWUy~lbVp5#93A^%M0sd zu;rN=+}W_)T!B@Q;PS+BN{-1xb#%CdkPyo77{`SIp$3bm!({RZ9>bl(6S5uISDm29 zI4Q7@a!iOM)qE&g!iwYPI5J6ANU#|ULpGlc5*$mDu8s!XAp9+A<^ zgpiGuU?+{kmPvCqB)F+i2GiMMMGluK;g2DO4P9a&YDvW{p#^gk(I@P2oLa42ZMZ08%D^o&?|loB%EWQrtkh1UfS-V0fWH6+EFCfcS%5r137`z%0Mr2k00RM903CoXU=Y9n0CSxZ zBhbcx!2om24Z+$H^l*R`-nRyA1F!{*0@wpc83TGE-bM`6A>Mbw+8JwC(4K&)06xGQ zFbm)Z2ms6h%mvH`EC4J5gaaY~QGn%um4MZNwSaYi1b`5b2uKEyOX_++Dj*%O5g-EO z0yYD-0JZ^OO((Vk3IIC+Vn8XN9IzWeN+syMfNH=2z(GJQ-~`|#;1u9IfRxLi8v$1V zO@Qlw8-Qj&3!oK1N;~Mgc)J7iL%<_IC*UdIIpDwY61Z1@H-PtmZontN7re z9{>S|0rF750`vorq5xVMpaM|E9LcN0_5gq;KntJ)AVn9nKEMFL1sDNHF$O&tZ<~TP z16Tlt0)_)fu?B4eu*3WIpvMCy044$^0Z4HK?F?`QcmO;BQviIxbbvQtCcqaUk=d{v z00;yG0pJSBhB7hiB0w85K=n6n3U=QZ@gRTJ_1RTNKQP9T$C-MF%&~GD_W&J$hk&O5Qo2CD0K5de0lWv0(ha%?@EPxa z1^o@s2lx&617OHPEdf{niO9irKL8tZil9{ia1u%k0B8cV0XhIubg?!7%>@_(1_Oow zBw`8M!~W0y2-vm(*aAiYMgztI#sf&10D2 z0dNV>1h@gX31|k~2DAb00Z8e<`abA~fKI?uz%xJ>;5Fba;2oeF@EJhLH>~?W|G?Wn zLH`E)1u)>ejuaWt{QwF8C4dTm10Y2ev>HGiFc6>(&;jTH^Z|wd6Mz}O96*W%XiLCw zfEBldMjWXUWH^5K8Z@^yws~?OtKpvn3-~iMB>HrPE0DvYy3!n=y z0FYt`+88hxUm!vNL*TYw!vB4c2C9AG?PBIYN7<^dc5&X^U<&5E zK+gco0{8%Y0e%2~z#PC_04YJB=L5n3;h2j69SK;1_oF~Z16BZ50#*Um0^$Jc0Pz4J zAQ7-0kP1ixWCBRZ!a5uDCctJu9$*U~A3#bW=$!yDpd7FlPz9(4901e;NI44nB;Yil z4saH54sZc*5pWqm$`#Pp0M`LGFxQOrZP2ZNdw~0xdjR?o;0fM;4*CV)CEyj{E#MvC zJ>Uc2BcK=X1@H~<1Mm~@7a#-wpOgjk1Hflogd(6nfCEqiXaF<;+5jEEAOI=w|8T+( zU<5D$m;vAeSYimk5-CS%~!_(2D_)fTe(CfaQP~z)HX>KrCQ2U=1J+unrIp zNB|@P)&o)j830l;L2m?z09ycC0r`LeKoLL;Af*KKZa^gfK3pO80crrXfTMt808&nZ zJ`Fenr~}jkE&wh9E(00?O@QlwX25MgE1(U~4!8^G06Ydf1w0450+8|=^gF-@K>g%? zfrMbhse{Vx)?8-pbSsf=|6P;3cN^*UJ7a8|7O7Tf|2+As|IM;y6W0Z0#pAX__WRw> zb6wGk+_yz9^mblLb#&xyi+@=^`_R4IAr7Cl7i(zsJLzpPb8+10t~pJ)mPIEG&b}Kr zclmzLXZ3Y^_SGyksfe1V{wE<(Iq*P_!wtf4e}!gl(d7=KQ+xNyEI2bNNhewT!pePT z^K3sFUi{;;aiwZ_;n9$$O>Vy<3wVqs;Tw1TY25CC3ENOKJ;3odCNZ8H+gNaAo)S2@+i@A z?U!3-9oxN5duT;&nnIsvs6*q)4Ff%7`dYRhom3ev@6pbFFU{8_F&Mk*7?bi8_$d0b(IWZKMhu%T>iyl z!pA#G)7=K_*sQH7+j~ECarL{)6)#>_&I+hHKE$kJ(NV7Pn$10nCx7qnHdHur_0ZS- z!u6K@eUk8F-`yp7n%M@6c6JaucUw)5-J;fGe~OXfPLq{C;gWTlZCG zfZOVq$K-abUu}G~Rh6w6T&F*-_e#|MG0Q6^o-vo3_OrNeQZ(;<%~rX)!jQ(4b5Ffk z+S#_n7bl;%r@y z%NOGAt?qxi--V@3BfYjfJa^aigHzJt?u8cBXIDSJWc9s%$GPF$@bfa<_Tbgm=bgX! zBQpBth}E{sZ)|%m*X!0$t(SXb;?2S?j>}L@PDsOOuOo7oToz_rp3t|_+&(nAa%^7Q zo;SIheomV2eE)a(yg7C0FRpj&yV}$|DoNRL|KCZAcg-x`?pRkneb?uc{MOVb9AWh%G<+qFXdJ=Uy|!+YWF&L=uPeFmc1QABY$j=ZOsh%xMOn6a^H;Z z9aSeoe3y+=xAAGp8R#_is`Ak+Rm&xT1G~#6PV3xKy`<~5!S$+JkL3&kVUb7{GIM%@ zw%Z@#cG(#USDKiqic)JYy!|{&-QRD5^Pgy?!N*QCUNTM#{N~{Q;MGx7!drwF{ z`qMJyto?*Zaew~w+;j6Pzo9>T&zhtU)oJq8Z#BKL6GmUlF%L?%wmM`;s7&x^`B6Kh zlodF#P72@8i#G+LRw`pxLR^d|chv!dAn z9d37vI=5a)9MAH+T*Q0hH*LVU0Uy1Ta&Fp3JbCH#`{lX%1NkG}t)E?a(s_F$v*non zb@gQ)%MUdiPI)@3*X`L(C%22vTDOjBwYjx-x;2@pRYaQq9Mtsv#-Z1K{EO}GzmFDe zU%#I{xpJb<{fJfh3JtNJ6*3k4-zsm_*cjwnJicpI?3B=BAN4ZU{h1iEc>ABT3zSE^ zxEFl(vfQXn(|7WlPUjRm`MuAsH3^*6`q5@Y?U(qy>-(Z}+YDc>GqVpX+4l8KRlfLz z=iRSAebbe4(_`)BlupFG+YvthJTqY4i(4H(n(IBAF8+P@_;+$snpOIPld}gz7T#zc zpSJM9oUp5(*OeX_KVnYI&n4T2bM()C*|GGsOJ>i7EvkZ*j)Et<*^NY&ddN9u+S8KC zMYhzV332S`yB&j$Tz*w;ig%d$LZxBz z-)M$7#eXhY|K>o}wi~ld+XbUuzxuwb+2g?P^t5ujnXmr3SzkFue7QgSt6QAPyrolq zSK6NbFxR>%F6nvT9_8%cS2ACTW;d~{Ha4n@Ca$_;JvYVp@Ru8x^41NlT>sumeAL{l zvaNe!Na(B}&euqR+|eVm%-vTnUw3S z_&fQdUew-tes+ETOlzOmR_C^&@14FXLr?FPi|j~cjNQ1cwo}jV!`7#-!XxtTU13c; z9M{uFa|K2xn-gF5ci*uH2S&e8QIMup7e`JxKVSGiGPUlkRi!9twouypJP{peWDxlR12Zq|y#>OT=Glk|;vyKcALtjY3{HPlob?YQsI_T*lEO~c8a z>b$4#&Y1kQuW&JbJ7mk16GocvC*R-3n_B5JSVrkZV@6KJ$nfYsrKENC@{h~z{?Rwg zUy);)UajnTPkrjcp)Ll|7VLy(i|#vre+>6I^X9|OM+(iFQ5N^rHy89eQvTZbx6Y*uPqb%XNVQ+_%pZ6TO&I?YII&)Vx?(eqLJ~4G1H7K1`D@Me!Xq%jzhy(_wyA( zu04J@Lh0T{gVSysPyIgcyk~srkuwiiZx3J3smZ=^N$uz~-W!v;$;mBC!;L&e>q0XR zUaohq-^i0SJoRw|ljnEbv7{pOLh|BeMn5jDKEF>f_;CBFZDlq|&sZleZ91YL)IRpA z+cmXkYnVxb6LZ>~}$9EVp?ZiUV%7t${} z2b3TE!BzKtR}{yNeqVX-;VoVE;nCIP_Nx;?X&y@pDy!xfXRc8@`|{*B<(7iuA#cy@ z3_cgvYX9VV{s=v<6U$SF`zG`xi1!87_!P%+&i~$7@Ack;v9@Y`OQ>UX@RL7hYnLUY z&eTcv$eSyuYMpFy)n)7l<=p}9@3saDZC6&P^zpa%e&8_%rFn{%<5^F`Sz9VCpP6i^3YlPI^fer zh49)`vo{tgy#?lt>)wg22krMTOdQnxFfndgpi*S^OTYNEEt-ET$Gbn(n3uU{>2KC;PfQAXEj{|l~mKjyf8eea{Q;nm*|zn7+uuC%vo4ok3_c_O@Z zZotlm&m(W$wlF9^y)Z{(B8#KxbEI?bIJ=;JzqVOrHGdIb>wht7<>B4D(hK()oom0^ z%)kHMTkDwIjHdxzvR$j54fbS=G94NfzWbbEmG~exaK2N*! z-jD+QhmJpfJwEQAdvK+~g@j1OyqR5bt}ouMOT0ewX25 zuZB5fy2FVG-E+>*%1Si0#M!8KRv+GHQhmGrr!VV8_IH;Mtu)qYt&kX-b3?`yYX_c~ zkrl5{H1XJvJ3o5YDqMaU_hO0qgSFGgMGPHwV$k>$rc%{G+XGk;V?CW>(KHi&LHeYYa$oVe{V}cla%=SAC zyrjGITk4CTGT)9~$5$_82krT=oDrLO>Of;?qjA3V75_1xG6%i6-L3LQed)J?{q|bQ zgI&(l&Cc*WYdZ5*&Hjrmf+M=wA655tmTus^kLFdU1lMhOy<*hb{R^7vzkIf+ocNr- zzG^^GW|`@)>&E@s1u14>w{=f6bP}1%PVRX(C(i4^wyJ~U&*$IUCsY1F&-vNccLOh% zoDTRZJK^F)*NKny4reP`Ui@1rBgIMxfs;moPRK{c-r;W zd<#ZyWp9Ga9Xi?Ok3Mq)IxMT)OPwCU(r>#i~DL2CeoD8Q-|{dCoPEgR=z5(zU(*PuG}d*Te;lPX)hCZRi`Pf^0jY>EMC+e&7Zv` z-omrt`pO9X4X+-4IUuJG-+rnrD0n{UOO`-?N)z|&fN56`&b`kU96T_H@k==`*D&XM z$<~vzqIp~5N^N%%RCN1D>M^~_nIx${`JE5&ctnLdu`LB+ZmneG=+I3BRW0`mP7{{hslcc1JtM>Z34zgbTOKW}vL_Bm-qji$%0eNUKq za?Qu?t!t*R9|erInE%xukkl4oSmIUq;&T$$68;U<3tA?s&os8u{HUF@d2_Vt*>?jyt323GAjFPghJ zVMkoY0d@aVV|0d`F6_;o+H^np9oKL8d*Uu5tH?)W%9ypGNxZLkK;nzhEf>1;UCwJ{2Sv-RKW$@c;5frG`{TvFpT5V|)`Yg1 zxJ2(hqovj!IP4~Scl6yc&6g^}JYI)Q{z-V=;T`pjGsL?7l{#vzw8_}BhPQ%#d@JW zc+Jy1#=c7n1pNLcgSE0oc28;=<+e}d=&;it+9J62sq$KZ$I3Q($d%7>ZL8!ue;sW3 zX=~LFqi<0^-Z#$Cy=%WG%In0&k1Fn??-`p<+2_$G>-+tL>#RIo$0)U{@fQ|c`}NaT zN#kj8;j=qkg^NOGJgi-#cl~-meE$u0Ux?rsUD2*Wb-(|2Ei>ozs-p`}3{)RA@0C$^ zg4Q0rV)4=cm`Q65lC+m(Hu!rls z@{VD!Pjl}iGar@8KCPmkS2lVK3HaN2_~aF(kO0RyTi#px#6MmU>!?!gv0!P;$Uowj zbA1dSw1slJwipxji)A~HITM02KPMm5&$_aH&Y+Gmuc>}t+U6bKt;=z9`(E?y?scyj z_OCSWG-|B#)f$ziw#f59RqRt?&y`Zu$hB2X#L%oWfA>F2)qD3q0?e*wApBm?kJTDmLCSzsS zmr}8HLaSx(s@mP28W-z+mG)EG7UE&9E4n**T9>?RO7EH>K7oqWnX|H{$!fi~+^eYc zGe7Ojm(&@Pew4MxC(Rr%Jc?5{{F18r2+!+x4yr#~ZrC^C{pRbr!D?^*+%hgsIXWw^ z<9MEM`_Ru}KmOM0xCIUf76?~;T%htbY{QCGPvv z6g|w^%eTJ>n_XpL9QvaqF~%al#%^5HYS*d4;((%Dmi$t_n$d@Y+n(IG{8Mz`$%QRe zc`O^%ID@#(jA2vH9p2M*E4jC8dGUnGXw?lLb7!1A_H2)Dscak1jnz9da|Li3*GDXE zJyz-K^OU(l^Use9KBHb%`X(H1)I7JGvoQ0pLggo3v`1t|B|CdnWNcsStkv+I0Jh5R zHKp1`8NwzaLuKrYpUL`J53jZ?Ra$#+ie7+<){WnD*LD9c{a$TxK;wY>fSvUjzjVaD zr`w;{56pQ|u{F--G*?@_ErIR*Ecz*P^gc(&j;!bz%l5gH^E-#VRB~xuDO~9B(lwf| zRsZ}*Y~D@%F?D4lUN3laD8RfRFnPGxv6kqa%No|w0^f~;>d#lt zQ9raSOI#K6Anx#|jajlcf1R(p@P6?)`FY>>z1f+Wy(ux-<`t32FYS?=)A(d)(Gwf) zj~!3l^LU$oICYvB$EYp1JUxD7@RZgSrvmjtk}alQ{MsPe{c1VqWm#y9&+x(Sc9EAK z9-EMQ)*jxs=uhl3znZVn-;oFn7aC=P z>3`N6mAkLsz?~O5pm~?CV!Uc=`dg57Z zr_N0a#Zyy*zWuWOVYv_1v+?=7;B|^BS0BvpuG_B=`&4C^T<@e!5ufUo6&zbS{rOAY z8dF)`BE#)sS8b1vf4c?<>f~C*9vd8l_R0$kmwO#Kl<`U5c<^+m%~~fcS9nakl^66Y zaf^lHfulW_$9_9k`^JnB_V9|vYa&g}S4CdNI6r*$qKY@pCl(fjopKGo*;ZKf(to?< zj60vF4!zI*9W)~3&y3hUFPkKh3VbhS@cB4zUZhn&?(!x#k-v7^xebBE{4MEOeE&+9 zkFvMVMyq<pDUpm9}-*(lX`q( zORDY;*6pAFE?HSym1uuuSP_2W`+>bX^cSrfyCyu>zq$0txD{XJPpO+;7(XT3CF{WE z8+u;kqqp_7{Pa#*^0&NaNFtr1RVQOXqLGwTIIDIMCSZz%?V%?3>}H32A&QO+IJ9 zEeq1@y=d&C;M#3z_Dg8&J!$g%lBQpaX#Ag{>F+F>{2RhGzS80}q=}QfwpyC~7@9cU z;buE&_T5m+()cqpd3K=b?=ofSeza)#+e4+>k5rV-=lMzJU(v+>g(l7_n*3za)FF9K zgtYvuq-mGDzFnF3qZ%={$KooHRdvG`t;6elA)|_p^hh4sX-MUqv&&o~ec~NOB zJrDXcbrk}IEG=)IGPZf>-1@OcHX>pR*1xw>C zY4VUu6VDTxaa5uimu)od`qRW8MU$TbnsH30$xkzle@&V=$?M;x3lrR zJPM%cmnV(=J(@Vr(e%rY=6tM+CjaF1{nGmNm!`i>G=2ut)Z1&CILUi{rL{YSrVh<% z{FKq;le|t|nt$>>Ica<=P5c$|((TvNtpA}j>#YXO@x7YHj}py#qD13Al*a!Mnz}Nl zIsRJE)DL;js# zQd*p*H1;QG>iio`yANpmllOZ{Yxf1sIFk3nO0(zF*pv5nNwZI;iSzq5>GmIJ&IiOa z>&!8lyoJ)t$7?kFbQ(V;H2u9zW50(c{w*~5=hK{bk@s*)%cmSo{gd~4O0##MnP22{ zA*9)p_moNFr_-!6>uKtfyysn-AM!p_Y5X`EekD!)^wNyWqGaj*OK8qRa%u8!NfZBA zntAayPb^h;yX#7iiXV4h^qDQ_pOg^|P4fJY+SEy)8}M zE~4=xOT&}TnUI!;!8CQEMKfOQH1m|acTk%D0GfKsqd8uy(bQE8O+BomiDx8D9t>&f zVINJNRcYd%NaNp?W?qxeG?A8{9W?!&L6iS=H1(!H*Y0rX?W)q`{}YX$Vw!fFY39XS zN9pa3qRA)uEFNk3v7i~3avHvm#*Y%s`aGE?&we!HGKyv%&6+Gd{tB9QPt*8WOtapu zqN%spG~)u#-jkZoMKtrBykA;c{$JC~7xH;c((KD=>R}2^yQ^sWt3@-uDl~plX!=V& z8%tW8S~Phh?_rl_-$2vuc$zq`(bzlE9KYOY*8ht%buyjC4|%V+wD`$q9!TSl(8Rx! z#*ZV-{H=?U?!S}9&o~H1T0Gln>goth{io3QSwYjUV>EetOEX>#G{=|IH2&YyjN=@d z^>#f?{gcmok(QqyH1WjK#3MtK&nBABbI4~`No&`NW?qobp^|1#K0`nnZ$*>m`84r| z(zN@B#*Z;gyX5li?I0n+h`IBayxk}@Qe72gjc=TxcHJm2??=<-tPBTxR z(X4yLH2oSt<9{uUe;1l{W}3D1{+iR|Z8Z(wN8>+)reE`D){SM5d};ZgNYmdDH0_el z!;o3{D`lE?gK5V7K27~xj*}jzKh3=G zqluq<#*noBcF_1?(bR)4O+Ap$tCHrwf`)%alh30x>vL_YbpLB<@_&S;4)4&6%N&~e z>7*H#zclkrL5`+wYiZ60@@VE)iYXbVG9frU9V!f-<3s(0=l=*0&n<)v5V&lK5^f6O#lPlL z`|g-eu|hn@5HWKxe}56l!!vz;Iba53aFk(eJ7k9ez7 z$R55Xpu`mnREdFv@Cf?f=Hf0JZ}NwBUhq4OUA`W5Aj2LTq*lF2BnA&NH66l9JT9)Xu=!1L-GRUSrjuI z^Wrqbb3P*83;X%G9p$s$w}i5kVTA4y$x zEJyrnHxJ5BI`tQ>dDMXCm_hw>gcX=Us#Owy2x<|HGCV^zlx$avsEqx0zPyL-Q2Bg@ z^5!px{M02Nd%tPr6d{=}SNJG?tBPI!@ZHc~avnwb|J$!tEyRn~{>umJ;Qks4C_jeO zUwEz=6c`y#O$HiY^7>9v`tUl_){54>!H6c*VF9G#zku?_#r(oah_9?dP%R{Uw$mdqD*ncX6JRY**xgcv5$CPPDqhGuEIUNI%?_fs_Yx?57BZn*;e2*X_UzQcs~QN&Dtf0YymcLq{V1(Rw$E ze@Fd==f7>h{@eb|=XPwLJqE=o>2KU9WG{Mzjtg)&pyb3@#Mg%ksQoXvW5XdlGM=6W zRQc##FkTBV-|?@X^?8U7FGuU4WWEfBdM4|Kx4VS$FIhLn!GVdYs}W*~m&B=$^B_$3 zrub|;E>Yu=|AFqPUnwd>r9w1XGM5=Br_t$m4?G z_zH@-jQPN1*Jqrh;dcKS6S#o?)gS3$Lr*d5=`?c8r zJAK55>7o&l!+Zb)O!X@i<>x$pVa!&?~RBT zTt;<>qJ{GfUCeJn8QUsDxg)Buf8pbQ>$Vl@imXGixP&s4#FGPN$72 z_L6pGg*g9JsD3K2AI>IZAC)?fVjM7^0B>*!mP z{aYucaC{-hS2S8oyS*pGiU;(yIXE%Gp56@vIEAJpF{%qJ~Hya1oC_Q$*$ zlmY2qGzqPErkLLaaguz^VRXDWiFs`U%-=?FM&t2nfc2HkPvs)iU&;9X9*OwQ_5bEM zUI+PUZiER7f@T3cUl+=QT*uu1bN&;(1=%}6A&-#b*Fe#UGQvTSlG$< zKLn%WyJWmx!!F7H#OH6rsCU8hh6iCkGm!lh+^;}G#P?Xh!~r3HcZHPelMpY`K^54H zXhJC&+rLNiXeCZWX9VKKtI?4H(nv{(3CfQ!6V(G3^B-YY$vg-qpp{dS&kdo-PnsgC zw@hq5ZZ+adE~0uEjrlj*5g*ln>fr?D!(m||^H6sl*{fsT69$6h`D0PPqHuqgKw8Ln zUTrF)EG79&hj~HT3-S4t9rhy&>kr9KKI%jNQ!gs09L>l=ywxGpuYK76j`4`EPe<`c#)SoDRGdE05s-H5#}^-WtezlyAMED} z9!EhwTF(_QU+0DVL`^{BqJ{lThc}Y`n?Im=O8y25DO@;SP{*Ss|E@DanC7It+a;7| z)H`@awK?Jmf8=K>9{2A`BoEI(|K>pXmHf#MMD|t_ko^Gsg83Z8iVXly^g7x7W} zJVBDrWu}PlTn8Nifo@Xr1qz1DPYwS3L=w+QJdXy+p%tbdwr_>PCi8svR3XJk=Ec)+ zQmC+`bCJ3$Lj_U z+b_ociC$F6l056-I^n!R{hfgAkHYbY`rPTz3W|xxyzF}9U;7G*AD1(+2#>FL28vS~ z+uM#q_C0aP|18Yw79gJU303$?%-@Vd-%t!S+5c|t zk303zD9$mMH;%>rO;CUJG2e;XB{;~B4CWUbA^ZBvP872Y^RhVq&3IkCgZUmPJTjhw zAE>`(IM3P85Xny;gzC@|^WCEn&+S2VbsziDgG5pNDnR3FjqMw7{)LwXlqGrH8!2u0 zIM{>#-wI_$Nj20V>4&IB{(Z3hV?162{(NZ!w$BPe_CqiKJ6|#fA>Im~59ne0g;2NT zxP;;VPf6;3;znd|ywQ!al=#0|fcW}cw4NtnKSenIMMF^DV3!gPC?_(0@pd#Ww=q8k zmIboinpLF~!@_+0SY&^DFgh-ycfoJ{;5y-MK#b)0;*RrQ|DWUIU_0c8`x)g8xxbq_#K59ln3`jF~vyoP!Njj3A}E=vP?-Mu1|g-I?fj0 zdYBJ+AoD3aQ9{{C=9fDx2xPnbHz;qLaQx{xm_O}E*-P>ekLQ=@@O+Aw%)5>Sq<<|! z^q%V?0szXWMj^VnB`H1RJ z3;WpzWlzRaAA{_zIq z6c1%jNd>%-Y_}PI{%M4HJ7||27Xp9YE}6fYP%xzZ$7d*SZ?S!xH{xAxB3=^zhcLu* zSNTzv5Ae7=0DICu|3Al(rxwWG=o0b+u@cT2k4wVv6J&(Zrx;SJnazx`LStp~ph>yB}^3a0q z^^GzApZVg7<8KZ}e(Ldfg;^l``qgNi--P`X+93XCyF10K!Mp<(_bc?@`~>5=P1EzF zEG7N&!u3Yjp?-lGCH`xXfAJGEufdFxe0==nZAE#Wg!vjSvTxpjGJuX&@Ea^RPBA`@ zg9n_a}@8DK5|)X)ihg69HtpBtJV4&o@FXO8!5{ zHA6gsk4GHpUGO;u9^cT-jub;amxPo`C_mDF)KcUh4qKGG6d|5dEui-MA)3&~{pzeh zc{s^LFFcDy_5%F5mNmBT%tw69cr+g+dE04-_~aHej;7dtw=?3o#z7P#`P{EW3yrV) zc~rM-Y(E*#cYZ2b@lY?|chXjqen7e%uq9IKJdl4O{vJ)T4vde+?FLP!47cM0p+gGd zJMW@;n1;Q1UbFD`2qBm^O~Ua!MgAqxx(X5B zoQme}Gi?75uNwlqUhy!$8R~&tH){T~ZpgrbL*_xuK;w?hi2z6!8Rs?GsT2j%lM+)L ze?9(ONHXqIApfL&O*R^L)I0b-*8uT}|Cx^kFs(@Y`V;dhzoFRwt~fM~cZZ27Mlz1B zCdi(H^B~F3=K#cuzoGfEpMf0d%ac6xi}i26M!-T!wtEw=tI&N)Ms7fSb0&&kAM>m6 zylDQ4{NKd9EDzc9@b^;+nBNQoMEZ{kLiP)BJjuC;7abQ+mXhO8xADcz-Fs&#dKaL>VCGfbLVO|f{6>$=+Kem`p+k*1kGfGS`693`$ z$WMc60JWg@9pm{1e zzQjc#KRgkNa}ebXe(!1w;yb<2yp#NYM~j;8@cCZ+zxf$A5&LoQr96}{kt1Jk#1lnm zKB{B?5fBfRw|wOP66Uw-Azo~V#&Il8&^o9?@^b+0-W8PPT5SIWPJ~E5ojxf3G|aEp zMSM**pJIMtUJTQgv~LbT^&gJ;sr^yjMEG-f$+)=3BYPe`?}D^b(p`l3o{9d{z6R!H zCLx}W*D*`X&lF-mo~XZ)@zue3Yd#{NEOFY1Pq?0iC5VUaQ1W^c@_HT2mbt!yA%1BwA&4b2{LarXHY(U8OTuu z)F)L}8UOm>Kw_!!%?+RowQ;-N>B!#xWFf^!^89-+vOhH&9rq>ky2JwU%_ICMd&%b^ zrK=DxAiq!pS%Bl20Sgovk9hqqif_jJR733NqJZLCsK4;Lo-jaEoC6U*0`vP};U#&l z9*Vyj`*DZvQ~h08N?A(s_H_=j=O@7e4kD>@SvV0Q{a77?i3uVnLn)#G*LgkuJX}&I zTZbY0axFC9M92!fMp6q|RM&{QQ^DaS%v5CA;QgKiANFtit@)L5R1i7Ep|& z{(r+XC-XB-+m+(wv3+eE;_FAC^Ldm#_&vXD%oid*sCV!isZd~~pQxv(P6}{-+_sV9 z1=lCkuAn@t;C}thN8>0^goz9y$&Vpk_gt=`c%Td@nG0n}`tLM_4G_uaY~$7-{1|E&^=k<@2An33lpe*ZZS(RD;^dDMQut60eiOIJCaOGE2!P zd*t8hDzdl5yka!w+dL`e8RiRDBR)g#-+GqYf_Om;ieIvRZZbi<7@wb;VL!w1eB>=b zx7K`i+xl zeIPL3mWJ$wM$;(|vDnX6F5<2B3n&KCPRYIni0>JM`kRma?1F(K+wG}F=RcmN$bLSI z3&}UXM*WS#eq`|aKzwz;3{rVZko`9NJ@`=k>K|PcKld<-AIgK0GXga3TwkxNvJUr)tBUHDjrk`qugP_corNNl@I8^pk8co)Uvi$%3gbw&YsH6# zK!)NtCuos=w203Cd>?(#9_Q!Nzw;swpGQUYK}SF$@i=Y;d(!_8e7%z<^(tJCfa{9u zgzA}(+r1Qq{C76|>tDDW`AJ(onet$Y{n&~SfB%RR#TZ~dI0f-@7o+2jq`#~n#CJBJ zBjb6zzD*s7c;Qu)hX5SE4nDuCe~UT{D_?W-V~2*LTWaYcD>#C*(XWG}?mbz5Ry zJ00;iOi_Mdd8Fiz63G(;?}r0skg|pDknQp^W>bU)el^|~@%36LlQZ#nUBLCgE%-Oj zDSF8MC!R-mdJ*JhB&2^U{Jk?CULtcM;+xF`REv^2>E$9`fWHrgT}sp-fux@qhNxeX zJUha`k@MyGe~#mw_&ipGzjv1OD{LI{GY;P$A&dPVhQkNxpIeFgH5><83=0>@Hy@o( zS)y0r^8!4MB7EP64fd0=8O2lipYxVZybip*hvr2;Z2t%9lk`uN2`C22o033SMkxLT z%Kv#B&-Dbv^Pi!0cmlTffr&}l^YC?6l5w{WN4)4RY8R$CCB@j@8-Fi08S`n2kp1Bt zRA~?%C0-GTkJ5$00C|q%QO-lWl^e=TJM}93KLs3;@tki#buQ`eiG_&gH=}jKO$NOo zEf(?3)dGqL#C|Tpfrj*BH509GVr(z70P#*2(7YgPo0Og$#7E)lWOx({zjJMX=BaQo zBo;(+e0hrN+^PT_7sRUQ4NLL(^6>f3KtvM?U`ECBKYV=$d}LMi|6}PQ5b2%JVQJZA zVd*5BZILZulcmGVWHL#HO=f0ilFepWAT;R^ddIk+qEaG71T0ZR5dov1*bOR{pDie0 zL;Zix`F`)4!ur1-*qJ%+ymQYz{g(G)4@#i53%)Kz_|yjYg7ydao3#!EUc)~wPrHTK zy-h)J29LHxM`%a-zxbQoV9(&wXD@b0klUs(49hQdCyzQj*#FLb#BX>q>2Qd}+qSn7 z{LCUJ1U-2JNTRK;%8XrzJfpgJ?QIp=8NYxCZX#U2ab83ma|aw+v`bx z;xlk4v@a^a{R9kHzt`VJyZX6bjiMW`p}&mO_)9&)k>O8ioegI1?SR_|AH9`v_%6YJ zC_inukb2x%@c;G`KY0i7kC)wk5pl!lH`oLaEy($|AZYN>L#f%E;@(`@Nv@NAG)?rk z86f`H2Fo4NDfmahfaxo`>28Mvd;6UDd~z)%_Jr_nzk+m@9zeYZ`Tu-7!pEOTIwq|P zcA|LLV1)|Ws~XqF@}num2aY0&_CAbsrWR8^zwx`GXxFO=AJua=2MWH=J%mShkp5o< zAD8`)>iG_8KZ+iMU6>D!)tslgYAxxE?S@2v28;K0wZ>b2#5w-^wk-&6mz@lZ&`ucT zqUhGSqN93dSE5I24lp@y9gS+8Ev)n3B7Keg1O|_GxbPRkkW4R&E*^ErMuInipy~bR zKRDST7YhFJ(X`K>)Z~|E(68awJqJTYqZdcf&OLsAz%*NYcvbV;4k_5<3 zo<5#*8XG9#CwVn$6Q4hAq8z#eUp$@o>j5O z^mYGv#Gks0c5=SxuUtj==);uH)`FjvBfRyQq(e3l{4nu3a&pQcuL*vY#x?N}{rX11 zhhYZB|NUo?|Bs2!pR3=0-@v?yuB{3_f-^$Hl8rwCW>-myTh-I|+XXXy)(ZkM=v{ zI>B$0-HsneJtFdYyTQ@W)pb|GWQ>_Ma7$5|06Suw%METyQO3_x zXVIdT3Z8?x8hk?MRP*X!EyA_IBgySh;UASJe68plC-`?o=j;z~To9MHA4@N-dLH&f z!FRcxbVe4kp82BSZ_BPuYayM*f?p!}PaSclL*9`+yahuwK1X#vwq5uimVeb|7Y)c)+gqI2#N!t1Z3eAo-l<0T32*K zyiY7tzgOQ!3bL!m=MukF=k3>u{+Ff4sOG#`+c5Ey$5YNBUo5+T@DZI)o*_DoV8Hz4 z!J7TbpY22ZAFZ9|n1TQ4_-W&vnwfUE#2H<&xxt~Yn)f999R_dsbvmbQ@2|18Qv4rv zGwH(&ybUPs75?7rzaJHR;WE;hEK!et7JPdcu+gvA^JOm!o|oUf9a7%-aFtr>>Q8byLCrav14M{EhyI;d^^}Pr}CzO8W1;2#)?RsD3p+ zT`a+!heTjg7{+}Cmob4 z-Zq7UnA{2v6MmB5Kf8x^7=63i{`XT{nyEMz?CKqunbB!|4h*A>h|W8*hq}$?2*Qsq z>`44Ztp}!bb^j{~ANf4>`zgVnIFRr+cWiM;kn_I;zvM#N&zr(O{CLXYz?ymMujHp= zdQP)W_`eHs*14A>1)n@X{4^qvqJ4a0UdW+48*hX5{YMFownx7PA5X*a(I^eP??L`M zc0khMA`^Y%G~!41(0+=#Fb;iL{Au_U6oCf!^mgr0gpaSj*MEn&)TVLO-IH{9p#Lny zX#9-4NBDHV8bue&&I>!zf5Uixa5?cuml2;?74PdCVWKC;7`sZyjA;6w+sIj*~4Bl7CQv&dHWOkb$j?f z+U+02&tDq}uhaWvt`~e%aky|Z@oy2G#qyW&4Xgd-f+Fc8<)_nxzt>vAC!a|i>!P#E z4C2>mU3y!=-*$h&`oqI8RJ6AQKTLJPxa=p`)g^04XY2;@-ynT0TuOMWol`!qb*@DEkJRk%{NK%lPpl-L zyQt%v5Wvm;hd)zI$I4WLPi}gD75$x)q|?~PNdB()oUMLGwnbn^+gk9B8_54?4gcTT zlXPahzxC{B7drb=I+atKVzSAbjd;r#a-^X}oaw zRfG>cF~=76W*ZbG!X{9b=*Vv zNX`2(3K*Bk`R}(-&cTl+z@EVuj(*JV4{$SY<8xTg32rL-3njNP#ph6W{aJCN@zD;) z{H5^khx-_v3B8BvV8NGPLU`j-^xr)Mzvf!Pr~W|w?mLYao)Z4W{nQ}Rinn7`=QQd$ zvZDp>*^c8HJ89G*VO;k$Xk5?HPd_U;zlXGFd`{g!eug(Bp}`Y`|1svldjx;Jo$!aW z-ac1!?)eDeji;0U-NnyMI}twiF6q1|_>2PyZ_vIlhU4wkBM5JuMSeCE{po`5rFq20 z!ryC_=r3WvM+pBX5Qyn_vzokfONRK-c`2vxn&@oOMfmWnv_ojsQIx!bbQ;&*>+m4Y zXOV79ZqZw`+YQw3wU-(G)=}fr{f>XX=s&tW@ehBOdJOSum)!_2XumIv>z<ylV{MlXn?0A>xA4K^C`WNB)Hn_Ji)g%i1xacI}*F8sl zVL0Bt4>b3SS1FlW?Pj#kD-I-U&N;jb_S~-SpnPCv-fp;^@WwqU=UKAz380z2>PwV! zh_{P1-U-c*0zdb5lFrCg92d;Y+r&!3>+U_*f47SMW|C+3j*A?=715*3;Mdk~-HD?P z3HtpR_%!&)3)EnMKY@g3;~IY?>G&Z&oFIQ`t$7Z5wdBz7i~Q(-?wzvmy- zcJ)w*tAC~34iJ7}fc;Kr9W3baUFmCZ3j`drz|R(U6Tfv^ju-Clt$Ax9Pj(O;sJ*T`7B5MVB?yqiMRKk%6|QT8Sa3Zyd8`I znmk9eKP7cV-$6hyc;QOwG5E{Jh2L-+GkuNL ztS9USJ#G_i72Tru{s}!QC>|ykb~tEA7ruM}>EF~!d7?XS3uK2AI!E0s_$tBYSc`t{O#h#NmxAv-M6AA=oEhx?cul4p|7m(}mpIl+}@KPkAqHo@>C z`Oz+dUwDntM^&Zg(61Bxg7b)9_fP5t!|}G+pzw9BY^~rwRXlHKLPuzm(&I0nChNCZ z`&o;HziolznmBgUA;FK{hJl$MMK7*%co^@4xY77bewO*=648147}9TCL%aH|;D;cL zSicRACLOZ5;2*q`^c#*Dbx7#LMz4l zidGYzycLFu_Okzr^9B&C@iY7#!gqjOTASTY`1B9A`0tziU#wf5PxwU5dCt2oCA_d9 z?R*R2Z>KnLvMubR9V+y}&`uHl#`h84`s5sk@9qC$-FGL^(R(wR z1wT~d8vh;n9})bZdeQ$d;g4*@3vIIqAJO|c5jMR&2Xi$(hczz_a@g+>!Y400$MLQb zoeN>lCg+j4qYe*po(+RHItSPAzt3TW*J~YnQ@;za0|-z4xWgeI68x);gclS)dj*f~ zuzs=s^#%G@Bz`_~9PyuegYo>>X}sZ^dBVp}KtMw~SaMzfvAF+Ubicy`|I;reeuJKq z4S9TRAK`aw2t!3{@PDId|04;1Oz(GM?@_b|;*ZH8(mAW=g#RYuhTFqSNrylz-nLZy zc}4MOTfy_!62Dda1U?@Tyzw2{;S%AOvK-gwW$PRg;?hP}i;mtO7@l+dkm5j{_D8_B zx0hxR|0q4*y_ev(D~?TRpYbWdo12K=sCDL#3jWx3f`32dkZmRZU8fV?Jezsy72)rO zpQe}kbE^5j4)uw_NAIhKKXo4IO#PAmb)4wGb}{jPaNFHZS!NP#wN&_zA@HKT>Hi|W zN&e${o+9Y+L>QjwYbTwD4|e<4iwLjN`*~)I&i1zvK6WGRgkFO%cN=^i`wIk8(H_2q_;q@|X}+#4hazlTqk8TY?(c1D*~xJ?aa@6) zT~8qXym98cp!dhFApFiR6MmuSJcJ@P^-mF{6|0pd79g9oq&nJKRj~D+qSDU>0CspfBua;ZhSU;kK_G~`rUsY!l!;q z_-TSaHeLN*OiqGb?E;34&KX({fjfBn9ul{~M{YRRe}{PW7x<&Wr?k%S0pag|1LgC< z8u^^OhWN=Ba3k7glJk5h$mz_Xe=VCvLjS#n@JRb6Fk^39%_ID!cE*hpMd$ES2p@fl zBMthBpf97}uJ!p)N7?aggEwvkM?m|a{~JXo!ca}W<64K@N$|`W#J`}6{RX?b1o6c1 z57hiI*ux8Z5r0hQQG=X&VaC>PT@y3WuA=`UhHvo4^nCYbg8xbJs!(%&_{v$dlhJ=y z+sWO|Kh|S)ek|C}sO+#&=b*y4J|(@3HzvKut<`V-Qt~sBpq&Kx9WZa>bB63B*x|#n z{|>FMB20NZqM7(p+fdGP1>bgW!vC!I@Ix%#K7%-B^w0e%<-CR9y~Bj(YUJ}z)rW8G z$oLlIfBEsmFWgQ3KO{QiO@#kN@&uZ)XITq8XP7zh?d9-F*drit*$dM33GC9jkjsPwI5Y)E>OBo9z5+Z_?5b2EBb~H`1A^ zIoH~LFyZxkpW=8ZtGqo0`IwwX L41G2ZIo@;}u`1PvWgFXB#MfwxZ(h{yv zzvsXpt>41$;RtAhf^Uhi@9POVclSxbuQ-DE!`~!6$a>pK^~|{5dl2}417D1O{S6Bo zZ+qe2cpTw9T6YTYsUd^o+`>PagvpPr@_y^TsF5Q#C43Y4Q6xVK@$)|UUBltDt1U(C zjlDRo#;2elw2+UkfSQcYpLfo2c&q;#Ma@V+20!Kk2psK?g1_T@B0v6!apvoSr)N_B zV|p)Bo#1(pH98ZTKW-rS1M;tJ^t`}9g8x(S-+T>@gGMXD`{yqwo#;jg9IaJ~KWIO~ zCwDx@;V1gPQS_e+2tR!lDFiv6aUc0?Z5nmVAh%!cP5jZ(q{BD%f1~JV>2d0h)cDnk z4`)J*<`-9X(k}v?Yas_4?^jM>d=BxUUG@__NBS>LV+Vux68~cr**%r#pmw^2)}WE_Ir!qPpu}r^(@BuuL#~Q{YEwQaF^&0FCzYql5;2Q&Bj$| zp@qC6{+GZ{4PJjX@uy3{&qEz92fdH$EcN>u9MIr(I+sFgjH1JK75%4Ke{L!|FTo!T zze(rJZx@}6#x-?1?eklL+wcv4RDXZx717!Ma>5(5@4S=nzXk=F-%Zw>6L{=8;dgLc zCx}kR9-{vV+Tn$QH_6UhcT76vps$7aY5Yv+`5>5?w?p?d`@#E6biOFq&n95Z@W*y! z+z8|SjO09`ya2M^1`!X8|3c042v;njeU7fBeby5_x^xBU->mup;`P>ZG2vgmkn;Sn z;IG|4c%*Z%`w4#g$%G%G_k%%<-kt}7^RK^?k`X+!BjHKC4@6-s`ZLVQ@C#4Tu1*sE zn=oL5C-t7peFWcZOM~O}X*K8KUQt|))}ve&Fh~x);VU#FP09Bel&x25}xyFC=lMbQ_}JG75$la5I(WVa))%v ze!hqRXmrLlMFEc%{Nlee2|v^h-lLIQ%*S(tkAJ4a;ZUo$WoHsTx-RLz&nGyt*JT*} zjh|?CNU*o#AXtMZ52fB=2Hpm*B)tAn+=vEsd%NH`!pHPH^^t;qQg)L31oar~|LOgS zKl%vy{Gjk}I*{@ zz}?PBKxq4jpSMx2m|l{XP%pt>4&2=6*#1heWWO!i3j7#;{g;ps(E|R35SPPys_6`` zBtH$BSB7|U@8yKQb};>AEy+hehW!|w*6)AJA;C_HHxPf|2MZmJvf0~x`xrjfJ!;~> zM;eJ=cyhVprHLMG0)sUA4c!koB+!3KdTiA?M&R?`cahHI6ZDI3h|ULLNG9jTKeRjK z5y|t7Cc=|z=wH_h|D}0>4*9u8@DIVjj822jaqTDgcC$ri4|4t;!B14b2k3crpn3Z_ z#AtLTzRP;j{!X^F4YHy$hjH&9f}=0u)AZZ=XE0pRt_K4~XGG`a_SLwyIE3&!rqQmJ z>7Elcu04NDe;E^eZw%1qJ3|?V3=95)J4t6!=V~ZD{M|jtZAAOU8w>yUhy%t?bP45u zjNp%MVelwwtjVX}?j?S!*4bbl-kx7g_&2`Z?7yLIZx_o?M^2)gal5ylUq$?E&HBc1 z;%DqS>i0e2A3m3MHGb|ohXlX4F-bb3uhOrB-HuO-qP<|Z!!`TGXF_f^-k;Q*`|a4B z@Lg-(w|3CZgs;=NK@8K|A%lcRS|7VuaJZw>ub)djhBz>>BjJs=LZN6O4)=5to){(k zSAI2$-aV1hpFk#%u9p_+Qm}zZU{G{6W3HJ@7vdfzIH=Ixm!xf4y~?;5w%i__t$Y zhClMFv%NoreQ!_0j14}nymqtT-xs`LGu9{fZ^#S3fVd3*;-Aw`4-o!_A11u+J&r5z z`TKgoYo6=>>t+VW`v&3)hlGZ~u=DvK?W9-Z`Zl^V`2Q8q5t_^-D%?T%)X%B$wG!wT z6vzHMjrNJ3-oB-{F+Rp|Z6o}3hm+1L+Q$iY^=g{&C;Cs;@1NAbj+Z?*Y8~u2(f`s) z(iwY;{5+#V=W7Vy#((s3(lNIc{=IX=zt$7hO3t%nx8qvBMcDMV-;u;mHqp|4xH;i( zE+M?IGshe3`SS=A)^Gj2Nk^m?K<*zfIQB1V;`Ucz7=~Zih4^{DD~cYzn(#vpCjGE) z*w{$;crzpLg_39Ijf6KYVtiW#eOt4~ZH#{7qe=h0mH!(>vt-Xx3(s`O){@&++tV)| zTy>AbMJD>V>Z{57QVtLL`n2q!eFX%Ime|)nqOVJCjfW8bLV}}&;?Lxbgg+?w4$|Y) z8I;)3g0F;}%}K|}12q}_)}JvBd`ooFKr{G-U*x!`%_!=IBRKv~VZdno7qHz4AJO`Zh81nsNccm) zTIl#ep1VoT$^5wvFZ#b&559@`lOLz$yeas}>bKzr%56WvR~$?H?wUNld~d?*^}N-^ zQo!CYVB>#M=VxY!&h`C-k3C8GK_Ys}WyBA0=1lR^uyfk+ zb`t)xR}p{eKa39xBr-j5aA$A-xR~&<3#dV*|LAyxHRGqT#_xU!#Toqto5Eqyw)cOdXd&$1 z^Yw)vbBMZ)-haCdIp9rQeXo)5@k>u}$P(G%j|AVmoqiGIc|woy_4iFS6`dEZ zBm73yQ3#LT?9T$aeC(h*+Rhqp5d;nX%d2bU|a1^c%#F;a6jJ@3?`Mg)NPVzzM(d_w! zuiWi;n+gA9gh%(s58UsN;Exxb#eT>2{Oo+;KfJTyV}I%q1QxVlpL=LrTj~7F2ZX;I zbc}vuUp4*f2Sh(Z`#DVk<i5gR-#scuInAlB^6AMNiGsxi!!^A(X z=A6%878C!Dn!oS7B4u#I;hMi6T|l}tIqdgsTG|ofXOZlDSm#TR6#N8_SD5#`1_MKb zd3gKbuA~$FtHXZ}3Vzg?gg1;4{*2()NzRS>dk4z}KmB&{Kf0pYZojL3Cw|EM!fb{0 ztt&}?>~pjn4By+ga)eLqiGYK4juOVD>i3%~KJ4&SlJk#FCI0BctREhq=9i;gR}em_ z^`C7Bjvj@gO>W26oFAyWm+&z?=Z@ifd(ZW_Q*?Aq9=xuH_%CSPGQ{UQir z#|4B>jZmIXN^bu-%=p21>@mirUpqCxI*C7~CyoRCwD_qPpSKAAZNv>5SN(bG91`N; z8{%_P`*#zT)hZT4NHGopBS)iho>v4ilQn)g_i^TYTiq;c35=ucLQ&dJU<14H~P=${dEVBOmyNB%BOK{wVkxxO8iEx7X|s8 zxt;nQO*#dr+uM_p|9H)N$rfHp{DSu5VD{ej93g!C7jP)F6F2masI)!d)AW4tbb_O~ zf{$-Ri4AL9Tb@Mx?UN@YdK`5W-FXw?f9_^}3Gf~$ z+Wd6w3lI4H3eV9d#}U6l>oXq|{oh_D`l>TIiYWT_^@JBjl8!kgIe!g-#rT;zjCmpG z<(2~BW7;SE$TW7a#gORFpua!BX=;?zxW0BR0yx_JM31)56F;f-hrOh)E#R=$@5Ekd z$9!J+U%ry?20e#$jNt2}m%3|~IVAY?k40zf$0>(vSkc4)=@jlsI$Z2WSM5VPZ!|S%O0soZ z!YA<4@LT^&{!dZIn;%K|_^ucTTDJy}ff-nwkFH(k@DS(UTTcA?4=`gs<5#2TZ}@5W zllgnA@DJCxrjAcLJmk%R8%by6V)py2^zwrP2_L<&!|@qy@IFJZ?flpL9lg=L1=oDG zUHr_>5MD^ruFg=$ZSx49`U3S8{Nh}=v(X>h69Yus6hpW6&her@2m?dg#{b2Bp6u-n z#W9IL+HP0MVf2do9W%)7r%BTJ{6857J|sG?OPYVzI zlh3hDc*Dpgq+egN{`|9#5MJ2-6i58>G~%DBcs0B^2&uP}w0}BrjorwC{ zQ}}mFK7X6F*dbykx?lD)uJczCPjocIZu~UvKsh6iHM2=k3i42_Fl82UhS`LC5qP)#$e#=4AFZdO&sD z$V1U?hpW~(h2Td=LjDFH|421Fc@X=(t80$qe@6Yjp*;2ESIObAf*%1pH~t%LV_fYO ze9dlzH-43RY?FR(6Mn1S1ALqC7v3#={XO?Uf8ZX%C-nZ+9?>~iaeHh9=|f!J#-I-4 z=L+$8nBbS)L3o4W9?Z#GPd(w0o@WnnuVo*?>vaBM7vVn$IUD_vCr@)oc+bpN;SQ#k zo*KRUvS0LnpLF~~MCYcf1lRMbGX;NC@^7u#Un}B9(^s;)TEF&Zpk4mjUxvE9J&A!B zyzXx)|BZ^)+lk$T@39Dp3GH0}H;O)e6X7rF?-*_@`0rq9-tW(47j&M4ci}zCf_LwO z#DuoD{~JZeBEFekk`F)Nkl>FWZGo?wzkKN~Ve(@W+0}X4mq&W?_5|eM@~nw_|Cmns zH2$z!K1Uu({D#(}z2A8v;bVG^wO;s}KrGhpeY?WI&_Wz|UHy(enRNJ8 z{x9Z}rxSnto--V>Y8o%>&`kJ5&GS30vWLkLM$`uR^&vCFkK*A;qJJ0AjGyG|Ac)o^ zcpJVLe0Ts1pxq`qU%XWKr_kPlUCl#*VfI`&e$?@UJ!}XEG&&wPfkk^rbdFX09D9KA@VkB${+%WLyK45MzX^YLzkaIPZok_={HYbJ2X+_z zM-_+1wBH@%_E|7ybVjea&wG49{eD4wj_L1^&Jq0nBx|52h@Vfxe+^z&^ZxnQAr^y=eVX*Q5dK=2y}|Q357|ia(FwN*|0de) zPh}{XI|-lAdgx=NTj#G=v3jpSqavGyX$KhB|Z04CP-xJW523_q)g!#!um?4u@aJtI>=B!iTS* zojfJ{t2N%yYZH!1Ekx1dlH15M+W9l0GwXKi7k_vDrUx7nitMCOK*RH*j=8|yXy{DUfhH5H}+(|{}MmXDc%+? zWdt}#bnMSn7@hhHn5Q~~e}Uq|a=jONbK!4?cxCuw-%UE?m%_gj;oae%V;y^=@Ha-- zG5F+<7#}v+m=}J00pW$OalCsA|1!9V`S0*A*EuBAhnFgTPW|OnhX;9Hbvfxw96~$U zPjp5l&%*75WBA^Vk-t3m1$;p}*8j!dr&Bzy(?0l2!QY)LK4qUl?;k~ivvEyK=eUla z#vA?)!5Ta|l>L5tL&CQb{*=Ao4lU^MciqIF)H%#=5DQVHyO5 zwmqTIA#g*Fx3+PK7X0q}V8i&?Y!mW%hw%T5{9^bAwvIX^;Qvf{XF<(5{Lx!U=PlJO zK@K^XjnSV_T}ms$bM6;04qRDN2VR2sVEAK~r@Y@_KW{7Uwf-kiCZqkxpN2oIbCtm! zzIrkFZ`FC=!2gMR68}0qCld7X2^gf&nfeOtjiZjD_ll$w-CJ$vmt02t3H?3X6Ua`K zlbt-cA4mG4;4fu}|2yr2&k@|V&%EC!X%At%S3*8MuA09mcoy{NaOGK$_4Y}@>wk~H zh!*n5p!~P)O6I8p{Av{KaJlH5&3=y;e9n%9k82+%)RVtGknlP^e;2ec?J&xxF>$|B z2ytLB2IzchUF&GkpS2g^qnh{qrk58sgui$^xnx}xo%to=w@#y8UJ{+nMQ2>=-t=M| z+fd#a)%y()2ECmDu^2zeqZkK5JXw6C`dvv+5B#63_%nG?i{Fp%>uoLgbwAQ`SONdD zkh8%XULAG3oroT7xP<*q)x78bmSuz&9$>wZQ2ZH}+@@-t6P&%d;p4f`8v9>yFzJk+ zbdL9Ut`gPO%L%X7-+h=ae(nhQ@p{ISU#j14?jwFyFm7KljW?vAXp`GI{r$x4Md#Bi z)vp~`Lc3P*gU^?I{#dQYeW6E_PyKH{=9qQDUp^>4b#4~!f*4;?_@oY8zR>ALdzBl;MyV7HH zEAfLKkAp+mxF+>{_uZoZr&WZHei;UjcH1;wc=|5FBh4Q_LU8ml{M6(>{HbdDx&J!i z4}Svz6Aj_Q+wF>d{Xao2>8<$iO%8pf(G$=+XDg3 z_Sbov%LPAHeiVJ4eiZn5U3|V% z^FGz4!%3%6??Y=8oof^)qy3T&33=oz+ll|Vv`?td+cDD1@Z;?F1AFW5+s&1V3%M zg!swVDL0fK-loH$jLy`r&=K0#H}sF_2F1@p1MMW(+rw}u!yhcdq0sh{f}cN?@c--y z#i1?rfALs~{A=t~*1eBu0NY_K?) zHjazEz}^M_`a$y?vtIpPuovt(0N&XXhZ!p50w_DF7oiWWv<_P}G4urp) zqhANR`i$&qMCbN{-@U20F?={9+f$MZLPW=2zb=pMDIn}qXB>pveZ`+o_{~Hpq(Mj%4{)1j74jpX8in#50|JwWf{-Z@_ zod(7X|KD1dKpOIPR){Bh4^@!ES43w*bKc1V86y!W(MNk?wyB;RVh2 zgFPIwitq{TpN8|I-#ef1#_yf#lpoxk9URn2c)i}6)Tn-sSH5^d=QbA#e%iUjA3rGV zkgVkMxa_>}?mWf2Zh~)VzOVXpsIj`I~i) z8S0QZ2TBfGQSYJOQN@i$J(mGAZ<}5~{HgsI$3kA%`$p0~@UPWz<3BJk*H?)i8tnNS z(n~alat?aQUPJszou}GK{T`iNo~;GZ~& zbfz|<9R~QsE`)#KO45f}di%=WgeSjsj{km2@Y9uNlV`4TNU)y;(7W;Z(PNllUzK0m zW3vW7R__ViQFI=}q>_=vGA=Ph~{%cMAtO==7zsxu`GG zm+mP>>E3*L1^-QSXZriIeVGWK#eq_)I}_Q@QdAl$rSrM2GFA~lyT34GAEiux)LY7A zRva}8{C2Gdv;F=xQ!M8433QO^&*pPcHlObAjk-WP2S^4e9obxGqCc~`zcX($;mF=JSw1Cflo_0m(05P<{DT8H@&FNv}wxdsZa6Qb0>2IBbJNrT$Kg z(1u(nW^?^r4ooD{{X>OJqCel8AIubO^uP$PfkHvBR7bwpZ;~z)vYpm_DbtxXVnprm z8*zC6SMkx!kBok1^t&)<0I*#c%;3)f8ae-x$#qsha;ZM2QOpk%O3?s*W+GE)slRCV zmPord4>3ojbWf%;F_g{pc7mC*E_=h*fn0Akw*pk`Bh?S2Om0=S2>o{TW=s96Q~jXY zTmITr%$O_%ul&)4z6FlIb-|u{+}OZfs()2i$t`Jh--=wm(|hAr=&~!@l?Q}hqQO+Q zf0qAygp0uh#IZmq2`DIE%=Ql@`r;v0gHx-cVxK9%WGQ5)6TbJYu&e$rIyH|-!Nj^i zMMH?cbq*9}M)>E5C|}6r+!a6+F5@iuH&a?6U&^kARdue)mdqEz?_T#8hgd|w6#!Or z;j=$&%ykzF&ZJSZLEAWuXiVLRugLcH7P=(>yDL?M4NxBV>0btVGeyt@-%b;sW(c?{ zN`a!=9KddAZXLyMhH;vKymk*xt=RUka-exon!jC6$B2n|LJ^ezOkn ztv8?QOs(pU3fV$trvK~XG&eDU7W#)^eBcLWhgZe$V-U(Uk!4nA(yOpgfM2U36W=PR zs?QBppHLq9Fk)T#;tC^XpRi&ICtVnTUg5L+3Di_qS2hRJsYHQIdvI`R;FffL0N%%2 zz*&4tm-CZ}5VQL-xf1&B(pR&f{!E|q2*U#FU7a>MGqPf45OLAIDJvi@B2FSS_80R* zF|ZF~U;RIzW->9N-(AXf=b)-UkvGGM4H2U>2J>B=sWN%L%fOvxW$}#;b_m=zvjX8f zV}4+=j=DUIK~Vma;jm??*-AR;xI(_k?L|dkR-fCDe zL^Chf4=pdtbS;E+nrrxA5EP@{bWeUT7oqEX9*m`XOf~p0AU{m8>7Ks4iNHSay9n1u znB@n4TW}Ehm9?B2&M=MK~QA)6(u57P4L%NtgVrG=G!Qc}qv=>1;y!wIUH%7L(NPoPjPlp#O3SR{Vwt0ZR4J{_Sc|2(H9hrrew1=KYz(;>Au0 z*B7QrJ#DF8_JiNcbI8+!xgfL30YR?w^TiCp(A@U9et)&+RrX+Z3D5JSA-ipXz0XVp zD-NIYa-C6U#tqvL65&S$JfJq`QLPHM^1BG@3dT_39u|=;0wCfHmGH$wj4W(!rYkkj z8|==E9=zz<61aY;kV=yhK%YKu^rK9FvMRc0CBKWWXQ*IN zG=-3CI8h4rhWM68gocJJO+|p%Z{1fI^7|~X^_5W5;IrQ*0~k>e+1_CG*;PbIVP8y2 zC5$d#VB9RAF0}ZGpCwdnn8(0fQ4;psl*GQJ>>F+>6!ZQ04u)Q%f#Rn8s|QKRgR%uk z3_Mf76eE##hnRul4M{NDl`xF{JhC@j9zXpHs9Pq`)%Y6p;3+}?VPQ3 z3Le-oBrD{QdtfRtJNO<3Tk07=Ca_GE&*d`de(~tJvpbbFEl^DuT&lAZffvCU-;F*0 zZY;$YOlLN$@+l8`aV40PGL|kmOSGQDcjKsI$Zk&*jVgcJRs6PzUJx1PfXFY1T_g#O zBLG_Rz)i*8Y+u$UkLa-cJ=>k>L!|~7?yN}tu*sawLCrSt(S-`eCS|ZE7E>^!ZUiTv z!^H*6ip&ry5X4h2MXiVgU6j#%h>yVcqP92yV+nN$*n($SbWO)F+!DiZ6PyPV;PNd1 zdF%=#tQ?ODsR5)+O~lj8bO~S<`)yLPUN~kY#!?9ti={$*_Yx7w2wx#;>l5F~RT_Sn zx?P+4ZerE&QoSimk8#tgjscStDkQ6XO?-0BM4~4F8>yVN_rzvnlbur3)zv#t>Isp~ zquKhC?Yvy)`Y$Zc6|9u#WX7qCfgyb6G4+E*tml&Vw**G@zrrhe{r_F|`td^;~IN zk;RgOL>+jG%@VG_2o@W*&E6T{1Cm3`-fbnMlwFgl#tpL)OAH=q>`U1o1C`9`iaA6~ z5)r>lu7;CN1gUfnW@j*Y1cXF_UlO(^hN#$y?$04{I|3!U$se;wooHh0h>RM$FWb;-$@p;Dq9l|z(h9g6Lokk+9# zTtto4mx4X|l%RFUs_g`d-3;io4$WJgPRuFhS7dUnm|S}?YJ?I^B}c&5wuMbcBu>tx z)2S5+EAFg1%BFfv?LxE!-8!^5g>|c3H&BO=s9T5TW7giU&YL<{rE=*^=V>+#F9LZv zCjKZ^y((m{HWh-a8KJzb5G0y9JC}BxXGsg}%tu{iBe`|B9|Ei)}lQ4Ybx1?{oj=9T)HY#^!f%2i>LNtDp#_3kqaZi0v9*i zxRLofk95iipx`mlnNMR4Hon&eQOTgy&E<<2L@$22$T3&KCn^w2bA+|@SyrbC0Kt;V zX{llkWn^zQ&G8tly*Pxi&PQp}?AgN@gHb@bi!H-;Cgx);wSp?92A28JO_QxJ!ts69 z-8$4%>`t7T@)}zV!~zT`>(|nD+lH3a&*|C_Gi_ccoYK)t+ButH5cSECXEOU8iL``+H^_)zFY=E5JH! z$YLvj87&f|-+<^vLvJ9AY1$CIf6WNll zJ%a=$!B~XGTByenXs{)h#?>n~|!Yb_-*SY(PjX$qc&C z3PqGw=Jj?<8!B4Jw#W^D)*++%{_urcD;PJ|>rZunf?-0jxlA#eHk`7EVjcQS4&etA z*o?7Ybee1t1-CV|W5s4L3{zs^hohy_1Btm>R6`)bGIeq2)NE$ZY{}->+3tb-fW@1Z zr8WYh z80G5D9`*~cmg2*JXS?H|2EkTE8$xxv^^1jBvut-w!*f%|$jsDRI#0{?_XNievD|JI z$EG(IV_A7N&K_h0s0Ojn=4zEAXeqVY9*A8tu%gr4Ovga?Vo#0W4jI;n1bajZ??Ix2 zS7cTWWDwF4)>#`?>5%r}#`%12(4EBuxPlB;DFfP${c-{H-4lyR1?`e5<#bN43HNU zG9}}GLCYdjFBFKoaJ{YFY_!d*I~$9ESwzfRoq(OJ0xru9i zxsl;#oK4NdnHsI5IoaG&RA2ZOjLfGAxFH@U7^D3d(4&T|sw@eh%yQw6YcF#0vQkgB%TywU=3##XB?|!Xi$vQHMzwm8 z_GjfxCOun|F&|{r(3?d`nn9&Em@jq$G+-;M))yJH>ZE)x3&B?S)l6Vuh~N}KHjP@w z%2p7!^kxN~r`sTCMQ2+Q%ypW*Fat}Gd@Pe5eavZQcs?N>yGO8NH z1C23kk(VVQS6efk%T8;>@=Xu~tq&5aSU$%6SU&}AtDyTa-M$|+2Z^L^!d1o$RK3>=k6H@s*5KyR;VH(Bqpj2#E)teiX~ z7+Nv#Y#-}67qtE3f>a?6%Cta`Z?W~QST^OlZyuIA3bH?354u&(Vxb}7@keY)AX;fj z7@X_h{Bo%mP$6ElluplfdJT~qU~qt0mj>bKA;v=j5MS#Ms`%W(JR*pBn^n##Vi;dg zMw1gQ(Xhr;r#V5h`G3_A0xz@`27GYrVr#=JLpu`y$)UPn8o5e|v0yhH zRurzSUbMndtvvP!;4-x7QkPXINZTIk0#RQr3NrwNic|C1&Q_Q}U zV$Nbzo2(AB{v=~ghB1YroPnXC6d`K6fjNCqKEGn1&(!!t7!Ef5P~9&KsnF~sWg}>gy}`X(ur^WxU|YsdFsrj zzrL<5HKIN+FwLJc&Rf*rvg{5gj{hlc0K5F?T4p2>bKKJ|lEsj_$cEH7Ed`4BXdD z$B@qZRmXT4(NtpnCBszgV2;JzN&vymOq7-Lb*|)O8peQep;E|n8UTb8 zJm+Rt^X;>7q;a+KLcwd+~0uq~S>_4y>WGN1$7679UD^MfdiK~*Yd7w+k2 z*!eh%$3PEa{xJ6aDt?*=*;*ryOWVZ+-wn1#4zKA5%t-)4LCS$ zJj3e529<>r-9ml1?974T&%W|3^KRnGpN=1Z*ZxkQ(uF7q7R_92a}Is_p#=}NUP^`K z7_YeySo(}HQx>#i$2ypisWuP_LdQZ_Cv4P$7VtgV`dK?0x91hbdHJugK%wG3Y~$K* z#0VQ=bE;6X#cBlvCpEye9WL5~JQwVE5UPR)NRGk;nJ|C1phvlwV9mX)GxuL)MXat_ zkj~|cDI5^QZ64e>cdF38`L6kA>^&A5!eViC3@lgGVdPlYqKth+Hd2$VP0);!Ai#N8 zooXs&Q#oI=^j!yZsH-&c8hsn3LEpJCI<7C%U_67i6_;|nbQPjLhV9SA+$w{O8&qFm zr7`Zw4FN1sn6m$d9tccb7-?$#vFPJetIn=yE1vu z?Sl*|l!28`6dtiHmB+h0hy2VLmw?uHJawU~TfbIStVRbZtTfE!I=zIA8@RO!8~n5Ov&UceQNaibNNT)oo_z*0beA|LNLVkH+FiEH9HfOO|8*yfiM zA!t@r9B%ABR-9h7-AhAA{nN*+U08T?aR6rE5q+;J>sKA*4 z3w+qA!2*=6?Rog|G5OYboGHKp?_gkzYZe?+fa~yFWX7fhuwnFP(Z&YIXa@FeIAOIG z*W*DTo1Z+W3AGKw_xKpLEz;P~%d-Iyet(j12{FII#F)D(6QT`2PKSz%R!7*>A4Dx- z)2Bm8L+iKlFO4TX;J3D0WPEc+I`({kV$s^Y2^+jkETDp5FBQuiwfl2rso*w~8UC-@ z&v!7i}Yp~AM5mMSV2Y$^hOn9}smw=;Y1OEF4zEIQ~d@{=`P=qk+MZH?1* z#C&1|@p&m3A|CQYu4IuJ#B4FGJs)-hyd1JATPShDEpd*;L1O6Ha)5S|y^usy4XG{O zfRY2j>g2W7W09knf_FT)8fyJqQoU(T_4>TCD%^7U*6U6kK|9qYiwcq6sa zj5+#p-T`*l9ta#UXxUl$j0H-Yr*OWc6+j6P5g7>t7hO)`+lq0fn;(kgKYMWjhL&f@h76&3NYf>+WoKlH0;i9mU5bB@z1%KNzF>1c7 zg|4M8RoDK3eTouy*-e%j;()Zzo2WV4fGLxE5XbKp2C=wj#5MweuS_>tl*CzC8&#+xWh08US+5G= zBz88^_t1c9YQ@wlKTu3(D(cxKSYa$2J}-Xmx*e9zzcyE*MidH(|cv z0WFR&x*5NLEqiXY{BPPNhdu(7Jgu0-$ER|j-f%Xn#+SID3cWI7aw)aU35)b{t?5$% zxUS{NxR4N6G8Jw*&9@`vJy;sTf$G>eaR)Z`%L}Ehro|a-DT8@Ysf=fXRsq2Re6w01 z%^ky{W1P;79mF<(%n>}BmIvT2=O@YBj67Fy->_m9id)^_61I?u>d9y+sCh;OGz2yY zy{V&wM>{aNhi!&x7X^)55kLxLi?iush-5WZjI5QhQ-MIPFrfEuNoa99UIVR2FV&l# zU^y@Xfl!!$iQkqS(oZqFIu0?hyzR8cTtBEs`B_2k$pAOIP55k;i&Z{`RA*-b$3yM# zl$Sk;W(Pz2J#nEIXQvjN2ZmkR1hTwS1G~o>tIH0a?}6mxw4LTA*t=^ohus~gas&og~NLG$zw zt(!{C`Woxg_jz!Sj`m7w3dRry_DWXSrW=AWpMsLlBm0Af$7(!g1m6##J!U!4gtd@d zCxReXVk*}FP$b}P1`l)|rcJqw+r|4lyL#gacZLC3>0YsjVbwgOQ<mXXEPwzC@)&QfHJ%`85i76;!s>w zcC^~zGGi(n_dk@3W)SpxgimR?LK6M97vI>|TVVZsZXw5wNz`7f;Qdnf0CnLnN=<-Hea)mD45z zsg84Lv_5$$AJ}zgsE7jXd4FUrjtU-YFfyMFnTOknOt9z^SjY$}#liieO@}cXkNpY* zilfC!JQ1uZl82FC8mLu6b;kL&i#jHusRMOez3vXtx_g58Ft4o${XDpnDd15%AjWK% z17;SXBF*_`qZ63t$7O)!Qg&|#=hoShe3+2os#$1ddj#UTGK2IH5J$CBZK{#)3$K&}TmwE?v<$c)fm7 zzNAZ1I^T(TCfwW1(vLBs3mtNY`#_rDQ8o{~d3BGj-WRJNA2(ZI2i4hHmDa2+96>l- zI0#c)3>4t_HSvs} z^{kQu-BI5KVV z6xMWV%J=8ImMM>_CMAPoJ0}kgE2HSqz^~+(ds}*J*hR{DxCyzX6d&UQmH*EYi-j>Q zvjDMTPgM-Z24+qMzv$PlW%a}@pSeOr(85&7$#%obA4xKit=6L!On~B>8=Sg8gRgMh7o#QGqPUT^X zD{rER&vXapYzk*~V=GX973zQv?Wh&J(jT#g94x?*E`yt572F}tE;v<>mz~(YdM|Q- ztv}OZw6=yZve2~!fDn&CnW?05E3+Jj!qJBL1NI=j&oD3@iy4o}l(*K(vMVn#AcL0A zz*r`=YQqNvH@D+HElcBw9U}1iPH2JsAi-vk=*H3curV0&qx(x-JK5$`hUQ{Hz<>G^ zBUCmX`M34+C8)yfH9IPz;%(4!6%~)DGHBS8-@3&>%xwI5B}Pivkw~|6&C8ihdcLxP zhz4eHj!)89Dn!Q#E=z}XDSTp@$5SF8ugGk1&t^h^#QqnwW1{3FGuVd3DWq4Q>EMo< zH5fc!0wDEXVKlN9T(So*d4whWTU`QuScr*rX;JjHNkrkFRq*pq^BRD&oG zJ!~lx&)Wgf3$}^{n^OTZ?rf)~d_u*|EnD&@3PN=7Dk(fRWa@^j@zYQ(WLBLZ<4|#Y z&{k?`+pwx2{V+IxGNi_`J8@9a-uwd!iTI>XnFTW>w_aTLp=in7=fT#Ots|NBF&EPo ztyqqqA`EvY=EEcGWVCG!f?6;;rs-gFVA(2*IPX+f3G-HmLu%Zd=5!KlNcURMXBYuk z9#pZ!#v;^?t%oz`K*Qoa-Z6t$lgUqgP*_)n5;Gi^iw9?sP~;)c<6S6b16ZHWTaN3L zH3l(bDTMn+F(0wB!?^6xVTO{veCN!3$9YD(q9Thoxl9x;?d3T;rlXpN_Ed2WF4S0# zYEciXO$u`II#?PXw=rSbwXzrk%UJ)f9GS%FbA;Hknairo4qCJzZ^qe%WqFqp7Ys2( z(XOe`;}|X5Fc_;JmK zu;ymR)mGPFhcABfO>VJ?zJIj|O5&sR7F2EiO=AROp5N_>1w>&#Rfh+DFy^qCj(#m# za7(~C4~O)EynNGW#!+!V3h+1{v4F6LcYPNQ1cM8DsV%R!A_5~e>S(c8#B>3xmfq zcVo?ZKxEttZyo>-LFU@$ zwI`FnY@8Y}eTP}ui8gs!SQOJaHoo37eouhudv3Ob(>k8JW8#R%*zmx^bS4Q^XO>X8 zxdQ+=>GM^WiYZIDn+9ZRbD{aHBYu{jFGEmp!AW1Q5#uuZeWpbxvZIr(iLL>cG#&!S zyI)lThM3!?#X-o;&*6LiZA+~R$rn=cr*jagT6hl4X9bKRHZ`mbAb!@tq^SqlVF0IQ ziXGVai!HTs;ia5%5yY40I_z|e&$UBvSHvj69!nMb8B$bJX=zuNANi@YJTMCl1j#PT zrhBY(#~!kY))u=>D_&Ci%5N-4-GO^q-74dRMNo4Hi_xcGYS4;I<#7M7 zq)&e_Unoy&Fd$%>DS;VeFc16{rrJ`%Gkti%-(EKc#PS5y24M_kphPjqCN3C?8? zj(TuqurzLPv1}t+G^vn9s1|H+%lzayzIl11wPGESwd+io;k^>l>-$qCvLIg};*teJ z^XzS2Cbp0!T|8k}p#qMbfuRN!&|ns4!MtdMCAyv3V+nZT8@xD}XJb5mKm_F{BK?39 z>4R^WJ9p2Wf2Wfw`tv2>u(*j-r^DQa&F8EJTkrCWT+=)oU#lPQi^~$M2yt^Ij=^q6 zp(8jB-nFwCth&LmtsI2U#qix^&$_Yi`qBXEnK(>Z^JDjB=}N^b7Ag>5mcUk z$6FM`+Hcl(-$FpNeIg%k?|B1Q;g8D*jk_{E!PT*&*@rh?*iCciHyPh?a4{FNQ~2%^ zdOwX-JyKJAs&8S>m1KqmNqMj{W#>Q>jAbRv;#sn0P%)U(;M{6&Zf|y`nIBaEN z@|lPpxnNaG<(gE2a#$+*QzmATsoLW_^Fc`FqL(gI-dwSV90ve1O6(S@D7L;VB-qlU zMcVL2o^)d60FKadc9>0T>PxfoJmLEk{U|AcQ(kH{`!zn1?|L%pwS|S4o8XoZgDZ<< zyAkK~ZBJFpY?Qg%m0a1E+`YnfF6gA4)^(vi#A}&PeyWFCY6G`j>=37c zJW*-p(_)8H-xpTQ8iDBP9fk)96jQ(pu4A)c-~R?q@HG}9|FdL>Wv3d4&jGbBYV+=) z3cOG>RZ3@l$EK!qta-9S6wJ!BlmHrL1+Dh-ZMbA0#Q0mGjo*H33SA_ zYKS%45VwLCvD02rV?ifO`*2!?v1?AM6RQgT>KbFPVlmgJa9F?!cl$X&vvL?rpH9)5 zy=V&~oV|dV_^}J4mOy1{lQ2F{;HxqgA8lBes;bIG?UBvLb6a?l-Dm>xhjD-#?@m_FoFc+VW#x#0>+Y>qXH zN?0O^rv-SEB_5aq+ks+S%PD$*d5c|MMmyU$T*++>nv;%Uc&Id+v9iMI7%p=o$oHXk z>R~Xi=%yVz)UXSlLJq|Qc1~!6)}u=wB5UG_c`T*aZk;<|IiC2-BdR5YN7o8idShld2al#(;@DT=SPKfa1&m5b%bJAWe(^WGlMZ2BYvTmsDG+&k_RXDQ?#>Ucw zdcPPp6)f0SnV+OxQ=x<`EIS1^cDlzGAA)aI6zBrkTN==xVyXXq3H%KD1?N@IE%~A| zRz1qkF9l4M2krA`90gu0<~(8Y!8Gb~E*o1sHLTd)ta)dO`Lk^%`b%emPsFy!6x7Lm zIxSm(bG%wSg%@f0ko*;bX+L5XYbxw^)7;BjJ`x(Uby?cJZRsQ(27Ez7j)Ma0B-7zGZzoB9ZSnZzd{Z^zYMM zi5Cf=><;G8wh1!E$(b?9PF7Jm!{VHHW7Yn>KI<2%BU7%9>ABs@0SVZDX;lTa{T zf16h<6`!D5hQ;*9D5)D7cx+M-GxC+$ByGs@5|A}XowKOvSL$?eTcGe7UngD9zlz}YYM`%~fu6*YLe&i|33NN@7Dv>Ujt8T{F zaE!H7xw!4I(^eBHMBJiPIg=tHd{`vK1+O3C3Q9X1Je6+9AdVR&y%hX~RaH#Id|CB> z*o^NCzR#?ErjYKp7g5=0aHI}m4n?1tTcX>iAY5XweJ5+Rrf;C@k`BdTji3L{}F~*^i^+5bca%OsSKQPaP@^M%DSo3 z*1fcQR344io#QuBRX7SuKwq*3zKN{74rNi1LXLyDOHDJ`ss|%1WxQ_>jZSMM(mW&O z1sohHKF4SlihgZ)Jmb)eXVd6}oRitB((uN#R38>@+@UR7`6&#f-KxXoGKckL7h1Gw z#QDc`zKZvtCdLvhP#rPT(~vgv!sUuX-7pDNroKcLHj%>w$NkRM&@eRAhB!J_k-xx& zJPdIY2FODzWgDWugih(1s_`ps#UB>ZMAf_af84zZd{pK6{(S;O!sd)98W45Fs1d6s zC<chKj+Nc3EKAm`?v4=`@FPf=6jvzJo|G$>p9~cpmOVpcQ?)YsA4>3;4b!i z4^X=q;!a~|kldE!#*8CbtPkP|3Jg75SBvHp&5<&ZM74c&x;sLal~8Xw0VnR2T|f#Fw*IpS^(JT@<4FkfPQCv!61 z3f&pIJ43h}i@s`>;5IBZc42Jg@i4Xt?<}SlRVm>3T8Ns^dW(+ipHZLOzS$k9wSEN^ zYclt%P`M>nTm$O$_+IT6W3GB~Q%g-J6gwCLWL=6+YTRk5d4ddCE;Ab1I&aR>I=A7% z8%4SGiXloeOXPQ(n31qw*B7C{*#E}ss~9(2mA>3<&tCnDwJ5x92R$bn6aq5iSa}i? zx5dx4qO!(v-5sXRaZePF<8Q6WHkBSGvZ`>&9m$5j(zYSF(`YEICkJk&M^wdSn-`p! zA}ztjwYe@U6S0AcJD);D;m_-5IFKJ=R3UuWjkckK@Z|RyXzUhEWV4#t6gT*mz{#Q8|o%rhF+$W zRWIavuNT$e#w`i@f-!ZxZeT?SPr4T4jq#}RT;;y(8vd*flj$8kh>b&;ul!H0a`bF+ z+=~sY6HiO=R-B;baKT-!hr$Ieu?w+-6Rwpo7MjLhvRUqy%76&FDbbCT#pWJ)ikT+w zu$$WoX>aL`w87Ebyy4sId0Y@ zmczqD1$=tEn8(G~24h2O_dGaiDvdSgz&iCmvACz(Eq}_>ZB=er{b>Ix$FtbCD$7b! zFYjALjLg!7*b#Ws`k*$ArFU+lfWLLd$vO9b5Nj0Fjb_@0W;zSC6Tj4qJ$_V2lTW5; zb5x3#BD>EcoAHv{U5W!VYxB}(X^O1qQg8I^9+ri5(p%$J+vEQ-$6|HJL}nTvQ|8D= z0^@_5I2wUvOriwK;+`6NQ8-Ad25qe=bs7cOV+zuZd0R#7tz@bN`^7i<#j>@)jJk1~ z*I;ADP2QBxmcvv?_M7bs%#5hW;Wc@?38{5cjZY<7O`&7sMQ!kya{9nhg9S3@dcbZQ zIN}%@gT|Uc34dfux_((`{V`{%!nZwA@78$w#p5j8M9K4((`6tkv&r9)QDH1OEP?TUdD8p;_S651e~j-R3C=oOi&pWO4+O)rhvhJZ-~aCf6ZM zWAge_+Fn_8)Zu%tPt$8!=HM5W*SVbGrpP<<6DwqM{Ey`^2AvFkSW9~KR>!-&%;OA) z>Gpg%Ku;{=CI2OQ)6yVq!Iu9Hk#Hb6t z%K`=04b1z;-L+hlt$BNBthJkgJd)*>wmYp?^Id78@{B1P6Cz)1+5xIOOtk4WVx0;+ zlD6*|8n4y68O0vKjH$C{#B7H|)%fF8Rp~NiYY;gKtH~iIhPbolm>y%A9LaTmT!m$g zTF51`SRT0pn;EhFVKc~s5oO-EF~r+&aIdswZ;B&x!#R8znrQ{G7Egoh*^=0gwzpY| zbXQ^Fl64GTBT)HS-yq%y&TtEm$B?~5#)gqR+Z!84dW+KV##{9(DAwmb=uv#hbv}NU z1_MyG#aPC>0hm0;1$P$1EXK`V@L46Tw-(*fH3`REt&Vm~bAK+$%zAFXVJ0Zd1nJY&dXN z8gIxc=y!qqXe)2Qdq~Wdu2g=Ea!O(kx{oQtni!nKhGxtR_f>i3XsWC!#s5sE zy;&OWYBfeRQ(Sc*!(^j5Y=F@kcUci?>*r7*uz_NlHtl-6Q6bi`GcTmhqL_!wks~39 zF2ai)PL!)zCAcHz)?Kb(ev4f&$6i@|a9@%9#FR9q0%O+Q!z^B@$KNt11+joDhq1Yi zTL=X*H`6$oB!b{eG)=Lf$m?_Mn;yKsMZq*3KUN5hp zz08;jly7{T#Pq2{A~?)~$!CH0W_)vuOEO|QS|$o7cK*y%B-gB%r(fK~vKwc5V}CEz z^1~P2gdsl9lc6e`5=X*_ze%$D~*67Kg`~dd5(?c7i(-VM{G8f zU|4XT3@>htnHG9y%5wJ1sYN$1XXE+tW8*+CY&;uw{XCpVlrqF!=;Sc^FDjTh2Ne^Z zx_zv9XCtm3VM1Evg!Fr{*I}{V#5-74Zk&sdI*r+&lqHkLR2}gONDTAwt|%{2v!>6- z@A$?lH@syp=5|Gh6h@(_T`-Su<0Z`W{jg@&&df8@8-^&um?P2=H<>g|9)U3$ zW{DMG%$eI6yQYi1kQpbi9Ax0o>h-5cy2Q=1fGo#YiOu9O-d2fo`@oWz<&;eq^LvAC zM9g9pOC0BYa5J)z4}VODDWq5KYOh;mV!f}dZ2fq48=LFBirw{*b6k0iwtHeYek(KG z449C&@_PoXaz8R4gM@LMWP7WZHpCvlMe~$rcHOwr8;p6(rgEzv^pnLsUiL~D@AK8K zNAzSdpe(yN?vDjY;BM5o|K`nWS$OQAi~GrzGJJM37h?`Qj}klEgcHHBZqBT=Nf5LR zGAc18?gnr2(G)m*Jff-{*<6sd*>Ur^2#eoj!EX|fC}rem^{w%MC1sg4k1F8&ID8Tv6%=&o?wuV8_G*2VOKX0k#zsA4$QVhpuw z4oqxlB;-L7x8LDfiMIewzvq;+{Ygh}$rLYYLs_{N24}s!Zo?bV#?Jj<*yEi&lPbZg zV}5_i%}VouJIY@Mios*qmrB%K5JI115n1Aj+>7?EBv(l3 z;x2c(I}$n~XizXgGiPu*K;2!G8G~6GEK}^gEV3%h;^&4K#|1ng@(sNWMc<|l4_Ff}m0Ps1BjGym~b6;{E^W-f3?q@JlVleM-BD99IcPOhyzpyl$a zg3bbW80P*GfM-17Z&Hf2YRSs6^5jC1x3bfwd81uI)mU^b^n@w_oc(2N;SB5i+FGJd2|%{i|@4~C(jY?({)-DmLOtyB#D5$lVvS>f=? zFk^Adu%~Fw^lN1r7)z}8I(v4rTBRrJTA+UaT~Nu1#pX3XslH3mWyd#eAWajk7g`y5>kRS zYjd35ttD>Nmk;k?vsZz#O1Q&-5IjL@xJ2y8Ed#ty7!{7&Z00ntTg_T`W{5nE8S@s6 ztpsa5^j=Cp?}4~!|ELZ)p3g!zCdLHr8d>J;e0d$Z+X1tD@b$-@+v0$*?NX5nCbm5p>$#=Z<1&yj zV=_V&jP)DR-ra}5O_OyM!~!Rx+?tBMo;x|-kOC=j&3=4)4DmqH*_YBpdezz6uVUI| z4EH1bu(@zV9Wy;8YdpNh082i-N{qP;&n9tH>;9ffY?j6hV#$aRpqYpdNn@uO+;@I> z{XDiBORz+SNJ{i#;~jQL-f-P(Y8XekZQ6^AscUl3fnF5IZ!sZiZUML6riLC{1BG2d z-Q+#qnyhS-ddAhY5G7dj1o=%}mhSmy=?E zN$>^^v2{`}ot)p(y1<%aae?=GSF-U_N8YcBquIDmf??d;YHhsL4H#3nzl-3`g|cE# z_IV?@){Pw*=XP7zcWiZ}fgKKiL52-Sy-(KNG*!Rs#WChA49Vr(Bw|CJGk+GEBcA>Q zi&aDN<+vTfLv1c9&Y6j4$_eU`x%uX3nV3A&bz!Z@JJ>2iUQWLGCYbo1GiT(8xt@Zm$+Ak9a7iis#QMirEtxTd^e6+y5CKJTg>-O$JOwOX3STUQ?w5 zw{SUt@mA^)Z7-p*HETJg9$&Zcjt+a3R)TVe+WL5x>4{^@>ah5+LsQZhAOc=cX4%-Y z@n$Q>oo*vS?$V&%VU%YEnM6L7gBKNWVuT5dLsVqYg(guP)o`(wqrC+cE~WViv6~lTU$_fX2?8@BiVS}^?aPb21+~VE)Ha~ z-H6v__W%X$c88cw&Paztnnu&jqluNxhpnvd1W+ z;+Z$dv0!<3t2Z@q+n$;JBV6eu&~3|z6yCb4K*j*Za+o~_12wBL@=T=}q)VF2S|pkW zw}(v=iP>Rz9ZNFS7-q~v7lk*7%)Eigk-KFHTIQN=sUsXOAG7)Rczpb>uJHK;^wI7@ zyjLn}_Rj+5tQL)!lVA0&kXGl|OWexgRZQa(3xw4-*6d4ohRmyOJX8Yn6B}1C87ju^ z4>rcKfVPAlnguCY4d#IiNIznI>6esAY!BUi!_63Z;#=13ytamgc2*s4a2nr=Fx3_# z0WptmO}j=7yu8?Amr>q$ZTb`Vr4H_}hV#J}3=df`xdz6_nJR!DQ3lqy#f_~zhmZWi zaBVvNyV3Kk0MC?plQ_9Wp2?$6?vfay89OP}>i0R=@ZpQGE7N2^0gO)=Oml(6u?Xs! z+YDo^MxPRAc=1F3Zt~G=%z}m(Kze}@viUhW3={Y+GY%IJ02*if1q;&fWQWwW+PE<_ zb~HaHdq_e0x&6*fvqs?S(1L#W-aq#J{B!%ozNg3K^b6u@{Kku7;)Stq{o*&p?>Rqq zIX!;Q`RB$R47BjCoz))y@v{T|OT>TP-=m=N8vn;nbIow;za4SSirpJ`mn3&~6d&lq zxG}ySC2BjXlYAOC+E>Pi_b_Z7EA7VnPFLoCovfp*j`+zEkfcu1vb})UK6}^VpA6sln}jsSb@Pp3`S2gFF!u55CZ2KjzEStPp&lc# z_Iyf|T(giC;}8Ajzm9Mpk6kA>HeQa<71P20(QoD&wL~jP@<@lvJmY;`;ljkvguy&u zDiU$U)GN<7UT4}EC*~i&Q}b#tedB-h&HT@N^YS_ocNm4Wgn7j}WbTN&p^HSMlIiU3 zx@W1e<{j(iipl%qguJj!?MkrB|Ju8s9=B`5p8o&U=l{0&{5SHUZ5jMG!ubD>pFf^k zN2=EUxF-L1>)ii5UjMud|FixcnVJrfF#cSI8L%J! z1@K?wlQWYn%u%m@1b~0^k+XX5dRebISeoc+EmGIdKH_?3b)ELe+@FTe;-0+!DC-W~ zPd|-+iOPL~m3M@H?bY>eR=#^3AJ+Xpe*nu+$5|^}|Lzm+ZawUBweT_48kbL)Gp8Fv ze#YhFg?-k`E}Qrr9gAO;+~3V=aIYUH?z>n!Ts~H~ll51Z9~AdV)~7C)N_sn5e|Nd3 zxbI+n@3KjMyIA^Ko?gXdA%`sMBKcG$j|;D1A|f zxclT76|hpG8XNDw+3hq0+eu=>02KIvRZJ-%_O?9aAl*`)Ln zls~r8^OgG+r6()*hm_t^>DC|O^|qJNla#(drOU7MJ*uK4EB!>}PeAFtm7c2fla!vO z^pll7Ki`PJ>3)W*`)M-O1G7MzS3Kieu2^tDZRhat#$GGf1%Qols-V|ex=K{n|m!; z>4TK}fYL8kdaBYdQF@xvGn76+>6a=!Q|W`19#nd!(({y_rSu6(AENX^r4Lp5Y^4uV zdXdtHD}ABTFH?HC(nlzLsnUZ=uU2}t(pM^dx#}Qmls;0qU!(NPm0qj#9Hp;UdalwV zO20zsTa`Xa>5WR~_}TlnQ|VWFB0igxK3eIv(#I&hMd@Reen{!>ss6%xCSL!qQtp$K zK3?g5rB6_LveG9iJ)rb_rKc*rM)f0UN}r_M4^aAKrDrOAiqeBhzgp>eO21Xv;R#BA zRSn<@m0qCynXU9fr57oEs?rxKeVWqCm431+m!(RduH08EeTLFkDt)HXYm`1q>1&jJ zjnZqCK3nPQl|D!55v9*n`c|c1tMo>t&r|wNrC+D?CZ*3;x~=r5e#0;Q)ZeWB6^DE%g-XDa+M(r;6Gk9bTjtycOH<$k5oE0kWN z^h%|#QF@iqYn6V7($_0}snR1#4=H`C(w8Z{QR!i&?^OC-N^es7G-V%br7u_RTaK%rTyE%kVQ~FY+*DJkR=@F%`RQg7x*C>6H($^?`v(jso{)*DqD}9U7BT9c&>06cFp!7zi zFY6e;uv6(<4%j5C#74@$Ls%}m7b*Z*Ol&9`Ws45R(hk- z14@5W>8VQJq4YGRzoqm6N`G7FnM!|0=|QFcMd^7;e^==fl)h8xg-U-<>9du-OX)>Q zuT%4gg-YM8+?Ol;eWfo|`rnjZt@J%gU#avarPnC^1EsG~`iDxdRr*ItU$69!l^#+0 zCraO{^iP%EsPxa2zEkP8(wmg-DBV{2UZuAvy;x|3m3PrGKULJf$C0`UItat@J{rf1~u- zO7E%ivqeTHnmDmQ0;fU z(%UILqV)Dk->UQuN^ewpqSALN{V1h3DLqN)w$eK(y+!Grm3~O+U6gLU5U>ATm7b*Z zZc6tn{b;2pE8VB`fYSX+PgVLcN>5XIccl+d`msvSRQhYGz6F(joN}M1^d3r|p!DOF zUa0gFls;SO$x1I$dQYV3i&{Z2KHTdDMumHQf{pQ7|NN)IT# zR_T3|zFz64DLta}6s2!f`sqqLLer8g5Yn14>UJ*e~xm7b^c ziwErsPutKpRM#kN-t9S#Y$hO^h=apuJjD0FID=bO0QP>V5P5AdZyBAl%A#Z zHA)|%^jf7~rrOtfr4Lo^BT65p^sP!CuJlHwU#9e(N*|&0CZz|JZYw=o=`Bhhsq{li zzg+3oi}CuOqx2-D=PKQ=^edE}tn^Vz4=DXvwJwyZ^gQK0P3c`#{tr<4mCAjl(nl*j zsPr*P&r|wXrB6`$IHeaV{VJu;R{D6Q7b$(B(ibXylG4kSK3VBYl|Du3)k;5G*`Jk4 zzgoGkQF?*W*C@SE>9tCqs`T|rpQiMP(x)qZtJ2R>^V~+I&rt4nDt)HXo0L9F>9*3Z zQF@EgXDj`X(&s4MdMRH2=PEr(>DMaVuk?9JPgeSMN)IS~zS2{be!bGulwPFt0ZP9? z>6uC|R(eqBB}&gzda2SUD7{SSg-X9s>9du-KOr@_-dQj>2s(vR=>&pEErQfIYLZ#oY^w~;(K5h$lS&UL{VAoVD*b7t zrzyQw=>wGh2c>5!eVx*SN`FS_c}oAI(kCeWS)~^$Jzuq>*-C#-xi3=s^GaW+^z}+F zSNaP|4_17h6bvWM+%&-oRz*tNMH_<^uO!7+>ZARq;ZpSU8TjivB@^Gsv$?|KG)3|6 z^n5aXbQ*<6lewefM1)6@If8O(g@=%tLZ?P}5ScqyPPK49GDoCNxo}@HM>bB8a33;P zAe=(sUgS>XJmK!-&g4wt&g3rSG~ssSuH=C5;f>&KWWVqM^3h~VcrV#UZutSi=^v8) zs^@F4Q()=6g*TBeAlC?QAonL%3$G(zNG=y%OTLI)B)pnDfLtiNiad~@egNb*o} zt?&@?FmjFXAo6f>wQxW3W#n?xWfcJediTH#IPKay*NH;|ttR|~HrKSwSXUQ2$STqL}jyq;Vryo&q+IZt>6c>_69 zcp3Rca+>fG@=N4^@FMcdWWR7RxsGfJ&n4HBTfUU?Cr8Ll!ujNlXkFC*_JrwK11|CJmN zUPOMM>=!O3|BY-3&n536xBOkopWH-l63!=oKyDNsP5zJ^5gtkYh+Hc?g#0nNMtBhU z6LPh1Kk}#Ka^b$@&&Wl>eaJSsP`DS_A?FEqC+{U^3U?+qlhcITkv}H~gb!~3?<4z# z50JkgTf%$E`^haWQvT!?a+B~b^54mg!aK+Z$PwY~+FO?U~pH#s1@hs4v?FK z^U0@@8-+)c`;a5TBgvBBd_K8WcoX>oa*gl?a({BQ@H+B^zFZWJC(9zu=? zk0cKz*9s3I4?HB%Dv4N^TS$O`b-M2#+LBC)WxOAT6i7# zMsm6ETJi#Nk??BrLUN(-D)LR_JmD4OMdVE3W#pU5X~Ij$w~zzEi^#W<{ldlM+sKyi zT=MPYmd~X8$>roG;e7I9a-;BQ@)B}HcqF-kTq`_;TuH7G9z?DpR}1$e-$5=H?n}Ot zTqN9wyp&uh+>0C{=LvTwFC%9PcP59)X~ONucaa0aho1#6C;NpDknbj2!h6a0kXt^L z@+Vi5n}m0fe@<=`-a%eLjtFlj-%G9)-bB8STqC@Jd_TEbcpdoxa=GwY@`L0e;nn1o zJ;kD%F$wk7e$?M65!mG$Hkn@CB zkT;Msg_n_EB&P{4A-_Zp2rnYPO!f;Glk3Qq@LX~|x#c4%e{zJ}B%Dv)NNyA!P2NO~ z2#+LhCf5oNA-_Vd5gtU|Lar9>M}C!DF5H*gKrRyQL*7a*6z)adM$QxNPTo$=6z)uZ zjhrUjj{GNbK=|-8;6Ic7;L2_FzZ*8)THms~)C&5BH*BulmbLzIDr@j3+c!M2IT#+1 z%DvK4f(;{5F)y-$(WJ8OW+OE(DHv*qj!sLD`kvqRsF8xsuQ9teiM42IqbRz=IYW`}P{K`f$W-I|XJ zhW-+L3m!K&pBfB(!LMb>ypCAFMQK-v!O+f0Q?e#UoA}p63;VqONlc92#LfRt;&zo6 z8;M)cqkj^&)ttDSM_pI68+!O*v;;AkGv(&K^+L(@#N@|AT&{Y;AHrLjn& zr(eHtswE|C8bj;6b%x)Aa)G<7=tsGs!?~gTxuJJ*`1kv0qx0s)U96nYSI)spyI9$w zf52T%=%cLYo6cX5?ws&+7GG9$Y)YDQ;@~bQ>cqDuPqcEwqXM`+yJ19t5z21pDDlc@ zT0O}sOUezs;ar^2#lmOvgSnwsgQ5Khfqs?@qRNn+S~x(0{BomIrT&@7?X&O)5pWJ5 zu%i(T> zad-J8OvR|AELPA}@Vx#7m@DVpyxvy*J1^l|3cdxyi!R42{>NLD| z6fTayh4HDuaFF7g&N_(Aj@SpeC(m>L7w187e|ws9x4F?DY!8zd9-kDfhzt&Hw2unT z+3Ifx!`OZ#Y}OmjHE@=`+u3(_PkaQc4*DuT#8%*g(uDn3haUOwe` z%eL2buxLO{)5}D$<{)xes0PmYEMvDF_LA>XJ)FPuyJYWFX?jK-C*Q{>pRy~kTs5nomBd+B-N@2jR-3F~Vgc+7Gp-q+I_j=ZT# zgWbWU#nqg;lWw#;t|gN1T?zr&|qIxF)pBDCFO*oStwq8#{s>7L-gO}@%^q+k=RGP*3k6B+zIyfEc+*UwG)EN2avgaa^H zW5>Z>j0slUo{Ad#ZCPL2Dd}ca{5gv5G8o!aIv+g-jQNrz*7pz$^O$6`_tZ>gZny+( z=5n-*YmJ7qVRgm@&F|s#O<3E4P!n9&Or7I3pt_e%Zx{4I{+% zIP+LO;f&sNaQSfDwL=^@zlYv1qBo*zaZqVF4;hDF-T;UF=ps=SIKQ z=$ol`qJERn#~A&0)W2plryBiYqu)#Yed^gpKMi`rh^`Wcw^%~qjO*#d{-x) zGWJxCYz+mG?n?gKu5|AS*r zwSZB2H7q4~z&G*LS;KLed`n8^0pEl}bbTO)m-CFP33PQJ%Qqo{%MFO*dKJfct>QS; zZ+AefoDh?}9KESs_94?3N$^#2ryAYSFBeQilR$#6MnKyTEqv^dFcF2V3~_8qV3sd+ zmkB%-$$bz1ZA93cO9M#5>4T64!NR!FNXR^{B>{{pubB&-$I1 zf^cuYE7*{D0={7QkJ`J(z6tHZ`6~@7vkaa_kdI!Liw_5e`Hsm+NwQzY6dK?C_+Ax3 zmZiQ~)`vN_gMW52zs4dvhx;bJ$?ubqmBW1#-s0V3{0@g#=~1T(Ldy*&VYHn*7?H~f zjq*EhG4O^FW}Fbtcy2Zd(`I3Qm&C$!p69I*r?$1Tdt%PsG0x6Hw;2pyFSaZ?&KR;J zgDWfo4$311Ei z1h?Taf!yWU0jHS5k#NTGUR;A5x!MgKkA}*D>nCzuIxbjgb#E}>Txjmyk%M$@Vmhnk zw#g|N9PY+Q4>r+BM}{KbA7QkX2LlY(`GJ`n`eHc8s0T|sXQ5gLH-2$)^WSr)W3aQ| z{^sfK$f-zaLvVRsa!zPACL;SvdxV@|#ikCyjr&es`~j-n;LynLnm=`hGY)cOm7|r6 z*Ka{w{>mC1&chhkKKJk45Pbe-Oqaw_0sPusc063BT<4X}uA@*o++PodFGJt*{lRh` z4oE0HJsA4hUj8KFf@T&(KQ+L9!|BGD`Kow4C5Xqx za&@2Y?(0BO3xWe@`)@m*h6wrdh5f?n9;{5~nHusgOLOr;fAkc~^4)VS%YzQ5#u597O)^&))c4%Mr#(nLZe{ElmMI&S`>^-JM7!Y&z_;*+^4v*1~BUkRnO?Ih`s^z)h zG)LMThJAZ);;4jm%$Wy=sA5yIk$o#^7EbBFb{g|`6}-&}UxV=h<}L8}61opH2RAmi zcQ#3o8RxKtws}G{(!+&j(Asp?Im*!(uM zH9-X4#E8!_fp=x$gfoH*rdsxCaELg6W72qQ%<09(=~Kq(NpyOsQk*_yr2IKvlKjT0 zeV16zAu;_>yQ8gq#ulp^8E41j4U*g`Y9Mj9~cZ@ ziT~C$kzotZhBX4k?99M*bp{fYF%9Xh;^^lYkUPo6*jOrE~}`M*<}WHe?pSGi1Xk z#&y>uI)Z&48e~IbOoGvNhzN(uvB*gEPd`|3OG*chBmxYyo{`GLj0g7Y?Hi|Bp^{V+ z#Y2;fg-3y0mgJQVqgDr35;fT31Nhav=CamN`+h^_wGYLj21gl)9HMpw!yS0zvGC&C zS@2>EBmM_^aDf}?TanKu(&PNCBORWMv_})qX9TAtzvyNprUY1Vlbj6bSh5Z!d$F{y zKoA(=@H8JIn#4Txvo>)-$5f?ZR;gt_kniT<4U7)_xH;8}&Y0BJ(FtPc!hRc_z)_OP zC26sGVJ6WzrY7DT$VSbnispna55!!UnuFxbz~o5sA2}WfhLGcEtdC+{V|e)Ztct@u zeU%?1z>rMsLtnyLWK~?+!B^D|f!mdCaMzgN%1m%`b#SM^*Ko!u z2(2n=0vpvfu&d*NmFU3khy`{(7If?rB(Ty4oo~<&9vpgHX4!FA0-||!CLjwrP?{he zCvxOw9I{3}ga*482J-^!DTkS}Pz~YOKJ$leSfIlNd*9#KlVluq?sTic>cMIg`qZ{> z?~M%F=c`->Cr%&4AS=4VIcUt~+4QLCYTBdk;mb9~`))&_7DCOccq3{z@XAw&0KDdW z&AtOZI`1K?8WKB}O_UOGir{a3QUN?F>qM96hSDP;Cnxk_UBXKvjr?vOd$+zFZ$znLMH@?rFxRbA{-1IST z79nN7zYQsSgPr5z9|Aa*>Z{D+>gPE8K@W|VwZI>&IE)4M`aSRsb^h#SKC6DO`F;w& zA2#2Q#drIuJrdc{Q|!kX?eNV3=j}V$8! zDtTv1M_~v629de`0he5k!1(sXdBZs{Vu*W}wPANR}5EgRmobaTUil&5M z#n$gImkS{Hp@*_VX9vS$Fqz56m|>`_$d;WiMw(`99Ge`Lgcu1k9vmu-(5xq3gzx!C z>!c~sPnqNw_jIwExh-=D^J?DG9GV~_nGuJY_i;Ha>);Zec5YYNA-keo0+uas(;c|U zdA_QrW#7VY2l0(wMw@tX4yB)?Z4oBV;VM&)EhDC}QYL3t9QOI{xd<0WhAw$0f*;+; zuGo~26YB9e95^X*(^qDAgQ-4B>RS$xlkF|2{jZ z6Vdr^{)$G~z*vPddficA+5Nv^1u1=(Q5twud#m}+sHVQE2N(Q^2zc1sC(yLHZ=i0pQ` zpn(n;w$1*Kaee|9?5*B6GpWp2I&P9>zjYG_rCg-u1C$x1)aqR=eV;R&g>lbrF%M9MW`gbCW2uncb}XvCs_E$0a>7#>n5-LTh)?I7iV%>~T}a`RdV^#Qc^lW{M+?e8-SvAkG6G+nM{otXy9XbVRbRTBfa$xL(_2MOO(;FDehquS zT^Gu1B!;W(irJf7P$R^|EUfvXzq#ZTv} zYJWU@n>Xc~n^Mh9!+!jx&T`cYt$7P-5bj=VL?=+9G!hM+{PyVtsMK zb&p$40={{*Qo1yjzZCSlx#3wXF}OF|ar@byvdvcV85WeM-+2yFwpo7pK85{7U9b=t zlg`eV33(1Snvr5{Y<>cBE)KfiGA@(ovLjr|DCDkeEdFs6GA^yT+-@8ub-S{J1GQwN zMnVfR0-JH~TTy@nv+}%rasvMs;NjkK;YzjHlVt$dcg9f6!h!i#f(Z ze>}*v(erb{V$hg+Ts@!Tl!`#YWF} zCP@6b6uNBgVr^|>e+(3+H>O9h3WnKKVgk~MIbc8*J0@*zeiwbH)Fs%O`*9yKaQ;Lu z15>_~47`szEN&fJn?0BWqmCJE;+Q-vcyYHZf3w|jC=0Ue9H|Xz)MSjy)v~%v<8oCR zdS2O3$(pj+3Bfn}ukT3P$i{rU46{vlcMQ-qm$m|T855K^1Z&9&FLSonyg|7u?U25& z`H5UkvEY`K7|s6|99Xzn>Ez8Pzd(bCR2p)azcZzD?rv7YE$Rw7sS zRhZ!wv8|nwWV_?8FMp=Qi1bJ!e_Y zBuur`3$JDI63JRP<_prbb^lWD^5Hr&N*YS`0^PkoOmjzJ}_VM z$$87T=rC&{J=r2I`bTF@gp2zhVq%;>7#EwSiHpZTNYBfldTYf)COvl>Cj|xKq+C4d zkq@em+zn3<*LlXp`-S4-YH`tRC#b%#8ZMCFkNvF1r8KR#>_@d-{4loihNWcET4ud0HuK7rG^bb5v@`soN6^-a zc9{P982C_0A5Izx9|pmP;PU%Y*5Kyg@;|23$mdHbTqLn`-+~#~QP;AZt2lem$8?Lazq!b9j0bUypO8uKaW= zP-Z-9@>`T>Zun}ZN-E}@&h5-i4^(E7tP^%O95M-#@J|8A zB5aRUeuCNpJ(Ka52JSqHfEh$t4-<&991318Id1~+IFGjNj^J$y=e zV8G(tjnAJfjDtAJF$}qijyoqMIK0#MzN(k-ngzr~UfOOwQLqmdY!4Xz6l<2UMHssSePt7fQ&5lwh}7S#yd?xFgzQSY6~`ntF7 z{cNeP|3JUzY{Mla?`Sm6V8iev=DwM*wx?n?Fr2SZ>80(w1s03D#S#v&`a|In_wiKeA2Lde{HPd_NB$1KuL;V3DBMG;@s6x@y| zJ;Df}w*hkcn3xqd$Lv7A;pwAq1016J4f8XavnQGkB04GK^*(lFxeIA*Hk{j|DZ@Csp{YW)5%Pp5l(RupXbxMF-_=-5&Z`9QX5F z<6kw>CH|ovl=+dTZ%jgkUOR{L*XGV9fR~nFrOov+H5OAGF5ujPyAgFC(DNQ~&#|%T zt?OW=rmMYbD+US@*&^dtYMba`W328IdeWE`OEo-kQ@tS(8q^dN)&M*k0!J`w5gO?tb4C(u-40v6{QY{6ML^~LfbzH{vb}J zXrT_@f)QN4Fd?|!ZD6Ma2Q~ylm!#a-$sU@IYPh?(IJoh%cJ>)pOWy#)So&!&d|ZmG z={DG-P^!U!9a0ut7+gL9tCF7umtVjgd&_=jihIMBvQGA)iQ?5MW{Dfo$_;&PAIp0~ zui_?q?QVd(aOojh1FgEPB4$qD<6 z-jWTB?_O@*;`rXNMnX8H$GhP+Z9){LAF>xN=kbg!48NPidv_^^gtlcOfzHqz>dP9R zbya$Vh2oxHncm1FV9#|up>kVkV)-|>m+j*M?DRuf+!R{z8hoX-*it$;t71z+?)2}k zSbo99*}l3xjke!xvnKHj zoO)}Y^W{5R3wxtR4z@XUYskTgR2ih~02x5KZch<^CW~8%>(O#E8awj@ zbGC(OY_8icIRH?j?vI3H`Q#iIce+(B#dCIj8?ME0&Gq%+Hohzuj*sng;!ca@Qao#jZ@y;)|v9-K0gb92ydq=5lu z5-^U+$y8vFaTp6nx$CcnhPmY-Uk|L^<2#x*+x5}}46lmdxe4YIGm0OKx{MLoeXRcG zz%>Uea|Oo-*uL1;jPwW39+g(V2fjHq@ORvpI%^sy*Wb&E&+?09bFb_)nD@om7(LvA zrBifX*V)f(_6Bj$#EUR_Z*C9M$Jli4>h1$a%8ucV;*fag%@<;Tlqnk%RXc7vJ_}X{ zxv{bS6NEl#3L<+lVvsd47<#Y1S(1uVZ(Sgn!#uDxOJM`twLM)_&xTth-}_uBd=aC7RZX`#2 zRhE=~MtUDOxd+j-_jBX!TbBCr$=FVe+K)7FP=F1=27B{c%yVDm<+uqoFNYtyooNqa z(PH2izB?|(7u4q5gnjnJaVW(@xNhHbB?lT#e_X@dDos``p2YaMbHp@-ZJDD4McU5qCK0c2_Ji?23(eSYuxfRyhJWSUgI#hqS{H!fok0(hsI%2K;Jn zsL75#iT)U?QK2n%%IL1<49gsZQ*o<>b2~hvYyT;1qO_WD9-@>T+MRtC#&SD-OD~lu zy}%gNNzNc6LO4Yn%aUal>?8ejD{+!#sZ5&TljLEy8c-@Y{3vhVyC(JtGxOO%;)n zrNdG>IZ<9N;^hbB@}Y#`J$GbPeAtv#v8iO(Qe>EO7W_vc-GmRCKzsWcU98Y%F;=wlDCM0#E7VDYtrx-%}oP6^VamFaF7kKVsz5 zqd0F}XjzjoefKpum)Jcl``ryDC4XZ|>}`g8m6e{y&wI*hS7DXm*-~HCQskvs>tL_L zs+DZ7WIV$CHx8YM4+;%fl;H;0e%xN)#LE6`W#EY0BtJPsj4wFY=QIT@XFYCda&E+d2c=ms;1(o0Nr)_YGfv!Kj%GGApb8m?L99Exw=yu!JVvRU(Nez78g z8h@)58s0Uy5|hv^NTp@xjY1gcQ*q{gIQn^nm|byHg41a=gT}+vIM9?eCF^Qu!sWfu z{y#G~I;0|r%8&0DKOh>Mqhdn@4J=SpOA5c%CeuB|o5PcM;-h8eT zn-e%BiF0c*a&pd3>|xda3@r^FoQdy9mp^;)AudGts`yY5D#N$+fm`uR;=;$dAmLm3 z7}Wa0awxN0g|D^5LKs3AONR21J%K< ztK3Nt(RCo~7uadmF_8K!6S-v_dSLl3Qg)PafRpg8Jd`te7^>C>;oO-5$E=j`B=5lU z^kL)y4oi2fA7#9}2(IeKo9}1y`_<Sd zy!cU%=3#tE0k+P)BT^>99KP($V#MTG!TOs_x*Ir6LF|TwN2H>pmN0(LKr`cZmQE}I z^wuqb7);kQ@KnLa8{zjc(5DQX)1sxvh^sNV(FuxeG;lp(k7BP48#p^chy+xrBpNA0Eds+Yruhs2#5#SOP_w@bnx9UDs;VvlNIR<9=umTS?9eu1D&AniZ^*G6%pJY zjBd#u`1x%kaFF?nWcw>_)6jNqS$HO@lOHQ+&9Ev#94gsXwjPIT*{#6fK8dNa^fS$K z?PJ!NHt+_ zoY2@qcu1w8c_(5MzzJXUNb%Kod2ay1%JRbUI{M9gM!XajOd8NGHlQcJKMsxcb_{M{ z0l5bwmwwoT)u0u)#7x8vpE2C9+BxC5eiW>IA!3Sn(s+-~9r*dJ*w7i8JTiPqlihon zbRw?B?(Z&7pr$mRH8M2p6U6=%oTZg>^R%N*77h=yrPenYJJuVa#+xt7;RFl^P2)6& zP)%L$ks4EDr^BV1A3{Bm>cP54V`bbo{irVssfs;V=$>a~dqJSDpM@$U4+^7dbQ+3z zL<%8F{It2*A;SH6#bJ_ts?QA zHKMr&flUSCTtxGI#uFHD?+A#T0febSzbfxHfa43`7$3*eV7QNeIUmw8V#O!((PJ>{ z+agmu%x(EDf+ygP#y}QFIhimcVKE&OQ{6 zGFq~bu=b;nuro};IIThCHsiw$|E&1elX(-D8IVA4$%_f1QE_E&m)n^150%}6!!E`M zJwo@`m+TP4>GEJGFW{8BK1eMogFW)RF_FEF_w9DRb6s(jV+?8@&U2x5IG<3)aB2pA zMAg)2U)5q%F6^h?%Q_Z6@|Poq5}OQoP+BadI_o`@0@}rG-TYS0^h1s@s_hf9Lx08d zu6}2~RM#KUw_!msC)9vSGweI`T-axS8dvm+;S<8B@bDpXUa2c>9EQlyujB6Y~Y`| zdE>Y~y5DYxXWNjSCo~^}C!XsISdH)5!bV<(T_Zlacu9)=x34g&GIp++`b+8o1>}&h+ zOe|!=zR<2Hb`?aAXQWP6{Y8L z27Z5gU%VoS@65LBYw0%{cnLypUT)9B2aGM^;j1de47&MFdm^utBd~G5<~rDZI|;Xl zNorPag2DCvxNe_K*B>C*;#f>l8SLwDa0m`)h#LkoJ=~Ann~RDKKiz)iUHaf$3?G`{ zLt4y-PhW)(=oT}2bVXX;W?J5Y1TPn(i^4q439_pSXMF!NTtCFVWLfba%Z=go9?B0FdJ%w3C~0 z0r`f9L4TmP$j}u%Fb06(<|b}mOgnv*g_3_CITtY-#KyNaGR}o^L98$QY~GF~3-j2? zGBzsq@6}CgEV47~t6Yn|j_;Sr4X@e>8P5v)DtF)uQjisW3$C#I@2ear_u^54@XzJu z#fSMovagb_80QNvD*5hntbpKIBJLShzCs@myX^2{ai3B1iwRcQd>PlFLY~gyTh7G= ze&1a^vDSwMoQxZgQgnlu%3Xu56vx%^h|-StW*|yCO0kr@D9DrM3DhABR8oiBF)Y-=ZmLL<&lub6!Dy;+ZLqPXoRxPVckBi)M2`cN<1# z$yVtCme?O_F~IZ^fpnMobxR3`r(lYW?CFgxb5549<*9<)K{$aCsmq*!8uN#zI8HGg zu$XO5WEzG`@=V@Ty^p9j{|5EoJVYuxJR0^aqcgmy3%~>PTJzyW^J{L8a^&rg;P$rB za#C4eWHHMeGx1d&%M!y80gMrx&S#^-cKodw2`Ad$^P6&9>a$nPMap^3K=Ka}`sOS| zD8dvyjXgd@woBhGR^2jWT>aN6cm*fbwJISXri~ZTTxMQLG z9n>g^prQtoNUm)Zml<&zeQ)Ir%t_fs%~8<-q<9It1XK=#iCTThb)U)u~3{&RmLAxp+6=I9cv4nl`Qnz z93%2@6=E*{EjW#vPLFTqS?XBEU#9i2+-Y)3jGv-MP2t{${d;jQqiwX3>1neut!%!5)m7TF|T2ITl-HG!C~NfvoA@jilzfFY)sA_ceh zLlHfOj#AZLUz!ykuLOJY%PjT%>DPwTCJsYo54N&FV9%9-0ts+>Uz>HZLLclipg_V% zm2-7MYwr-Z6!TL64o}o6m7v`%X7(dG_&$bpUS8YQcwp1xluv)1BBW2S$K%qd>Ayl;wCnlV*`Sb*k~ku zeo8NY;xFSCn2|Z*who*FV)JPXOR*B>qaxCYxcEnQ>@aUfSo9=>%T zeadV(81GCe0S4~of)&6ak1G@UaS_)*?{cwC-KoOSuUWdNt^O1Qm$L19`R=#L6I$M@ zR{jh8gFl+(tgkHZ(Q?}F!)9&soFS~v@8))yHQutb=|BL`m%KSTFr&HJS{yX zU<~VL^P7`Fbk<$u-ee~f&PVxg24Z+EoH$HG=;FhDsC`*Gf}4!FA|{TbO7NHu_R`2% ztRZ2q8HtxbNSv05e?dapMBMU`@2tLso38SAO#XkYW%e8s&T*JZy=;PmzrUi1?-2?j6mPw2YRQ>yR zIvVgx__lKm(Ys&E%XT);P-=6$%D1UU{A zV1kTQ+2l~r`&v_*Ij-`JcgYF5C2zuo{*dy}?kD4aMXR-4d+7NZuwcMK;i)Q<0pJP#nFwPUp z^!R$pz#^`_BT(B0ud3RQ*l=e3MTF7Y0@{A!KTqnx2}IOf9Qmt~*p*Vg;{-@ZW`+lh?8j zC%KLxA=JRl5oXAE;aEa+t~3UBAEGnX^SzIsPr;c4q-5$m4Gf|_(KwT*OtzEes+l&f z*<>_)`uHdscEWBe#ngExi$MAq%Q@jH;PniUN<#VT&p7 zw}zssIe}`k8!9AfHo4hx>sV5?u>9^~)LA5bmK9a(Dja{4=B%hY@8XNhJ;Qqf?|wnY zOh9ksF6+hN+l4xTw9Y#lA5z_Ldv|)Jb(CFaW_!RR*)#2EOGM#A5o-?5C<*IvgbkH-BJ{+r_YLfp} z#~&xuAt;`$(b!AVOzJb!`6HG&PH04sE2;l8!{jRq_EWvNfvO{^DLUxG2FUS)jexq~ zGIk~ZU*f3HGzX3|l)F=)s@2%;c|#*Ks3E>y)&rnML3+O{c7Fw2BC-38wU7f*Bf-s) zK~G9lC-#~|bwUGzyj|3D{JH$wBT)6S;rM)=N+M@#{BMS-6(SEI`bmhX5~5B*>=&pS zXN4Fj?t|mknEc#H8i`F77biAZZI_l>)iXINbx@$Hz?6F2DujzK;sYRr8iq99#`aBz z`H?{#00kZ9IBg9rEtR`6Z~J5Au6EAO3$x0OtK5~vkDS~3R_^M;kHXvfRPO4=kCC@^ zuiVwc+4+dtd)xl}Q2kBr=18o^g4(;=D%&z|>ruHkt1M7ld*!yG%I|lUb*$Xmt-O7B z=f`Zg1R1(TRDV!W?TH!1_YXUH_3ew@6`tPG<;jf`(y9E8bMoKre|fmJ%Rx@&mSXoavk{{6?QtFaE^?QU zT*R$?MQ$^%51sISmK5dw!fadIzo}RkOsyNT+6kPsx~Oelk^4pe)#1!F-T;b*GrysN zmPK|5niKPtzoLwxg@OAz9e8j?<*z7Y=*Yl*d%EcXrA(1h0{3m;nFlE*{;m1_dHe_p z6uF-u7MZ&Cjx$WlC{B@#HRrAPCMI+Q{mO24SsWa&DIv%6U zD1#m{18mTHvi0zaxlZh@29vZs99kJ(G0#~s#|do=yNjI_jo}c)rOpcOQC|@W?Tv=w zk(09?$=5XVp9^uC3o;rLmJ64fV5#cKcq0Q0IvPkwkr?H`DB(%o~EsAm|lB0$- zPUD=eAmQ-NPn>*SSh&XtXE#Mc^P+BZH1tU{pZ(}dhlWEd!r9BiaNvaEG$;0Wg(PfT z&?6FiNR5q#)`y8~H_mDAgtkW9R;RJ4PbBnRBzt)@^o!HDsJjzd6>ePEUiGNyJ^kk}?|l)!F%JB)d71|Em*P?qsu+7#5rs2@w;d8$wKsBX9~7tc$wn zfwkOU#%MDM5u~qZXs5W(K&t&Bv1jWbse%RsiiXxkIHBFx)H@tn7+%2yT^wuVG5P1@AbJz&gkJt5wBa}=6LDZ$;P_yb>D+gW^ZfrOt5~98zoyNs|oW^;b&{5c3 zgEWC~XlposlQRhIgc}!U$+lc>(q!`*(yD0oGUUU?a>AiC*iIp4SQ_E%oG#ao47zzj zG#heS%k9zp@AWe)lKmrQrxO@cBP)7r<>SpN8Z6C&@LyVUlQFk%w@6M>}6V3iU z;{F&$p_qC8_GtEY*=t=Sv?Lk=P|j7Y%P~O#k_J`ERKT?Bgqp+I9|?6#q1Ule4E#V< zwu&ZWJ^L|AskS$tPmo-N4#w2j#EKLfU<7Z&S70}4hdY{uYG|1g@)+x3_ak-l6qRX+ zX8){~OpCCV9T;`Li42lWg}#pFZcIys?h|gD-wC}(+|`aTZPRM?&yp-BG|w3{j6q1tcCJv%r$u;fb?BDtxNHP_ z`UNB#bOv#(?M*n{;Gkd2|GeebD|6liotq$cm)<1cS0+o?oJ~-9<--=o5BCSTVY2Fitd4Wp|={d{s#Bb zHG&hyl0z$<5ZHM!T8iZ3?A3mEDV{6p{^DTo*^Lgl^1s0=8dMt%&DThuA|ua>guYRw znDj^8Rg@vHOWr@nap@J=Id;_8&^{dcj2Vf(#+5ZQx){97032BVC7i!BlFw2ImoN2& zma0{o#oQqTCFZNdxL+7Kj9u;gBpPBb3%DC$tT5bWM49en-t+fkj>D{bMaQ=LBk84NB zpHQM~CQFU3Q;U~}8<+K#z4cSmr|Z`Y*_-F^&otS$+F#=gVz}#{sb)Ye)z3N_#Mo&U zMzh&pgf*~Q)wG7F`)xG)Yg|w`{|h_#+?8Rxz|NHpE??uSIqH6|tB$k1Xg>Ccidu|8 zGY#UtnYKB@16ZdYBV19*jGT=}BN!|#(mV!5j^r!UIP}7x1osPd1jCbw-;sNdy4!JN z%Ct(#^wgmaZaosBzR&C+W~|cOwdNGU9R1v^-jm6*l?o6Ezu!J#)B-o38NdIHr0AzU zUC}5vEnI^yR|9ZJ-^ftlcZXUqWTF&fOX{U1#UF&H7*0( zFsI;iS|ebW{N+riX5zugEtiLziX)8TEwcAS^9^>$(O^Ttp9=bL5(DRp^2`t!5p)t> zKtkmjRM)VdWSbri?KIAsc>ouP&GP-8MpZC4yrPLo7o3w7&1S6bVcbW-s`;xOuw7#V zvj*TzFJk1Q%6ZYyt|$?I3N8<4gEJy>SZkvB@Zg1!i7XRCyJZ#wB_{3wz%^D=E*2*# zr$~z)$Oa%I0E7P*mI2vlAPBN(3IKc=&>}P=lX5`;CkDkHkGagr_kb+MJqxj@c~ihF zYF-WSMWAP@01P(B&uIcOAQ$}xLKqVQqmN}|FgyfHB7;U_(QxrpLxa$cMLi393*P`> zQW(d;8{wEF!kI2818?kL1Vffz_@A9X93Rv$RReJt)A#@bYH|c|tfQw{0)rX~fEypz zG&>)*^DP=svk#cTAFgO%eE3LaI*5mnpy_9omJxOar~%CwBm=auNJc=%SUlKfNly?B z7Pc>-5t_;W5i}!V6M%-n4ge6G5fYZ)p%V&+HW!34xaNB>j-X96d$9lw51}R>(|{u|4XRVvKYwjFdm$i3eyvrj0lKG9 zHRj0V@+8S-!67rRVM|y;0>TL2H0&q5L*>1301^wk0lDnq5JfcqYk-X8&Be&%fhEMU zaQ?<{_J(k1t{@9$fFMlO6EP56HuWhWzyOdlHqMQgo5Z74&W&ZC9BOD2P)426Y;X*i zMtVr0834RM&i{fnDMT|>CXr4nPD*K(rdF3@2tScOt0qh800-!-cG6aTn9V*dK zL>H^TGCHTK>5cl$c$%(XIX!Pxh%}ruoR}j4Flbo z7I$i)x`K7Ym*5*!IKzM(8o5SLM{V?B4M4|v-wv0IivJI+@iEQs0S!0?{31-lGzp-| zUMfo;s17YuHERu^(bR+j=oU@9bOpYgp|Z>3mqwNfo?r~v28bbe15yzJGE?Jx{3rlN zpeFl!V2&USMsJZ0T-TaOl}=F=gXK0`!8R7~B!*bC4{>mxqvgw&ONc_Mr81Ufd#%OK z&k}?Zeq%b`!Rw0*Xu%sMObOt!r2XE>U+mcK1YViGoCXpI=My#{#s}WfxHE$tTWyWR zf~*Vi&5K!>(_O5}8#)Qnu+so`5!6vgpPnKY+owJnF@A%AjoK7zkmCyFxSJNn1N%{?@+(UBEUL&67lZeseGdr-Ihti49pq?xXNMJhMkJL=Hpht9uI2)1^W$eqqIyN+;uo5%@8-r&Q zux6ZqA6Ntk#IQtNrNszlh9^+W1;0w%CV^-`Gpy@Ow;(NX8Mz@Ya%oZX8!U9OA)4h1 z-zY@GqK)R&2}3D>V}Ol;GDv~%7G}ci^Ds&M#nof}MjG@000Pno`{0S>^tTX}5oD1C zstbWGxDp?=VB-o+e8{Gk+<66F3b12hG$w4rVw@>SYnh%hc0dj&MmWa@IeOjs{}!Y{ zN`_M+NP~f`Rkux*$8C_SVj=`HXck5-*gDal&OcQoblm^G>egvAq z!U)%VZQ#smgCthtgNe-mROFYYf@g3A2D^yA!83W`Y(kZ+D&;frLtCW;REURX{ls{T zx=RIt4WyY5bO#NrB=9Qt&^R|Ml1&6)yTFb^L`V>hB`)YY>@LL10q6lOcsZtzu(119 zwGV?~ievgxJ(#uDk&LuFH8)pdZgW(tZq}0iaKpK&!=`DrHvt=5FKd^Dpt}W%)zEw& z)I{@tql2<&yc#@(@N@#%C_)nrePn9Iw;L#fVib!JZ$_C}G1f>i0LrCoju6Gc708bd zmTv`L7`N^(d)FH5V%EOUrw9)T=!D(R<@WrT4pDBFRM~{Mg%C~XYkoV0k*K9kO`VP* z7)--_2By(a!UL_>WQQZpZ`FdCF_vROG&m#{b~q3A(98#mfXytGlwlemN0Js=5Tl=Y zCfdxLpobYUZy}pyARDKC67h8zIZnzfmoGU}gMK_Xw6wq^)s2ApX;6_P1fTS-xL&XX8t@%GPp$JrUdn zf-qy^OE4fOpGYP^gK#o0S2Bu(Jje^67>$A%Zr}l4LlXL=E7r1Y;DZ?n9mhR|!)?U7fUR;%aamqR5DR?YFXSnHz&e!4-Of2fXb z$zmL4gRyR+@Qa88F=a#rY82HWV8E}Xy&TP4jEO!hlLbbY(5ZA)G9<3|7>PO z!n7J4*+lQ=hFL-o+=59Sb7wg8xk87)od!+WNMJ@G-i{FfjF1vB5qej0BNJO_^0$gj z)0#C}wT4zx|91MKx>M6tl^@6-+r ziCv~2ajx1zLfEw$2UC#)yI;yy1r{dMmH#aehI1c4$EXJCVjTa{Ug7*-1pczO;gQ3Q z^V(?`sY_L>!8RBz)i8dw{Y=x@PFSr8h_1leS@g3KT+13z1*l2glD$zY1b!~Z5#p%z zbCn4XGV9LgdvsCOOi2Q8kq)+}hAW_&z;2zc|kW(TZ70ks1J zz;&bf31^`F4+Sx!82pr zxvFEDHlpdLLXA1#@F%LSPHm@7y!A1E6$vVs?2r<%}}M_J7!vGhf&06*WR79$2KmT zsv2i_!`|w;>BfrPt=v>76U02f(C#|ztBEk#;?0>wf0Om`6MqhVhd*O!EJGBa50zPs zf{M?=7z6{{>k%YcX~2;dAT2mHj!i}BSaJY_nZYn{bi)QF+a^*8h>Iy$|K!SXGBq)L zR7d`1rW=EnjnOv<61WWdEu5SJU22i)f*)`s--Ovd#2FA-7VcjZ)+I$05_xSp7h#Z|^8K<&91L~=_{Nvu9@L+d#7!-3FSX)MnQ?KM z2g*8_<4}^>2-?EL*DK8(!l;;?^2 zZk8gdKT9c?H6=|L5&x)cn75)2kmwM8_l1OA69r9vFmKx89=Pg<1Ea>n#+&Cpar)5EryO|98mkp{tqpk9% z)?(mu=HANI%-eca?#?R9sl8)c<+`0^S(UrHaXhs=YdRNq?A-cVll_--YIBO*hTBdq zu65d+SeN;xYQ9U@O3{+qq164|&a(Y@?pB^{w&S}jXzAd%T^8spSyNLHyTzO$tG%G@ zjM@%MBop^Saq>*EQ~rWvd4xYKv$-VnRmqU1aox|jzsF%`)pp?>`=*^ApHb5z(Bd_@ z3!ThnBYi99=(oPuRQ<7zUvcw6;*i=!eBC!xYb4=}<_!Z`Knofj$n1yVq6Jh;|nbuv7vhD59Fj+UGg~MqrMQte4>)#U2+~^%a zNlt^UOtA#^^&l|VV*!nxQ_L;8=f%2wc3!B<=f$-{+npEd@XdLl4r`#dPosB8qjyZB z@0XxgHte4uM`C^0vgxzHZH`}bq7Je(@G2RJ^QmKjy2jyevAZf>Vp5xG9a59Ewu{8N z5OMCZtg-VJLvf~`Tg@^QGZh8xvZ!*t30Ud=Jw!ZGTx|rqG9R4rl z|B;USw#Ep5>iE<2Ay6hG9zN;dj3JMI#Lqx=9>3w-!8@vj@6hoh-W7^HX+M|B;#cxm z;{I6Fe_p)S{tVX+J2oRSWXo;6b(VS4dhY(K6f^x7YKRXb7w>L3{kfZCPk6|N@%_oB zc`wp`gV#uIMlzmruMqH>Xyzs_DjMl6A1mnIAH=sLzMiThLq-R)#-G6Ir`X-4+?%{d z261+fzjshX4m&HF`B}98%9fR!X6|6xw$aqy66yba{CXqqZ$+fs=mr zkanL_;;W4KllB(wmysdJhjOmuPuTsq_EHW?{yJ&*>7)cE>z2U69SimkRG-2xZoMyY z`P$=g{4V0KjxJeLkLXM#`!zZQx5o5N(T;ihZ+)F;k$`Bf{>jrnL-kK-iB>G{n9qCY zuMXdp_vh-5@fQ{AP&6v}xN##J#RMH`w5M-#nC3hE=Y=!pDC5x)_p@R*Zj@>=Mf(5f zjXFW+g2x>K%L zT?6HeiVp27yi9RA^+j_xz_`AqYiym-%%8j}kHf!k{hGg#{x(y~ir51tw{S2)f;HZi zq;hbyqtUSwdn_o$bH2St;(Yt+znb&y>Y%hSykpM(_%YmV{27Ecg`4yxZ_qaZA+H~n zq3hJL==8w5kBVnW;N9Q=bn?k}McFH_E!sIZgHKu(*Sw&#_*x81mx2b0YeokH=2b$3 zySAv2*XX{MR{VT3$VVTW`pWW3xWWq{?C$cKO?~BEOWY^)=1)n@!(!Vc^Q!Hj>%zG$ zK<^VE9WT(eKYQr7_HAbm3y=E1G`Dg6p+%X)g2ReX^UyFhGo1H8&YV#}vHq>RR(>is ztPPpRRWQu;jdb$X7mM0gnUXS>tRh}&P<53J73C#*fnfcPP8kZ2WJPKR9LFmMPXCQg z<(_-)#?IEv%p<2$Ij>^tOUgQ%tS#(UvTGlQt^0;$TRAt^D%*ZlctYCHC=QMZnYSkn zw{K7U1AgZ1iNpQ3Cq60j67O}mdx~ln)$smA@-dJj2lJ?Fr_s zi4nmu>90)Oe?28D=T5+0yg&8KqjEenT=_44G(G9{hsbdR+0H#V@x=oVxHVI?)M2bSf<6X>xM;Y-!L9S zZy61B9}D&&o$eHv!9H^Jiota18tuM{5>M)fb6?Y$HURlw5QlA(1U%2%(y;oA`P2AQgV`d*RC}Gpq*INQJ zOZ_LCt=Rpx#Qnb5{jRv?#h~8AW^yjV#i=w9Ah&USPEn(m1F`Yv+~S(2gE{1>c`VpX zf8Gcl$RCx|w}6Uks)9X5eld6ue+o(N#b0MZRWOUc`p^4$tE_)4zLcqDIKe6{cwDyN z*XIeG^O^RVVZrt$_Bkv#5^qshGd8%td~@T5Jg0FZp}RPdn+^SVO*&U;oyBd8Y?=d= z#WLq&s6_Lcb=@W)s+ou`!7O$e&`h|ogeW?;p7c;8a+5|%!Mnfgbi769b8;9 zBG?fr_G43D9w)1~hWBr9>-_0dSi{BEL=08a0jjBM)LqW+fNEpy4p?2TCU6YWw2Pg3 zwQ&;_Q`vedi?ee1nF>7w@u)D>Bq>47k^tS{aUg1db$1ET164?lp8S81S|LHm840o_ zwH^`21`k%fhe!@$O_5-!W}OLA(cxlvD2a!mN3>)j&uG)AMj4JkKThn8U~aQ5GsfGw6f1OR?!nO|(DN_Kkxn{s*;yxe1+( z4IU}k`(X`|w?Fb8jY+7c0jlX(-#Cs}b!^J4M>{CRZx3@d+DsTnLX)ZPR#&T=e^#x> zsn!tfSFI;VZG+H&YClm`pCla&3!W_1{1KH&1gxSsI7F>d^`|+b{;e^u7RoS<>A362 za*7I_D*gpx{wIE%?oEFEFpU0b;}z0f-Ls?3>?t>ra_HPyGwJ7MjhonPIlg`Tism+; z3Nz4v&<^h}&+D?`@_g^_uj-A%_m!R4zD0y*kci5>J9c%(Q*u!uuBXtc9XE952qYKy ze~Ev1RnE(LST6$E(s1tRy;s+ZBI7`&>%7IUN%qHrsyTh;|9+H_U4r7NIO6;rS?Ud|G!fI{m}1} zdNmRylzLE~p8r#+4_^IWN);rzf3g6U(TDtUSKb2*WMFJvy(Ndh2t3f_T|`lT25`9s zxIa6REI^fgs5gFNC#(i7nwenh>v)GQ@~m$JkC4SE4_{VvJw}Lpea$<;KR|bv6lqYr zV<2G>mfpAlhf@{ICrxE}D-=KQK(H@=c|1~o9ta-AA9;MuY5LFGy`hrlHtqLfR0~d5TsPr9JZf4$P-EEo zRx!Y@jtFujXFH4!RTYP^)x)^Pt+GSm@OxM=U*aDXb_sV9>sX7bc^{H1!}b1oV;s@t zBjWg<^-MD@czsp0NeVy!4*}N8z5c;CV>yqYD#kBG0By%T0x zilnIMXR4KS8*`NXv#JZ~|fsB8n@qPLk;Im}b6Rq~4U)IXA9}Zaq!j zfX?GInc2RPD>e*$qw%dL!*j5t9U>;D@M^4T!IO>-7O--r7UN4dqx$K3_A54*dg zE-!wp0)J8o`joCUi*7*In$qo5PYcw^1EsSf*q;IGGu8OBBkmeiTC7S-=#qY_^(@uu zaJZf9VO4i7$BcZJuTtkk+%Gk1;P2(CW2h68EDlEC5{1EeQrG$3@wt5H;`>88o7>3b z)>mn8#Aa_shx@p7dC`R#44aG#G?|ST z|K&+?*1i*5Yg4_@QCfDD_2ixTlfNFBQNI~%>rI?!?npT(_HUtK!Axau+}Pgx_(kjZ zC0n}VUoT|OE6tGQ_;s<7!2AMl#ZwZSTS8)$5+c5q`n(Uw?d^R2zuWNwxz&!ZwkXY( zc#{%HH}$K8bl==*ZpZmXbZR)97R6uSA@#1{Sy?+ObX8K0`J&TJzfdw~EU&?D@Sdk^ zd=E)Z%)G#;O9Jva@%>JY9=YXg&NGf z`!Ixibl#u2?}vh35ydn^esMp&Ea2``nmIJ1yq7Zx<7nGIBjfHa-k0hI*Q{X@8Jya` z4lOJ6);?#{qFK@ScIG_q0p$j`TZ({N>(1f)Y+;oicxWy)#j_!YD|ZzJ9{QL&1dD6V?G``2ziIH;H6!f;w|?r4<~D|N zM<|WJp8czGb$j zUjGm&hF*^p*CRzd%&?|Ep7};p$##*bgP?lX+gbzFeR*n`ORn+C)la#ORjva}Symui zb{nWVP5di&<=k_rQ+sEjruUIsUyL7VYJDKsfW}R>>_oOG*#8(AZ#Z)e@9V^$%# z>!)kfHh5dEqN?Y)lK=sBtR^u>i5XVwpDMB1CVr7jTx(0tP~sR8xgO*#s`YwZrtf;J z^8$RAGTtOX7r>lC~VKFwJB0qBjiG5AtgzxLOx98fxhL^db>XEMg6;(}TC(IJF z`eSYwg=b(-uH$FF4bSizAM3#gfl>X*CSeT;hr-aCMgj*R&1WkgF?vtCe#qMAosf0u z0e6Mz{-4@<4RAt>+lvVHPx@JYWgmdpN-{q0&6Zp_{PIrTJL?X~h<^>0D@F|D<1PU| zDiD6ehmRFcFiY9wjziPze=1D-@ba!i zg7s^%evQqtw)OVq!=TOEAzpkS#D zkkqdxefIV0)Q9eGhZDhGJEyrieXW=a_6g2qm`|+!jR8g-+&{Vc9{l)yX51EhyNr%D z$nmIBi+Rf4Z&~Q={=2U0(|eY*o**x~^qbD9?O{Jjvl=^LUZmT*cq@MDti8o9J~k-m zKPxeHe17u*rcF0fTg%JLD);?JRc6ZgfFxavRxnN^Ghe(aQiW4HCTCVghYa!o(KMkq z_O{zj7vbR+RBE}CLCX9}#a8x<7s&6KGI)UcLjF;iTEEQU$ubofUZPBPvJ8ys3#m+H zF7wN@;J^HO(#m`)ucmq$Al6s-W%~MM-bhmqebl)ZQE!cev$hVjc@ z&v$)8Zz?|s3ClX!To00qc}5_|nYrp89UHHB=KaM^{r;a$Jo)JUPhRcJ?zOsf;GZ)u zdpJB}$You3uKM}-p5d9H&JAtX9XaT_@T_hk04n zp$28Mz-;Rrs6Nkt+vIe4x*ll&A$QIs$;7E|jaTS2R`5md`G% zXE!RNywmI>tYmW;YUL_GS0*4o~yRA$0;`atI8a`Wr@8_$`3(n3_ zy2BT54)E`p)2CY6zUAgkE(i`(KWVdP@j1DxpU>c%$^{KqJ`dfnaZlk?%9_jD*3wqX zr&6CKadYHL%$J(uck!EUm?<_3N>rD*hwm-JwjlJuRk#S1*#;r;H31f3>v;4I`T3xX z_{A73wu-;X<^&6_ZD7lmrqIGkC@Uvpd>^;9a@{?R-u{7ir_^0~O-AE)`)7V0c<+JJ z>#iJ~;WU2R;o8`wH%}j(ac!g5rE+a%)3sAlO8LJt3A~qJa)6i=yUitm_rBmLP-AOu z@sQOLu3~isD#@zZDJ`opF}i;qT$fIhifraR#NJ>JzN~)SJypqvm3>M7@Yc z0pRa2&Cke;pJ|`ZNIVa+&woffA7P)rdtd4z{{u$D9p@yTCz|JigH_Xowx+{uO;_8T zb%~r8@~nMFJV1ROo#E|w9tZpb$OGq7Yi!(GO2{!?HASCiG5j-yOM1T zx5--)wFPq*WOS!s#4Y7`$C#XAcVwB$HY0N^3wHX=w{{W|%gDT8ehDPTK9va{<7c8XdM!sqYbP*0 zExF!w#ft*yd{106PR{Mn|6}PNS^7HB2aEoUrEjzJWuo7Rs=aDUA8@qc^PcDkjA#Sh{EFr;8qwJln^Z zcCG2EL0E8<=>3#`HS`wV0WIhuk|WY0n>FJYBl>Skp_hvOwx#>5e-M4D=ucYu88-h% zqI;s>n_xXtqy~|07KvlB1uu(~b0?$`wsfg2{h;V0MK8AW;g)`z=z~QcVCjXTS8GS; zA}+6u6;@GloDJJZw&ptW^!8l{LhxI52#?;Klo zZ#yb9oQmC2c5}xNhe?W{Z{tY}SJkbR7^j=+^i{KhG7%R@hNG zmR>A+&P3?DuQhGC+tLS!K2Y@UEPcME_Yi%!=!-1PzisJ93@~=_gXq&l zf6~&2Tlz<$FBkn@ORux^cSLU${RT^~vGk`!&$|oyg_ho6=~bdTqMu^vt(HDk^it9P zVCmswjXc9dZxFqcrH3s2G|{JuzU3ODhu)SR6x|d3OG_VR>0Lz6xf}W%OF!4rw=IS~ zSoGH{eTt=jE&52&AF=camOfYX8qx2t^re>mhUm*hzuMB@we-hCpDy}2mi`Y*pD22( z=qFhEYD*t2dhR{Y54QBq#~D3DL@yM*ouwCA`iY{q$xhafw)SA@eMBFl{2yETeCYdJ zm#3FW56elb+o}E|yINV&~&MR?0 z@}`|_hr?kDGISh>8_fw03}-k@U~{N6uNXJausG58^X3XaM!>DAVXbQDXC?icZNZ;K z&#Hi)W9fHU`Wd446TOuXDe&P_OFvrlp`x#~^ballK+!8iZ?^O<#~Y3AUI=};=+iBI zo6Y~7=+i`>YUy8F`XbR=MX#{*!z`b-MbDcAeT=2wYUxjk?ub6r(pOsgy`oPLeXyl} zVCgrAK27vIOAih-a$YFMb?R!kcM$JiJexrFD zXTn+p$L5Mvtl-C=`ToY#Ke6uR9IwNPtH3V}LN*QLdq+)!SowbtIw+U_Vb9W~_C%MI+>9KG6x&sZGnAwcs99n9i?1$$Z zK=^n7-#w|m4Tu%R0f5}rnVK&h7=H+r&QcfD*IiJD>G7R}j@fFJSG>q*AW(IwR)3Yp zZv7N09|`7(kG6Q#9g~Wylj7D=T#7p&QA~#ftn!L~C-sRu(=#nC^vvGVQa$sTjGvzI zzSu9pJ5W`qTa!>`ue_?ljgvDxj0b z`a;XP>?X^$7Cz~HewX-;x+~8+C(GPhFPk}1y>`12%!bdSCTeLUDI!2?J_d6SH0A1x zrA1N~zQ?bjlrer4En67Blziqnz0OAr!&HawqPx=5KMv?QmHq|kc0|1lu#A|G-C{a) z^zJTtPKp+P+dP}WV=nT4Hd(R{DRj?oarF0>Q&ZjZNA*OE;BfU<4Jm~RHX)TG*EAhuuQZ;{Q=nUDR^P?Hw`|V+2 zhHRkf4+^T$g(Ll8`_KYkf>%_;NHE{%JvD~j)rgN3l&F%5v`U8im3WtTNb#Set%)=f zIX=PP1i8h(>M_~*C`QDf{SsyosJh=TS9qbd+MV-#xdI8fsv;^EyDQggNo&uAez`oq z-0VcT&rS4DpQ+h_1*doHPv$wL;m>5@snKxw0m`0AzSeYru>)-(Nbl(eHPvuSX{&~3 zKGm?`%w*fDzg1Vg`l}-FDf4;S@JSis8uOg0w(xgS4m8gxbIdc(DbIJZG3=Ba8_hZ? zDfTb&KDK&oVO(Jvnd0^$T23EpBTU~KX|&JqZ%U`D(ED9wkDByUW40QHWuCQ(R7SEL zWEUZIni!WGsgn6_MF&{gF->@5$9m)AOPI(P#tT^9SGHu9=Q*)MBd;r3z;}7Sk{gK~ zIw0}9*gO~fJcr^Z*y5Xu6^+}iQIc%TPcqk(Dn2)lNf}->Op=*rnpC4^%`XqPOSELL zL^t+)8a*37!*p+|`zD!k;}Uc0N&D6rmjzodWWJkn1!1e-`-lwRqBk`8BcUTzsK#`d zpy4o}jg5DIc%Qk;4!^|YGCfhaSvoMod!4B}DcLIXSn$@5jPB=8PPvdfjMA7}?#e(` zpZyQ5mVMquc9dR_V1IprebpcBD9!Oo(#pNzmrKk^y%Xg^$#R?QT$WqkuoaY%mDZ-4 z{lbNQrC-nS6|zl@HErrnBhu}&y=~NYKhUTpC#4$ol1ga8oR-Ev;PW5p^PiaD|CrBT z3QrgWrE{!^*X&KH{iB^$F9{KcBv@RK6tNV`Np*SrDjw5kmrN#r^Z_{2xV?^Vv8GMn zrKimvLefxc&0|6?v!nNW>#*Rd`|m*HFbZmZjflbT?8%lm>31b&nVcQ}kS5G4ruL*T zQ+=LO3^^%O*gPg}t!m$W)IXWWB#%~QmOSjMBnOfe=-4O+BaTI1uFC;H&dKn%iq@L6Zp0=-vnkCz?X5ThE zV`>CE{i|hmnk|M+uB0-xwJ-U;5P8%+d0uR9w*=%D431xC@+bT45Ceabk6p}TlG})0 zGW68Ew80>BliM6HxRj|RO_rr3r$$@+P4Ibo>9_Vxt}~CxsvkCw;}TByULMo6dF#H( zqs(KngMVg9OcSKeJSLkl%uJZ6W_01%THIF#7p5B2#js7vw8u<^Nj^9HZst7HJf}*3 zYEWphujBP*DPW45gAk{hxOcLNn~e67ZFs>vCM(<4eP8Xp!ZRJ1rW0`3iQenKCHwb0 zq0^E6%3<7xIu78(j+v0>RBp&*565wj2~!2Gu6f1iCav=LPNUnDps(?4OWtl$QoVUY zw|z?B2? zxm=%r#l=>WFU|5bd2fP$)t$CcIo=a#Tl0XU(PSJDR1;J(_sCS!M$owbiv}U(Zj|8 zDLoXcgy79Wy+G+(#w4GALJ!X*_}`J>Uv+N+vpt+vF6@^Z>Fe*BM7cAP+-Y2U-;F)59lU@OV0AGr}!`8IF*CDd|5q7q;2_a!PBm8hiZehW$Y9-jtGd0OFP z{lbang%gGKhKH4~1{vIqsjb& zGQZ6~>8iO-U6E4cA?7hzcqMXKm;Zt!9Cg<~@5Ak>vDY0%hKzD5813G@9J$bhcj^S9 zn46gJNIEr8wNMKLO_cYh6CT2V{wlG1<*`qd!)1p=EnAY)wDB5Q&Yl@oe5GYWbV9KnG)Zdn0~4 z1r1K1KfDDmO22&lGdm+ieEubKgotDDfvVRz*Q_H+W6bwH7kGaMw(5p~B8GtdqGi>~ zS(Fuk5X0MihPR~?FGyqfXP;rI&#=1SFc?x*^+rtIXL*-O%S(#o5kAXkI&m*VJe84g zf3b{B$l5VkN4xp5-Ff7U#3rz>#;vYx-qpu-w|VDtddrNfh0!6q0<~KVtSsT%lx4vQ z=6*8n&^$MGTC%qbs{|0@bfmz`Xl=zB_DbR=Bb;v*q1rESh9M*34+NH0`f`CNBn1-)Ttj9Tw#<_4-?F~inq ziId-k7=P5z)F;KdhHev~QyuHfjbCUI%;)7dzK=xHA2yO+C`lX4Oi=Kd=(&$1dSZV` z8Z|N8g4bUnX#z>!FGNG*57`1Qslc>kfzOoGhXQ=C(RLkE=@UU?m^X;QTI%$sE7y6J z!7x!vD{ZGdu7s0Jg6ZG0#eFb|DD-t4Z@jlHbiAn*y7gcqRqSPaV>rf#xH*5KWCx)r zR;FU#G3}6Uu9#Zzra7KWw$C39c1c>sDXWhEi&+xv)bV|Q?!C__uB?tXEvC}qtH$Q8; z`)J8Mw-w$+dKCVw zvJH$SxGq1FoCg`MDfJAtS<93)BboIjWo;o?k!~=v5x@?$6()>PaJmXDzdymhRE6F( zg^cSlF^PxF`ge3N%ajZ+=nyo+^C8P&&kQ)MN;M2_p%VWAnKf@&RU02PQ z#s%`>`$afBuhi#ti~`y^sT&?ro@1Pw1_I3syT!{m=iZnZU#D5#4!VQiqjQ?+96If8 zeKPvz9cJFzQU^T;8}}xLtjmo;JDq($F3duT{ ztZBA$u939hapjzX2-Yt(D`!{3G-apbOja|x#wdG^mH4Bh$$N^GZK&vV$qFZl%>uJ4 zW!zgx$$8eh{7uE$Q!M?xn)7j5^%X3%4BmM<(P6}PI@oC?ftL1v%68hE?a5ACYMggU z+%g)Zqx`EfsaFxW>jazS^{B>6nSKV4R9( zspzZ9bhas)z`ya&h^B>&quiu2(`>BecrhN#`1i_HraNVBaLo9T$tpCI6l7}YN7`kU+0CL)hi;kGshBo|(-hs&1pf+3l(Szl z=WWXQfytSG_VJn|xO>4yWV)$LYtqG@p)%SKHfwL0MBWqDKRqD-qy@Q%ze2PFn>VSq z%AnHyQwdokF&(u81Ml>%Ji>S<)=hz`YBHCE0Jb{=wV&ftz=P?tS*!Oi_TU6zN02ef zNaozTaXs96b4~)iwltvQ;r~YP<>=UZumG6{ke`K69VS8IG0%`VL3VSC60ao@YF`!E z4AQfjyhKS);|bFpO$`&ZKUwa0o9s1Yr$hdH6nUGs$VgJ=-rLSn^-q&8>q#o>Adb(I z%Q&^N@%~Beb;bCl;rbx+2roa+90Utg-Pc7*VhUQ2(Nirn$5V9%uk^&Q+aVZlk6^yD zx>15G2XZ3FiX*AwbgG~|7mHp<#kM{7okr3}1VPfRFz^`B7FcRglVi+n-3GMF2^_^ITY zOfD--UusMbF0I2Z)5U(tTIaZbQ9dh)-Ch)v^+Z=vi`95Pa$24%OcbWzbd_0^T(Op_ z%)6$H={X$^xC!0z$zjdj-ITkZ1-IpW$@=|f)9PK*q1QmSx;(o;z40q=BJ^AgXtS-Z_PY{3{6 zngBB^&=V@O#wHa=g5d(om7?aGTJ)BX|C)#8^ER2&aBax=qyNhFfXS8A)KR&eGZGjf zelQQ|o%8`4WvFoJTU0+XIRmu~L532;Mi|z(W}UWhVrDf_r`)S7Oz#jR>#duN!Y4cd zeJWtns~3Y2hH6UOWcZVU8b3aQv_f0r6493@;pt=*Tasx+I+Y~tNz`HIp$4n5$5r&7 zHodbdYnDx4pi-MQs?W^KkSV59NTIT8RN@oT(g*$IgQSGtExa%Pt&{OuFN=}E;EA>R zUc25dpp>tGXWyiTRV?tRp}lIjg+i!t{8Z>UvZD_NL%rNmZ&7Y1+3n9O$-_sc&3jeM z;Hh=B*$b18zV1=$xOFXOl6b~rDaW0m8o*P-1<7_zv9tRR8+`9o-YI1)PVA)1=5d4t zu9-LTI(lmxZ>p0~j`~t#gC~Xj^l!)d>CgM=T}(Sp%J$P66Y2N*>3a=GIO*HDmj82! z^sD{!!Df`5G}BL?lt@3rPk+o9;Ykns=~pGv|6tRris_p8BAtAQ6$Jl@GN&b7!^M9@ znNM-9qFy@+73N+zrt-p=?4VR>Eye|ulPmRhF>4av{svNk9QD&jW>{#2GLs{!NDfchOR7E z#O+J(A8hf-lH=>`;8m#1tfIjj=eonzFoK&h<7b%_h(T(rUsGKVnh{)dI2FA`No4rX zW6-BT_kJZ58h-+6eS?pfzIezQ!X@k`C5i7$NoX-pbt}2|g;4>rropIQ2m3IJ(CDAY zoPbe}5*Y*wCL2ajV3+q~UmFSRNk$8!E-?W_)BJ+F49l(-v(a*m-^A2b z4ao(b-`cY4Ww>^oY)zI0bD6Hss4-@nZoW6~;r5I)^DP=)gaHSCO&IXO{K9x@rj5jH zB!T$M6R@DR-TNBw{r)61LV1_lm{mg`G9HIu@F*6&@X^E|C>M|S;XzXGM@X8XDCb{9 z-LuXV=&l08lZd!jN%!wtY5ZHJOuybAULpHbyWVkB@4K+EsD*ngO{nTZKd|@+Gd@@$ zX_bt$U%eCAGSx`Chhm9Pl^taMG+APBf?2puP+hC+a_H+rsOuan^3aE&XED&dzblA) zqNSdr+=a>Ef2WcfckQFSc+BFp!Gsq%i<(?-Ws2{ggEB-WnK# z>05S&1muU~BSv_`diY>|rg~j()ad2x1sOefbcciG$DHU8B4Ov_BvXNbGta(EB?B#* zZ?A^kLN)byzF9u^Kw^xPosn+Nt}((ub#YRr>IVqXrX!PyCS;q$T<7y>k>3oRVTctR zsfrttAFzyJOX*X{>(2oXRFTcjsHOW@sTQ6iynlA{&GbOiJDk6ht%f$( z_k8sh7^_a-THD3%*NKW)LF)@NsX6J7`YWJ&GfC+d_m+uNC!;1UmH)MzKjRnMm$ke) zuX#w_h>t$UE%P^`3Yb>?rPzI{u@oiJjq7_+-Eh5cA1k=B7Wys%!*!@s02P%72lvRa#JM&z3Vr?X+{Ayrt)D z^O(H(C%e5;wau;_X0z{YIV|Hg3aV)44@zCJbU1NAZ7-ic-~e3&pf|u;Iji+AwWqpa zW~(~qarH-21(6DV04j@_LVb{p!O&8n($NuuMHJU5bf=|L#&7;gT69v{G8 z@1PuQGZUZA2t2qygiwQJWmvbooqhyiKa%5j@sBQCz>6A}u+#g&EMb^=Yd%Km_%&p3 z=f%~KwBT0=YLVeNQ{u)iF&6dzc_WUC{MxkfUe-1AasBj0?%QaH-@&rMe>LvCB?--( zL|{17p!e(k`<1-gZ)DWkcj@j+7U)0$qssa@Xiqq3P8Y3`$_F@=1wY+!6-NsWnyn;n z_Z)NmgyVKx4jHf!J9Ys-;wRIX`fDo7OyO!T{$qZ7Laf!Yc<)2#MV-d@#_!vi0)()EX4M##g{Q%}u|@qsX)Pdzrm_XjaAK7yK)P;wS&cT~GgOBouP- zkwh%ppXvwcA$bl3!XHd(!Gfn~T%fvH&50GXyPZQtB^UXf))c5-3EeyK0CT=$v&l1& zn?foVIB}hGsodSJoU01EWL$ej<;1}5;{w&9nup&?*`H55?7cluty3)8TFG;2hwkCx z;%yd%MRY6xREqFjOQgAD$X+c~0zZCw>d1Dkko~x3oOSpSIfrRihY8@lwdM z%VY-aC*!{)Tl_CdxReCGsF$iETzPb6`3e61AXS(x!VeEaRoR`5?)2L70o%v3*01I( z+W1NP%A%V0ce4GLz~w(ixW2@2V%KdPS^Q}EWkh)SW>bhY%u}P7A``9jrg!rXx0Ju; zI|((F!Y5N$viI}u>SX&7Kiw}-^#yjxJGL1m>^~Q~ilM59C_7}DvN;`^d*+6yJ zq#ruOwB@Tn^^Mk0iZogELnI1$+Z3#=rx^DAI8oxvB6F2zyt72X(*bP?a#Ua_1-Q#O z*$Ne2hx?3AqHt)(>=7tGm8$KxLa&z`xem>nLyiM>gR!KVkNlq3bfdZ9WroW)uGYy=9xc_x^xIPI24_Kfm;Ok${U0yBv?n3j64UDAvDQBX{L9Y)~9Y~G4{ z@-ilP-kuKaY0KSfbU(FN@ST?;E)ZyJh_|c!cK@Os4S8jwIHBYeRje&6>ypR?1uSDP z9uLpTI50yY09ap=!%f3Owgeum=aH{>aq!FhXjgVcNvzMmiYkB23rv0|MKkZ(?^j#9&PauDaiti-Y>y(o#pc z0~8G|d>XqvlX$GrRG@l4c=%Wnb1{x=y+$1I?t95TLD_qdy=58A?-Pm-GycHp$%_Td zHG}4en7x@%#$XezJ!CIF^ndgTeLCB8T_-v;ey4%!=Q9#I1Q~bwBw9QN88j)HVUMLa z?ukKjo=_Fw3E~HnArd=}416Ej-KhcVs9+ZroV3TBIILPCb?OeWxzc8=2RS#&>_+5f z6Wyf?e#tf0s#Rt3SL1FIe-)h~9%9~sS;2GKt0!NYM_xOx-*Yo|`t+zA45WOD>_4l% z%R%KCo@+^iEy*C1+YBjC{Y)?MGPtkc)=49A(qGhPpzCYtr1Q6r{>r-Y^ue=!Ue42o2kyPRBbBvWc|*nxq<@K{?87%( znX&n3Sk(2rqq?gb%kk86owlXsmXh*}KVPO-5zW=77@|(mz8}VuB1YRX4l9T8{pDSv zGF%u5Crb8i;kIZ-dFQmyEtjI;`7Gjk(?+qws`*kqwP)L zqb!of{{#XI5PSxS5&

)F7w{UKt^pkz|>H334ik9Eu_ys~|HF8GFS>gwvM>gwul z7fnc~PGF~-=aVOvVpo0}^a)2{$qiAA6S)PFDbO~TI%T>TIb7SkT>Uhx1JwM6#s}|^ zd0U80uN)bN`MiIcO_rKa3ompb`nCh-_CxdR_De#4KTjKMtDr(SXeSV;v9vI%{ldC}VnSohQ zMo&pIorK#-xFpdpuSz;UbHL)488W^YR#5*%Rj4+(|0#caM>XY^-Hy7I78B%W9iV)3qU^d$tu64;ZWa~X(WHVB=0TN;I@Hr>e_Esjni`SXlP(~SlE zmMtw?986)tw$6I7Z^oo6i;M+DP4{`r-jG+!-xgZ04$YW!k-RzNd%$`%+NgL$R9tkR zSWQF&#|9+S$<4I2AptfOckNlx))_fT91_2O8;a zdktM+ekc_BK~g4vG;!6kQb%kW73<~Ie<ZXT_%Qu!@=q-EG#`A8zFct)w9w~pPG~2=+>P^o)S z=MSo4CWeNYEoc*Trd7oima6DMo~VlR`PHVHd5N8~QI{U5OGA2RL&0UZgS(f%5Dv zytGb(1s&kwu zXu-+it$qv(3u#JFhMLw$yD{#iL?Ai@nu{V4LvNstJ9e3Q1ROBV^$TU3-iTrpG22OY zczF)i0GBWfBi2iw5h>c(>@tZXhZ)FuOT?SpMT@BaVLjGdE$g*RMU9H<V;+GcQ}(7Rlh8V+s5vd4ff$h3A#I_HNx9Sm$?k>uQtz3No-P z)K%GyQsSRg7GC#+#;VIBD3F z6>=>v)w9y?R_NZlcR|n(G(kB&`J7a2)_a8N8_mD*TgB%aWRBGHKbU-<@k^u8rqPY_$v0ap{~&#ocHPyn5E8+ex1ABQ0v0YIe}Qtk=z- zjwZ>Znx|Mir)zl!w~+HK=g?7qj@iko%Xa7f(g9m~Y0_ic3y-ae(g3 z1HycAPTNF|d%Hv*_jW{krJI-~a%qd@TRtmU-Lo0L-n7rJNq(?@fzz}}eDM4D)jMVG zFE=EiyqbiPm#p?TJnH|KMrL+P)>fRXt)`9B$p6Q+{Vgw9+xpiX3Jw0VYWw^pZdtNA z@Wy0qTaW*f+Sa$Owu7%ZZJYdO)s~f;q+~2vTgyLE+x5;+xY{TFiJANLIo1q?{W2!% z4TT=QnbuG^Pp)_B9Ee`#^3U974IC2Az!|{6xmXXJ1NOjKy||e}_a9$%C~+GOVQUrV z|1nS9|DR+phm*CX{#mv8>S{Y7S=+t%QU8>-wL2%-%m4F=L&?+stlHk?3IKb&c#^d( zH2$QvRi2%!ZS~7e+x&l4ZS!)HwGB_!w(+<>(6)M_x%=oOkjx~I`~R0f?!PVxjcCJ-<%kUZ1S(YrSChC#cMa>ZH=%|2l08{aLk5?V6-yBw1UtKdZJ8=O$}w zpRDacmM{L4k)Ksp+rR(gP_oM(sjVKr_PH>L^4KJh@9^dRF3RoQ&MP}DiQC~9od!-}mGXB<{eKzNr`D14 z?qqGP{;b-vJ15)LDOuaUn*T{{JF%{|S6^@_nfGVamQ$w}ij%d~u;TWo^jnL`NlLDN z-f5ex@BJyYr9YD#bT=kz+uH0;s%`F>$+jJQ&S~4^|7~sBB6TKb+BB_aks_6x$yvYg z$-tjjvbL6XZH|LM7IxIiD0o?}1w4uAg~ohVejJ}eVfp((mv}gzWTNbsuu*x3dm?xq zZW9eh1DRO|#F)R#{vJ@Zh2;kXYA}su3Bre_=tIMexw%c5{?F9$P3#5cK@LXLGfZP{ zhJL3TVw5+N2f6ABpN%`9r?WRY0lJ{)#S19%3+ErPEkbT7_6N;u(DnED#AQ2NrFC`E~Zl#n%y z-IeoLM8^coRF7Swm)CJ-28l>wWh7eSwst1N+L%rCEHSR!LzNWANe2_EPNt zlbiE=;^=}*nOyVpo5!sG`GS77U%YMG#DSObKMtG!owZAA2-|LiRyL;^70;$g9~G!) zoU&t*W%W*{ws+KdW2XF&F5U6s4!Kg?e3~D><*6{rAK$4Tw5zQAJ|4`M`BOQbQ(Kmn zi5IBbDUGzlG(k4?RZZrK$@_Rw>4UI@a&`o^I8?vjeQ{pZOq@kr7t}GbFLHp}g2G?T zFc!?w7Y2RVEOjmJ=XR@KBICWLeSdVtT(QBd^F}d~UvPj0G{zOfYXT$Vn@o&scTvAz6ciYgIdA`xL z_^u~$RZ&^lo57TtfsunV4<;ChlUgeG#v{ZvrbIhDAea3K!PQ?m%*w|kR6>>cvtCy3 zB*MjfUYbmarGxlZo%rbyV*RE!AL<*u&uso8D-nq%Pn3?b+=UWe38-}@phoW-Vwx}T zUUJ3>aLHLOIo$eiDMb8m{18UYZrr_jRf|*pMsxnWOs$7%WOLtdaL+)de+l*XaxKSz%ZSp*2Q}xQ5 z`K(51!VvK#A}{u;yYFBfsJ7=2NG88y?cY)I>s`Wz_k=k?Bhnjh)bIHfl%@iio_ok=XJ(cur_zERtzVMIUe=ZhTo?6V;zU{Y4`*Av_nsJ z)LV7bP6R;iV*ogeZ_~VrhQRKux0$0T;MFHM=>-MJDj`e1O_+nM&*#YJ`=tI#`Mf=! zk8v&y3nyC3r8|?-Be2TmME2p7)%5Ll`=USY{Sq0z_3!OdB40q1_ZJD5guY~<^rxU) z9LLiAIv$?U521HR4kH;pI1-JLx4ojO(710!r;p<=oM1Uyqw3P$hTvvx3{EbuW?^h zQS%kyZ&S?+c@aK1W74JG$fpF_lr4H}^7Y)N22Pp?@+#jO`OIr9cwXL^O*LHFd7_4_ z3+`f#N4Nd5y1dOgPm`uAxq0jC#&z^YHio~R;jNB01Lm7r^lWXGdeB&SUwiAWvaiyN zh0p7|%GPcd4DSQd-kKEZ)vYxu!eppk40i;DAZ;u>-#3Qq)x&#IX&c&kMW@}S98sCK z-TKa`=qI0K@JS$=71`u97IwV_QZ$xMxUZ)9CaLCZ{XzI(3jtut8BTfI^%In6%@dTc z>Yv@1r@-i%%l4#Ilr0IS(2o16rL3;HsMCAqSH#d!+?XwA$_GY&NXhwj$@w+9+e36mZb$Ee%7D* zyUlwk$;mro&9*5L#7N>e5^S{{qGS4f;qOy@;RETuSo(3s>=9JkB1LlO!P^E3Ma|U4oM@IzCei1s1)DYD+JP3{FumoKbis4SYCgIxu7H@ee`qy5tYvCFtP z+nZGq3HeGqANV8F3XQvTh!V(wz$n_|4s_nh)`MO&goxg~#;honOYioMrCkV8TGeXI zG!kHk>5)<#Z47F@Nbcpaj4)R|W}4T4NTpA{m8dwFM16cnt4m>+(r$LRY4H$$_#oP^ z5v6;_(lc4-(%Wc!p2=Cp+_!nqopho!?*TKHpN24J)`NMv4k8ftfU>~sWx+hoyo7`X zvyQ!gfHCzJz@hoQqrnSb@<%4PiMe32n2=AODXU56C3FO0#BNWNL~@}No7ou&y3lfK zNaPF0BsqYON}}UkC6QPajTXjnSi#Fa4cLHHCeHyQHk*%2y7wm-cp51oxuSA&q^&tc1P}#Z`ud(^Wb; zQ1fdn-7WRTpU`x9Q6HH$9=_`jZG?CeAznA(By*m;)3J=RNWo7a)8AbZ`KM6J54Fr& zrNjeffEqQl5gMA8@iiIx7c;7+6>3iAPgbfuzS4xx5luqcyWWxL5$g4Ob{OI1z%63T z7ke%uenU6X;&DL-9)~c(<`b{`P2QI7_$6;wXw)X>>yUZ9&d=;C({FXXI{RjctU*l3 zY{hNfj}muCXbpsS_a_H}G3R8Bvg%7kb%IESNK465-3V04rTO`M~1^ja-QrE;DU z++4ZS-N(JjLQdM!PdC-y`GY{}N;PJS7#IjIA*}hVlzhN^lrL#qPKgA6^`t3%V;P&Q z&X8eB6NXWuZ?x#bm*}&6DhWh-L8_9m{@D0^bjVny{*9!I`qQE7jJacF8(gf%#{$FG z`G}M-2a!i5?&7GQy%$=P1tOdMU5J#cKGG=QdEdBeH!T<9`>Vff1m#OQuSN;M=J0r; zmobauaA6HuHvi%qAc@pErca3I4E*H;0iySQ5KG zi=&g%E{~*u{KDB9|2n-)r&jw-{Z3CVUW^5IiVwO|FPfXd`gL0~XC~osw z>!Y#e$-k3ORiqWrV9WPF1}0y3MDpm#{(A^lrakLSN@k{Eb6H)Rs;4xRADJRxRl~ zcr5hEl7TLEjxdWf5806_gC0sTEH4p$)NFx#F3}Q@q0vh=llvp{tH5Pq4?S2@chWtK zSD3`HLL5FJ{sx7fE4BxN)tt)wP;+?*+o#I~Wp{bF-tZCTfop`U-HS7g@>fV9B=n&1MbIEJXj0+drCGeOIK1q-Oxntc8&vI&^u%QT zQGYch(;wA5;)`TrlDf&%4J#2>XG8+O`oTpNRl2Zno3WtdV@6rwMLj)+&p(@PQalSpCqkDC%uUM`SNm$UeFJqDWz( zrLV_jn(O2MH>(GA=yQM2*@xosGe;?jUaTbqV@HNfQFJ8u^g0!e{}{1|zmq zplf_Y%S@bTiwluC8l$7dg*BvQ_e%rgvKVBXjCnc%V(E7!r zw4G4WrFbj?wwW<&yZ&bI5U7j&9zs@M=Ds|V){VhPahVf(ZTo$aOLKw9X+1w=Sh**b zYBFo18m_G0>oPf{#q{Fs=xi=huGiyRenfXijwGjFSL~=q;v4B1i%!xOqr4x_dP*kf zG5k&fJw{{AKhS-0 zW9i*YtSkDAc|aTKvIp>x>Y-M^4^tduRtQGl->W2Ah;v{lJu^PH#F94?FSXfFcQm}1 z>9C=Y2k{L5a-_vL(O9~Mm2x6mZ50(J%uO_^AwQi{4_h`Z4HC;-WW<3)@L^cc9iOj< zewYt+;tmqvd!O|avwmhdZ$Gx?Q4@IvGs}?r!3ci{fxMV1-spwGJyyJ}dXf{F#HQ9; zQOV_iM!`P33}bDjm=Kg3?>47^p+EXo74JACQE8$XrCP?%-a?l2j1~*t_N@T6UmV@1|n( zLNJ?EiKTLo80x8ffj&{pi@BEx{0G1=)BJS1G*=9^wk5F+|DeM%%@yRy2Ne~3fC|gP zO_49+&(9p&AITGyVcy6)P1S6vDrqWBn5t2W<|n;QnnZVGMwaqF%NmJ7kU%`7>COnY;0z2-;(k?YnNWQ#^EBl&9*;PQdr63T7S;R^ z=CU+p&cDdCxF3&@RpHPyzo%wKI}w?(>A;tY0Z}Lwh-K2(fmTdHOx2Q9Ia9?qV{&nH zs0$MZ@?qjUwCyA@2hzk&OkL;q4EEs*p|^E6MTS3FJT$c@mhLFO21)7Q8ZMfhnM*9;{RzV3_5*ZC%W*X)hU)& zIP+5r2N4P8Q~D@UI{2?nd#@vbRG2P5VQ*%dxe`d4KE0hHUMG=Hg0A+4C#SU(1#HZ| z3B4~CW+Hp{J{+1%+w|lw5Lww^*7qQO2!V+nv1WeS10d5rF(CBJZw!K60-cIx{~`Wv17Vmg4_G6ahLD38Cklo}B@f+mJ|~B2bIvjJjpU><*-T-Pyawo(F9a z8h6%^RdgO}+%%{dM{Bw4NKUdtwJDOT7>PQKl|m*#`;788K>&c*I}?W%MejJ|-CHZZ z{ZK#-(?-tA&I>x!7LlXaKjMq#`bV!9gCj>e5kZ2KVg=;Q+mmuZ?Fm~ck)`0#-l zGdhCgF4h{7rE9_mSd-9e4U|3z)r&p*WTcyY9V}i{g2iC42uTn5J-dR}>h4}Q@yzID zhghf8V5{macFbQH-Y2xKDQ>FA8@9k}f1$ zb6n_6d7C{{mh>CLZpkgxxk+}-B$A^>`mU}!J}iRE-R1~*O1fJR$+0fA z5Onky;9#hPn*L9VvnVW8X9-LkeQo7C79>UXSxjA#L43O7N;=34?HAJFGVZOmq=OiTD5>Ti=PK=7r>^Ile zy>SMFB^^FQI;^?g1VdahL_&y*?NQR22-I(VZqVEsKMu|Y2#il4^2w4l2rHYo%Bg)YeB zV1;-qo#xOK{aDOo-J2lD;|LzI9{&p6RvgU<#Lj<9i1xJ%D2BRiAzcitDcdCwueQW>~e9TIEHA6@|#;8g%9 zZ z!P_hi5*rZlfXO1Bu|TA`QPBwrsb`o9PIE{J~yDdpWsR*yjaHC6{Sv&w~zhj}Kn(r7U>T=8|N+wk)Iy1ke+!n*#* zZn)PUIW$l+ZnPslM_=a+mc#Lb>BlVscg(L%Cs)-Fn%ljD}1)Ieeh8Q7%Mf z1*jwzas_+KKI)2($%$VXKEUv+&@WFi%J0^R45Q)=62;L_T6|2jjX!3chXE1PydFXU z%UHK)NuNJ1kk*I0GkEVOY3JYmgE@yMZ*-b)#)KK3?x87~W11j?D42^Nh zt2n^}AzgTY=e%HFt8j7juR80}`d_Ia);s+Aog4$m*(zJr!p*wpOHT_n^?SNz-~OFH z$~Jk6MDgQ%k+{DL`#mF?WDap_0@1;v0$m0(k?!#x(`Tk1>y6pM8Jui1B+z*HST=F? z!y_cyj8WD)ZZSQZqmxw5N|XrRAzw5-TMkurjWKScjMBxE+3Io)=O{EvJ6a%y1L6WW0}x%zt|S7Z-!_+h0VsYK+rO{KZ}(}LK^F0c`#Acr zFc2BWSmRKqk<{vsRGW8GggAxmLL*=2X*j%S;q~$zlYH+Y#lAo97B_>jbJRe##AR&UIy zrVS1X!7HSCD3M~mjvmq8FS{G-QU2qNmcnnq0LGj$8xW`o_4yv^pKEp{p&^bYq0v75 zcd!j<_{ZdsGwV2HIb_is@}|%SvV09g$nQq`_d|YvizvtaYBk23f6%i@qFk-}<{%+t(7w@C%rui}+~z*Ix;WY!r`J0HPl?aC z`%LN~!-c4rBc;qwD4{X-XpBHTmxM2>ojziI=oP6Zbh=Lt8;DL|3WT3%+SuroxJN^j z42>#@^=IkgU?4IuE5HJ}XPpsihY^N_)GH8S8AVPblb)uRX>-2Q(bAiCXIpD1oI@df zE%6SlpKR3#-JH*nvKPNZbdQ?@T*kUeD&FB{0Aa6a&n$svMgA-7y=Fe~XI{cPUFZVM zj8b4=4kylFZ1l{fFamzCj~fwPY_cy5M6^#gz-lPr%|tCo$WW~j+fUsk-AA%Yu|s1~ zGRhyh)X&mPcz?4=7ygR0xncb=q)qAVq9$bcL%V#$H#&W{c&lp$gT5|y|jLkcbLAYP=Gr9WY~88Gf| z34z6*{JIc$F*z~^>){_S`z=W0eic&bt#v~r1rE|fWG~bIK(xe1^Xcm&y?lCkp-&Fn zlk2mW7cQyaW}8iDcc$HLd^<4C*i71OR?|*t@7)`$-`V{B7PiYi{`GciyV}-q!7`2Q zBnC7HAbG^&fu2L|;07?t$FO|r_v~eQCK@-zm>s4!0^K>}$-Ya^xbsQy6uaX*4gm6N z5jl*-=mDG+xdu=roxkv}#f5UfxO+OVpcx2WX)FbIm(}+0g7!+2vNWL_>vFQ3y~CEPQcCf9x^_ZqH0(b|-SZ(Tjcij&{Y}PHJ@cUrB}7IEEmAROr{O|wq=)z5epvGdT!Cnh1JDKE zaSeWK@sqhYlt*Gg#EdV0j0CT5@8%2l#6>#<-jT7X#o%fq{4}pQZ%543d!%HzrV&kb zo4LB&K&#xU3AZ6CFBS=zEA3|#Yi|ucCT+M|VX_ptG{UigI%d{`p(*M>CLERzN36MA zEjJ58ZMDn{_jEThM>zugEL|hwu#=O>bP|S>XzC;m!&F*`{!D_l=(Hm355JQzC9{4b zKci(}*T&m@Kw6OXN?B`?b`C^l)7B!2{}uQ7>F}|U}Zu+Y@dX)^BlGKd>&v1r}1p6UY zSOyAy#xhXaXN(nmBeg!yPFW4|x)P!5>8Ie8WK1ZoW1b1Q#zOZPFOzbJUPDDydVIt; zFla7i&={a(-s~9LW2jlP;&2keXToFVH;`KA_Htfd;v_C`5?x6MTd+*E#??34VU6E| ze@HJ=;mca-m8GvX2tEnID{nyp=tQvseU^sKp|g6u0psRiaGbQ<^Tou@F#VMrn#E~a zr?7Ug3Ws(~d#MTcUrDxj)tj%xGxol?oD&mdhts7rEHPtJN0MJqUWes3qkOI8^TD#_ z>kDzEc|AY!v9X}avOuF*GGhrnN84(yc);InBW=qLkFqPd8_jQPB-hQ3}5b5;6zY2iYB6sFhu)?{5`S zga`^Gv(Rcz)=0Y!L0@)PdM$TuAr9^jG!EjGM~_gY`2rtnUVZojI5>7Y0>0iHiVh|F%O<)9G0a{akwjM~0V*_Sl2KzkKA{%Dl>gk!qIdHzzo$t-+NNc|O7-?bg)j;ez>`Tp8-9(L>i}X7!A$?-rUxzttvzg^( zNTO~ls|W|H_Q{NT>_-oe$l#+IVwAT54$*RbBwFrmqjev*dEy#Dy8d`G%D2L%_Lv(B zKTJBZcV!Bj`$C!}3bo$EO@|>2a|weW7nog?K7AyCdW5%Kj>6B-juTr=8Vir?Ns}$3 zT95K+s3nz*2_KQ=rRqG^lM@q0$zamUeN^Wc4zwmRMbuKSs#a8me;?e|YwxFqDOc_i z3B`2AyC-b`43LqnIVCsLBCpCG?p0n-HMP~?tFAG3V~gnin*P4@1Xr-=RSaf2n~m}< z77eg9Cf-<|2K@!8IvU8DMm@xWPgyhwM3Y8O2HijzjY^@h@O_XYbl>Tj+@pwqocp6h za8cL)jR-|~Oe`IhKJz`B3Z+isHWH8nn^hK)u~~QOD`t#xaY*|;wRJYDoH$zFX1%># zURCt`Y!4BGh*R@Er;d|>`1@k=$~%8gOokp4={J%~LM@pBuN^H%r(l3dp#xm1`KyJl zunWzn&>s+y%Zi$>VyQNQ9WF6ezb_(VGyi~ytYJnYf^A+B(__fdN9{sgeyh-AyU1!ErGbVK+c?`uXBc7!!RPXw{56oM{z7ns;?p0#y48XgPHc#dlW+@pscFj8( zs^J4C1wG*dc&=B=G{bTu8)2C>8w(q_n`ObIQT$8!(9c`5NSD_>W+Qyj(d89W6!7qByK28;-6BOtNvi}j0A}E&t5%W>XnS=PQD8gZoa@eh?RvBJ7NI2ZiSIg>$ z_Czx!Q6X+4t*8>gmL)<&mcOcaU@pQ3$gnC|9n6&l5GEx+GtbjF|1RA3SOV4nk<~VI zKxn8MB8@yrYtVeD&8T?7BEiVuX!G+oXsO_ z{xHCIuW0{A0KWEzd-mb{dOfSVkM2DNjz+~9&;V{xo&WF`KQFYtSjg?1N$&a0I+pQ; zbc&%5qBi#}a5(;Q7~0|ZG^4ybkLG*<-~Hya3D@hh9dz%5;BRtrVxBCxb?=$>`@M2| zlkPoT6VGBurkl%N*HyVD%{Q;JahlZ5!N&!^^d;By%b$e&xs*SDY-AlAB->@{uo0sm zNq(^oY&Mbcs7KbPbVGDl8he^1WEl(aY1qqKo(-XvzVM3F__yX%L16$Wn$e5nV`y|0n=FUfz1Kh9KEJA>4%HKH!0MtAAC;_j2fNpbmgGl#xSS#c0yx2j&c zSSc64goZGIywE&Si-h8+gw2)K?X;}Jfh*@^@ z*EiRFU3!6Zj$jyUXW=?6g?avYndS_;@*i{$O`uWiJ)kw_82iP?ywDYNpaMa2IT;Pn zY*eqJ;Z{W<7O~!-Ycx;&mjsd1Y;!gy;y4%#`gq)j75Y=xX%Dj0$qrF}?PV_QbdP-E zms@QjR}}^#9|mHR*?@gVruhakLh3L2Mg4bHCCOBpZE@k?A;E`)+vE4iC$0I!Ut6o^ zN=>9aL4B0>0)6)7b_mJqc+PZ*O%Plk)9=r!dP$z z5$=vHQaFd$Pnj^PaTA3Dm_%e!2!M|IH_HDh&qV%Z8DVim8VfF#?{n)uy}B%O6Sb4%aLFvu1Lv|$!Jw^^BTMf ztF?6#{}-rcQC&)WzW!*7{-_?_6+S4XUse3#)!ELgvv}peUnU1N%wJj5{1dHP3XKJy z&`vF*a?OL#U5Fz!niBcvki1m$8@CT}RdI>u?cfa(VK>59&^wV=#o_Jkj0O9huubgp zvU*l|z_V&X9)7WQgd}nLJI=5L^^d+FMzBmy(U4F<_;@WA`AEi9-n#hiysG#zr~ZBD zt+G23cnNRit&{r|x%#RN{B=Ih{@_i7s7xGXEVztduZ`tZr5*4s)r)7X>Y-=*#m(Oa zi477%d|<+<#)9L^*Oj(67Obl0(W@=99D22o2mjnpqM=1Gn>FtU!)~lYY@{G2VP&82 z#=)z%#>-;dOPm6)Q^5QmU5Xo3qOh;0n$Q@S39OA-a(T0{;C9WmL`O)M2wxY@!RfCa zVhelpA5*=fu@_XOCv&tvQ8*(ryfxL!A{-&t;kFuT3t{D~A~Epi zh&JwRffMgRH03g)6o=>lMLMF$w)B~Gejre@h*K=e+hDH77O*@up-exQUh2((#2Op3 zWYt5!=YZb;;z@(zn*oWUIU)nL+^Z2siunlI5)X~Wl{(XVjj1-le&5K*D!RY)ZZ;=;EnGArq3k&I_)ZrC*jwGSkeNzs+u153gWDW-nWd& zvzZS1d5QQlP6s{rsy-@9t_z_z&9(J7eJ-!8n*-Kj;aI6!QhDplDt=_B2~yVNN%cEh zhIRe%m}M7IySbUO;j1RjtA}`{$D{rbj2V>TO)R#Eo)3GzE#sekcxc4rfLtLajBR3V zeFa9uF`x9xKTba&5b=5kzQF69_J!Z`wrqmnsy^U*U28+*+4~W^CF$&b<|Rujom`Ju z?*Xb)LxrUELf2GEI=Q#iD>0h1s_ZID7g|u51M0o}3u&($yA?Zs7OQ@l=7m6!`86Sg z_p?@%X`W6-NrXM?yCs6Hr4NNbu$5ek5y2}uYcaELR(mQo(0AIQh?_hte8|3oM)7y$ zFVP1R*#OP?EK|rg``9lfC}GwpMp_{9zCV`n%4N~>+r>ASeaX?Uie)5rrLec`o3!Aa zSkM_pc`3XQh&?G&1%KrI5)Vh2oJ=`94kzmCwYI9CPmtKOkU>0Rqxfd2-+Toi5+X)m zLF7COdG+2R8}W|3jAOWHJdIgvcr<76hj37?N5&ai6djQs{fn!ZWA1Ju{JALdX`u5~ zak<|0B*nNojlhH-CLZVIwwRL6n@c=Dml(Z%E{c}u4bIP|_Ki)ArG##LHZ7DVIGh&X zmM$H`^@Z~P2Qmrq9){)k&5@pir1RGz7ViF%`WRZ5 z?M-`Bwr3a>A7}(>Qh6IP!&@3zvFZ}@iEAqm*+3MoPXY+oGvn`ErTq|s*Q^CVN3;}o z5G0B(F3L^>$MPby)0_@OX}GkS#uNMah3fZjyWvkTR?H%5j)po!cF+9ILZT0!P`6#H zhTjzl>Akos_x^ojw^X2SH)R~_0&OJ`*{glMta}>^dd%|X_rNhBh8v4mschg1VtFl3 zrT9cH9;ga!G`-YpZW0_e@JCMth*|F;ehZuz$TSg@NccYPlGHE5J+fidmPUnIA*_xA zQwGErD*U2ujO6HvAhMIsjf#~Nv+FZvl?r^~4r3X!E{moeZ%)Fv7aYUHHZj0(g18gaYA*9-7( zJ^DI+tBvMAR_LD(SHk>q6~<5Yt*m()rwrk%MvM__&o8XN~Ve&0y$_j^^wYmgv~f-jHfc(%Tr zAjgS@CI8f?CEmp62=jEc>C`kCD{^FI2Z}DBs4udta;#OlBc+qK&0Z)~*1v7`bTTCP z+s|ds#D6c%n)wtbV)`R{{E?6Sk$2^q4o=0?>m}-fTTjqqviwoun@EkEWB2&5)^y%p zaW|^@I*lu%XO@cS^j6Z`cS@QWIO$w9UeaLA!cotBHQIja$5WviY(EX*$)|eRPosG1 zr#$x4Se}NcF7g!VIZAb#Pvam_Yx^d%p1}Qr{>s}Zhh`GZ>O`{21#Qx++_#my?JO); z{F32Z50|%H-8qlBV?G&>v#Toa8&Jt>F7h=d&C#yKNoNDpm;DY{VUpeWs zO6WgGUy35kU#n*2oRX5L3U<@YRb#m!RYsP!Q?Y;wjMnt%SUIn6+QXaLy|5ujX{)y}?#`%Gr7vg`t7<>15$9?dez)7Qr~*Kem_?)Jh#`UMU0Ud=^y zi7l0xM9M6^ht{Zlt5UhnoPzc8zLC6xH6r@HF^^}lt&UsF#ym=_HJjp7Q}kYencGrQ z($F^F5&2va`C0u`AxBU~R!p9veD@qlg!9onHK7i9dpKBNJ?{wd;wrmzD0kK5cD0R9 z6h4X;6l9M|QJLL1RS}^OLRX2Yk@&|5Tp+1-?9JC`+ zqpmokWlF`y$sFlgFia4?Gu76*+&;e8lI%N$P%_lsuY18UDoe6!tQR@z^|}`)$%`~l<%?YPNb*HU51epa zC&!ynBHtI;M5Co?3iB|_J>3c`yxN-lS3zdEREjG4R3hY{CD9Ii|p`nY2k>| zTN1|fP4FyLbhq$8TBwz3F;XItG}#A<^useN;yD>n|gYiV9e%3?V#wa6m**;FG#D?2=mZ3)=v1@TVMd*!+9k(TjW z0RHf4Ht_feU%?T+gya*8WyHOFhGsEn9crdtJGFgEya(4w!D_%(AL%;BNq;Jz683@# zS-DqzI^9{bGcwEO|uSM{c@U&h{>%$>I#q=YUY9!7&Uh=x~fL+ zxf!C`>dK~O=UNR^lVEki5EF7Ha6vn1(C%{tg%#!@8nDY}oK+=%S|v^ys-FgB`{eoR z?805fh_#aB(rx*PFc$70R!@*x&qYSOvX=P+M1$D$iOtL}p6!Vss0yNh_()NvG79;pRqYkoMf za*hby4KIiijZh&aNw`@}fr)3<@)w<-x%NnHI|UL0!s~nVE~L?s$ZSFIM!`bM0HDM3&`Map4T% z5j%X?NiMZ~jP3$X!A&&wMTTUGA^=G_z;zj+Mk4*OqHGP|j}j#N%4dK9{&XJ`mSA>==}p+E9Xwucr7z@O)6nVOCF|3!ONpOMN2aI1i9E}^B!*?q-hBzBMm_39K%1&lv-rS{qirJ1rV)TwUH7Qck)itNU zbQ?{PIjZ;rJ^S`)8KR}k4;6{h7HW7o7ez;EidY?Exp1O&ObHOO2pHmPMIm@NTHF9m+CNziq+b)5NT6Tzhmb)>M(dy-&n8! zt-Xy8OFZ8NulAN

1?*T`UKasS#hp?V@#81W!W{N|RbfTc^mSxZX%@h&#Lo!&W=E zf3UbB5o{y66Qf2>;Q0bunH$$R)oE&Wsz0$j{y6;&aveZUWMq~I@KL_ljC}Rne6duP zm)29Nm}nO3>=o7_3=-~nal4jN~1P)Wu!oH_DVYRz>L`H~=`&;o2TtrY3! z6wzEuMus$||Dr8rGVX85&Kf*cMnxcYS9TdM)RWxl234|T1KAT~a7Vhvy@&()(}iuf z2TxT;-h+*-7joAz{hbRNWvlyP72oI$aSvR1aVywZP0hhYqvXGc6 zeBe^Uka(oT;Cbximcrmjq3COxLO^?@9Xvier#(EgJl+aP*aznFF46NAZt|r^U(*Ei z#qP*gYwo3IW1&J{Y+AlrCJ!^0OFsr8TP%&Q_v_W`TG_U@%kJ?-oB?Kw3Z$H^`+X6s zLxrN_X3(fW?5XT33Q9())8$SliwKtRkxq6|?R%G-j_u<7+!+HSDVF$Zxvw-`=WPQcXe}HeH9-IzZA+x z>6&T0v+J0qNlTbUTJ12+H%NA28jjXnqDKx)Q#He3niIJnUNg-Ob#wcAOe6G#X>Q0I z#Yo+*E;xv-8p4)V#v7Ny3~my&2jS3B@8cP=g}5 z>H^Fb9)011iO@N0K|%Mk6&1}=(53CD6ztKo(;*!b)L^zxxk#&?v-ET~be{<2GXgRR zUZIUo5v={RVC^?gh_`%f(m>KYEn-JhvsS_)TxV_*>LOzoJw|(kMjW8{rO+ZRySq&% zm(Yn(2oW+JB4kN|3^{gL>tjtgDbjFss10tRi&6eB%Bw#3A!%}sMi)#W2nN~5cN|GT zjdY<#mfDN>f*7calTVU~lU%mdC9on^&Wut_+qSw^%cWZfN(MHd>^@M*f2PSX{IXxJE-}QY;x4d@xqldft}x0PhfRF_~?iE8T3OL zb0qmNoe^C`$0P@|+vY(=^SiP7JSZ*$;k`lp{X~pHn+wC+N|SfS=d7{`khB3CvQu&( z!f1a$*ru1k@bZnDP8W7{Jp#M-8=Ljr!j+&3G#8uyj)L^AH=qap8~Brw}IAao$6HX z28ds$aQIM}9Zx;hsJZTK)`MO7gcapgshL_R|ddlSSuDubfq%k{HBExboiQ?(uI81-SOc`QafEn1IJ z#X(l1MrlxNDkZ9!Q{P7G;O2sd1Y$@-TxNbuUVTdyjzTDuO@WhUZhIDnlh$(fJZz`d za!Z>nCB_vo;YgEqLnsbZOG#1ZiIUe_Hp3$WC!RblKc*+s9hVnHnFONNwl&nqXO#X2z4};)R3+YadDg7 z<_pzGj2fo`tQp&T)%-U2wR;MumP8ANOI7(&mF}WjdupP(x!s8Ga^dsO)b}(M&(<2+ z$ZYvbezdx%$F5tL){FOGTb3Y_E{M33YbID~P&VnWa>aYUuZ_ayfdzP1L4}r5@;>3EokBIB)AJnuW4tV?ER7 zcw3)m1?rel1*@)9gD(UNbdC6V=w`ikVNI6mYtMQ!C?8*|X5gUpq*#RF|hZ`OvK zHF-Ws*Uim<{%zX_Rb6ohf97rORmfk z3dK2-uR8OHeyGxoO0JUOT4dGd1ztso!RG`;xFlNe*K}5@+>c|SvWTMAl%=zF+ci5i zv`+5!lT{MFk|n55pO+5{ZfybY`#}xYs`(YVGF=UqcU zb~}Glg0uMYDfx1S{biqKfbOGzhHkEnLSN4O@j z^6)G8oIl#3<1f zyD?eawNhPyQ(Z=b>h$Ct4~WdAE4xvPG*_Dot23Cx$#wZp4+GNdkYb-owBl;9UczKRx z#(77Gn^ewfv(UGUIzfJLJ>)aBMUX`M>g_^F8*T0hX@K#6CCE4OJ<}QsT?1jmECqDu zH+RtOW1;(De5s9Y?|SHtfV)6Xq9yuB)3Qje*D7;JSa5;-U*StF>KiT_9$_$xHykyi!y6Ow52m%6pk~9QS{P z`lt}$zIrxD*+7I1Q=iF3j@Y;?)t&M>Dq@A|=MvZ0_R=>w;w!1^e^57`Ba)gAXe|x^q=~} z?x*xi(!ttY>KlZf=l_l!KIx{Rgo zZ-I`o+`B^E)=bZ4wJ|;+4Rrc~jy5V!ha-~0tl=z#fQpAK6zDwUqt%12eb1WQI_%#| zsgxrIucKGp5-J^8@dn+%OvvzU@OnO<-jX1X8r9?))Z$L@7{!}HzT$hW@c-{!U4Z_`-LSs^ zdKY@jo)YvIpj{oHjT->1bCkgBl~sU~m5!O)#QqT>#L;z*K2Z_s5e3u)Qz$vF6slqO zWl^5>JBf;fw)pi}%>FX+1Kk$JRFM@yy6uf7R=4$3kBX@dbDyrRyHrc1L!-K1HgspVvT6SShw~~nC0Zjrpc7hYI>j>3}AUF;&i7#^Ia!n^^l>skE1NEt=FG4^LN?@I}a<%kUPj!smnman#TTiCa(&>iH z0)rbL%>v#xY;Aco^iKu)w_A?^eJ9kmd7)UKXF1UKLe<}9u&n}g-m!qbNx$0jx}7Ni zT`jX0nb$qh5NNbut-OAb*F=b!i)$MgD~v;}eit2i9F4qRYCE;Awyt8Wh}+4fUc64) zpyzfo1>V(8b>}s#uD;|4G)@uC!QMA?1?jI*LG^b@8s$2JPzxnhJ2Kg(4pPb9R(6}- zhiu0nl%Vc7XtSm>m%ida60|!nL9}xE3^@r_jd%pn8)j0S)J*k1-GaADwXgfMOs`beqWm$@M;}yQJ)A+us42Hv zB6>sodoW=pEVfJN1U1^qXIRrSNcpDHLD7N^34#IlrqljSHqMK0#c0yp3@dwukPp=L zl;u5G^0}i!EgOM?0gdbOGA#+!nB*5m`JIenksj*tmqlt2W+QH%FH|?i0)q^BF(*|l z?%?U_Hf%1-6Lmp%EiNRerx+|JGR;!`1CPqb%)bcEiM|0c5^O?i6XJ$*F9@d!}ZhTX4zSz*-BiZ7uAfPy@+-F%%jA zj0(W1M+5A`RK*5ZbqIhDI{RQ8N54}9;Qr=zlRtm}4VuiNk~pixil}@+V9f=VJqCw6GRv(>H9#%1-a81uX9eIH z5+8+L+GPxFk|@g3aa7ooyNn^#V~lf}d_&e98KL9V>YJ?b`XZ4^P2MM04ede<6jphS zEe2|+S-YpSAaJSX8j0XA5MTxvgfDLxB_zVV9W4k50%w8%^Oku2(y}|ywHq#T!mYUa zT6kCeB^QRHAv(f>RlvH~*0?@GOeBYRiH>H-kAw)3uag9|7<)(^LEk$d?RPnhz4_c@ zGqx#kyhp<+#8YRpPKCf3m4tJ@1IH%Gk9=Pz8TWmaMCc;b@)~==PwiF^z6`3_0WYPnq)}gAa+wTW)0b7;H}&Td~a>B{yGpnz2iePyS7ONKk|VZR4Pwl30jZ?(`jXVO zvbk~YRO*i3$xK>gn`KC&pv4)KroPh*r|t5M5>39KDLsCn7APyuMK2)TIE?_s2<&t$2YZ`un|Z#1Fx z87Q7~F*BBSv)XpNU1g1W0GkF^kRG2e$_KOgz#L4SDkgp{0V?Dg1*2NaqZ1FbU`7&J zBZL$`lzP3b_T!u*B-R;E=?o)saH)>ecd3DcEWTI0NuZYYI4>@CUgTLXHu1tDcGAb) z%*H~(3e;H?v#{8?U$9_>Xg#Xh(#!umPwVCP(92zD{^mWjW>Ff=KUwC%Vur-Kv`$%i z5hS3e^Qt1>s}`>$`&f<8pBv>*f&(~y$h} z1_-R~Ns2sqqNa#uI!%$kTN$Sx-4B0znfeiiXMyiIf^T#16)>`3-9)t?XwfZiqxIa9 z=UuJ*dWTgSsVuqXpk@ zg&D^QGd?zxm>75EsuCeyt(w_^*nhmjNm-1aSEeNWpc-wtb~kM)Xsji@nPU;OJv=4u zVC^s#pRkT3HoFRYb6K0t#+_>AHX_$A-e#HV49GRt0z>t<9{+VMDa#Mb4t&Ie6zI=a z1wZ^uo$oY)dtbJYI9rf^K#>0$-z{DGAo;eCzEzk&w?8?xJZEE4e_pHmiEj2S)xvBi zb{fucehk^``L-{@5iMVF?-QrBbUHBe>lE^R%?Y2DgB#L)%~$z4{p4%@p+vY~|6)&G z+oOrLe@AP58r&9tNGLZ<`+0~0W6_7HuN?$tIeRSpM#&nzwFD(%4q^4hPcQh`ZWdXu zrhlgK<*=pgW(8>4o(tAm)rZfB)R)al40@Re2O_2fcDHA++y0rC_E3a{q7&5p$V(YO zE!EYzdH_|$8(~=R&J9zGWAVP9pzLj_;*B}1<0y8hd%8CfXLj6B|8uR?CesvWzFeJ@ zN$`?1y4Bsy05P17)V!hjMRdI9HEn*yRrE}>4N4U^Acc~f$YD=!gjmt?~@*= z5B0$YP%o*2TA-N{zV}rtdVL4YtBFXz!x1yT5~gVWp;J*WtD2y(68Kp8 zgjLg6DS+wEs1$`(+5e#9DynpM%xFWoufL|8l5!7HEMpxDB?QkEyej2gPf-3w%4`3olup4567MV>n=9*n+XDz1(Ms~}o5MgN{^Lhj zEiKUwJc#hpK29CsH9241dJ`NQb|SnQI*nem=$WPG*?Od?k?ZyFXvVm2mMSE;Mf`e< z4so2V%REJFWud|BUErE8xV|+N8dPf<>`+y%D1}+@g$cI%Bw_u(oxT@kYFH4I_>S zRSo8<@YAL>U;aUgZCS`uXzjdy*oTE<&}=C0VTN9e8{knO$0 zkPSA(a6f*eW^<$B2+jl_%Qr&eO&2ke!prOYsSRnk;FmOP|4EXDdJ|0p8qRH-q+w5b zt#XvmaPkyrsMisp^5^%}(eU{OH1z8Dc$EIPN&_PXs zVk*!9#CIDU5M4EhVKu|ZbyJlYKhUoJZi~FC!2>IQu-Mj`2B^r#mel(jtW-p|q zk6>>R8(sKPjTtJ8cVbZXC*8rkN(}}p`LrdUdK2%;u7HB)-l7q2$cVV16gq4)e*l5h zjizi?XIDbEInJ!tD3{5go_Ot0QxFa8HDG^%Q7(hQKblRw>rAC81lr66qzjds*x=Z(^l6Uf7?Kc~bIhNu5cGy$|fS;T6Ywi}cRh=#{t* zy(6O;@6DF-8FQzjwmH;ol+j(+XaU?1-o_#$K|CV0Gt_fyt^RA$NS|U3jTu^)1!?NP zPufbUhNDKI^wL5Iq#{UIt*TapTBvPt2GyI=fz|}uyTnBq?^{w*1mKd#Y?vd3j>h=FY-J3}tV z3{5~(t_hl)t?nCY3y)I;7uM51hZ)+^SasDzhHSb(oGFrd#&pp@)86ED7kS-XUT+5< z|LEO*&z`B{N=6?p@f?|&;ho8j@WiFln-<4zO^utysoUe<2o`^nS()^GHO=4tJxx{spcrLZL4=Q4REh9+0dX?B6#-y^gL5N$y%b>Db680By;+MZ#9XrYKw7P0p&SY-f%Z43gzg zZP>R6iFq*Ty7D&Fsx3pPZv0JPW+fkdTddVYFv7ayYn%)qgL(Vr{gXp(n4fCq%VQ2wvDR(?- zzys@Qhs3(}!MW5_Dw^J1k?_~1ZI2svtq6MuLg67a}1dW5@ ztGE)(Au`UQ1wB6#f;Ryqaj~4W!Un}3HN@mC#)hlQ&^8xurEX~+3m~x{( z(jhxEw?x>=ZnOD_^=*cHJ66!`E$BXBKDZ zgB1^NRNN1RIA@D3aw0-O+8y&YT^+NH$U}mH1qBsK1UyHn)gkjTW>5^x{VU zA7gIRjD58j>bPLLE5~Xb;xI5!A zD2_5CaN}Mhf~XJ|$ou~4-0n2~|Nr+Me(aok_N7i$ojO%@&<76m zqqvav{E;-Wk#tyWy-JhiH|K*C|1DQ&xOzF|F;U>1Uh+C}KkE`|MYbB$(YRtCAQoRp zvt`gRpL()l=anQMG({$9Q=8M6#A-x$p!!vdX`&Kd{S^XqEJjtXW9w+B+cGs(u8y7O zni`x=pPx=IRQho){RJI-dywRP#|5G~zn@EZ`x~I>@t+QZF<9;YN@MuOQR9en#xrl1 zY6?+JBzTpk5OuUrXY6vkQ!jE8_XK(I_?VrV{6pWIy;;*s`I9Lm%fMg>rl~wtg*pRY zVufdwyDBbKt2^r#F*jatBtqem3&mFlh!#LG(CwV!G^ep=;y|d$^JZ@}PE^JwxP{?qe594efRB)jsSQR1wB(@ZQ}*td3;Rq>bKBha&2g^1k=$AVbYDzy3w5 zhWE5%To{JpAPVE$9Mv)t2=*aH6Giua&7{rVAsYX>cLS}_d>0g5yy;<`rW?J>Xv=>H z7Y5$=Z+NtSQ;2pzVdEgJ3fhziu~C2>aH= zPQm+SyPn<8mg{5=$ei?ZDaoHU@|aL@j_&4O$H@xn37irA|7dcz`Uj{lYwtBJ4Sxqd z4P6(&)k8q5vS1XB(b$%9Q1kxzqm9jfk(|-w(1^btZ-3F`jEKJ(N`2j!ho{nD{qX>f+?xMzsE$ff(^ZfyWxkw z`s0YKnp3qeFA>?hJc09tRqX6&vY(izpP6x#t`a+H8U(~cAg6}ELsj=MvJ9z@U&Xh7 zr{*GAbovWG{pf#E;AgHA{g~>jo>AyWXnAbt$P%f#`0a1mC(F(r{_>ksp_kL4|D;0; z(xJblLvz!iDne1fAkXVe2>$UzedT+H+gGUa&UDTZLC##Su?i@;Dc$_J=`20cp|0sr zr*!BrLZ$MRD6pA&s}38Jb4*M&6<|VQs>;Kzg`>=)SX`9i_9!}g zO3t!-7jPU9l zM448qe*Ee^xD2A`@=YC=Hynu_LdBluxc;i}nyp+6x0>Y|C4Oba8;vWC2?$j+XX>Kt zd_Z3d_%mY){FwYs5MQd=kYcte<3B)D0O;>4$R-u(l#b~tzNLz?TqZ^mq882i{n0Eu zrbUXf)+(?9KVkbvii*cB$cnXE{9~Un^k-Cme%q|I$w-{#KgYI?RGg3<+XuOA>umo& z!VJ916~PQMd2M0iw~>lg+5V;MCfv7IOzn|{eyD$kHkUC1*V;DI3s!V1z#%#Q2xZ^t zhv{FUsQFjJ`Tbz!sH~NBEpPl_v}gl&Ow)qU%4Eyez8sddYu$41Ncgyxi@qG5h30wD zWA?XVRYYK!*x1BMEuHcc>da>x2X0yBAL={=ZTWpT_anr6`;9lLZnleGn~wj5TTAl$ z;46Uq<#hb#F8*B?|BrP1>n?r?@wJ<7=1%hGo+i)lSvy}}AKHydJX$+iUmILnx7vJt zEp=&!*0tQUd6*ek`)|HMHO1TLU%%_yWYum^Pm2{=tkCHS-LFs=LUk>Nyq}t+VL`}$ z8e2SjIniIsV%O&XOyNX#J^e@XGVA#|kRTCL}DY8ClgWY@2e=BOD( zuGrx<7uS!EKi;a8I4@s6aJX=oH8!{_&fzfIaCNA%_;$AP$u#Jip227B#TrGWn!aC6 z->A?;g(fN#QE03}%M==^&~}9e5@O=_pTX&_N`e9`lWX&TA*BZ?{(0aFH>%DmGEa>h zsnBp`X|Iqqx35A|6ql`#jeb{*kac0JLUtwk6(QOg6yK-ze&v2o--+MBJf98c+N0-& z*gmz(l(3Y95mL^MF}S8p6z4!aGq?T+x0B*+_$v0V{TpP=b`ze4lEYxin*p)KdD`3l zET^S%E#jMKa;DRk-?UX1B6VI53KBVv2^Av>k=Jw+^D>*Le;}G1D9U~2=VV$;COk+yJOEMg zt3>_>d{8rwNN)s%>i=aTC&mjFOJ1G#zhbie+}yt+JQi>HiV&ICPXwLUZ4)0;=er!K z!?@Cs!!OU;^SjdCa0nQeDbd8w$n|$8-t*e@Gk!0Aev}L6$e8yc$#5?IHK!jYB*XN) zt6sO;1WGB`1*-YC;gUFSnc~2-=;w{Yvx0md=GBZ=h6EWD1)BHU%ZFISvQyA5?YTWv zEtQ+vg=F#uT-PS6rZZI8u{U$D%5-O`N>(z;fmFhRA%!OCXKAzi@;ljgkQ%+z8=C7A z#r0A%|27uFe0PdOa474KR{>QNKe#M;Ie2)m$U|dra^*wFU5Do@N&6^F3#H;wqIwjV zOOXiP2<=#Qq$C!7trJ|rVTMupy;{_9I8?QnUf<6n!y2dXWGk$@Itf0LA$!gx zf`egvRz?yCO&+jX9M{rR#T8UhiX%zu9kP^rYt!-nLDyaNQ@-MyF?bm50Nx$Mr0I{dDeW^j3}X>36(PL(&S`b)=`FE zd3yUxx?QvRe=JV!+3dL6Z?B%T|KEG#aA zD4Z8-sXtxE_O9r44cVGgcjfxnkqa?~DeY7eYpFk7#-3Zz>xxmK$}<^~zloa47=9#L zef}TyUt5sk)5h`eyXD`bev{`=}ohu~vIAZ-vfaTKUB@yzTMcjeJ5uDnL za4W*8(bhkv5#C}Wj8xBv=#}ajg%#(JZ6gz}QIvEl)hJ3jbq`ncAij=x<|jSYP-QM{ zEiC3qa9z{jA91ioraxU6_C6G8ON*M)$`+Q>tbsK4Sf>Jp{uDz$hl%mOv8BEwVm%(s zN5#|@lpabb)!%a~rak!waZ8o8dQwAuZFm-s&-dat2UZkWBfq(Ly)0Q)(sOknIh#5&T68l^8))=LbvPJ*65Glk{B@0l}~^&3mSAw?;Xc|sQ(dg z8m(y22^Zd9`ELoXXZ_kNc1&?)V=QlBacT7+=8oUOa9y)eswbCv5Y9&Ge^8b~lx2iv z8BsVkT-O|q{|6h_h)Df5ghEqn8%&D$9}uh2#5$;4_sV6F#M_Zj$tO(IE9RlsKZYDi zJED@^`BrJDWWB)aMwi%16T|+fUyBp?Nc}gVBa5?|`1eTF`gkkjMw^f{wwCWet-X2o z>DUmvh-=D1Ipj%BiFmhZ%L@stik)kc?QPx-7*P^~ZqSrNA{F0(aMni??K;JdvuX`9 zXGF(Q5rA2BJT#XP8#B(1_3!AYpAy_b+$G1$^q0G31qkKSM>sO@EnHxVR zDi@4NNWkphwl5saS#Xq!iM!NMXT9a}FCi{kr_-7B`@tzT3*Uigg4lY`JLCPs#I1io zq{cSI2`oWc!~`xb{PJAsBk)or77eMgf4CAz*7^*35~%d0f2f8n}Y z@I~f=iKhkI-ddbGxGM5PmFsEWdo3MP;9hetO-?GL(um4&6A`MqngJVLGYGBfN5c?U z8^jPK>;7oK6KvCB6-zDFPJ+glCCdE^6GKA1I5)ACN_bca5kd8fDkfe7i4uOI6CVLS zY!hto+zv5gEr5fDuxCI|)u^ixR#901sL;>8UoGIOpARMXkRRIu3F~gYOPIiNg(_cT z=-@FESQSK*H%7e4@?DTle~5HYL#gb}I1dQ`3%$YT2uY}h0tvdH=hPpXGgNuCRjU>v z#d8#&&1e0im?SJl^j!xl$rDX>E7ev1MyuTG^?T}F1bq3v_BX*`0k!FhIGP;CXzN7c zcd$10>a0(|@qHT=1h>77&}g>Hc#Ti2>TN?I+H+Dt2;~^)Zf@wLyv02 z#}tndT}R6wsozT^69zy-RhQ9B21D!*;k)9u7O}2C_tq6a_x&QW%kYEl{ZImYH$zw` z$Ln*taBc3-;fLID&{D-g69kwuh(Nywy5Q`HpPH= zZn&Z@+orQml8f8KPbG;VE&L%|sCyr+LAr|^y;xX5ZS|lRCK}AA0smoB4=B3hJB~oZ znG2(V-gAgtbvwm`ZVV@fb`K}7FZ2$&6y_S<{Ivf<{8Ba6FN#!84djL2mz(IXato^w z1;gd|%V>fpSI|*wjLx2F5RB9OI)5?u5t_R5Y2BMu`!A2Y-km8&7U*{Mmn%FH5&p%t; zIo`>aaeqLyr(=egSYDd=61t^xdEX@{c@TdvM{p3iG?c&9!G4JL4@yY@@TG+ZWnGl6 zUMgh2dktfC5HHV#9`0eHW1&cOzwAgNLN`XP%R_U$;w_4=8?llDP=4s;DjoT=e&s~_=r9wh zl@gyJkB!W3l+~fgQ&y~(Zgb2-t~=S6kA^pk^@vm~wHIGwT^ZPkPjdl}x;yizicZcecZ0?wEqa_%4n=gl6rWrCa~}*csvBk;J=PT&(xE zRkQ=-&&>&^(hk4Sf0Ckfk8Gpql&<}1Cuc9&ljSWTA>}5)Kf`jFgx_C67$Q9w5Sq)Z&|s@6uqM0@&Y|uobz9rm zRMvP58wt;=N+={DeQjK$9+=L&+jzRK2W-ER2|8jZmVI+{%&6S5F_*UsFP_ItMYBH( zRG93>U#!+Th8?Z=qgfoa9}eEh!rF((sQVyczWcvKT&Aj4hL>!aJc*`>4OLxEA^%=Y zo)cqC)^6pMA&{(C6Rs7vrI0~*RJd_-zv{N%2wZBPpl+)fVNgy3Ym>8`k)7gNk@jC@ zvHHVdaSt!7C%)89`uUR%vX5|0SAMH%UPx8r4SPP-L6g3PDg|jwt;x1oe($ATC<`MU z&=nczI42$oyolQ569MZMyTsi3+jZM6@8`Qi%t%+z3D|?-#&a{S7cIuA9JDVp7p3F? zmx;l(G-N)Z%Beu2n=ro@!Qgh{GJ+Xu3Pv!3q<)sf1gfTCh5ngMrB1e_%UqJ=9Y+x1 z2-xm_2pEFfs_lG45}0$mzm%6olGF1eN!~&|RWDo^Ij?_QnFDI~1s}Z6!9xH9U^n|! zOxw+FZlO3{dgt{C*u$B=*xJgcpHRiVP$~}CMFmzs1^oU0ozeK6&xq_Dc9v(sHy9p@a2ENk2)&EC0175+<#%JoB0YcCc$RAbZl$W_H-NdcT^T@Hgii< zy9_Y!?!QX%zOLCZ>7MTUi1?bZOcp#5EfUo*UtJpv(N7k&c>|P@`@3zY2}1T!^~LF| zgjwr+|4>Fn#&yr)-Y&6Om!gYZ_Oq4!Fzfn?a9!0K3{zvR*?_Q=)_~&wqJJ5rXcGLH zH0l*9CX^_o?|u)GL8+P^PR8%1*KzzJ z4a^ju>~8X7+^5uNM}}W%@Fp<70jaoX$NS?ND2KT711M1dGb^(F zxtcqJwRXlw&t%ns<<`Qe7JZcAR=0}nEek?vhAPg|z+esC5}CXE(X7}M|LbS@s_ShQ zQ?7!ql>R5sS*y6Z-s3dqF4srIAl(b97LEnNR=8}Vo3brXOpwix0lDT9=g-zo(&m`Q z=BYg;29RwX0l#5mXb(|NU+(4@<-WjL0${D7Jgc^7&&zki@({E40jwFEWP}Z$%N!xAz9wHn({@?$@nZ9< z763nr$nPB=BT;zOvn)q+3_2L4J--W8p_V~sJN6y}%z^#CElt?_F3rz29#Mj+>q@K9 z7?UzxYEZKHXv?7}~fZ8^whxOlBQ;!H7_43uvf;S@BW^i`>D{y-pu{^<6>7us>=Y12{ib9PPBSpet1B*oS7dslsO+V z0K9W$v+y9+LBlT}$ZBvjAMHKQVO1Vhh6gKBmh8f-lv}e|hq44O5>=rh%r=Pyk|s{1 z5hA*6?e=EPx3p)pi-CSU&HigGA2RN4DEVxC!|U3`vq zaeLdva5#IRBnWzrU-VKY)wHL>F1d_Jpizl2je36Zv?lrrki}ZvXMrL9OU&NLbt?6g zCT9l7b(q69V~Hf&Xahn+lYK3l@Q%>C@D6C{6lD|oma-|djVo7+zw1TSIkh+}o;mT* ze5&CMU!ME~|N0~O5tHL;3XtpzlyI1N&`>b*UPPjnv_IqZCoOKTS@Hi$oVO*{Vc??- z15ai4L0&-es6uuOIII|f;yC{v=D7*sN*svrj~+3MfV?cQUW%L<7`8QBBVaBSc0LxOn;)Po?3-Ej1?zY~Jd;ORpe# ziWc3ZYafylFsLwc#vF{W#1pA}i6!ztkE9_aLXOWS(Ox6Pn^XQDqVA+bl83A z`Q{dh_J1XeoF%cO_?E|*m1iUTscSirSm*_zD}#{#?o+x$-zrHRAvtcURR?nKYifzqG$FJSqFFAO>99~aGeZvW_3%${YiYFHOF9f$%EYFR9;-B_W3gn;p zL(H(mpCiRTjFs$`v*$5OjyA=DV^H}0y>MwyLmH0EV=r*iWB;!h-iX(o}8i5jz z;P?mDq(W^dmO9Gh;%!{dc%_eP^}un)V<_uKWt&K7+7AMTnZ;SL89I}Wqj%mQr{o#q z%^=ROC5pt&bg?_)hbo7obri*WOwOh%X$k(Zl^SFiU`Mq>mSXLBJe7)oLi4YZbCi*t zhTDlLM?$DaJMi2Gf_akJvYBarr;EBfXtaxMEMUc#+mH z0$&zh%-Cq(H-TZJcg3Zw8ug<`u`E<|6z>7}&%UpUQwPkWLV~hXh9?dq!#py$m6`IY z`ZS7>axZ`+zV*?{%x<-t0RM-hfRe;7{$*s--za}0WLMU^d9Nbb@`R@V$?hK%Z$Sa3CELVaGeo1Q*gNx66Og_4>Tp(gh3U|E zV;|)#{*PZ%TjL%=We)Y(om&;(SOiCTY6}@o^#zSsJ8}C_80#3R*b3V=9casB{AI;e zSpQ*E&M-GbswZHhaz^sBlNduOk5(pL7YZ(<=gF2ZL>vV_DLoO+RIAa|#&b}gM0sjF zJSn@UY|Qp>qLK0ZV&gfD87c+XY!4YMh@fi&?RZN=5Y1ZOpdn0RS&Y2;EBFq!5m>j_ zAI=&B-CoEZ)tUg4Uf3ScSyVlmM34Ri@c!$6h(Rnm>fhjpO^wvK3sJ70Z;k1a1d#*SO8kZh66tuJr+2ECX`JQ%gKw8|k3vmk=4L*bscRRSsaeEG>Itb@uCTmT ziy+}5`!vYV=b84IVj}#b>0KuB$l=>t@E= zQY4n5`v7G%iv_0TbSFjM{A($lai`}$y-f{?ca_(y0ETtqWFrvc{{$M%xQ##7cT-FQ zOJoEvg$9rvquk*wdC3^YE z+qRDp()mg!crM9xuS>wMRx~HamyG|}MyjatGxZ;@03{fjYt2{&=jRb{O(2WN?`zSvW)d*jF=>rmy0kW-6R z7znFu{1Ly8Wl4{q0hC{sY{KGS@SQ=*kN(oeYivU0Kp4Jo#moXSOh!F(W^w#HT|tzi zyHOx6b*a-EVPzZFMJs0Za2mkk7t7=Oawe&mS;#o$;-XHKtI3J}Z>sT7P4Ue~lH?n?V*tR_ASD(ZMT|$-PsL_^bm{p0+v0JNh&aaz?lbXvv;wMrQFIT!if%VTwK z%Hl;4+JvfZ#_un9)zBPutW9kie*y_*Cfv5l!G97|5cV&Zt6W|-Q z5mMyDAHj(!I25elP*AfN#sd_7+%cf9-W;$pY24=GpQo=!H(Zmn#Za~0OY#gH0OrGI9g9<#5{gD>(5k50X^G!Tw zLP^KP?L#TMrIf0+*#tULP}EWEVqOp9GY%9)a;Cdp9PxJV&2^F|p6wzrg94kDCC(02 z^{|F)M$|38fN#s>A3-Sd$;$oTpobOPa-3Wa(=GOi!|#75l%g8O&L%9Pi66M@Lye}X zky|zixC83ZRcNsK`iTDmGb|>!^?wYV!cn2C&t8ZoV9jSdGMc#zRo(Km81)!m(Zr{v zCnBd+Y!$JgmtoW|&S2EnM8&A1M;b8dxAA%qFu(3zCh4cs9Z%hJE6aD>;V?GI=>=;1 z)vME9aX*&Ja0?JNlUn?)$ZS;J$Z?*-6s>pT9t_byj0e>=;y}4_%1r@lX_I z`7I1roawY%H;{#+Or(A*Sq@W{^DN7G=+vT|jAqMn{{_o)UZnneD52NykY;j&8api< zdg;7;e;kPs$8_W_0%ARb*gvuK-evg!@K#(43G)7wDEt+w`cR2!ZA3$46L>~IGDh2+ zfVVIu#+03H9nVeyv zP1aEDqHzolP^Xn~{umpU)YYyMca(9A<6h7BCA(Mk&$Y1fl@Q9Txc3IFf_mR5d^%wb zJwXbolTB+_#*)qrk^4EXzRr8d-EHZsUW8DRy8Lby`D+(fd642jWA_UUSKl32>O1>u zFLbDIW{{{`=yjcterV5Yo2YYU_zY8yw4NGaL&$@u&h#0o@roAnZEvso{mBTZG z`9o))b?)pl+EBdf`(D>!?hZ4xsCy*^_7<$STtbr+s!~@RKe`_Wf+i89zXzU~K8DS< zrdEB7hWh+22@hDi(fj-@O+HwiZe2#Vbh=;YdbS#RaTk7mANvS&30^>I;8?RhbUf1na(d_#WGLal`JV&$qC=I$LniZ=27yS+Hx!?$8uELE*vry$cW(izZ zP?ns+J(zKfvtly?ouJ}aoLtSZMX_9$K(M9;;4>?BQFv#CF_^J(G67C~EYnbQJO>6| zMrMHroWGIc*oomK;_{FrqT29Atk(s}k~Q#x<>{>Zq#BL$icZmH83Z()#1BNyYZK}J z9XIs;Cw2fzPxHXdn)U0M5>8Cor$Pr30Q9WeYdLz_a&+ANH{=1cZZYYQ|I!QE!5D0> zq7v`SCk&s4s$SxYZVbGG?H2FmuvV#iB?Z4k5*5Ocrif8zmGgR z1&O@d(EtII5Yv0ltHfzHrJ6Q%(|b*l&Vjv@C;4EDy-(kudHf;#J43wGdLCH2*s8Uo zuyIa{5cTMS_P3gRPW3bdA8_@R6i#r-^YJp;LVUI_g)$|cX|Y`8g61I46h#}!jHZ*S z`fGkGl%8zIJJXn}T+c^o^03lG2QEzNA;q7TCJy5&(xOcr+Bk$%b&t|Iqc0DXOBj8* zA6ut&NTa)R)xl)T`2E2;sC=?z|G$r>|6fS)!Kmb@g+?Va#B+$V)|hy1ZCX4x*2Im- zDrJz~!^tVV?sqd~g1@iT>YeIg9w&dmaYB_9@M0Q4kc5$N_w3`p@+ z2y}OsjoIJ?pr4xnw7W45(;G^w;|+UJ6DLQAj^EX`Eb(L6iDkvn<-a!X)AP2|L|mpF zs2#PA+sWFvBw?5IDkgntv6Vin$qeO|-lc4S&j|Qlz-J4eW<=a@mPr5kN zlut%#JT+b8W)l2;6r18s403!6umH!!Iyr?vDOR%#3U0Ece+FF49X4E{liGY@m&Twj+- zTkkOeL>lQ&)C zD|gsY$i!Wr5i6-Ed^ObH8-?>MQDD6RgTy5*a5eaQhP?i(pJ{q^sC|x5X|h-d#EvD8 z@|`IiorZ8E@MGbRH9<*QjxvW~c+Hn}a3?aPZuc0KWGdPP7*l(z5WHmPePdYIEy(&9 z)j@wBmbG*lVj?q{_7)w72K_SWu@{D_WK~<5h&Lo#{&=@LjQob$Ub5vDzA`sW1F^Pg zhGc9SZb9B~w;=D>rfIYj_9!qyQD3CPV3}F88r3^tedlN|yNf%=vE0RZDFfSA@+qBo z4#y_Y9;pqODv%uNM)D(EuWs%OYkE+zH?W-qUW0YW)^RgzRh&x|NHRF~b>ll#h2Kfd zfl9SX=|fvOwH2wEocBQRJ;rw1Bh}-yaYI$h_fS0HM?1gi_WN7YQ10>k;RrA?ZIKV) zES|BKV*mB$s9<142d#HjbfWdc(N)lmoE8rKrESKkiEN8yU>QXbPmn%C0xjzARju^I zMzM?1+MxsasFhlw7n!3q4OLx1f28@-1w|>dx9bIc^T!#HlN9vGz3B6i@#Cd`XI#dk zpy_}V*hX%WFZ?1AF**@+3zHIMYhqoW5pXAqE__()V$95rnt2E}VKiPmFpx(26Y3iq zm*|)Uus4(?W;9?c7)`A8N4`q;qY~7d-d(N?$YE?to0qN9OXopm<_hthiTK$8%_W?v zGDYJ3|MYzw3@-f{@Q4nyzq#wA?{9|AA8Q$#SfkTj#(B5UMnr9VczlY0{r36Z1nfJ$ zqda{mw5)%1Enm80w1ps+CCT>B@Re-;6u;p%>q`>t7ZUR77CN6tp{ggXx~A!TfbZHv z)nxIhq7Dwbt_2C#wovQ|7F#rSEbxsQ}c^2S{6h>d1I!YyVz2Tuh4!~00*ACy|WmN zT;@G=xx=^S0lFM_NA;mdV~%)%6c-kF&@;syFd8-`XsP>eo!G`48O(!a%!Pr79T}RreB{nMlJ?^74tz_`uhLxYR#HMq%&D&8yVQbqOHD{6qE3ipaSTTyv? zML91}dqr`iV>tk%}+(L>il6CS|XM!Yj*8!cBBp0k;CEAQwn+l&3=f>{Rm8`lF&fS5Bud1M+AsuV1qJ zCy~Zh=O?;vh&HaQ|0UodA(PMUqQRYQ;*xE@F1JY{yg4 z#2e9F>q@g(qowPVZ|}r6qr2WM&3>E24gWLot>~`xrP!K%KS*r0eKq#wYfG_x#e?xI$wPno7pGR zRt&(vDJuSrs#C!4kIuj(-ROIYsO)25CuRJK0@9K}!MAV(raqC1O?x7^EGr(hfC0W9 zsv4_G*mrdPwqC6?AEC;D7S}wm9xAbB9LEA2IFEUp==>8cq3FGvIlxJLQ`4il-8no5 z?w7zcu5<*x@sKySIa8fjfzAqE5B7OQx&3Y=`vdr~ZId>aD>~*@xbY(p`?54gdqXrK zdX3~0Xju+PVcgo(47Ha02rbFWjh>c+&bl0^ZQyrPeQ{Ug27}6>4=fCVvPb}XR%GaQL{|NFO2QcKp zPUbTp2vYM%;$p*sdwEd|kWpRVJmvBR-Hp#^`q7Pk^s8$jV1~`XK;tSRywifz3wWB( zE8qjmxi47I4D1MTtDX!7sLS(OM>!jq0_603??zkqL6E*a;+rdOA7z(`|RR{TtQXS-=YVSUuB*S&r&Py86m z0B0n$yG;_OjnOpXk}GIKlQhq9!FI@1|~ z9ebFg4XfE05l-Y$jM;#XqFJLKMy4tEPPkY=pM6BGR}W%B_5vy}b(y=Z1b%545XLcR zits|{Fe;eLiy^JO*Y0HL#D$paFy^9lr03e}_d#F7CcplO$nq^MygKEQ22+bHM|!?9?Q5xaLu7t> z%>SNA3(TZLl`Hv3JJj+Dgj)lJsmGLpizytu>n$3reqj8zc`yE3_CBFX6yE8-lF=7% z_aZG~`;;dCk}LCH*a!6gZ)X-q3nk|x!1d3!5;x>|U)EwI0iA_YiJfDnK4o|zOHRs< zCP!h?f^&2191=SmH-SIzqi@m17Abv18kdz;w<~4}bIN+Y7n)ljF1e_DWmcBm;e=ny(ISTWZ;pnZURB!Do3Rgb zH=|`4UfO?D=%5H5pX^`jXwMI3>>Evt%Ja^t#v}UlGB@8+q&ngbTPS3kwpO2%C9cWE z;xpRFgI0)+%MvI5^zUc_?`PMb)W3DcX_%RHLc2e990z5N8RwMZjfr8C-#fJ`7ocj< zDR6effXZ>iu`0J7r@R}zs(FWG`8=t?o@n%Ze3}4ndNHdU{9iPsni-$NjB|kfEZeaL zA)Eo{dbQ+4rlGS(#i|}n*3>I;u3O0jWCdJ}QLj;e*~~n-oVy{{Ye$3NGo5XJO)$u0 zi;WTK3T`q3Z#%|{si66Mg$EF2MLjOpd+a{q9d`~7`<(ba z>4CvSoBxMypGqe70MX&s0GKTQJ|t7#+9ZB3L}WkTjpWD#g#J6tcKkmtnNTTW)KD;A)r)Xa6sYu22Vn901 zRcAArL7L-DJQg+lU(}zMZj}IsCNH-RnX@{5bC>E5CJM~Ps)&1p3F9ux`-LY_*)LNr zj#NiDTE01>yF{@$w;pol;MRNM$Itrh_*lzXza1U#$eZB1BaL;~EvakXLl2}5gYo0* z^Bv>*uQ|X2jBEDzfN{;*mq|R8OGN?Ypwi?&#Vpo5e^8uWZ}Gm{xx0~_+9i^_X9Mx( znq#B)LNx;KMz+ZY8}*VgvH@*H~0)5$fwA)#lR^wBj9#X({mV?+by4r^SPh zLvkw-XO3?TC5z^!k|ajV@gnK;9n>n*RXvTtgfDS?)UKuW7tiQ54@|(_0iN(60Gqw} z{lqQUi@O6@-U9Y}7d-D@jHTG6pf_AHZuFl01w2Kj1M5GQlar0!12;){dc#-s!SPKq zf6KSR##3H~y}Bw9aLvq7p4;G@J>99Qt4$NTtQ%++CJj0$iOeAuEs>pNfR#0zi=@Y$ z-ttIik8anD(SeJW?I+Zq7^~>5{%rn0shO~&ro+u1&!MvBU3a1yy<6J>my~gw6YC_l z4bSOZ&h)2<*<*fJQwXSlrA{Yj{reH1qt}d%;*(B-i}u$2Bo8^E%9vWhc`$L|WQRqw zL1OriK9s+}PdIena=(zIGMSP1lgPVNJ6x6h!{d1xVD0g-by*{alp^=sgLC6AmjBQp z@kuzbVflA?;pJYtKB1R7oKo>+C|t2A6eeN$cevvDGE_2Wc(X`yzo`@nz0~V~;yF_= zZQbuG)v$5-wzd^pLcK#Tb>}YSjmQ--2N_?{X zyA~B+g;Z_mr4~I)<`lPzBu_h%r1QwRKf7$7k~!tADZMXoXd3l8hz3zsd8xzUbB4F^ zCx8jPbvN^Lj_}fH?0MUJ`tmwgx&1f$a@&77HN&<4o|nY5Eg8$O^fMevH_VxGk6WwRJ?4CMM)r8$)Q?uOY^23fJH-Ez7?{N`J|s z>}%nCFKqw~gPDKjR;5;SGSc(cnWstok$7`XDLw;m>dj?DZe;ndd8=D=y0Tqz5j--- z^Dp7Vpg%AsPZl+waAB7B0~dCJ@Q>()cht|C&eTaWR5_h7{*Tk0J8CR)Vdbw3Wz-c0JO=&p}T+q^A@Cbx?P6-LQhY_n;eT0+E`yjAzZwO`qBIaD>5 zSTB2rYr5)V>M>z1zE!*jTpo1kLzUggCRK(&Lk9((?dlL1@}9@R>Cz6W(laf(Y%Jya zE>QPD-AhM$uG;dOw0DSnp2%*?mhRaY%c{wG^+77y=G}Hdnj{Yi`l*MeycU~7P+)Lf z>`E~4fE2;{4@&WlVCAQ{EzoiGJasD@(I0cFcast}`~D(X?Ha=5-mec=gP6XVTlxAL zGG5%@`jQJ3<95|GKyS>G6UUTPbIXW-LbMwr@BgvQD>a2()?z8l4 zIBs|*Zhnk)x>8IYYg}v`6H9+Z9Kt9ak=JkN?r_(AGu_VGh7eAoyo}M@?>g8g=%C$h zBwum;xXbn9H=J8fJG?Ymp?*ZO8zR}LZEIQ+mao3O^+W20?48fR@aoNTrO5^B$e(7j zDz=KvvOdC5(aq-`KPamno#dqBy6}SZgLn4qKr3USFt*O2?7CmMmd#|caCmq93%OZ- zFDB8A@8ub8e4$``HR~9a7v9&cX_sKqI|YBeMBuDQx7kA+unsKrn$6OaC7cF&=bA$> z1P7tYSIO(&#!pH>U`hTzT}&YZWE+cBX{7Qr9^Ao)#KY3@WE6$*%OYnD&x?lU zjRp_aA0v8166Y7f`@krMsy0~pCiR9lRE2Em#T~b~0_hXDEyq7y(Nf|-94_B4ECV~l zn8Es&RBcMWlIUF+s;mfdhpKK+D7Y=1VBwE!?>I;YZD!Z9+!Ak!Z;JrpZY`lN*)+!jd>LIYa=a0^&!ma+@e8{xD!qq7v zH9~bxQgO%aiPyW7&%k8rT=i$(ezv(@`U$ELv9$i2LkH#66qCSS>_{f}c+p+Ta;#-B zH}TC?yuqNEcDii~ zhxhq(c|PoutA*D_UMoPTn2r>nu1~Qd(M~2G-Vp2hM6$?MqaSbe0%QCTDfb9fokRwe zy^FH4W{l28U{d*~imzA2$)by|gO?eeV^Tb>Wr|Lk!6-K{7v2~mRZE%6c=y$Rx;~f$ zbyE6C*2863&3WbZwm0K9Ew-D3id$%c_D6iry7bXUT_2P3xWTWoik)TfV#08|n}Hmz zWQKvNbR~n3mn)h5c<%!?3OP>o$bIuulD>}Kmy3>orf@U3ES~Fq@SRqICof@Pgt>HI z^BwR#!hc|83#vxo#uJX~Y2(u#IG75Khq`4(e0M1_T$(J;jht0pFcaoXQOY-fW*wq>2&~0 z2*oK-LLXVoYNW?0wxS_BbUU6rZJbEvQsbO^x{cEqsohx5q>Hyo72mGOvEsi5)09!X z+!YU1zC~Izu`H5kfw|%qx$X0txF9cap3cX;Iw9pW)W|J|iH_5ZM2hb)0cf0lh*4to zcY14BARFK7Xjsd}4L7V_z)LV_S(>Ka*^vrOtcMw7o|0L`2&PCA(UHiq8pRQ z^nDG5v?3aO)TDS)|El#XRP{Y-wenXgRdv_ZOeV`)d7UXG&3T<{>3YwmUhiL|)PIdv z`+V<gPqhEs3j2Zt8w4bnNkpp2Jp=xTK# z?Zd=%V@*1>oK#g&|BAbR)YiF*rh^uqq$Z4uj7#Jc|DZlKDQ`~dfD}FT^$K70??~Nb z6D!m2tkSg&p{f~pL5O0ShZqTQXIbL5P9BMRK(8cmUVf})|0LN;6aCTI4_0)QxGeCm zsLW{Q03pEvTOl#W(N3iL#(Zy(TD^=fH*uY=cM~^lxSKfdu4e9N)#GTZs6#I*>cfca zt;5ydQ&jB8(DYfu3T9jevPNo(U;D(cTuh(V=^o?4zzyVM-w61+;yAKSz@Acvaw~DJZJ3f& zjd-r|CZO-G4xLP7dTthq=hJ201=n>*EzbUAkcVEk`jGni=QxPvdtJz)3VwjMNLO$< z6-29V$oKXSQrBgsMoC5ETB5lv-c`t5RsN~W9LJ~1uep{*xb8^uOQfLuxBV!m)uA~v zGV||}2y#}#;Mk~{XDO3(?3C%k%uMUa6xGV!K&47OD>L;4Qcd8i^4)%R8U^?zz+3qK=d)}~lY2U9ZP?dRHAGE{jtGnkSKPlRWZ%Dyt| zSP)IT+UXho`a{)*_S=OM-TWM$S^wSCUp#Bi;80})N2<`=b^QAC_(@O64txizTVKPZ zrKjX#bxW1D2r6BjnR*VX-mPEKISN)iDef*=^!LlyNlywllsB@A?jcq)zL?ucRbQ1^ z!5+lSwvW&&ft$FXAT+n5$d(}U&THH-24@y{hXP)Y32uqb%uIP+DQhMnhB}65{|J5< z@0Fpd$vDADji)Smw@q4E=MSP4yPJn@cYdrMGb4&+({yhI5{z$3+hF{N=kTu?J!=x0^R|}bEF5}k3{^g7 z1zX|48!+%*L_<=uF&VZz)j5B={QRKr*?X_^?JS4gPW2d7gzTlsYp6B$PJ^Cu^R5ai z>Y7>66RJq8fhn+P_CJumx*BXnKL0pKTzUt;HO0;5_egHiUAas(fa<;5xc;*7;U)Ji zC(rA4v1A3Sy*s{E9(z&f8B$7d#S8mt?!M;p&Fr5Ws(cx*KK{?nmB_3yK*lmLPLk*P zQ_19AHQu#;H6Q8Lw{ZEgBXj_6Wl!2f8v?HWr0)pjV(N1cHG1D%%R-+?90ug5$$9^b zAHq(kG@9bePEtCqVrKNuds(^Ls=3`)y5<^GAmB1Ut(#8Pn;W|n3bDNpiggfUMvc@X95S7$2oFUGpH=HnEJ8S^bu@VXUoAht8? zUeWMw_`?YgtNJ>3Dbc?&ZS&QaMs6|v63Te-wgGB5oiG0g%Q%_)P86?A62R4Ha`67# zDtF)CORV9j$VH-Eibim2g*c!jTCuE|{}kmMd2D%&Baask2>6Pj+Q4&ZFCgw~p#5cz z`I0HKUn5SzE&lTgrl-b#j8APFXq@x$;m4%G)sF_jie16izD~4|VzlM#8?1=8K2f{cm^5G(<$F2!iIwW~=X3>Qd^$w!a`mZ^8pKuw6o)}TW18a6T zEZhi%PB%4$M4N&msm=eIB=+tdSiymcLvsi4tD-BUc&)R?>+nA!@LcP|zg&wK)$O6V zhY4+;6)p(fo~!&sRsP1-LpL+8e{!1FfMP=q9wdvWJ(?9SgW18Wg13n-1~pb*O^pG^ zpMOki2U>v{igEl}Mwy|^>66*>8f*b-RA+=+aqpSw5_|~M;}6wrLZL?IhbIREQ9{so zt*y*a;lwuHTbHx1+*lN~C@F>_+v?TH8x27xtCVWFgT-<`E&h>r>iRbgbw{fwXL}!x zL1cvq0f(0Hx&Cu-2c-$=p#%u!c)FGTI862mVy2dl6M(JuPtyTI*NNU=9&TY&;94q3 z=l_m7OwISe&jOS^NX&<*hLG-}%Y!+?Z01Z7AUxi}wH*xrSsIDZ7(^ zKASZZ70AkL@CF+6?!F2X=|j(raXgr=x{dk$m2P8}lm#2}7j4Yz5w=?GFN;5LXka$W zT_$(z0S$PNBv;46ppLA)>Nv&K5j!A_T_@PlK@S+oNN}X8c9$3C6DnQZg+X=CmS%S8 zDTob>!5nxv*Q_JE7D;#;R{BAHvD?S)}5wD-(Gm^cq}T`MOv9B*DzMs30G#I7ojFq;P8LvzG=q(SW0(Yh=RT9%st<_l~v4!5zP zxxM-Iw{pYkJ;xqU*%v6A&VCZvK^~l$vcR%_9q2}OWNumv7u&Q971}%MO3Ch=7Flin zUr}*Axrn)OibYkMVM|g%UccK^_dt8ejf$+0gj)Z+FRq{p>4l&>ZyrB6+8cQ~oQ&aD zZ>qcuzfB6hCOMD)6hUO6)2364X_Ew{x^1;WmlAJu14^GV-1Vkf6H}$=-J3g~b<=GB zg{n3Y@K^BTU8o#;jpOoOP2;#&1p;k0|4w}*es>UY$K?(p{HP#8Dq!#&i;dfh@YJRk z{zB>@Bk=6g^hQ;$lXL{l7m@~)EKs6bI4-|DI zKW_sM;-5efVEiwG;46mb>d0$%xbFh%ek;=aui6K#yrIDI-ryyv+dt#t1 zePtCfZuibe-ABBA36*T||4qF%O7G~P6O%X`S@Gs1)!a(q+Fcinu_*7ywm4j! z2|u^Ip;>i{V!y+2HuB546sjp`8u>?`G3bwv)gBn^o&#fp4>(%&{*EhvcR4j`2!&`6 z72b}FqO`hy_PNzt~|C1`*YdGH42Mpm?U7sKH zc^v_4e69bFFxd_=Ci5t_5c}G`f{Y>$%_F2=-liY-Wg6s%X{QyKNC9u(4;l4nh@C{o zHNvotMpw#vMoL|%&inZY_niByaL<(Q_9?5XMIB5XOP{%SK~_!HZI9BGM(=P0h-~CP5CEIrsp?cN!Zm zc-S)0M6XV9p7u>|!TKeT7B$#0-QXP8U}(-5*vlx-1D5stX4+@mpQ$(XNNAAtYC3oR zkFmUF;Qg1sX+XRv`HkNXZ=?c3PI%~RC;XaO2Bo%Q8mrgk6F_zHL4a{a|Js&8l1Sce5V^mnM}eQh?!h%CTerf$BC5#iQb75bNVOyQ01 z%3O)l!5jW$^6Dlp-{8Qz8XjL`ngOm-G)I4};jke3az*c@>?()dfLWjFv8}uVraPV2 z!Qi2cIu8p9pRjkG&4cKJh^Bb!@a#YIl6R=GJ;nW<=9QLy4*+4?03xZtIjO*T1eWG| zkFa&Ga$9$F+w|5Q3^=l#oDBizL+(gN{^mku~bj{n`|7+(SJu0}YSgqS3Zj-7f=4&zb0W<{T0kTMmPz*D5DKk_Rn{uDi-$)+!RsL!D^48!vKf`Cy%G!huKN2s((JslBRAO zQuXa-)xyhnLlCc;z?&WHch?L7Z@^yy^{dUD0z@8QcJGN%4xcxMh0mwt)GTCId)>aL zvx}(E&G2~FZ8YirLddE;4-l={)OtZy?fJ|mBJM8^2cafj_g@sHbkP1+P)IbHVx9d# zh7@P&wa!IsRgJd^Gj7CnuiQ_}YN}fL({cTJJ2*FAh~cB6Lbe3R3&r8|peT zahcg>&x%kO!xl>t8mGw@hUVkQxyWbho@IUBEAueQW zx%L&|aCBwHXMS(crf!mlPZCqS)jy3(Gd-|}0=Zq(N{0p0%kK*#D3Z37+CCH=OK(1e zyvxB@;IO;_OGYo|h%9s_jnhIe`$FA_Ty&u$j3uDIwxvmX`uS3XIfU}P+b=Qhmy1$& z30NX0l$_=3ycWX@tIm0h7HW!BG3Seu`xrRDITvDmrHmWBv$z~VKlRx9=}gD|u%KQW zUr0ALf$uLaVS4O3y&aMD7gbCh&W0JpV=7OZgm(9Ygq^xC}0%!btZWh{<&#>JdGZ$=G>)#^orDM>EbhpF=4lX6h? z)EM31uS^Yi_mDAl;m|A5J(js{j9f2;;tI0>yQ4!u;jYlHvN z^?@P{@0D_T(yL!c15rriJZe6f+WP&-!aQG(2)8Ep0Fcn4Elw@rMiRW*w*qLbp%d_7 zd9roihQ5QNigw+Qj6*9Gdu|YWCwaBIkFXu8lqvEzfsk=(fTAW$mb4@#J4L5pKlOql zj)hVYxd$~+kC4}I(4^o8aAc~Nt>~pYh8K_?oZ56|(>|zmxgSmE-tcW2JN`;b-9Akn zPPC>~pT=MGza%>2s`6NU3Z2G2sJ}n6V;j9i|8*Tp+y_QfYnA*pT!7M|oJauYOfJF@ zp1o5Q@lTo!sF%c2Q1E)`3QAR;+ac zz7oy~^=y|`?$RC)()wFkQQr&L#^-)xP*Qmwb$M}(h`rcDu(HuRxRryTY|$N}3te<$ zOBa0*Mf_WZtD)nC14c-2w)f8Ks=VD{;6d-8N#>iaCWR=D@GL#Bwu=g~rA#XXB9hw#5opjQ#g7$bX2kCQ3ccp|19tmRAM~j`M*klkpCKX$( z*mw|IX0Zbua7>|Xn3M!GPpx;ev~rhL=+ZmL-LF-$Ao2yjx2B)^sG)j08swEKg19VconR1asu0O6RR{^$*(2u^Eyz=54bL9T%# zPX=dBWVZhhwrtuMyPK&~Q%0tH`MrxcUtKvk-Ie29SEh8Acq(?Zwgt`V%HbMze9C@f zjF@+xPcpQSx+$q&pAu=ME*&yT|D8dlZ7Ma5)2+I6?KhGhXzwU>6salmm1yFRXyTXJ zF1$oolRs<$EAxF0FS&SU9pG##j)qBSdcyY`&NGnLyXkN|*_j%IL

Jyz64A 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

CU0X(caLe0utM*ho$i zQy@CX?6p0Qn1iNe=ogCR$^af!HW|yFn@Ha*r*D+u0uEE%U&+9SE3p#IFN;*h+w)0J zmxF%Tbyt%$T+f05=oBw@WqC>7c)X`Uk zW9wa=?!3DS-^0cQ18menZ|ZcfK*flF3snlyn0R4T^}*@zERoPZd95>!)7;f_r8OXMiey zk5q251@B0VldQA@5m}n)E{LanF`I>D-GW zDPK^QfS(jFrZ;(+1W=JEggJzK6m#629$Tz~rtZvL$*ZkySxxRXfSl0 ztdTYx6Qgq^HA9uxSB!Op4Upp~DSl2?%Z)&C3?G8oS{)JnB21%0F3&DvncLYS-*Qf5 z_oO%`82PT9ND-Ck9V+TJ_P?UEs`2E4in>kxD^t5&F|eZU<-*F;4sIy~ibY%{Yij(U zin{gvuh_eyZhk=}%c>r?au17u>xLI_-dx3>GzwjJtHtq|!BGi0e$3{`ygv7l=P`qv z0>Ip54-mRop!MtGJ<^BPZSEhr?oN=aTT+lp;40_Je1ooR9Mf1)yD>jx$Y9ed9+}HCE`w;{3}Gu1dZVKhO*X5ojUI;4qB?y1zHvCWQ=H{c!~p zlNz0u`S0BILg-^lrD1Qifmxg8XFuHpV^J*~-BeA2#k40_{pqio>`9wSP_KT$V_@R^ z+8OzWCcbOw*nxIM=A6+%&feZ5T)XK2cFGnwBa)m)KrggJ<{Xt@JGXXTJn!tpbG0)% z;bc*Tk@}&8B6E(I+tFvgR{#~Yo2d3tSUI5! z=c?pL@-9AI_iSfW5HN&X(l~xg$IM*@=;C~v3-`_!UobXrp}dWkjUv>_2~>+4-+ep( z(u}=JkJ*kpp7w;ty6y(+_5Jh?&vJLNK6qk*S^NQvP%dxzu-y|zH>N4-d~i?BW7E;| zxc4@R$vh>RnsQz=HEB{bHFAplg>$`fYiVV5ufgky+NM)1)0_N{NDN zs)RyR5UZr_Y5i2nDr|OM?-5p$iXi{s{C_Ki??#L-B>wsdav4jVSaQh7OUV_mop%sS<^T+ zA12QGkCWi{pIq4)R-8FLI$>RO!PlLFU*dKK691Nc=E^HhMISe4C~)yeV-1|EB|71i z=z`BW>8^k07nPjqyerAk39nV>2TI|v8?b@%f1H(7okhmXXWaTkQ?gmXuOP!2>5Cmn zp!XH!?v5+5>lhz32TAe7ZTPnJE~d?9Vlh(2^-akTH7s9TDv zOV^Y~?ry;sPmAlVL1-CPOn2zFkAAT#3s)%j8xljyuma5imWZ{X{IKA+j_xLf>%JQs zOKkvNi|X^;RR*}T#>Pv!{`jcEgY~D6t-Kt#p>vKZVn8t2R4$?AP9MWoJghLq$IKGb!*F2eRx;H7eE{S@|n6_rr5kS@=aLoC~Wq=Rh2GIGUDus>U~l8kD)f& zU)Vl^=;q=FVW^LEE(i_j82aFFflIh(;fO8BTW-g7-0kr4#(lkX)OjV311RSude*$aB^B7Lf+od|$v zCw;epCr~%$Nc9r)A!ur7ZlHlEyjy2sfxC?8U~j8k9TWU*J2Zsq(kH8Z+jIbqwD>S^ z_*c_C%!1&yn-Du#1dDajDsLezfg1aN-x`-Fc5EB+zmq=>wS>`3O<7#Ju6#B>r7_5K zEXZr#poQ@>La_VqCZ3U(H!8kM@XU^=@zr;oR}jU64j&5s1)%E677~*`eea;K2pHar z;1e`aLY<*Zsa=cDV$JAw57C+Jqb;4g>63pgov$NG|4v!h(z*Wyp`cm=Ho@7uaR!hs zyV#0aY}6R^u+r8Bv5WCYH$_mpw;@#pAhy#)x&i#D>)fA+d^dq`bFX<|+G`ae{+`U3 zmd=aM_ca9r-ht#LT$)KstnODdi5Kb=CVjxqV54nM{oQtimhK$PuF(hWfkb^jsQEY zCzh18qwDI{GqACiP9^6ynFY7&D`_#cR>s`jx58e8r0F!t^-z3Ehnoo73*P6NRLP;- z=>*JFc;iqua7S67yPHSHid$6L`9C_VMfl4Qx(Vwpir3jci2 zS>$>jlf>uy&}|aSSz>@+72Lhz*H(neDNm6pn12EXD>k1J+j5dEm0dSk2+Uk$)rN+= zdWWs$6gN=|0|NRUwMXQ|d)Kd&k($B*OXgr{3=27pZW@=qTl5+9I70@m@hs}c z>lg;n0ZAb1X1#v(l)a-A*u@v9ooMRi#7<$cdyv6gIb_)MS-`4jDyRJ5nbWr@{AbzI zkMF0~Q$VLT|GiwcHcW!H?*nej$(w%-iyqtmu%*REC( zLKseF+MYqlWV^K046f+*runMlzGJM8y{ts*FdyHrWtp#7E^UAPVU@PO&nm9Xi|#_G zyCU`OsDUe?sMOE#qG0<0+^yJ>6t5u*TL{0@$faGbaA+f}g^f+_fY#3yTF8Zv%!8E7 z{U8aY#lI)7J!ot5eQL;G?_zT)q3lyu=V+O<9S~F``L;e$0$`hOMlqiRjX<)*jdydD z#4V}E#EgFVyId4S8va3~-KCeJ{pG(Ya>@=m!IY&~@U}r+`Lw&rz-)d!t|Jlv7OI%1 zJiwdoBo)p97&>PBqMykZuU-~GTJas44rH8l##Z+R%nowLzu`E9zO_xYYRPXkHqcNu zcd76c;r%)lCiV?!yezCQKACx19-{pjMN)X;%FJ<1<0wVg|8#J7(N7Sb=P>8j2H)Rl zo|tx$lpd+K%VuqUs@wyjKU(rZr?b!}TidVvSLR(sS!M6|?wF!;J{IrgczT_=Q9Yg5 zE`y9_?gyUq**-$jCEJRD=W@TqXRGiuMo*}c;2gtb3eK*=zD)p@=^Zw5?7O~Ghi{+A z3r_K6zGvKDF6LE|*|73-iCsp!LU*;TeDSj_ub}yX&x!Vz*29X{zGGBeY~;p?*b$vE zd1!S@>;QNjDrVjq+oX@Wt?($#qwc-na(V#zaek}K1DUr6oh_hr*^IIN(*9VM9mI=T zOb=XFk~A0n!X_iJpCwL6Az$DIQI5CyJ4GeqT+8nNqSYM1w?E#mP{Sf z=d$!Qe4cZYDGZs}h+jW45sm2QE?3c*W_=yhOk~Ni8+c5nV1~E?avj#is9U>uFH-FC zviv)PKxU)mE}?5eg?5Z!4cAQ!4Wyq^8Elx};F$N4{K{GAi5lqA>Qu7iVVgdGF1gQs zZ!Nh)6vfMc!FKAVQeJ|uPW#yEbO@F9xgz!VA!gU4Ugwcl_pBstrbOdgp*ig=BHRFr zt=4UTG1MJP$BG!$Shjw>ycfv+w0ejRx7lqBj?{m^iF6HpgH^&L4eEJrwVhEPt*qU% zS^dpIJ#EKaIkf~E$0hl}I4erK8!|%?Bu47z%PJ-HTQyWZ&b@CRtCWQ!dw_zE-V80_ z_)xaNY%!?M>9|n02C4MU2{I~`g=yGpr}A8?P!~xE^}(vD9GgTk>glK{QM#&@j&wgN zhWDhXsyw)~y{hs^a*hPABGVKd!_yLad5pRapf0OLZ-53eT$P~#Wse2CI{jEl1I1RS z@3IF?-DQeo`?;ep8N)pUK)2XHC7-ERMOPSjcw0qTddQH#oyW0IHL7@lSbFfz8*Lro zVIs+gHQxe_A#a+g{f6T8<3kkNGxHQ(e(*WOT0I0_qTUFLs84B5q&^heU}Ktb|K!{1 z(~WAqhFYvEA?(6z$`~usn}o$yhO0LExtdR`Kh+B5C<^*yQPoKsC41;dayW&%7wH1Q z4z95pxXjAPnjIBrd7^M1QLa~IiZ)fZE;tc(eXL)8ksfbwF#mPy5>J>(8JoH$>kY4> zoN0s0$mU-9G*WOgD8@G|eT?t56V5yxW-z9mgsd&a!DCv0#DUwJjS?(BN=M=d;wA{d z{fj@LTIJLdd>dj%i}2u?9s$)@=pHaq_&_ZOgy^7y$3Bw0Kvcvk6G9FE5=9g}ccMq_ z`Ei`g&s?+=$}-Xu_m-Q=o7Jq37YYW) zY*#*9n;O&b&~A;0jH1L*b;0TPEz+7%9rDt4-s<7QS56HjkIJnfhxSzmd;bv?p{Q~M zA4v`nwKj_N!<9#@MN#lNcS+zd{Yqqq@om$?eoftwuye{lrjl+yOZR!%S8~z0?X@9uIil)gt=(}tN+3rT%gn&D;8cp_XExar_4IqMP3rfN zl7vyd6hBP&9{vMXfa$Bk&K@?*Ive^)bPdjVl@qd+?j-G|*|(#8!w-JbGVK%}-5nJI zTSGQ1TaXhKMe6&IA+rEKaY4xA7INcz9u4D0!*VxUElihfeGGhPEEu3*?Y2xaNN>LU zSaW(_>c7-dON#sXt!(_%Q-FTTpo3M!lIdOssi{tWm22Z{D_*ocze^EIIU|6VW+Hkw z?m*@TkNGS*3v9ZyEerQH^#1N*J6Cv*Ww-QWIh-G^6Erw)yawTP1s`7NawHR1=MJWH z`B^aN6iPF3EU6!tJ)O2}Ybj*rrupapGfxH05${dCmw7;c?o%l;{2173CCsD*e~a}- zz^Ex|Xkh04wQQ=ce-16DTj>piUf-2&Ucs&q^O2}*Wfoez_5pJD;Z9bT zV_U!%YDR%Mi{x18$1`+|{3hkK_cXgJXUcMx9eK1i7fzL%!@)h@B<&)l$@@usPn61L z?HKe`96L*1^yXL`ti)fou?8P;k{j`&^vY%XXYmXEWrGCBSwiW>B|h^`X2yP;q8{;4 ziPdQ2I?cevVAkHoy!qm3TFek9unzyZo zv2HC|sBT^45~_XE7;#kK76T`H!9TB8O=S~>L(wDt*4Wn!yqioyP5ML@E;eOsBr1PF z;lKlj%Jc}w^}(l$t!;_tU8%}woLnxJfAp(8Fh*)|hY%-lH%+k5c-TmCR8A=qNXeEs zMo>3oq0Y*IDkCLZ`07`BK)98N@&~RH+CzfZ=3#3)A#lF}1wWhLoOd}I^PhLKTLt2{ zf{yQl;}^Zgn=R*oY&o_sFf`w%cP#J*0Xk&QC>=7G4hcSl{@t*(ie(d_38;szWR!;^ zuj84MoHqv9)IJb^-Q)5~+~#_ZfEg|*rWl$qIgdx(RM9g(&2y1JwfjSef1@=_D{I{9G#BMOypZnF6%@!sSyQD|Ai$%2f;H)dv1VDy|Ut+a;DPXm9V1{w7#Bz>@;D$ zH|l-Lbkit$T7xCpR*0Q0R2*k_hXtw%GU9T{RLt+XIlFA9;kOtVJIq za+wObL-VzdcENuEEb~D)?hP=^T%E|}Bx(x&VXCm4aMB&Eb4-<2VyS{iasgAw-OJM+ z4DyU?jU3#cGy@pUd$rAzR+f^ml>kVwsrJ}D@jDfBMSBeTg(Z}z*fZN>iz7+dmne2b zdu&nsO2w46$AHhyn7%7^FCQC8Zmo!!Qwrwa&e~o-Ud%E*8HFBi#^})l*FiD=H^)%Y zVCpuQJ_@)snB^bh4qwfiueG@Bh)Z&aB~1Uq(I5^J1M9Ap-AW+gJj z7Y)N=l(VhMXQyT_jh}oZbTKX@u5J`%AW~}tyEj|G@&9BITdp~hF56dG8p15v9aYC+ZT*dHSAod z@{r>s7Q(WT3GY}eEC{<>jc=fiVExcBeR;4yuD0wTmlzHNjo}dQjwKWv8`g$(NZA)7 z)$D&U9d-goF;u^Dp#|`KSvc;-6w9{#eP)fo%Efnq@|s;~7r4o%mCUZaq7W2I1{;qddJ zqJ!Jc^Jha4_M~;y>KReAH%oZUXS&nys**|#y9f{FxcF?+SY5jDfYH0K|SU>Eceb``TVK9c` z+WP_8^qzEi^J!?L{#0f?2#yUWzmVOQqO$0AU`$2%kG!M$8sJ+bLa4FMe5F~*YAIVCxTECbxS2$@cvs_7KN*_ zD2&cQAx5}HCSKkru{+%_ls71s7D{_Os+^o2FVqKniuD> zyz?}yC^MT2j*KgtEp=vfZV5jg?mP4AA2sM$b}c8sf(&Pw%SZ{ncMg1I!wKNsWSPL2 z4{S{+7adoT8%v-Kfxm?XKgQr#!Cw$)OT9Wwy{)r0Gdy{euWHlNqOKcvxp=~lQB18e z@L;5eokJWJ`vy0)$TcZY`c|AbfoCu_Q;RAac6ZMZ*;YqUSjPu;-IAs?=TgzeG8>xy zhWYp$+>C^Rm6l8sp{Gdl)UejfE$WbM*(0{q@^1r-BwyivnjT(p&l1>j$W{`Qh4%wL zEn7NN5J?WBbnArvR!!NBrOb_OUSMuiy|cwMxFx5cpfs#lxTCBra>o$Zvf}X}PSrzB zDUKf!Ya9km4TFd~x}&wNHq&kNc^5Iu*;kDo5d8cs(HQ$p?3(E3N^)weY^Y@1mkd>( z(J6f3xq&j&;>?54Wk{iJE&HY|k@%RH_SRobF*CBo@DWKi{~UJQqXf3hdVfyVAZEED z$x|RlBdDWt=rZURrdI1Jpk~9L2xO}bx`nB|h_s&0BLK>5b5x}({R7tf5~Epej^ZNq zR~X~8OHpnj;g;bA2()=F53p){s#XuVyf{9grtug^QL}cd0V?)$7H-bFNga;pAA_64 zU?fo(3G;fCAm#&+!;WV2*@pDkA%1FJ&A3{F&G;IJ^Y8>Nc9WUdj6xCi7)Tn!vV zxKuS1i?dA~+FMTNmN)eP?Pgvs&kKUbkPW0Mz@yPFLH_wqrbde z-FPX7K_8PL)_57XPo~6!V0|c!C7*Si19JS1h+&&cJwFclLp`WMa<-x}wg&QZR98v2<@Bh`Ep+zVCe_nYVrHd<+x_qJX-=rEhdeXNJ>W@yx{ z=jTEcdI;w1&YNJY+AbAY?&0zVr9|BZSLfolo0q4w7> zHA)s^GlwWpw>au{wU~>du2*hp=Nf$c3a+ac)ihQye44DNp_jvno37Wu{c`LC);O&l zHI9wO)WIG7x-or>c7w6Hw_2mDcI+5zU7Jo{iZLGOt~4G9m3-TV-G;%|aoxFoT;z_1 z@Z7|Z;r9!F_u^MYx)hwi+)Cp8sk=sS=6BIzepvXp+{4jmG<68?wLDW&POR*YQDNy1 z9wSXn6fY@Gz0Y=nL)cZpr5j~VlQ=LcYi#_%Xm3OGene}+aiq+(evhS;#@O^WOEEHY zk*dV7mY22IZ(OZ;K68^SX(IK9@!=j(40-#wn^}iE)QJ|CHLG`D!eR8X9HPrN=4kFX z()Cgo?$Y`Rw5|$k%UM2>N_JEzJsRU^%s_RT)ptd3#`E z!>(sj&!v1+hFt9DfF!;X6~wTF!Ggstfx&ysUi7TK_W{!MZfsimn9d5xLOjtF1N;kU~=f z>Mk8nE_QQ)YZ^(7QeD5bufZ99+t|ctvlxri-{3nwT|vhzQxg}wMt5DK;=I)t4>Rii z!Mjb?6~tsg>bV@_!cHa=&XUiW#ec?4e?o15=aY_*{B@6XQ*} z@5T75t%=!Naqb1g8Bdh^T4$6+22$3sLTT}azOW`@d0TJRV>USREQL~S4qja_U^h-RPf|uV8$M# zgsgp4O?ptW3`1<}e)^t{V&Kc5@hK~}t0k80NGwOdR(Nn3Nxt$mzVfL^^4_O!-FHR7 z(}Os4oV}2(A%y(kmp0K7y_yvhbOF-l9UhA_helh0;Ytbzyz}-MiMPIyjUxY5LGd;m znsAcKL%@H$m56m}k^JFo{h}CBaLDDD`hNqO&9i(&#{?07hru?deZ&uOA}%4KGTm+S zzW8q_?Y4=Z$PG_#Vk|GovxU6xL&~N2xkP* zK_`Yvs>TB9?-L9^2|k{_Vw`=%mhG(U$s)wu;G;)rOm~HrEA#_BB8(;aMQ66^_D14T zA~?!{Kw_m+`b3fk08NO+crS%ej@Fg+?lV3QX9j|lsY>VI%Te8I<%ra8rpR1ptZVGM z?b*=6_^UbHHf{2*d70;ZGygk6%}mU+Ua)os13#lH(80lyVl7?hQ+gA2u(oykUR_V4 zKCN=Utk?9pq$t1LgOuBwIBY(E_!h%W9DwQB);le--J?c|@1`P7SekEsgk$f;pThTU zwrRj6#>K(E|3&{?yir74*0e2i-n0)_FYzU3W;GwA!}8ejF6es@VUa%FUpJ^X$DoQR z>m{|ovb*fedI2D_I%P4 z4UYO^*SzMTFY$TR+njuJL87^sFS)qqs?i28`5)IJ4reP8G(LinOE|mRhQf#oNIHPgwn*s#G$*po~o?`+Pf* zFBYl9T=s1-tsk21Q+<{53c{dak?H=qj;{@{=n6Lm@J6p`rc}n+dm^ zKe8f4&U&V#mgxnH?eoOh%(7nw&TrACGB4QgPdjj)#pz6wF|+U8Tl`8sEr`J|AiEZA zAoJoEdOmU#)ZbQCUbd{@%R_g_%goIhnwqK5=H{>Huwa`*GZqP8q@A z^#D=#EV0cO0q1TbRKc0BbM#Ba+>S-@yv(gtFpQ3v-&JtN;Fgh~BeqHegGMx(#|FAcYS4a^7%mD2mfT0IYI8|Dr~rC6tHf6y8S=% z;s-YAC-_&DEhELhD`S>u?VhlVGn5sxnf%02c=_#95t%c%ykUr23p=SyZ(C8ffeZA~ z6jY|(#9JET`vQmxV?QcO?-tg_GrK@kr-rz>WXs$Xn~4)2P6%(1dW1o`zH@f;qx1jJ zA{+g}5SzEf#kT$EoZmG&_7e%ya$n)YCMMG+Ng&Jx%p3DOtM2AR3k}v3^ zUC>F4Hzc;~@nB$B*AFaq6?MPi@1P13y^bU3&c$?RznXMkq?evlko6ksPT@oEr^XsD zg)k=OahXYbV&K#oxn6Jx0^SUqY*MUotP7@a?aBjQMM4_jo* zw$WN=3}t>36n+-5VJlrL5lNovSf>;pdb0L2z6HuDm(Hxe70xvBWPf3ggJy_uM1{zwWF59EA=UA*_!QRwzl zXQsbVg86psPW~#r`V?y`xnLjN#&X!wHltN#H!tttLHKCUGJQvu|7$DRJY)9 z^M&Ak2l`fK5P+btbVnY0WQO3*B63{@I!Y~wLKAqxNOg>+d1fv=u-DU9MR=dOsG}U- z;OyahV72TZnwqDX%0vE>|FhQ8|bDS_Jw8j}Jnd7t)DYtRr;w ziHcy3wpn_sT~H9(4HRz~&CY_e>ps;JPKFRi=2tb2$d4`fqEmIpohnl?UcmxSIyHta z?H_wpQM@jxrw0c;9^?+HOo~V?mf?A$iX;_FrGwpnTGj0%m~qGX85c1s+oHerZKA(6 z?(h5S1rxS;V1zTON$Ox*$+mzm75u9qd>VN92sw$9yN*+{9lE=zub5|#+1_1RteIFk zw9c4*1Vr$49>Z-b)T|eT-WH`BkGe1{U7G-u^Pn%Y`4I(~S$4rKbs7%yAT<$5r2cbl z*4qiiHt!61d~~#QyJ>$iLW;!jsI10#SJY6D`&Mdf=xfLv>*qYBcM8)N|1o`>X3>}Xc~l-Cy)xa;_-W;q{4|yx z$aLv|G%M4K!uTC*McVeO_4P0z&))Rz{qwIOmbj%XgJQS%Nv6+66=YtlNzaJ7=?tj2 z*d*?xiq{RKPFG6g?+|a&k~$(ptm_{UxAcBt`ggYT*rH=vBpPiSroT>lxb|K#qAK-j zb;nV;>uxN)b1)8litzadpu%s!=enuC9vxCkyr7cxTgOhp#=nE8z^>ve6QKHL7GLI< zlV?T3(Z(z6%k83eA_=vNK?QoPSgWEAg@+ZmzZt|SK**24WCW${1i`u!Y_}BaADGo( zyZil#&2D;KBqBk`Q%83iXDigpMjlrdXL~SLj@r7fAKF*ZiPcWa-z!pI25(~CFwT+W zM=%kMcI3K$5URq!-UO0x1?^sw>Y+h*hnO04i|!3XH;?u4gr{L?>g*CP1sRkb-k>*Ejr%l`rt7ACsY2Fowb{|+mc|YD!b+YbJ#a;E_ZEVbxZs1 zK-w=JUqiO0G2WeB2Vga+A7Xu1RLtDCk{+5-UeOq9ZOUWA1$=ei_Xp0O_k@tSmJ+lv z{RIQ@AD+6;X0a87)jK7*TK#F@&r8~{v1y7<_?SnIK9T}wS9t;WPPgk^4}7s1 z#0vs*mowBBzbEkw#1NFf75J%XDxYn9`tSEL9E~rQ)B+r=*^bTnIsj9;f-ngi^U9QK z%JYzy=0YwK!5-Z9$85gek{D2)7a#ik89dzN@4S@F z-47H}LB)v@2Szp(K4pmX42!=>h@4IF6(?1k?9QhO+tzEYmM`4Irt$eoUEjQVe_4`Z zf2+dOo=G0d*Y3$_&u+p}&gr}#;gfO4N0vK8I+Lh1xcHeI;Q#gncmqD%07(d>Tp%NI zLEaR|`vT!*mS{eYlN$6C6Zgz>4SRGwxLM7~AD} zO9`u^mr`LYQia+f=#*Q=7?p8`$86;;V7877!R)7VkUvBqLjh@;vQ1Va_B77rYZ{01 zlm>4T-t1AmOWE&G!!FCs{&Nqq|0a+uDSV-rjADkMUx@s9I~=vS*?b3mnf)k~-|_`! z`cUA?@7eF~kz3#_Wq%A1hParkjsq%QSms+ij|?@bW!BizS0l%~>YHEcVv*{1X!$mG z=QQgy6?3*~GK!q8%D(r#{P|ruaDxO_COCOfVnU!r$?mf{VU~%8i1WoZC1!Da8(o3# zjL~gkyQVv_{qQ=PnXgMnli9N(QkYlqyylOYI@hGjk--scs~aW8EY*Gh=Lx*g@&8|0 zZCho%d}X_}-R50q?3((o)B9Qy zm)P@`Rqc!8^4i((uHEp^+}!8i5Wq1n>6XmZCB?yx`|S{_*?Qozx4E>L)B&Uhhwo!U zy$LV2&Ak=7GqHMl_E4)u&j=&(G8w6TUkucBYi=?{ z0Mw@qXu5#z2FPpfUb6Z9h`j=`7)+?i>Pc*ylTLY8gq4o*<$b8N%_==m<<9;7oLFwnUrLXBudbcg{ac_f3#azu%HL{|)s_7K)kF8CT=s-S4}#+4Uy6x}hEXb|*vj8$+hG|2|lw?MlCs zm+cq%L*}ly!{^Fu)Q%q41b6+#JK#HnXxE!RIzv6zXN(_M6`6B(amBhtd9l^}O|be#LpdI!<_k-Tqv>vs?k9(69AQ4kFV+!~wk9-j2lU81EgM=;TlKBxKvrg~{`66T)>t>!^R z4{bI5SLmTz8F{0p4SNB5NrLs5%7=uJ8)0@$tp>R&*e8tqN|6Qgm3>vvBaB?8$f7Xv z*BgA9(kM0U8%BN;Mn0&>L&M1BVdTw3&2@p^D_fe6fED(oB~?6 zKSWA&E`Q81S2WeJBE17gSv(?p#WY#0GCc9P3`64=>xCjtV(UtGh)*5(3MQw#-b8ZE zgxBL8tJ8%wrEgC=`k3^EOVRhXR-{J{NDQv1o0hj-VlTO$*Gji@)Ap>s7`1c_j#%9d zBBKwwCeBke{`rIoTsx%R&OAg(iy$wYAAFe8wBTeYGxH6ewF^l1Zxh7hVuozlta zNiarj>5ws)2&_kBSi>0@jbg|WSh21RPIwl8)GGO!+m(lzj{)8snEYxJZFMmH8$VNu z>1FI)!~?=HaXOJp60hsg{bffJ zsZa3fPUMg77W}xErA3k_5aH90R{Ej(GlD6?2>1cqo`;8V|0 z>NL%QyOgSzh~-ddD;`ScfJgUnJDU&b;DAY?Ma;tZBss_$Dy=oF;j3DmJx!?*vpnkB zxXt&seO##&ChP|}j`@#yBMQz#&2PKn#qr)z)HSj^s=NsmOL$egO3+wjhu*);V~y08 z(4Ie%tiW|>O6PLid8KUywAg*CakM+}Wp}XGYMQUMzWK1ux=zLgP1zTPM1HTx=ZW+e z)q^J%;%1ObE?dFD{W? zo0EYbNoezqsf(B}U~i2ta@~Ei-F%O4uP*HHY}mCJKGrA6C&Vt|*IRph`ZUrO;wENU z$kS%`g}zm;1~7a@so@Rp+q@WOPh6pw78aVAHVv}(;Og;nd{=Ao`#Xp(&3CXU&A5*v zL|4s?aDdr3y11$QSzGqz-pn#?CP+iut}xbUjC7wyUah*A?R>nS?$+O6I5l9XEu7># z5uKSEW_21;as-lj&U(vQar}Tx3zZJbR$AyQ9Y&>@l&|*Cw)=BdEw%az_Y+C@bES5U zH1B85E#0jC_zq~Bt(m4=Yq`u)>U*bq*vJo`Q6rhYZ$pBv7c3)q?s^)``wCf*`?4TU z2;{#|T5xL$5NVmdFoi)`G7CEn*x*{h=}Cm(LJtSONt_%_A5x-z<BhIz#MWJW>3}VvC;>_>oS_=z+n$ z$aslOz;93>yHR}8w1l>CFNm@qm7Y~^=Mj5d`4~(9h=BXXg4v*s(c1e!iBaCNqhU)+ z;s-?WdH6K(ZV?yK z!F6Qrp}7c_r#NU`r}@%0Z0-~LwAP4n7xCG2-?0)r)&}}Fq|I3tDN|3PRq&`DzDr~rSl>agZQeWFk8B>K_cbEH1n>*nOi*vL)OQvO zsl1`sG_U?hK3^AHbDfve4kOy_sx+4BnxvP{501>4SX?fN99uCjk^hn_kw;61A&`HA zCdDn$pO5(yjJ!^a7;W{c;H_J2dyrhL#1HxNKMYRxhIE6S&sfV^^L1Nsq&7HXr7;*+P3XLMS)^}e$)reMuV#$&z193_Mf%=V zavzx@eP?-xK7Ai6nQ!0Elt{>q^nJ19Q+}nBE{`@QOA3+ZwHmY0VCh#)gOygSjpqRL zV|@yN=6C-A{00l^>0l2n7-b2{QoZP1440%4*+skm!r=T;e3VKL5c=agwt$JEh=MH~ z^ifeCGlgFjJTx0Rw~8qqLl%`h%4)NU+Tz}7@U<1Hv?APp2fO~gqt)+Yf=~XYPh|op z%sEuh&PmXoxk$Y!X+cVsC~|J-w@Zzu-35{4BDL}Hn~aG>lK1l!t((Gy?c`q-G;G0c zfUp}JJgY*peSvZqbb^5)c1Y1}eR0}g-xt}Yht2{FdvjLk@2LH*^lz@qY3G2TAZ%41 zwaR*Oa8Oyta)_ZLs4F&X|AEA^21c>!c2Ddn)){43b-3nk<+FLINdCb`rKf3gfCTSF z80hMD6Tp1}s5gMJnfq#I{cTg=7vPs+|L#eEf+>60O@jLS`EXPDBlbJ2#51nmS^?67 zO12)0CDhN6INu;IZ*w*J4==eZ*ijj^ii^PL|E6WP($zh*FPiy&3JKuk?)g-ck< zsHnS;Kvi;ie7oAu%hAiTS4w@7?sbDZiFl5Hq8aRNK5_TkS9blOoXJEq^x{E|mVEcQ zwUqnrd-w`Tg(S#vQLNC|( zlllU;t+qQhL+J0i1I$Nh{T!ptI3!QxC;R)ze<+ggCV*HIVL_oEC}fGlw(qUDNK(6L zS>@O~DTYV&eJh&3AX@rC^@Pu-pC6gisYi1Dm1nBLKIa^eS8`6O(}{XvFIu;;Q{q3> z>5dgI$|x#^p2uE;>S#NFW@O>KV263)bMqz6bLRnhzIpovYGif(=fQq&^vH8V{74_7 zE@Ft{gK%1GH6>o)vK-^MCODEQMi2K0K@!VyRw&{(K!iG*qgRn*GOSc%qpl!ax~=ap zycd7-ykFY~$-HhC@p@53@;FcxelUP6enI2wAh%wlY=rX;jR_ZTE!|Z6QJ5Ci@NetG zEJ64ho(Dw4a*mBZWPBQd@+1ZTe*yYo$ZL6|zLsFR>-95vG7ZLj?cspbE#Age@mrnG zfXSeM_k~u`N(ozE6?>Yx*jhbkN$0Vc;Qo|2CL{;+K?Cjb$=-^fL92pMKBAYx`ySLr z2K5(E0`2H!NUm^GL{n)dfNW}2(^RV|@t{OAk?1Ks+DWt-o=n~kg(MB!n_tZh*PB3j z5|hB!Xq8Q%_agPrsf8!Jl(!`RR2|)^m7A!0Nku--uyi}&x-ogF4;HNLoqBJ<>LLuT z4k@ksDpKBXDX%+}{Yi=MFIdy7?&}EGfV%dtY=~iGalr1xN9J5T$Px=lEN{576NPmN z3+r0a)o2DkcrBe=ilkU-nJZJ4x|YsviVtk#E>VD?xOG=Q6s=$br6fAo za>e7_q)oB3#Gr7QI*F}Zc8FfO#%93%YD4YD4*uDXVJ)4~N6>HX5*5Y-6jKV0JkVz3 z47(1tDp+XzIx#7l?p+e?cPe(KzcD8Sc+$O|S&oj(8Oe3B^7(5z)P3D$-OI)CqnS&X zsYDa~@Gw%k>gw`nx)iKnsPr6A7;yxiPc$5j(E*vaj2&v-W4`{R*mN|S zdA_`MbAG%he>)_4p3~Cl%HP;twB%?0xujF+Z<(K3Iz2C(G8wg@SUoX4Tx2$gk!m4O z6We2{wKJ0ZNsO1$dMkEBYmuqGaGw}S zzDf!P0I;9;0Ce;$tb-kdxyIzH>mUM{hS%c6O9k{M4m5DWW9f;L-gsQ~Qr4BEz{RSfa0OLzYpd#{I*JB%>&%;sQ z%+}T}Fum(Ano*lNT`}Ou){>7K-Z-1FuoVv7Y;f8%gesBEIW2%SoYx^*H@{Ou6wV{* z7^lGQ44U3h&~P5>?tFM7(V1_u-<{5BDc?*3E%xn(J`LQhZ-ZKpdbRGeBbMZ?UhwT! zb+6Qt(6R3GBPhG>)!K%U_JnVr%w5^l_T8&x()2$(AjIV+%)PEj7Al(f)+SWTTr9Q9 zZ4H7(?>qY$)n7Bri#NOLnuHf`)Y#e?H1-;@)gYKh-7-`Y^kV!%--F8%r&pxAHn^rR zdWSHYQ;F1vj7rx6_fL}KNj93n9iVQFm{|CqMG^}SsEurS-=i(n`QMA>K>7>aU&Y8n`Q-ko>M^Tr1$f26 z>zB&O<8gl{XYPZJ`$*d%XesPCtzxN_{=h4Jb;~xqB13jl5}ZQ*u=J}f6^>zf==mes z(`K8}WOc3{j~$Q$le1tZV(bqjo8>vJj=EGVdoJm=h#9?Ct$uT;_Z@|$hh z(yQ89miNb&sjLt)Z{OG68uvhZ+7d9!D)q9Bx>m^;q0yb_v0Jk{k2EI+ZGDp!dgXva z3iIjeIL_XISJ$HTDHp2nows-N1b3;v{f^>^f;NH+dNQ?Oey1_=)s0mH+=~jNtD^2{ z0?$iyb=@_*N;^H9Hkv>b$IG^MQ3-_Zg}NOC(Rk4SH?s_Xyb>`cI;Dze3&4h;kd+#o@N z1Z~EkK>>rJ5=k@-9k>nMfU?RWI$+ds0ihdEmW1geQ)I=bU0KoAIPN))ZROT2Nb1 zVD-PvcxV%Ss-d=bs~U(twpNRHOKVNMLT^?cqBlt;q`KR6f1cJFxYF$lGEzz&VsWbX z4oF*>OIDHb)A>0%^O8J)9M#RBI)sNSI=N~Vx4AW5sWTOiA~9h7$mMEMJ?u(1`9hMN zR$dLoa|rvjg4iX8v4t8S{g)RMa`T+0Z^e{eq`xqSAy_P)YyjQ2qH&NwYG1onR@0cr)l9BcQo(Xwd>#r71BAY)R%EQY2$O_ZVx%@=V4w6%B z1pS43SoT^a$&U(>e?TZNU+WRfTD?q{OE4w(UEfcaTLvc|8mjZa`PLd z8z_SkfGBS{;S)_g^&L%}EuG?;u0NRN9^c_rAm64vB@1t{M!cu)HTvem?P(5gz91g* zCrwo4ncU*I*a>Lus=9b;xIw8|)NM&$|1&eLwZWbuohcN@GumK0H;-Wbr{q(s&32Ifj58xqD)-Zdgm8!tTI4bH=7$W@_H z`DdLWLNt0+2N!8mwMd!V1l*8pxF*VhRLa@KtHmxM*>uknO_xj4>F!8c$VjwO-sUBG zBzw?CrDWnK;q3Ai$LYSWZQ6vZ5a%^h4EsMc-Qq;kNB{P}Y#K)@Zqv`8S)FWp#rG$4!d}<)sEQ-3 zz0D_LA9Z8JAbQ2>6S0fk*aaw@t$6iB>}_uBpN_XpGtR6Kl;GXWj7ZN?-myBPVtYv_ zKEae1a3&yT9qEA`jG5NB92L)%t$Tu*P?GUXopGqnIJAKG$UVY!`$N`{95q$v9BL*U zQ$D9B3#!WqaOZziKSj%JeCn+jR~{>m(2hDTkE7{tbt}1({o@8e_JXXmIcHi8){$DL zb!&lo znRZfNr0>CGcg~CU~nJ3Cr?-ZPf{^Azcgyek>7?|hnWn2Xj(Zw?MNP#5<0 zk9z8WSA*?+N7_SD+^oX?Fg_~O!;=aR-uVg@l~Au99+gGfHLr`F_Fb2(F4t;^?JlQ- z&3gBlv24lZZtu2xjb)2orna(Lr)_MTN1mAEzkC1p<+%i_rgw2|>7@#p_ge(55Cu9UsE*?j+hwBJg@^ZzifOsJskuMp*z zbBov9mYnJ;yT>L2@l?#N(aD&|pdG8xk)6=S9{9~zTPTAIq!I~5a3KuN@XrciW!y)Oh^T4Qx#UH0`;lD*{QC6lZx4uDm5ro^IfTq zU7L!@Nagucs??TLOt(}ZkSdk9B02UGeW={y{Vczqyh_4Nz+m>ucrbJrvlHV z0u`wy>QkjIOEob$)s0Xp&#Y9;9jTb-QZf0dz#$3rtzo-rs)@~Cd@L>clR5Q0Gw!{| zENnpaIp%l^3!(?mbL0J3tHI7f7rJfX{s_)-YP<=U849CU7&+a}Ts$E2&PY4s(N)IM z{qexXO?6a>7Rz?Yv(e5x6*_oY)jH#W8Z5aZKJFX5{=&6UZ)Ht%2Z8ymT$0ExaFF%N zlCL@Rxir~#BlB8oe_-HdP{klVXw}-j;wak-Mmd# zR81$Fxb%20`h!~!eXugI6)`}sZ#QG}a?*Hkt47@z zUO&ri&F8a-Pgv|G(OU?zI-7J`|!d?btp zuiBEYq&g*EB^%PhHDnu!3Rb>6Bt58d^>sD+6*;rG)P3q;4yGtzFU^bgAgoa8 zvB5UZ>z|7<5zqL+v1d39-y~6}E>a>Fh#96lK_dUoGz&jo*v1)0U1UGYjQ5IbxX|+p zkHBBCrd{;mSpy~SS<{zyT?Nv*Q5EGrkm=~{9T>%mduyhoO;ihKwoh{oUyIsnO;mAv zU$^4*A{gq(A2}NJ_=|A0DyIQEM(uj#!zJ4PQEMWc)s*4v7umb=nlheKxOgNN>NLL1 ztS=Fr2E8If@$qnp;~DDs26Pe4j}M!%!;R6`Vmsl`-^X)3(RSy*?36?6NQX;;dnITu zL^w2eU&uNWImSX_!q)f?GJ7)!_OOi zUi?Z&cXC7#@s4jfkQ984{dYlyKB)YegE;X!jC{;OWZvH+@ znsCR;OW=RSPdn7~zvHJ@=$yh&JHP)a2SC)Ri(%fOz3MsOOn3gWo9vp^LnOF2$Bhu}gnd>r{vi%>DuBmsTR)D$9t~V5g?*vI?eot> z97B)B_)6|t=<`=Mr07V=!Fpe`YoezpG=3#2Pui>B667)R#PEBG86uy?UxKC*+(1Jm z#+uv@cp@G6O-BLQvoYw|n8@M>lF73tA?vdPPbV(mpgy~IS-@D)6-GbZY^p0OwI(zs zoM7C0pQLppiOrzKOH#lxk0thmJlFY9TXmOqot)}T6~h!&RE)m7+QsxsL;#IE==;do z*hY-b^SxCLPy*a1ReW2*+Ygv>sZaRf6;V@7;8+G84&skY&H(=6#d+C2h zfP;L%o}I}(Mpl_MvZ2f}kCe%X_?gj|_>iO1#d@5vHJIzpIL7zYM*`L3j}sVsEWjlN zfx(S|>XIgvEjnQFOx?EWX`mY&%-HsQrsqeq@WqN3 zU|&sj5e9ELi z>b$C-tNH{CLr-6yD6!M1Sm;Z;{Z_Pbjmkp+05c<_ay!p%oqkL4%4W34R@tJ3{+uW!qztZxX&Kvy>gWEJX1jcXk}JPuN7uR zzw(#id@)HQfF{KFbA<{srHM@@CeyMZ>~)@7h`mwa8f(?8`vsT(qA_`^vkEy0Pv0&{ zY>4g1U5>O9zaHFjO`w8`BN^PfWnsTTv=LaNN{KWJ!>H`_lo0)BzS;P%R;6$aAe0mq zglY+*#Tt32CD!PToYM4R^z^r+fkft8Qe&bef3oE6_A>fF{<^TWUJYZ0MJv}-2hpYz zP0;5gCN43%bWGBB%z=T%^l8InU{o5^lz2z3vP?CJaM+$ks9Lbg`nvB%ZGfcq$fsTW`ATTiYu8*aopJ8J z12NEPlE99Y++?Tk6_WThTKb7K%$aLa30E^@qMj0bpH0_HVb2+wa^Jg+`p*0Unm3rr z09Qxi^)+%;Ezl_&Snu^ul0N}|dIY^<%(&dtH-DXaYns|bYOw${SCB1C0vBE3iKo@VBv7+d*GHZU9RuY@p0aPL()Fnd&=nnl~1TykBu*e%Bp!)ne z_Ew3_Ar?mW3TcRz=L%7Q5UgoI_1*zx1Fb-J-Dsg;sIhUf(mKc?tumlaVFbh-%u?c-s9Ek9*+*K>FSXRG4g_+c(&Pw(oTExB9 z*s0^vhQ)JJxLZ~q=#oAcEe6KbUC_&0Rth9M0)#HDl!KKdCzEZ>>Kz`>tfE#Xy=7bK z0^{0v=kh%SVERCsHW_{mxNDG)mE1xz935w#rCE+nW>bq0zFtrajkQP*wYVuO(RO7% zjXSR`YMoXw)psn|^ll!@vp=hWP3EnUsqQ(CQM0@TE@v$5hF5Fu7T52=+Bdy5 z_9%Ao+l0kTtcO|O@&&^3PxN{_a|eM`dzQS8mwMc>>D%!qKkDivtZuqWlfFkmCD}fm z0h$;muq32Yvm8eIETA3!H`y}+aWUH3Y zFd@gJD}U@;kNS$7jBC5Loh=0-`lZ8-e7f?FI~cEwspaAin#(`6%!(~0BmxEtcDeGMQiqKFdq_qpu(E@CE=TD+KL1{=xGQSZZhuq>PDn99hkMC zJ=|0YzWf!(Ga{D?qkDd7CC_g4Dy;8bOkJi61Q=^5DrKw^z`^F?X*S+kGtL*&QrAHuH*b;a9U>4`Sh|Nk1wp ztJ2H-*1*QZw*rGn6bH?6{T0W&k;(jK_}>;*Vx{nN0i$#)P{A@YI}#4XN1Ey`$&S85 z9@QX%d)G@nGiAW2rT$flw%~sni;FEb)?Dizi=5cvhgBe5Ste6tGb%`=13*R#hXfrRU6T zsk#%dx&9oei>L$qzd=7 zKIf?`IYd>}xR2@aR?79Rf#OR3if}61>C7M<^$Opn{ja>`R4bOq@$6;c!cQ0WfkC*> zN1UwG#P_D>pxNS|$xJoj!Ziy|5$0sDkMtT(;sF-+^ErhkG|8lkeerwIpP@S-7*s$@-bpx~Drpxakly!$}Wvv=3R8 zZq@OAr-}`&X;dyJ9~HFlYi(H?GO8YR8<=!vQy@NS13C#OYWByDw3%HTJKD#ne1(3g z>TJ$JY)z-x-eu}fU3E{>Bc}|sGapx1!!;SpymM4J@z9aXDQXx|!Ktgl)(^p+7$omA z9||7g?6q%xv3b)$>7*xMZIaQP=%;6kbldG})f9@W4Eifg`UcvQ9zUi}Wne_de>0t} zzGOeEzlFJcJx4b=X-cCiq>%X4>0wk(KV4(bbqKar%-BZWzewK2cy03pu2OIK3(f#{C{Z7(I7L^`s0WZI!w(ijN#b z($&McZr9JTi}L(dQA`a#%Z=z&YUNfWHqc0Vqzme<)v|FVoSaQM?S3m&fB-eE`v)~$E;TKdnr2Z`$U3Sjm|s#a+%Y-LTJMBN5^aVtq>AZ*>M8+i ztCgAOj9i&iOs%&w^NcDv)lu-sc3rSjvS4ni;Eq$JBUow$tc|f9TVqGYN7{m0(~YW| zH4-)YqNkfNPRHrDw-J(~H|$_+Z@Svf93~;2nt;@V2;j&6=P9a8P7y7J<5ziN4W8&( zL#jtJMbJWYQB(6|VN{j4Q_LRK`aI@_eJGbJmOm#x6O?OvVrpJKITxdui#NlCpM{MP zN7T3AQi_?{45Dh_cQ%&gj#FoyAxTp*M7`7k)9lAi|9tnMkTnF-x zOuIb;D2^nV0{=>qfH^1?VUXz35Tp7PARhp<)yYgx=)W#Sp_4rG4rf$!rpZzX0H+c& zNo~~i^vjtM)+E!Y>QAQPYa|d4VAF3nCOTlgYE$9D`wIuIz{;sLa+r=M`*!+@}bJIvz zF?D|@fjsYj4oz~eOVS09A$co!9%8k_c!duZel$NjG&Phrl95rcnrTya@PiN{p#A~E z%ZQ_4kYSE`g$mKXUMVaADqz&yN5TG09|*mG;)VIwwI_OxNZ zEf&fPc<~>m{!Gv8++}L2?p(h-=cS-_VOYJJ2xI9WpO|3FBne35gnJ&UDssYo5-0%O z0woXcBssY&wlG1jF+p&JZ?OBpZdK9ZikmJ?T}j;cdwnG_omljiOe;IjDWXA8OceKx zN`ad=CawHb2YAr^Nj6k<3ls!>Yg0Z8#9s7xlqX3|)K2)H_QDy8X z@SF+wVn@%yPJ*1uAOq8pcvkiS<>9NDkNzVv{cmMRCyE#aF2=*wB}P>yRW*NkMjfT8 zko}_WOdx*kc9za1>nEqZbvY$h^k>WR$BtdYD??4jKyiH5?h1xjPZ=R&80v{m@pAp? zK6>?{4i_I=1x(Hs;{JRY1s)_eR`fXLR9@NX)1o(;)*p3~_UP7LH3;IAia;d`D}ui3 z%3?+1dPL8HZx!&nnYB^WL;3*dk`T3okDxFx@I8Kgc@c~?x-Tn53aJX8=*hBtP;1|H zv7$fqi0~GPTjoR&w{WDhl=&)!1R-mc+C$fye}BPu^FGl*qq1f5J~hZ;3r@q@4~M23 zKzS`})y*9mu>1Xq9k(aasl1ZN#RT&sr-tHpXdHF%k~0{pk%{$5#I54m{SMEd!etOE5ZgiwsB5fJI+O zE}jZlW(n5d4nW<34daRj=)Qi$%ZV?51074EaB5`%+nZNvd4I3^0uW-{4cKpYggB}m zvdY*dVU;WCg&N6_O06%1o5^SQNLv%gJIBK|<0CAQLLBgpLn(nnBnRz|m8zZW$*|7C z1!fLZ>!2NQa@pl-KWvb5tTegjiUTqgce&fea=zDF?K{6^B+roq$aI(PJGWj0^_Lr4BhsB=mOX|m5H zKdK+C8!17}k` zq61*>Z%J}5DsCmDb`j6mOVjigK`)A+PI7NjpejkyvX-B3U=X4n{Vw8`oVR(#rgDie zTPT017y;*x1C!hKLjr5|SpBb@7u&K#v~oOHxVpTDv2>VkML8Kl#w*_+tmRtKq~q$G zWbaM&CLtEkLGbr!4|pVU#DuhbocH2$l@gxrx$mu#^* z){oB5@COl)TcLl0NDT4;hAvOeiE?(6|4msdvBNFqaN(F4e`1d`y^$*e_5x2N$ZvYI z*jP3x$}2vbX8$Ho_`cuzV&>_p?b*~>dCP}lf2mzW z*^}N#OQ5tg>7um6+y089>Cw{>TNI5|XH$i)zmu_SemG5K$hTGWplVORo*&2mDaAwa z8K(M70ycpU31AQ$In`gWs|0r`EK7b1N_fw1h3qWkN$hvUiEqPVH}ll-BA>z72Th?C z*JY{R_xWqSM?vSC*3bGP9fijlso{c6#4rsPgna`Es7^ZCEKqOhXiRedK|o{i`DHYw zC5B^`3kv@M^wua`O#mu~BP}_q=@A7%V5qi;3dMK?to(zVf0qLor~Ycqy)C+oDh*N{VQVYw|?G|$8Kk)6e#o-w>&DD!Wdx1GQb)pUSE|p5tf4eN%^!sD= z4P_&LWS7#fH|-T#n%diKYPc(X{3*I7F>Q~U(`D4Bkg>8eqC z_`|)tI{iGL>{;z!Ar*#=;Ll;+3mkf`236xmN|zi4fc+-xvR*_yB1edflY@SAD9X}# zL$Q5{Uc|vFvqNd&2hr{(tcJR_x26W#KKdRilN%L#jH&ML)h=!M6Z7%H_(ndPOA}WD zP=vb^t4r-^@wCK0sfOe0OR`}MPrMp@Cq?KeFME8vI0=`B=m>*|P>E?@DI>j7`daOd zbm?H-+p%sF(W^O<wDJ5-Pk`|V!Ot76?$ zapL0?NV+5ZRSvj2(9T_cWA|XP*<&|g&{?TQ?^v34pC7?lw+GbHh4SU zSV|EUV>gJvZ+=&q^~c*}@DO1!M*m_S-WC3&uFY``Fpkm>DxHN8lf=$@* z=y}b|k2`a>m(HE(go3n0r$BZ38t>^mZcbdi_hH?Wn0~HJ=HxJTK6;tFI$GoETK-7< z#~F;~Z8xqrP?Wg!Zr;duu3j4A6EqdJ%Kd1LbM1BQ)09^-+Qn5HI5B(=3|IWb566UE z0X?JRNOr~YolJ6@@>!$&{7K#b`dADF=74eeM%=yW8G;kvfgS+muU-eN7-(+nTOVpz z-soAd{~B6onrSVe@mfo0yosp-JlfJ;of0Sv9nNT;QNW7mS7#iV%($%Am5DP`b(y*@ zel_IBn|81Jr8+Sri5>3~X&pO0G14V55UX?9Cp1go9NLp3=uwiGNVH=O*YBf_FsCJc8P8-g(yS-q)mWoBspUz$+Jmj z1tq4NQ;$08M$IRSlcPj1cC0DVUIfCUI=5hk>Js=x+U-0uRHm>_79B3)aCZko{eyNL z!c;tm3oKz&lJ}4)w@i}rzc@{bz3U5E+vH-AYeHC~%SPdeqM|V)at249Y&0*!*87nb zoMi^t-uqP#QiYXD{77nNQbX2<;^}3Lh*ZX^RwN5SNpKWekS}t6kY{pE$QnZnfV$9clz8 z!c?hns)0-01`ywcjlhqkcE1O8)xxEjsx{aNROryzRIZ`YNw@NS*m^IVgo@wJrkN=| z^$nY6?D)J$m^qT!Gb)RSQG12t@u}gwgAaj_DG(|GLSgGeD%$6-C~7s?_+u^7lByM& zMsgyshWHYz0oR(h09T&8*))H&23IY^&;v@;>)s7Z!JxkjgH)xlqC2J1#B(CgF{;K2 zX9^A!B=M)7hJwgARIwz`MIK-iE>MR4FQTN65#2`(9Bm{A=^BicoKHOtEpoG7NHwmO z==T%?N|C`DZ`Oe~YuQ~qoR9q>DN{%FbU4yaYR=dAadNVHxs&xH^}1ub2cOVj1nP5i zh_|=|A3CH4nC#IFKxw*<<8-gVYMD?+-bZ*7X!!+N!$)ao-7muw3JETTtWA#l4Bb18`iR;F3K-QC(%i0TF5XOh;A^gu)gMfS*T?AE;ci^A^|hOuIh0sB7v5Z}ytf z;LUlt<@ZRA_2kf1N;b(uD*eiBg-alIq+H{k>sS<$^C@y_>=Oo4k7-eIOrucO)%sFq z{08c%9b}KrE-(vG51sDQL&J0GYR_Oh($OnX`t>(@y>%JAu8>|ofD{#q`GtUwTirt4 z>*iIi8)OHvxmtFs4AA+PBx4pCwX&sdIMoR^SHRAVp?5DY<1mPMvhPr0%Mo|#`paCD z39_1=8gL@yWdmkXYC?sd3hE-8$z6z8bd?8IGm@3A(fI~|uA9^4;@N4*%w)+Ogr92N zRymN~pk~vK{JmBFo@fQ&>sHpLT9IjZSn>@fU(gPl%Dmi_yG49rjM^D-s$8l^y!;l} z-ao5er0Yxd{gQqf>EZYo()ks^oOgn1OO7yy75EIhc-~TAtSN8bk?{Lx6iS-Bsf8R7 zw|$d}gkQZ--+9YT)P<;W_y6T7KEXFx5?@kVZ>deQWIIQ|iV(Y6WQ36((icz^epote zlx`dtE4pB^_PX8oGU+hg`A#yS8-FrW8M#h(bG0K^*uKtGhl_>P-lB$a>e9u&2-{P! zcN&lcOCMQyXK_Xd#&6PKxv7B5CeJ`SPzA;>(N`_1Be{ck*K!5JZthV!_b77D^$0^Y zP$a{0F{5@~D!H{^DLXe$^dmFWpEy>+i}^^Gzj^XE#Hz_sFNu^xLMM{Fd93zkx$wn_ zJllEVe9b$_=>SnyjAOle{1SaU`1YSE#D8QslVZ8C8zgp{EQdQKb{4Toe=&3lC$?j` z_s-2z3;XCgo|N30c^*%0rb1l;b~-opby>u#Q;!Ilg`vE;M&;!s3fDNpu`XwkiIih? z1e+hYysgeNb+FXJw}_LaDid(HETQHGRe!#v{?DL#^7o_U-+K8ApXWLNOFVAPkdPfm*u-5NVQ*;u^T;ELt*U7B5d z{SwBZB`r7UN>2KTohaW}UvLQuoeFdtQZz5py=Xxs$1LP98r`jyYZ+H=9t@n?z^Pb0 zb`C!e@uR)KxE_ZdM|`0D7XVqhq;1)3;_x4nCAUV-eTBR*ZM~~j%i-+JeV1LErh=p= z{r!ckog(_#DRM1Nw4Y?a`-=RtK9Zk=>6NQa(c*gz(w|vF&E55U;#vK#U*Mlaj(#C87cQ3XvnUm7AvJ9{tkO ztrt_vdDOzi{-s7`K42%u4bqC?0-h zPP=OuB|q-xu1TZvYsw9e=edf~+@@>_+mp>;e6VMToqZOK!#+wHA@(%6@d~0S#rz~T z;(txud%pC(lzjkc(?!s-#p*KdGI{x=sI-ts-IXq_`n%`k=vM%Ryk-H_iQ9V+Vbi)f1+<3 z{M4&JOmzg|M#Qr(4i)}r+$}0#CkBV~s8bozS%xQrk|5)&Bq)k)GQRhv&R3~h_seew zIs=xl@MN?p8>^(>OS;g0ooBF}`w!ViNEfpRNuNPFBOVsdyg2e(=xd||Zev<|7zf~m zhwtPtf1`(KEF0Z6U1jRw?AOECpcI2rLzz*j?KdQ`Q3TqjK!B+U-6^k?#Fn}%W0GBA zTbrr-QvS3gItayF%I8u%)sgL&iSb5n(Xjaff)HfV(R7>CatM6%yvPWC7ew*}6kq8) zOH+C5X;r-hbdhreYLQNoaG_L_yxwjPkw=x)TVnjNUUs`S;+M1P zF%UwZCB&hU_SD%x%&>TN(a?CWcL)+LI>oHrk#2hGxf1SUdOkIK?g?7FskVJz&{NAL zq;cnqYdn2YgKJ%39w>>IFss=@YYL<8ckaxs1ya;(gnj_nf@%-v9p7sHf{Y7_0p zWw&GcH1{}xE41ko0l#bdG?#sb_D}Q$b1SoUcX}wEOFtUTp6q5v%-9ahu)YWtelgqh z%M+SXb6u9yY|q0Mii+(~*g}nLEVTzwe~DNK6|R|mf#eL><1u)u7dxma*rA2Mq;KSE zp>WIW)2Rio7Q?hb6ed+o2`o)NRckZ_Pr~#~$qVIs8vGS1fL;fXz@|eC$l$i$UwF2O z&X+8pfp&KH*pZ2m>*kDz9qAqkK=mRQ3aLTO0oRR?QlfbgwF$VPK39<&@ zFtSfCqccY31wNKTzM>A601#3>#OkY&Ia>!V zjiMps4*7A!{IaB}#Hf-7ZuQ8f5ztjZI$I8*t_m607GjOXz4@(>acyNfDvn$lU7xCJ z6m`k@_7-w5E~CmOhaM&u6%mA8N$m%0oI-Y)S!x$?eLR`R)tmZ6&fs@q1S|L&Z-^J& zkdl2pe~TK&?W?*{e!~37ldxH#cu`k8=EGNiJqVZ=hT>y9K$kn;PMq`!(NQlUUMWlu z4Pd@Q)+h5nQSB)&U7=V6laXoCn^I4yJ*g66a7AWJ7-2Mx&Z&nXdHU;(z^-&-czmAjPq$k-706WKCz;1*FOp|VW1K6iYlT+kp zf^HYQktt?<1;+L%i#7C#Kc~shDg0=NuLt6K zVc*ZjCag(SRca1iBcLwOI|MU+m%i^J@CE#uE+O|ry2O3L!3kEZB%sn#CC2L##mApz zbGceX6R!`{CtSsnkae77VBufSXet67grvd4mb*OcF7?x?GK;L8JtXMq6w_2aozvx* zgi8RI*|HA!ZErtehGPx$BEu27MFOa?c-@M2s((@uoZEMQoeUBE)(Q0#a|8TD8daS* z;iSAu3Ul6qZ#7HS)~)h$qx?+cM~;#su-&7}ptu*M&^i`a1D);z?h%6JIg^kOGPl*w z)kU-_ou!OXsh`OfZru(%8qfu&2+~TqD+st{wy3sx$TiWZ9_4`lVU(xKDAD;lIm!<^ z)7fRRBwyp_zwdGTWRD{^pX}{dYB8mgy^ZwL=L&k-OW=8`w3O-g@LP3*v~q>C65_`_ zfGi747AyoBZ)=>FQOQp2mibbhCuO=xnH>4)Bn6YCwjY`X&?kz@R1g9Ie?Zwq(%D`9 z35%gIE0cUOB-JBXI8iJ6;U7uoc1Pn1nT$`hG-rZT;$t|1c!tEzyZ`>j3xnmwot>}btP zA_#Bg_z;XQFkul91HSTO*mwnx^^GCVM`F(ynZmC(Qsl4L1{0PbW)x7yP1BXG)z+Jgxi}i46i^@dY`R zjR&HruAs`k8`Vas8FryRA|Pu!((I3haP54B`U~-*3Xib==&VQ&ey_#aexIB)w>syo z5E0vIbrnb@*B4nhelg{)XR9;vUA#+>bQwuw$XIqS{P<@Y-8pOHN5pGPj$ zL1OLVQ=f*+JxgxqgJSZ&sg*Xqc2R^~m5bYH=W-Q!jGdttAQPHsRBGS$sqJ->n$MKT zk?S4Sf}r;s{7qp@Tfxewe~`9h$LDOxF2*z!ohKWwzXE>YTz)4;&J5uhQMTIo+qD8) z(pQZ>-B$`hJ5_MLBR`zgIGEtJVU3yxQk*<^yaR>S2f4^_NxUnGR$=Q~6%!@Xe>0Ej zBYw1}gFO%}>j!P#9{Vz)5>yq*q|oRgkH9)8}a&m z5Ys|?czQPtTdg$A1Z0T&lVR+3!h#^W@gZ=^0em89%9X#S#UyKOHusBXYqd3x)2ah~ z98S-{yCE_FYd^PB``p`Ri-@x3?*pDNKg~zRobt+IRCa+)6`v_V>qyW#WLVpUiE5sq zfvYmVH3m?XKU+cW9dIG>+NhzlFc$w*W6UM&;c^a-$lIPuE=Ubl76N{00iWSUS8y zK~$!U$|@aT3ci#;f=$j(r$rg)CI0#k4nf19@=1dFTCajY$nL#;xSaO5|H|VVF+@(R z_q8LgMFHJvxrU@*eW~~tC1p$lVLbs*35T#xz|P-%`HM?^^W#P{*4SuNZJ4u3Q)TJeMIAAJZRmXF?T*nyB_22HB^fw zB=qF!CVe@{>&T6+Vy-^9a1gbA#0j^#X$M}#TY_Ql$+M`|Vd8?Dc7)n&Ea~4EG6FS- zrlPRe@JHczX0HFzzLC-TVqD~Bxp*~yYSqjZv~9)`p4-XSW98Pv3w1SIu&U=ybx4Eiq80awarnW=C^Oc|qk$vFCGs+(v#AyEv5Oxe z2QYGFnB8<6t{#3zsmbC$j3!#Mh{d>4=65h6EY+1n(E!w`J-La{0Bkve%8bfJXULTPotoha4$$EogQAiFoLUdX|*F)h&IW~~-C;Dr+q zrtG6oh>)yx)?|<%>D4qVA>#`8ch}^ zV>=Py_z*J$%bTUL-N+A!WL|s6WkH-~S_?E`30V@8O{-smuIkuH&|Rx5`ENiM`jmdS)b2be{-aAE5KLH3&^`?iVPY*}cnSLS z5(ZMLqttf-xOP~+P5`%CbKp*Q)AF5DPfY^%6H%fRsJXH%I8g*hdj)cs6fV~qmKSxA zK0u`A{enns79!OrT@$H8HaSv6Dxinwx}fN+{NTL$Z{4(EO{O$FP#W#&Con^> z6(PH)srR7OT&+tmU)_;v?PKb2TU*eqwTb_8Yw0ueBAPoxq+QGkM;h=zcEpS#peI|P z%(FPHV&6mY&KLF^K<@oW2&Uni0U8VPonG0=ng0HKs?+O(OEv9WqVM;ziasG8ASeIS zOD?^P?nQ3>D+6DDYOM?0837xHY?}I1j^{E2jTTQ%%?^!AIckII_;d`Sl2IdRx z`mgX!o2f@^RId=2|9aH>2g#`A=x}n>K*JsQzEICKVNXrSQ}4V-KCcsGLvtODc}Tf%gHE2*HA1z@AW2@jb3Zh0DzI zsm9(Ka(|?f6g3|HEY$ceX%2sc)xUt@B|=Exseqvb^VK9b+Y1kzgyEF)fnk97|1$VD zf_hM_{}$+@pftjK2nM)Z3~Zw5+3MWuX3BRiIVCyr2D<1@dQUv|xl3Er+P6u(U3`AC zws-cS?X~WZYWWk2kAgxnSL*v-(xG8|aq>}H`4ZC`$S!lJ-jGlB9zI3O;2Az~0{QJ? zAsHJZc$rI2@inOUi@@%vY$A5?yOJYCGR8}Lb~#2~E&L^ zM0UB0y>pC@#MAEJaP}H?2d7!Fbhn11^d)TjO|_Ygf=A?hR`Z_eOn))HTEzAnvOWq~Sf)SNK_6^Gw%Dbwqk7JzwNeP6sl|LR zuK5K}XIFSU-z=GFbb=8H>Il-{sb=#}ePT z{dxxi?S@__q_++C^J$^nHR|vDahI8h2G9`>i7u-bb_LmnbH{a{j2r}*1aDq5J#<;? zu4SD#VdNUU1cw<*OMI#W^$v^A@6DXmYiEMFMEu8ze&!b4hNvnrl}7aenM)=* zq3857=fS5tOGg{|q#}suvqt4dI_*DT&5h!YMz-i=WzQrl6Riy0jR*d_lG8u@CBEI9 zEIEz8G+)l2QrzM>V89@|-wJh<0CsS%io^rUL1%R<rfuOiwY*yg(Y&XfD?6(kC;Kg=NwuW#i1?)5(t_)7 zH0U`REIbG-3NKJYeya~ zVLf*3q@T!k=W!=vz=Z?mwb<2H2_GGdeT3&%qWyNiJJprcVTvta7pY9BNv>RI$mF#g z7;EN4=^{SVKDwdbsHrA5m-y+?wpvb5WyCDorT?@XwqW^a0IcWcD)>4LmX-sMHaM#hvheiW6*Q~k^P@V&e{ zKWP2d)Gap&)m4AIJeR*UDm}KnwK(ePfq}&GK}1EmHm-}FLctXm@wGgk9}}08b<3|N zRJZ*77Q9i=%t2)|<3OEusac1U$`vBJ(}FsqbWNS#TAT9STCv?12{AV!Dqd?^8;};) zVzc<6cn%e5F+MALh_P+tG=GKTiFSY+QLnM4+?ur)^EJvNu4_o>seLn*n~B%3$~UUU zfrha?9^;Rz5bfT9uG?(Z*V$Zmw+Zojs)yAU=m9?-XrC79xg9S>4f;{lwKLDgJJrk% z>Zr!s-p1y@WyUg0{=_BHq zXXCuD8@pZv)a$v~^`olH!u3W>PDlZpmw4>!v}!^C3aFfHi57AR2e(l21HJ*3 zH|ru%knp2(3fT&9Gf~mTg0jR$ML2g|$XR34L^FBVIhkuci{qp^Y z{y**k7bP5XBtsxy4p(u~%b&#DqGM8z*{X~A)c%~2i$Tpt=+xr(!46Ct)6zO(4JXw; zZzQXYK6la=o>X@R1)%nyyX87bKlVw1pza5r>USiqDw7`FULoV5RZKvJQT3EAr1j;# zcvu@{<{Y5tWx6ej{vA6VI3#hghp~OsZDPZV6Vsgc^TZS`a;KBtrfu5WX(H2$wXC8J z4+8ftX;^RBL;BV3@YZf?EpHh78Nt2haBby9vFX@fZ0hl|2!d*^kulVwOp z>78~6^Yh$RX5pNya-7N+*H$EV9A`RhOSXTL&5yt7a%d_}Xta0NyOO5UCDk8^i4wGGqg>vtxj>t8Rej7csaoWAyD}3tW&A~s=KH^3N>^LxBkQ&Y|UI!in*Du;xP6@ zLQ{Q-Vo^RbpaQ1Y`r~kZn6?rdW(KPBdL~LzsiF8pZDux6o0&~C!RNf25~#Mgg@x-A zE3{EMd6Y@&^NAJ=Oxsy;xT=8@)ekYKe-nc9NuIzsf3d>VN+N?czLbTdHeJ3G4_~3e z4}(VNN9U@Vj$(~A(4_`s3EKrKL79+!4VNi5_=d&%aix1;{^cUt_OaYC}I8l*VIpMF;eav=%?!(|;^`QnwTBZ@+=X|nK_aSP+@#@1{$nG1m z4SZw9dXMLnjr^di@Bnu2QGBfwG~$5ej(HoiYI?rZ1B1ZPQ(>&B_JFg{tv34vp$prL zs;_#SB5uE)lEV7fx;H7D5YdF2wph~a;-Jj8_Nad5Z!~ZF3j4VBo!RstZYS;He954F zr#E)j8AM#8Gi)KlN>i{;cNP1(cZ6wDQ5cAoVpi$KyVfRd(ge*mVP(BV(~G%S+(Vjq zRjEKtmVmemA5FlF&n-}W35X$LXVkkxJWMO@B+LSTbr;n|=jEnyKOOwL@L<}d{bb$2 z33a^PSD-5TiGZuzRC6RCF&k1b^#n9O6N2S+`I(t_r1%-+M%VG7u142Imp{nOx~M6K zB_d9R-w+X$=l?>;2}1AzE5%6=4z{3!ix98`;|mK^0cp(>5*);W@xd4^B#hrzTnx+h zDVlcL#p8EwzJT?yRxWK`Y5|(TCsV7bqj_rSufDxB-aP%OU!^bj)ptw2H5>x)&Mq8& zcl${=Tr`;v)sJpE2ma`~;~$Ce1dwM}CvgI{*AX%6+afU$_Z&Kdbwtg%RA!Uo*cBuz3atm;JF-S*S_kf&NOi_mOy@ABfgv2_EPt zxE|;?h6;DgqT8#y_RM2uQ%#BN_=y0!ga2TyFOucg#?^x~@gAg!_aJVGMwJX)$_)f0Vl*er&b{@B_82?c>_yjxkr`X_SWq*gX_ z@G4}0H_s>fn23C5(!Gqo{)9K!5=m4!04Mo4=wgxe0VvbcA>omJKAUim%N=cQv6L?&xAA9)omuH$bQq$aA5M0oCr!sNI9N z)>Y!lp3XC78F#S@w-?Ch!p(2hhU{)F7zK~jW&G?lMSku(#8@$Z!@P+&-+EyN1H!6RImX=if;EA>=6>sC;@`>rW zdJ7WDXoIyovLGIewXJ_qP0eTMK(twvI5V~fJHL-<$b+)^CdIHWXRa3g8TuBe9*nMI z%Q;{5XyO_=UY+(8OZR4K;n?*2p-KjUzXNk6T!n}zaTi29`CSL;L zg^k-=^PGeYrr`Cl%+mODe6*WcM7)xvY)fxCU;bg)zmj^s+%|Dk`k8X+R25;6=_j3#_ ze_9QbCJ!#jNyC;&UB(CHH%&I4PtREa#?k3(((aLq_r!&AQr7Jg^M zzZD7;JHml?qZo9fM>ew1LkQ+2MQgK0JBjIVGG#Z0jgsP*2V!r8%@&DlM_s;M zm^Wi6E4GjFSPAqWU08WDebR~d&&B6jv{#su8hv0E^yO(k$N`7nqN%Eg3b9ctI!j$Z zNOdJarmBbT2`m?W5%Zxs4;oM?@xhiB`~;pT9GcGuBWGg>YMX)eX9CozqjlB1N2)3ZxLzkmT)x+%2%0vx!M2w$_RI z%2ZAzBp%YW7LPqq)smA{Z6>Xm86vsY>D-aLYmh~o)~Tw8RBabOahpED`+lM;^PAeF zT6;*B7l#cPA6_A?SyCQ3Z0m#Ws;it$gp#S1R{%^b07m*m(e4`VX1F%v+KAgN$NFPe zmn~VXRRP3jZjMp44l(Ah;-@JL+Ri7yb+j?SMXuq%1rzg|#4I;@)C7CmC0Y;Z@52bsT{@m0g$}C(q zA>!fsf((Y$k?w`9wdyKx6vIFS$3*a!9Ct<<@G*MHGje=l1bmIiH>?Ayi3Wn!`$KH+ zBmVfk6=wmZBjv{8D`D4Amqwj!HA2MFreNWh(J$2%`ZS5Q)SEvgY1nlF&3s)k>SFda zrmEBc7r&S%q52+xm75GkL6;p{brk3dXz}y;JnKLMSng~4hdBbu1xHqp!y(SSt@nBH zEz9h=Np!;QepyJ1v2=#d`q?@V`zANG)2FXI=JT5ooq&1wAbFcABpzB|@R3Z93KSlk z*-tp$PuW|d80Neq z3wQu$MIGl{eIN;1v9wfTL@L+q1tA;x?rx$&_VBE*XI-%HaL@=JHo2N*NOPTWU>*{X zYo+$NY9!Th%m#?r{q;bx;wr~H7zIA^W0d`O=~aeQPKORiUXyRi1?GtA(zL8boKEdn~JozMvHu=AE*_jdXCov*Kmx zm{GL@^-SG48RiVdzKq;u9LUIBtB2z5B50{A8bY)wJt;t6`){b0zB}`Dg)%w6+}v^YxC!{w!^BS-vE%LI|ekX6XgU6aw=FwL~jZpKO3u z0@la0uV86^B*XoRPrS(%s25;ga9xArLIPR{B08`s%YN46lPa#WVB+I*6-Zgn`(jnV*Z^Ydy{L-Ol2_b z%UsbSH)U*wrgfQ7Rif(>_dy!R`^x8{!%y7zDBS(Bq8T`32U*n|J=FgRNdM|i#}0^C z%6ebDOD$pOi+Y=YOzBv>tXdnRLtzhI3s_qM;!)y@+8{|mKK_5>Rzaq^& zmMoSn#Xc2U^r4)|E><&02#S}-eLT~a_(u>AYKa%*p2MgTb5qTkKSSVTIpJt7M#EN! zGI+wZvtVzAlX)sciX~flIej*ZMNlcY0*Yw06f#Hs5Q@qegd*BUm*JSRkWWo1PF5!y zjjR$Bf24A$LvBCR^-?eUsJJ}pZ&Y=o=lHM$&h?tgwC7v!lCn6q6g?%msEKITXPu<` zpUJR4g0WntIJvP9p^v702i_(Gpg<;UZHlx2+A>eGR2NNZs88T7&+oBYI)}b@QJ``H zw!G?J{I~?@ajd^j=vmw+#`BuIHaw?swz`+(zD1%nhg7a}PlsHgDl?N0mpZm0SJ1vy zQ%4dGAyed$&n$tAPgZA+EKQ&d1BwvDEUagNVg#&d=Ne~;Zc6~?Gpc?s#6@VjtQ0JO zH6W=$P1jJm9g=&6FR3$t+#6%!P~k_$J+Df!`21Erm*!Ie&EXhI8m0?cF)EZd-l_Td zC~HtpuBgg*APLfjPnH_8vC(_Wo*iM`E=UWBKwj>bQMyJQ zJI$zS!)Q5%GkAC~W=1v0eR8b#=tX*Cd73ZO%}4N++*l;f-4ZL^3fWf!C-jZz-N_!~ zo|zkR4IxO#0q4eNWjX{zZ-CG@c_Yov89SuO&1RNe8%K62=ybW3s|< zzE!~tOjO&t$%c<~GIXNQf?pImMe~Pl?at%ZHZ`GC>s!tEJS%=wpqk5cp z9O#>>lzh&4v`J<|YS_P!19(d*=C(BZLF~5;DXZ=~!KZH1e5$)et4%uky9|W;o;RCh zYXFN!LeR$f*=9cyZURQt;d)Eh%3F7FwQmh7ek0--_@b@nO zHBD%M=MJJP=K3%-c?j95|KK2BNtjm&jLJch->T&S0FQCcvy=$3Q5;;X%SL|-f2fb^ zqn<4ZA|MtoI`axld|HkSh>ju}ws1juTXZhS6iC2q3V{NP1ycmjaL?q>*<{1ksp@5& zFwac9?lKW^Uds~iL2R;ut?qJmrtcTdK$e@ksw9<{Xgq8}iN_>vye@sx9WpzuFKh>4 zaSyFvm}#M&Yu%klUY{}x*W$K~;c~Ga)SMoRVv;bgdKqg?KjEma`kSl=LI3=@BV_H4 z*L@xq4`ulz#7{CWGeQ9+hQ|_T%6#?5*RkH!zhFxVSr~;Q+;LhmOCg&NJhDXF2JMM} zWGl>`^uL5X5;=&_z{*SLp2YQU7I%I!ZoEEN&JfjfO)tv`g>08zf^-i9Qejj52Wv!i z*{acY4dNUc#_I- zFRNVzy4PluS>qbP^<(NeQ2alSQ;uPJoZU`$$Ei9AO^{_3f*&^3>zoP7YS-wcQ)bO+ zRFkPI%oV(33DzD)>miWQl;DU`FVn%IhwF15-|ZgFAl3r-EW;YanAI|YH;{Gi;e~gB zs`{JICO{!O$2)p9u4fw&T39D38eG@wV~Kl!Qxo`**&6TM^c1JeVm^yq*j!J?*$C6p zW}juPDnoRq;j*V~S#JT$9>8J^0UYCwsVD$1v#?oVMc+uc??y<=2WQE0{Eov=B(K>b zmPZOl3+$M2Fi562|Kv(`mY&vZ5wGEqS6P%CiT&;q->lzSV%+t6KOz6Y!LokKSic7Z z%`FsJ4tvV)2y=??AB?$+cQA{0u*ljjk;S`EFW!X(U~H~lz@i-avR4k_at0YM^KnwP zqfEZ##xC)ZUSe{_(NCDOk2;_KAp6`j7~9%i=^@WFR^wYTKjTj>MC}DqRw(-#{AzrH zkI4@8tPuvsCpgJQ&1&2%^d=suKBnhFR(`(o#b0Il%^j*YBw78CywQCD8Hs`$Bh{&T z|B>}3NTC;VLb>Y?FmaOEyG!sDeQl5~VTG)IdCqrp1x5SiDQ%F&1-k#>yDcz^ zu(t91B^7JJ#PSr!hbatpk8}Uc`1H!q5{^%h$rTrq(PH=vKWqz;Z}zHhb=KH`3aM^l*Hdw@FaLRBKooIzF*CVCUE)$-TMa z;O7-Tf8PB)+ss(BBdr0{cE2+DTlHS#?tpb>z@EWvUA^2OW(BM{KjE*XAz%$@2-w`- z2{mG?ZK8Wdtcrfx8C2}I)-|ixZ>;-Ibx&Xu#-YlIy8XucxK*M089aRVAuZ8D$uYly zRCvg-#A7b3zDKfm;()zPK6+vItx1wVZN#y}`{F^sR7ZqtXnOSJW6+~z)TYVFEyO#|&Sv67Fz9xsJ)smDsqfU-2(;+>SNqc|2D*y=<-)$lx~~ zsSU6eC;4My-hHH{E5aJsl=sOK$KXm3W8qZP`pGQ(+PHh-|D)|qz@sd(fBysm1VK9@ zOBg_-Mh&BAP*5@wO(cPC=pc$92r7y)D5wbCf`X8kL}=T%jpI5hj{7#_%x^|nGz1VL zt_UtDDj))H*|NE?$ddo(TlID)IL^KI|J>)o^Q7yoy-uAvb?Tf`r)a4(-t`HLpdgic zS80vpuaz6mUF@|)1dA^0-SW!y=N4Cfu)gx`^3pkx+yljPN^%dD&KaHCkXQ(NXW43Q zdRbRFpQF~0`(^xIu~uGU|7JR7eLrGM=WUAYgQ`zI48gSycD>riY5BSe{fbl|R8 z5ZzKerYB zf+2f_Wf&I7k`hXnTU31EFg%XfBLj?pb_o~@SRU`5BdH_F>ak1w1R{lEYr`ia>fNc4HbhPanxWV^VpxX5ut;N|3*>#wILHd$-obSucsD;qnIQ58bU~rmse$TI>R9|H zTLkm3u%&H)Nbt!6I7t@i^I8qs^B5O3B;N2lmSf?lE)8~FGP=HMcCzjOvI8zq4#$4L zKQzXjS2f~_oNZ-!Tl%MfUG*7;FS^VRn}z{R5+^W>(g)m|&g>_1bPmNs^soI*!F0Bm zT@`i<4OHt|mF5DyKg{#Z({z;1k}Oe+gZb(8Az0Db$5I%m}|Lq z4a6n_80`UBW$`1z;6K;n45vr@83dxoXhCFQmyszM^@p|=;9y_9VXtT~ZzxJr;^rfX zwLiF7xiCv)hS8P9%hD1&)kkH?F;OY|?!|7Ryys^$4$%D0_Q;n--bM>{WT2@9N~n9n zHG>V=C??SI^30-F)nv+YRmx6TCmBC!wSJgft+qCntoPJ=`;c@qo=|MDEJ|G+4I=Cvbt6Q1Fd;KpN%jc4{Y$&;Mvm2~DYm$B!nMp@Z5%&d*ze-@R7t#YjA48v1}pciEDGGe z+zeID%P)kV;3}yS1-J~zW+sIHO3a58^t^ICKJEP}BS_f2y; zfM*vGYt3e+FpLNJ2-ZwNN_<3de&i?wD4OLSg|#ume#hyIhgH7u=3po?}7I8 zq>Z*&J*Z2>f|WW&ph8{j{hc6sut`^P3tgws6}4~M>b&cz%zUaIbCc8_N!rpKI4jWv zCN-=iDl`970RN8EAl!>__%pTTwi4Ue393jSB2#NJ)pp#Wjg)Sz-Al?8m(pptuPwJJ zi=0IW0nMQf9X2})noN?k}5gQy}Am(Tf~ zpIh#C&U7Zs-b@#<%Qn5Kgr#%=t?OC1a)@S#%j#w6m*$lfYzf@?2@zqQ6H~&1S^VMQ z-CpVT=u#A!9F9M2Q^N5#>~GNjEyh_@dmQoRp_9v*+*NNEWuvbv>%PWHzstIR#oIuE zyH?REmQ8`G6?X8h4jn}xIaf@=A_3chD(5&%eSL~tJoaVH+IiFPw!WDQWVbfo%8W}s zGS}OoISucv!oa2)-ia0^FV2)!qMr>{*)ErL=ON@Vd8QMEz0vJhxo5JIIkM7GA+(Cp z`y7^vJ;KJi<7_j+p_os{3sdHMzjNGeak}$QW1%tJi(6z18Z}7pTlS~OydzI#Qgqc8v z%^xtlkVo1Y@HP_fv7QK%&Ud_5rOBiKZor$HHUvQ1GbVC* z$y&uva=3rrdaad{q3zqrfh83b2;7&@;A^*Sg9yv}l8yi8aZ}r&QYx#oTg){8Sv$5^~JfZhlajq;`ynO#} zjpWN7MglhN27%YlsyKKM8AO!Fl-0w81y1Vur!Va%(z8!hG)qO3R&ep2378CCi$k^c zHO=xGsE)VkUcV`B`l?@GaHhFMnD5IR5-g}CTDigbb6Fm;f0Z7jPw-@kAvmKfI8Pgv?hFwz6j?!THfljM zb;bN3h%LTAXP5EC7wT(_Qczby9=wH4KAkVM^*I*n*g4Hw?FJ`vvYCH6^=jwollT*w zjBa5Z=U`WKynoMqy*ZE0*DmbrZ{^;Hpd>>&g;+b0Z|qG@ z!x(9GCD1ATN~Dhgx_OAHB-3e&zc(7Kh~BtrJgKMPilrP zDwj||=g;$MB1f-4;URC1%_8qfgg55ASg(g%_PAC=yxV|*x}LpO9x~-QV2!yjwNlQp zIUItYPS{TBmfguoJ)DwmQmH15k3^l|fWHGxfx6T$)+=s~Pt~_x_Y?dL^<#xo8OQaD zwI5{m5{Ee%_H=PTK&W}-dj4iaF5qvANH6}jjNtD=BIno|S?v^;PjA2{VP|P4|1-MT zZ$~F^nfDvHKmP6LH-9s_dN$GKN&eUs-Biq>g^m#vhf|%ZhIpS|g*m?Nh0kBE$fQtjl0mkwOU0&XON6eLGdJ}Eiz+^R}Bopx!5jKl`b-Wdh92Mak zP=Ud1>AZTOIfbwye5DuRnlb6ozIusg((;T}ZOl3{xdFF`+Rb#%qXN;}!alCM<|X^^ zSBvf~(LSncXWI(uGiJ9@&mJW+NPktTGgppIoBX2q-AS_35W-L5dHRfj=0T)alId5npH#ogX$+?0>#4)jYS)W1|7olC zSFXY6VbljiMJIu|ci3@5uTB{7Yr3~j$ZNL-IR{FLh7Tufm&jW`C6~x|{gX?CdcNX= zB?2&T`oNI-)n`21R>PKS0LC~*E8Cytz0C5^^yo1n9FzLZ>6L9}X&I@QCTS$Ex9R*# zhoj6cd00WcM%bgV#jyEx49t3tFwg4JtgVKnZ{&r=#p@D+3oR$47Xz6iTT^|;h?8)C zsQN*wT-z$BQgNI*yPL7Q>gqEdI!Q5`>{3?G$W(kBUIdBIFi)^ER4kIXSb6Mn*fQB+ z$E|eByl5)}g}Al=aeS1|`JdZWa+TCdS}I$tFevr8hEIDPn{F{rYH~V{&0RrBs0r?V zQaS&oX;vPxEIeEt?Mo)vE$2BnLR9}a8ZWxU+NXh!Pl5M5@F767jUd}|jzo*I@h9#! z&e3VsWk6Z%EmJMMA1fr^QPvSK5Gj6Ph3&=;6Sa$s?oi)-hpF@{)W=<-bGwQe&IBW? zE*ZvNw&2K}$(Jv?Z0RVIvRGHLh}n#;L_j1~n5&y`do768;utaiG>VjUe>dD6mlW({ zBCJ94H}QSG4$>TN4?UJMWJT{n*IsCuSX{!^H?vp!Rj9~(d9<1mbM=nZ=-W-#)JiwM z)+|aTK4BBx+2~J%g}Ox?9h+f}tS%sdlVcon1!*!E#{{Q+J5=T{Ax|7m&fp zR5Zu{f9f$MvE>yT6kNRdu!_xT`vYmMKd4v^bDU;2Gt632aMNrDJTbRu{x}AV6;(#~ zWLQd_Du;wB|(Tt=^J$EIxRId%kj|<$@hCv74Y)EteL)G6$PY*3d;}}~n@!Xu8 zkgixP-p23u+%hUk=L%CZz>rxoXABa0?m!j1Gx=Y1K2RCf27-$PvZD%bBwQkDD9 z6I(pRPKG$D-jzg{vHFfh(@cK?cJSt9@pr21S}LnJC^!UW{{kd|KraV|#hWu*f67Jh z+>DZ%XEiB4yaKb~htn3XXEIbQMBh%Zv$CUwCZ#x5wBH;KpnL8r^Fb0qwG>W*+%cBf)>sC-9#<4sQzyE)i; zhnY;zP+C7m=~9;LY1ynYaeVmTfeuw3Y(A?nSgCr|bmtJAND)Z!kZ z>OP9wdibRtiN#YRo1;vYFs-D{#$)3WwP534v~4+d^>M;>)%4k#Ts4=St5x$bb-Kf3 zk1`@mOy7|1K9+`}CJjk@2-tM)$uo~D87Nmrm<@9dU!fQZV+AxRci1gK+7pV5akzCa zcB-NgP2+C;jks$LiIXHc-}IKjV4MrZvWeDyS=4hEQZ9_Ahw#QPTfv-4N|_Lz3X3Zm zegaB2bq{uD=90~sk+Q(`V{CtH&&+-s&0VOy&7JH0z-t5Ly7)X?XuLMLc}dL$<#3Sa z24T==UtXgn+g`H0%~x^FP34sb`FL6%i?=}E+p=T_)Vy&{ z`MR_AFW$`QcS%M``rh;p%!wF}g3NlBBpm-kS@o7c^#n#zCjXHK%VPUNm~NFR#6uoI z9Cz+5nbU{mkQG{-$i~kQ^zyqr^5lmWZ|@_TSu$q?^ip(lQU-TLTY%(*<=$gjgUO_3 zHy2yE9qUNpM%|N5!o_O$HDl&mu3e>~p)_{Mj4|&wjfSNA(XSEh!yU;K3o{9vjf7Lx zH0Hnkx2w6qkCs{2T|XiT54?6udP&XYz;++te4m(#1`GAsa|tJ>qiPl(%pm8ZD{P^G z%_gt z0f1=_U=kto!F0QvMigo}xTl!#Fbt6X!Z+A`A!_m^7Q3fj>GxSw^c{|1zX6`rAgXKl zA7Bv;zbIr9T{CkDrAjp7%9E)Qvt<4%5^bAtqpc)0Rj3g&CMwziRh=nRXBtZ?p9ztr z(5=H$AU?lN{=Kas)tD{Pv9Z<^Ick=Svzvz-+BOW?Q+WI^X0J&+t|1)ij!`P~#AXeB zbkJ=&3n}v3DNo8OUIm&oP}4NG=08=>l%^>HVk%{1(-aLSm2$3Hfc*`|a1-q-femTvW$W?fvVQ}#_&3N6n-(tS?}LN>NZk2kaqk&DeYLtw&HEP z2z_A}weqWRECU{P8`-%zxs7z9h6p}*CDrbB7$1pw4ygT@eek8Pkia*0`;Ou%4tysc z0R0I@7MT4!B)}CLNT?}dPrbzDxv6iVNN(iVCTP-;Gpa+Y_LPz%`5b#nITQ=BXsB?# z%5tKy8-q~n3)%br3dJ^Sm-$uPD&p*r4{k~hIk%5?&VOsKW7y_p1?sgV(#$sY^ib>v zlg&csm+{}CC2z4&FPjlDQ(LI(M+zygvkfOVEth>HaoE)bO$l}OpVRku)}GTG4^1eo zxm)5{L|u=VqqLL73&-@AbR35V-kD#cD@ckE%~;hO#}kJO1m~t3{nZn>C?t{BxppUQM4sZxI!mOc zb~R(g^d$EkfyM2|6Gh)FIlPikV@Y#{^8X48&m{{DiWWrg{&nJUhm?1qJVJ5**{C(o z|Ig_4mTaXa!}jXEL*m?q^3ZQgg}Rb~ZlKOZ*9 zS4k>4OMKom@3lSPHA1YQOg<#4TV{*HYuT^4{ugR8E}B26_Cc;m#QOcKA}VF7GF2bQ ziHl%H(&x{yJhw#ih}Xx2Ay-z0Y)TnYY0bq?1Q%~?37ge9aQj14$Hgt)fjYUEtF+t} zImb-Z{-SDLr5Y!E2AI^P^QI~c#&A8k*Fr=GbX^!p*_ws4MOZetr$RmopFo&4W^v%6 zm|6=|T}h}!_dmCLqpomp+-S!v0G5(yUKg)q>#8A?l4O+IXl_BIaf<)|;xt0?L^7Pv ztd|p!9cEPn<_dD!6}MnRl7_551G2eUtBvfd`AB?TiW^BgYwfkfdv5h-(zLKE{&AfI z>8EZ5fs#{C=MY%z4x@D4i3mzs?{eos@7^&Q$+T`%%<>ve5!bc8%2593=1Va<7MWQWv#4}5m_WKo$T8b}uj<4WOrZ-EoCn@Ms zME%&qE_wm`eO@TZ>+KJ9w6vS06YA zVSOZRAD2i8)qax9LD~1nWBy63cXt`XU2C3I-gx0h=lJz|v#H(OqjImO%5C-TSGhsh zn#t}+nk;Jf+AeWd46sZ;*br%F-?2DJ_GprF94&)8xu^Cv4Z+cFfKRWB+T3cI6Xs_> zjqvj`KcUz<^HK-^)U46%8N-8AMf0q2kp(CLn~beKYb`X~=jNreM)Mug6L0&cHhv@V za0G3=MX%dF(AT!y_z3{YIg&L@3 zzga|KJ%eYSZ(2(aYLVN5cIUamS+*ZG9&Q%KpjN!pK#fZ z*!4e^#K!H34c>1yFeKzo`DVESdV%Uq0>AQO7j5nR1oMr3({!0Y#S1r-3N=!R#I3||S7H`UI68y3j`P;nb|JgOU?9Rj{D%0Kk$%>vFj1NQ&Uf5@l zFb_Mr+E;~q4=-ZvHMEHyhMj;oT;1)*TiP1yGw0WxYvo-`=Mv{~O`Dqf+ph7(%Ez_Y zdy-x2?z+|$o;TWJp*3TTePgdeZnrbhn(mG2StpM?EY_7lk^3MGgQ1pd*1bl;CPqrA zV*mOMPo+i9uhoytCgLO8G4SX)@=u|`OcpQkvnxjnbntxgx70;U)sQN-%QG5dTDE2nUxDz+BMS;h8PUm3cXl(swbcSMb=T5dl zn(*RFi!Up_+;ljf1}PC~MgCymd}HlB3%E|cJsc=IFn<=cYLj@1U!En*ZC~&%$$_n<*7)S$h)}9lJ_syL#LVvkofB|q%B)VUC_k7G-irn?jfjH5L#^#sy z#Cpkke6Cr2SXyzx@+r^h8KQs4HWOLF7Vp`hHD-!FAx>p!sQcFWIdp{i^!{?K_5k*^ zO=YUtww|~hn?5U)?u+eg8L;Y$&Aq&MTHnOQfs(haIllG2cPcPnbkEn2mZQIH$qS>+ zB1bLC(`SHBIV&>XD91cS?O)pxjLgX8@^$Wkxs#qwGyBSfy&N#F8?5d6d-EL;#q(~V zcjmx_J{n|xmYmH~yC=~Aj`dhR%mVVq&oQ%xfun59JpQva-5jr4C2GL&yeMbAE`#&( z*7iKH#9JeWhbl|ckZ68yrjyg6+S8vV+jxgek&VI@O1#NO;?v?l?V4cBt4!pF$F2@{ zUm1Kjw0mE;V9$)~vI!0F*UPZZ{LD;b2;w_WQtQ}#_6E6I%9T^zhamM4L&Qy>xit?B z#U1;xY0dBp{S?=6j;HHvtHYWz)9A}Ap@n~$cYy#gQGob~U|IS>(~DmzVDVEj$x3$m zm|H1KTP$H*>uJj-Mm+Z#d=7z`CnW2n9>Qv4@0;`OW7OCFAY+f4T0P|6> zdH9gJu}Dzez5h$y=QgQ(H@&re99F`^X3Zmq)YH<{)APU7v-^J<`}lV|YB|EF(S>nt zgc#`wtUe)JqiY$QsS+<^yUk(^6?_p6oWB~-^=AQMHN2V|-s@7Ubr4(}!@a8D?HE$7 z+qN-C!GC=CWKN&qf~A4GtGz!gSU20czZ(?uqVrw}6)E<$ris8t>mp29z17xL4{UzxpKr2nDif*7LsfslhhN`SEcdIHO%q^ZFZl=tu7co4*%Y61{K81YoGZV0K zyS-Omb}ae1WpTW}07d9E9tc(k9;++L#8Fr_wJ|w?y926LJ>-g!cWubG%bgJhHeU)r zlL@hk=4G*B$FqXGo8D#pj3%}O`kaq?1r-0Dc`e0Rr&~UYSw19%;(ff(AV8_>R$MX4 zQ%$ZVCWq^~_!}!>6SJHBmOFu*TY?}NvRI|*vaj*^^KHyuv zTuqmYc>-!f5f_qz(e`G{aK0Le?jxTC{Hm`cNMmm?ODp<#0h-bOrMz& zsFT|pn$Zcn%2I3VokQ1FJ|yfA}qp+h9CZh2VRus z2jQ-o;mu?|uOFoacdznp`^Ub9afqF=@~4>spu4;z_sD7HG(xuKs=tF|CQntd8FQau zx0m*wT`!P$!A_#99->5UsnCKKDE4iPx%I)$#l7OHYgEfOa8_DnSW$TA*YxGC*m_Lj zca+t1T@WtVG4-6Xg581J7r+h6qX}RgPT{3o=N!5}@vR18XkBy#jHl}#g=?-sr1r;B zCi)eK1qIF_Kc~Fql$owm-e697gMK1#)4}4{ls)XE{ToVS{q`sBu?!?Gmk=YCY2Cw3 zSUC%(F6ZjNi=|Buew!}s6B&ZPv}@f(fDcSN;@kwZWNh5Tc6cO<h8OiEIr|kb$5T0U;Gxr?1ADZSuJtC?LkZdtZ;xh!`{JZn zrzg&W_K1SXk5@n>D7D#b#iLX>XCFkQCq?DN!}1p;A0+vUYjYZTm>!q%VV=3fHe1|- zlFrdDA~Wx}f6($BBq3A?npZ~>kTBvo0!&n?E~=lXi|V)9i|V(c9M>VzoABzshLK!k za@?VLIihm61{3QslrM7bvVSZI+`wZWOE~JMyJWz ze7}F-$hMF_-HJdOQzO8KV(;Jj*oQ$!7#Eff01QS<2~-I)*Y=C;Anf zKn2$MiajUQdzY;NU;d*CzlJ8|H$#rp0b5?KSN!rv|1ZlAqiNg!=ltT`XkMg#%Lo6Z z*-P*UnkseUuSy-e@_$iEP%AzZYCZk(f?A1xG_3dbZTPKPnnLYAYuW;*pM-y7O;2w6 z-_?|Y|FeDtId%d$qSkvufB3E0OM!lP@vt&vcoz-hU4x+vj7hx0ujE8q$xb>_qSJ1@ z*XNtxs%jK<`3JzIzkyRnH5pSQPW9-`NdE&Nnm`AMNVEfI>5{JQEZx;tiX!zza^oL% ze}SdyS(ivy%JSWcBxT8>Ok{P?opYP>kyxH&GqI_z~h%gTSxQe@?xgLL2gTAi`8grnUQVY(tF5>wNlj&u{OO&SrMw`dFLnr4jrjTz4tvt zfeb7mFZ~Q{wQD02LN&us%on~edUzT{*Teft&$6&7CYcK5{A8h(k;>YY1i=Nlc`{2=x!!iufO0*3N zNnl4cy)}8Su`XIiiOI za7OJoqOH0#_y%?98eC=+3GI|jJ=GQ;&h@L8EPx6NPL*WxBdm$n(@7^#eSd)jlhGU1 zg&Q9`(p3)j$U`vVD57dan}B-W~*-XqT^#fZ<#_l7Ex+n^7Xv+@rJ z*M`%dpq`42?e{GVM=1uUhUhEhR^ohaupzXrF9i;Wznm4~-ITBFlNRA6=DG~?ifY5L z81|~BD`BfYF&`rEK#9UJbhEeddAD+ea@A)F!#N9Pdw+RcOTmjiqEsAr;D3RW--om# zkY09X2LwJa-Y*j&=;10z}sL^H$(wYKU2sgX0kI!!F=4f^VGhYff3`r_f!xxQUmWP>8JxR2^s6dW5TO zto8f_;(;aC!C6u?!~6Slf{L!}erk*ToT%psLe8YmUTmGy`S$rn=assPzj7 zVDTJWRB11%Pd6X&O|^}1=yoRnsF?MeaHDm3QA3)UCBloW%F@;spqqx<_YL0V8;(kg zwJ6TNn1cW`3@g-3(^DI1>hNLiu%B+JC2u_0N3NJ~_q@;J43431%<(ri@8Jbf0ogZ& zpP@7^?2)TDcZui#Zcz5vSLRGxG1?9E9mt#Gg~#OsJLp+$){{(8)zhL1wvsXA#E~rX zL?za9?#a{!;LN?#*tb-DyNG0kB6F&!?F*I^PeK{}+fgkSWxAcfY~4wX@0PE$iVP zc9|qdf7s|pEX*UtNkfvXrMo3lmqYoeXD4g{c$%L$=TMis> zq(@HSZ?kAOE{2VlymXUPIn(pdEjDAZe534l2`DDEn%L@P#X%PI5`gJ$p?#uw(%K?t=4~KKM@M zcR?S`(%grY)4S8wRd3$?K`h$&nJ`gpVLD)P+M17vgY^z!RT0|}ioFxzMUry{*0i-U znqc=2aZHU1(;uG>*0i&kC`p-ARO4Cb$pK`1HsrH8m#I1x}_fUVO9W( z=qVQ#WJOBF{U&x+ttyUv0{={BctD%9Gokvj2docvU*e6gay>d$Jt`^4iyj^BzFw>{ z;v8w9m&&e`&jgNophL#iIbY9dn>ThcrLnL2$9uilzo6IOqHT0cj_xo|D_*BT3E9t! zPdsUVDDadC+_sRa_=Eo+(}Cak=%X{x zh<-IWp9f}b2eBU_|H{Z2=KCFfcN93JJKaT;(K>o&vifs!38D3>dI>po9q3F(64slk zJrtiyX7PGg5d7z#!?;AQIgau@g z93gD<@FbR+&h*01__k@A{BUKLR;^+m{U%U#Eb(9`*su;+ly}2j4iQcQ5m0X=QS+mN z;|lTuRqd4-KQbQ(0ZmJNDR6*JRPh-30aXbq^56{!Rsw=K@s=>GuhCNgAqoxeac!3u=DVV;- zTt|d-&z>1;lQg$W0@anY5C&E++uu6#wCy+bK1v`2>gqwGaRUn4PKdU*$h*x{B(qFY zfTemGCTA1RItcb`n|wU_c{7T=b5!8$b@v#q|c8VEEjL_*~3R!d-tbov|lmO@iMcDyS!SQ7J41nz?VLA*u~TvbRrjNq;7aG{b_ej?RaP^3f9!Lc zcSBk0w~P9GP2O!VfG+R&WZwOpWXoy>?(_3*DQmsQl$qleb)=Z}7^5@v(s>6)5ZlANaeof7*K)O?);$n1O_t$^mMgMesv2x}W=&gQ$ebjj5s z|6bYM`xBdNFt4~y&Pl&% zh5tGP0^+y{aV2XbA)8wlJ*u!*D1w$uB{J~Z_?)7;t<5So@j5z>Nmq|%4cKQ9bX@h$ zbA6c0c#=Mq^iECNI8`7B?-my5zX#uUtY_$Sc!fz3V&I+ z`$*2ZcYJ9TcrU%g0bi#nDBvPZ94;wBu@4dchhy)1H4zvmU$tm&x=Ny_?F|)jv2zG6 zZR!>;V=J?5kC-=BCct zY^h$MELa@5tSlarvWT%qx8n=&8himFA>CuKhqbQ97^+?bR88_F;OdnzP<1Z}=0W}d zu>KMbWVQVx?^$803}%g1JT*dz$XGMoWR;>&p zP&Jp5I$44%gE78dQrc55wRgphA_=i2pf;Et3jBSgeRcG-Vhkh#RZ%rpxjf%YvVo;R zGo66BM1O`UDvqW9cpJDWXa*5*5|cA*)DU4(k7F3*KfjQ)$h-GXt?iNI7LrGpGw5>= z3mp6tD$lT%e^j39$OHJQRD(_Y{%8`fc8NnsOl+_+>v-Xh?MQeP@acBM5JW6qPm;|o z+p~E~uyzOMCz%jSJ9*7D_B}AGos>zrBmw{4+A66>>fR^~N_6upe?XP5Z(8}s_kmt9 z&nWo0MqZaC@r zBKL`Z&KIpuykw=&iKlz6NX+$3ZXM~GdWT)BvRA=kbiM}18dW7rZB*vFv_<8!pTY{Uq~3f3tgQC;@6H5 zqSSd8+O8%#>0Pz$4Xc^Ooy_7JWNVy7%5_PNVJD(l*-sGptSW0d?iN&*_y#ZGMdt<5 zf}K|cD;FPTmNSU3-n|>FK>SJ`8L{IpT=(7RwAwjzgNq^FBa-;;w>hrG?$iPH&14R5 zx^2~rfnN;QT#GYiGI;%Ow**ScistF21RWO!AB9qN;X2UVBSm<;$Gry;kQOAE)h|tsDd&=CAT@lmLE_g+Q}u@Lws?^yZynI!Ol)+v*Z=oG+V!y zE_dbU=fw-~l0xcDCy9r7xZ3&^jr}g!hXSzPO3bVq!DVnpUi5ElJM=G5{hFAkxFl+9 z#o}Xd$E;o1JVpYz_<$Ix_>pF*@;P^817lskvevt|D2t?M<6cTi(e6BODSOL_;uNeN zy2o@P>}R_o{51ybkK?>ywQn)(5g`i0 z^W$7OHcT2$j(98);d0>hbIhxj>t7x;k17x^ysWbp$Po~q`=0^}wh`-JR$fE+zjjN?jiP%uQ6i-IfCUL$1-G@upPwdtUCvD{8HU+#$i z&YXm5E)G6lq-%l^9=VtWE7mtx`h-5D(IpwGo{cZ;nqT-tw~@(|tR+aZeUI=C4mv_i zfgl1?b}rp5t~`KUGQ|VckC82mWiA@>zUkiT#;o~~Yqgc;Su(oByC!-#4axhVlum^T z;(&x;4g!EV-&x2~VY>C!TE_dGVMMKF1T!HgBQ)JscROgaZQ=vT8C{HHcN70e)r>IL zt|jYZ&-{rneQg#*+#aZsF94p*nr((rt40amDak`|yzgBWIi$L*DpQ%jYbCikv1LBv ziILMpJv)aFp-2n;phomzCpX@G%FafUf9nK*61@aC%;=rwy)&>W%-X0=yoh8u5;R|< zBTa$PNf7WvBq{}g#7pvv8%#VZe}`a}L#xCWj3d&vUwj6}26N4GWan+K8PT-FpLEq} zfGI}?QA}vC8AOQJNP|{01-@P13VcfwzU4j%zRh&xXiZ0A=V=Q(Lb2nC1*Ok-iD#=w zxr*$ZOX476MQYQdCsN?~NpFBX%El^)8>b>8GDhqK!R=Cmf0 zSxri6lSMnvar6^!(tegSH0Lny*(zO{`!+E}+7YXCS?XQrQf2;hf>%w3V7yK78zREN zh84Jm3C7w)`!!OQ#98)OWbZN6dq20qWUrwNdE8slfwF5@*V;aBn>3x{O5e1~lGu8? zgX<#K+9gHv1t|fW&ak!F!d#;(Dxu6cwulFfa z2uwP-p_&{u<5=shiO;3d`P|8(m01d$2{Vo&gL)9C?&v!HAhX0W{)U}181H=_U$%z; zSXKfb*yzDytaqK!Dp4`t1FGfMT}~B)6j8m3d#@D>lChD2)|7a=ZCJ3XEq6ld?bDBf z0wlo}bgg$*>yaYB7JVBg;xK(Wkex(^CJ;Kc5ki5x?xzP1N+(+=eaB<*p-B!xlalTD5E`v$3-ie1{xpP$ zA~iYKNCB1PtCDDd_uo%TR=^=#*F-U+!}PidyyiY;#pH`_IV#P8Vu9?mD_d;k4C4dm zdBp(uw}KV7Ow0P^}sX#;cLv!X{-Fth&*|B&<5xKK2NykAdpn z>nq;7gs-O9q)bVu1gh}NBk*=qk;piK;{0EOVvGaDziy@>hP$5OPTB$LML%sa+`f&d zF>|;>i$Z_#RJNFRR0?PpsJ(cLzY~*Mgt0>r<=RF>QPbW{`z%C!QewXUPLhn&s!|rg zp@X{TuPS9>P{nFCP(4py@!oxtP5LfGk&cR=8bcYv`(O{u@pE!qVoe0rM^MrEQ z9tNs(BgMz;tBFo>-YE8T8oUW=xi5&Iyc7C%=)|hX5kyzqGN!buKd*e>zYG?eXq+)`x+6bxH>Po}me?j!3HQD=70uCqOI=9LyeS=RpDXjhJ^i<*KU}11s z0r$%z{itJvUq^?FQ*~UJj|o&4(1d0i$)NfHi|XA(HyTYE zrEKV<*wA0!Vps4iDoc-?F0#Z_8nIi!d=M67wcm zPH)UIf-KtdUrKfB$#DDu#|W&7bPmOD5hD;TsD}|KC|S~k5!e}Y5;PW*7=guN1a8e- zpw4*j@3Mp{$q206oFXtjBVZgpE3@$V%19FSf$HVTT-oC;&a#k=`}7s>9pkGh*_dgg zeMVrlJ}Pd`NxMN@z%qTY?hj+t+o=C!0dgF`zMs;R1z4hT(0{cX>6>H$TIth4^GPx^ zfz9vB;sYI%w0LF-qygBt?SC5}|NQVKApf63NGb=66xXDVcyoWYz)Di}PBhbmUMPzw z>$!9`iQCFTS0~U2AlkTzuXyiq$tHcO{-L5%R2>GEd;a$E6VjW|N#qTVP6iZTaZC2Z zSbt6u_rH}Qlwzd-uT2P4>y9tL`Cn4XY5#|ma)_gpj{t;6f3mCkoF*e*PrOE6I=OM= zbJUlH!zZ`(SM`kqlB=5jtF(_=b++_6uT`qFTh?NeBPG;vs$WNk9;rGU2P9HSyN&Bh z9bs9&c_aO3XtAqJ(`EhNwx8c6!Fr^&p9L~2e(R23QOoZvVCN^({$CJGfwqW;>3_8e z%_Uw0^Seonp!Er6Cx&MUW=8@^&>pf0mHUu=B~|#>1atLau8t0?2)H`_3&C`d9jlre zTKt9Fjhj#-XZF!Xi|#W>PM&G5w^1#wQIuPqFDoYAVoa*V|NAq|7(uVu4~LMl5RZP()OHWN`Fz;O7IGE+?er1ncnRYPu zxxwt@tLb27D%vq>)msTC?mwjcK$V=1S$5L=g(e%veU=;dL#jP8Rs^P685m%-qTB%6 z9oozFnB}OKxlMYx-Su*a>*Ye%%R#^D<#RT=MXzME0Ci`w+rOg`(_nMFqJyrvUHynZ zYQujd9Ez907WPLBEe*zimdG6P0us~eR%?d$>@BUa$H>hvdu_SF+1Q+A*X}^@K<>`u zwogZulgoUj9J(LyF9Hh?gE5>BZ7t5bLSi3=Twb~^(q=^GI87MOk(brv?l%>-_M~ut z2e8loR^2Roy#@WLv;Fb9(1;uy^|DD;Df5t$=eXqkH@oBxB!}bG+Vn#)bkuc`e!RHO z-nOc&VD-$?2UW~inVok3Uy)5}kx93oKmh+k5XZU1a_WoU=OhBFq6u>YS zn#xC`77bAq--!*oW;-c(1~z`3q-v<;G?upLPe{GJ;V(ExKRxRz4-T1iWN_@RU|>K=u_L>7?(1OnQ6IIH_@=ry*N2_q%(e)USzf{6 zZs|_$?;vExwNN7i!|A4CpH=NuKS+W(k3aTVDp;d%?A<_h`gzJ;IB*-n@IF~|@g7u; z(yf0+PONy$xh_L@Wmu^(+~8+;Em@VGpDt{z^p34aKi^M(fOOkynQH&;JDQQEbQv!R zV6j~69tSLsv<#iyKNH6^vKo$}2gO=gu51cdG-o=;s6!1ku0#E)&ucds5&wGMYg#yt zhhNu?R~=&q#+{(aj`w%WUER!Q2NjH7o*k%eLA3JgRh!JRct_*lRCvKw`u&>5^`PI* z*Epl21AUa>DPg9cu*@bTJ+r^=vK>o57raWg+Tdf>u(5oq>+XZ3*WTEgnJ1r$`K{HdxuV&^MW%PZq;i67a z_t~-+O4Tw=<+A`FT9)r`ay2w3StoY$jSQr)BP&=J`TZdWy(F?sv@**k;Oa@yL*SQV zn<_lE8S^w(^K`M_&CBh;&dYQ%bOhcBMZ`YyJ{^OURWx~_8~WySioUI)UHzh6tf#ep zR+tR;EPGZ-m`!uy8PdO1V2=tU;%-3Sxtji>1lx&KenMB3sNPjPJQO?V>;WPjf)xjy z!1sp;Z+_i?b--4P#~WIf#eO!kK@V(P!HjWPD8ttu`&3$_J#Q;+#>!ewm!xAi%ihp+ z4!thoCHVX`OTo;K9(?x;gsyjb;c4=lL6poj>2J0f7%HqK+T~ydR^YpTU ztM+6^LcxZ5wYNN6uo-8=@z)$F+?DEl_s_8YWE?W`Enlj&nF`sf8op{x&%sKycC}3yL@j=T`l*Cc60D+?8>6;qr{Z^&=SK#r$CBGzt3Oxk&qcOy(rnrE zVvt^!30ChHsJ>T?rdh!T^1xG*b~=$ivQB*~h=zaJYfPvp^nA;9@0fRxrRk*rc9;lu zDw>4*Z5v7br>VA|Wq^J=7@WYk1|@BGJ?AKNt9-A)TGn4qF7MuJZBL@fL+wB!mBSR< zIxH)4_yI`o^A>fKvUY2$ff8SV$FN}@zPwCkyC(sCEgs!Yca?hkSri1a;0vS zw+Fd=fLr%kUCd8m#SVHPjPqW%SS*C=YjaH3CB1x@o&2{ihC_Nui_1sN;)ahLYPM5O z`BcKkOcB7sr;?Uk;RLt=C{^vA{dP}m%M%N9Z-jD-eL3GYP+02cdfVmdKgpUWoKE7R zJr>E(qI&t8bQw|#EL<_RC(Rm3tZVor96!A3kuf-9=~nplXtdE6&WJfzos>&JWQ;PqYF!|wT^JIo4cio{!8~`wxj%k z;B8@xF)eRAf_07_v^M7|feqp$99i@WRsNoyn*Mea9iAm(k#;hPl)t6#i%u7Z@vnRE z@uQn{-wMqeJ~bvN z{@|@_%=5BM2U3))dTVj)&fK{GG;sH4#F<^>@;*n%Z{`yU$9@d)gn89NwsZC{!TsK7 zB2;m}nUu{UArv3Rjy5>E_MvtnkA;c7qZuHE7opfkn0kAIMCK<@n;UZ|yLPLN`Snh84Mq{W zMRGHJMd~{5!#-Wo%t>URO!8-T!vV)+;C@ElPTm0I~HJ08ewI%!V)y=FsqQLtW&EL`QGuRdzIyO^J8B zO)ea*Lj-fp?$K$DCPm5SDraV4Y_mJc-ISYDyBZBNX&~UL4?Asi!+P&NzxpkS!)!;r zo%I-%`+hm=%u903fh|H7s|61+pS!PY`?XnV@xmRu0Pzqe#Zld3E9kG?=6|;7)=cU> z@+^3jX-Jw$oy@iXUHVoNhx;sdV20h2*&CNlTHHZ_bUQp#M;@}yw{zU$#>Rw^OeEv( zDWi0ZzCUK%mM*yCIqrvR_jpq11rRL*s1QlpTL^#CG`h zJOyd>I@4@yNzXdz+1x-`hBVuND-C&Bl*g3+e>K+s`&Tt;RckFIYt;Jt3A(r{X~)-_ zEyQ%Nb6(ha3ut4lC%4Zew!zZM!l%f8hzVRXiZJ_^xI*7z+-STTxXKDy)+ z!&Gq1sOjR9AxNiX*2a(b3%6+PHGBfB;iDpLM}@}j*M7D6t|QaDiYwfNf9EfPB&m=^ zDg(n(^~1MpJ;&OiQU`lrn~}k>2cWA@tA=y^8WPS*(mRdmGv^^Q@k+~iRIFSYQp@wq z0fAH39H;Z)qOVX0(;S&m46|YPtZpltgUu}I_DFY?iW|PMXMok#%XBy%8WTGEA9F#y zK-E3m^EIuaR2CbOX)-ToE3u64=$IH^n^D%zfvV=XUozK5boM}(CE|lW%Rf&f@{LPb zdn?Q~%-MC#Aom9KaauOIo5i4ah)dH%OGjJ%GT-JHypO03G2VVXTz)3^L`H8uvJbCZe?h5{l#srIV1?s75j27eu}`RUSi047W2Qby&Zt)l%LR!N|0n@zJv(K1Lr zX{$pO`-(1C+Id%~oaG3(uuFRtzpSrT!dwy>&#!^1>u@lK2{gy?!-Hqnb(p2GOXlGK!VDel=5&H?gJW9X zg_fn?Fw5*+jHL0B$rHM|UMe}d#yqVI^`&+baJ=8+VQ2d!W*M`DCId^e-OhCb(}&4U z4$McvJ$C3_6&rh1A0|uT%4u0dOoBz84ce5&i?fh+2CA>3*Ct8~SUG|_8N$lTz&caK zAAS6V!uq{=qOBx5EqZk$nno`&Ge|e1mFUK_-ZtMG1UGxG=TBe1o{Q9p_|1U+!8JC^ zp5df^N0x9b&D=_^uvS&QmQJQ$CdZa3ynH?2e~1my>mbqbOn4|Wg?x1R8E(h$^9T7m zJ9{9^?9V_qgsEUYgAFp+u2{30gEB(pe#ZvtnPj;gZy#Ha=|xQ%+jXw8pP0F__#gno z`um3p-a&0tUwW;BK`Hs{a^+HDYNO4x{LRwVkHy;7q0cOdbo&7m$yTk2t zlKOpES)fz!f!_Z>`@Y^zG>1tdr!gacS7 z{i@mT6cx91aXvO{`E=*#j}%JT5t}9YtncTex(?c}65~7WwqCpE+5#c?a@JmLo!Fpw z;a7-SS$q9O_-83YlNF(ZT%hVE5P=1!4|6SH3w?|@=&uF;V3xCg?TRhczjl>riWRNO z{KYfRR`#zi2lJYSA3v?8mXl^Un}h$ZR=Xgf$Bv~6SYjuE6GHM`;Rxx zFkKn$OlAmFS2Rt$Oo=xT1NM#hqiunOembgPltK(I)7coZH zbSU4Bj84Om6R7?lFw_fhzJm>=x|egEG!bi~he>i2gFsaUbI?Tg$j-Od?tIm2$YfSeCg<48GTC$1p=Aop zev<5b)Y}g!e))J#M0K`o8Tq)I53X_HP%J)tNT?!l58smh9TiGn9XTSz_8YNtG%Xza z9EDJ(sZ%=>XeSu!9r+HA%Jb6he>!cx#Apz_d@ITd795PW3dOi1rsozG_epFD)zh3L zy1_hi6E)D-AB|#~41Irytg(Pg(rxEOY!6fL({{gNlXPMPBW8 zVOq3Ju)b0s`j@;Vki6?%{D$NK<|T>+QF0(Rj%{H@wSV@=G;`@R)n$hBqg4m`I_r4J z9T9_GbCVp}wn+bYbXrM4i-W6qz5K4*Z)VJ;{Be?nOUm)`A@NzD`jM$>A*q}*aeX#f zjP4|}kt)4DrV|_ZaucK)chq@ytqwpEFqPO^)K8c~`Z@6#`gt0W;rOlek1WKyH^Y=Y zhZN8ATzz{OM-T&dpm7h7xaykzY0l(Eejp%WRQKiy?b6J>aB|40OtW>R*f#qO_c(s*{DZzG`+*lL{U@xJWQyq((6 zaBgho{=_C79y8qxi{xCRv#9glOov2!2h)CN_m@sHXbfNGW*YVO4sXr+s`M^~Z`?i?DUw_=TMt$yOqMd3X&g@#i=o~`1&+<` zTdi`Awa!=A^5lD}G-(&(dIVWif)5ux-$u_O8mGW7r=oAQ(Y~XSNvY^!g{VYz^iIXL zw3(foFtfKZS@n|&Ip-ke&#Bmd*;sc7c;3$ug6Wi!?E zGShKZvX?IqsC4?W&E$TeiyUpJ+Y~i=)qQnmn!=p&87r^ zE6v4ss5gZ#uTfXOsPzT2uL$w4A*l)9YOcFoS$p66<8YPu!xxBzq8B^)QhJP0$G);c z+;A-6UH73xxPj^uslr@MqFDWhEXb;kR*Mw}M82YbowE;AJWMR|-qUHrd=$5B7B48@_g6q}0a{IVU(~B^Y#zxl{;K9BdW{#3 zb4|&6)ik(&Z#n5cnd@(H&yqR8U8jIk)CK6sj*FVok*|q0A1TQyu#xH}wFoqD^=A%@ zz7)LW`@BYR9PK-*nlZg4v&3?TR@=$lz!0p1KT82^Y*GdECQ0GgMpMhLE{0P1^WUbh z1&_psX>4;zWoBFo_XNxv%PmlIQalMsNqh2yyq@(VwCM% zid@HG{lSOi-0M`_9J6H!BU!FaZBIm!H*{b?8*m-i$NCsX79JZ3R1ajcOL_`~I+0+0 zSt0X@#v}Bp@2KB6Sxga>B69fU53}XjzJLo2a|#Yr?P51{{-eKFC_Y%dQsvOe$81q< z&EX3%Mb7-X7AQ@+LDfax7i~ux^@umWt7d;y*7htIKgPaz6|77k7+)KV9m8Rr(kZdT z<;kj(b7<*|HnHoelzUXP31x+QydK$R2&pWS@zpm>#v4|l=oPbuOlQ?1&)?N@R)sZ# z2B!6Yr~SlzA_NTTd>3`tOHy(}?+5Aic>pI#Dqd8HTK$)IPZ40AafZ_NrN4nq1KDI+{Htp7N5)n2HXEfZlQs*u1z;s00g&dM-W&zw%dZ$4xRCoPZ zl+lQ}%5Ij!1<|-|k>`(C*4u~q%|=%ol6|_ZXP23WoT~{-qebGbQ!k(AyWZ4oCtPnf zc2~P;)ij!uHFL4E1;_|g>6Jqm0~9d0P^kXQg6e9lq@p?YeUngSOY|}tQ7gMPhVoDV z^R#QWT!B*j&mb{6aVjiVOpfyh=Pg=F|71FY3rjh61QopaxxOide9F}pJtWSj!Ta}e z?O3PD4`HBcH7SUBaEeGkhZ9-b@5CRt^>^TP|3f7#6y-1b?Z1$?PeYD zx> z&r!cW8R}z3WTabd^7B@fA|n>5hFR>einudf(Rm=X_eiQJrqSx{wYI4BU~dP`mTNlO z{ze=&56@3L(iDdh_5SK#hxQUkW~oR0sMd#MXDSqWB_RpsuV7w$Ug1Rw`6Pqpyf&0G zFWTh7S#OgxhfcEOe!Ng4gp#q6E$Lwag+*e^;@Db2mO@zJ!6}x-S}98swEil+Pk7*? zy?C?R_~zP3CI#UfKh(ly|H?K$+i~8c_*1}6J;!GqQcLqLTaps=w?zijR$RltI#rA^Vku{>KQFgut^4>1+%-`g#O3^P zT*0=N4(}FE* zT&#YCS$ZrFD)IW-Lj7u9FK(PyF?I7TF&ie#Wtz4-gl=orDO%a{{KFTRr0jPP@7)~& zv=bDnCIogw2rG4>;%-#x(S-Eqj;j{V+V`b5ka)KPU@RqJo44v@AkOT5OiELhnKDPNZ!GBq>2Z@4lqx2GT)7G>jn*M#g>LR8`SIj&bb?Vy5ms{7` z|1>{XKBe%&rS$0-){OTMBICp(K65=tU7hE;`u8#tDy+oCOaQu}__d6)6w{o(nxygp zjJ+VSsPvuwc+Dsk5b)WHOWyk=Q9uB_)tvk&gRGdAnf4*3#?@clsUg>U54HyrkvTFLH|vNXlZ-KE?H=`B~72 zaLtsgK-IX1)c6xBgd4XZ3t@PuWX9TTUbo$HZ?bq=PJW0-(`7zb%}Y3O!qst_hFZ5C%-(HWmeryXX|G_L=}@}UkHON7^Zw^n8`X8 z2|u`;Vl^?;r4{l|znT~Q-@o!pHIf_E-Apx4JOJ$tFj1!SpZN3tarP$QQ5D($cNzjj zL~c|>R7T^73a;SbNDI+K61XiLKt%;vWLyx(1xCAB6d{<7leUfGHZJ47jJSduC~6i! z78MatR1iU2xMj;CC?HGn|9tD-PJ*-i-sk0cNY}0P)TvXaPMtb+svUpemv-^cTL8(= zePd+3U$DP2Y*W^?cMG<9b0L*MWqEA!s;+>7v<_duS*GcwR)S4`Go^OuASS5v%e97d z44`Qj{I=oOB&n6!maim#DfyMVg=*Vm@l|i)OeDl1be5hNpg9>>gqqoRDt>Z9{O9xu zH`P6gdtN17>T0s_{=6HWi#1#m15^&|L`-4?huWda{{?Q3atUAWS$0V4z2$K4XzG|q*-voT@1n_Lobp?!tEootI@K-a zf=AGRxzwx93vJu=ri9<7?wX6V-SYLMCrWBf?#9{)4T@R0v>mO>Z?bPe!YSxz9fH1c#(}Qd`Hm{r)Zv;OSEs?vso3U#^++H-q~#5b+~$i56Js!Ob;vk)9gqj z+WZyEhD#{IOS7aR_TyVDNG;a3kcT?AtD8JzCRt?0ng5&u2fVKoN~{=+Yo!+Vs(iBV z7B`t+L2zF6KTf#{_h|35&hkV32+3I|+W4Z!g!KnF1VRm-X8j;$f$G66r9GcjO7$_R7XIck5fxYX1HY z49mK}dmkk!24yW|WQOs5eta29$eA`WIWKO!@6SdM$APr>)mg037&FPXb2NzJ=LUWv zW!$61xZ+9ipqsi9Jp3seEFd`7j~z(x6F+t&!9$+58O9R4$_DMjPFeAxEWM>>`V-LR z*`FNhU(?`&YE{8qjTL1T_50&WhBU7Lm%>fg$(kug!C$4mH;-l>l~f&j}+DdoFvHR)!EGTOam8 zzxsncr87<}>)hseGAvujYY7{6dcST)xkOLLK!z`qcczb%^7TD zQ+%K$FXsPvl3OWxp4s-X+C`@HsleJ6AOAQkVc?$-*}g~V$wK^@Ms&3mhoio9Y*k8a zt+36!#Sc0PEB`raZOg|i!R{EQPRYr;{V7b)E&wa|fDu3C@l%M?j@&`02e<0Z`Z>D@I|K9f~^p+Zp*g`gPazkYI#>lH1 zB9Cf}9Mllmx-s(XhR9!0pu)QD^l@^0L;M;)exAiai^(4~827#E=iK{l2CCP|X{~zS zfcLO&wzP9Z`|_>9$%TK)xXCX#KT{ClX97jdO5&Mn&%puglDLhhB{EYBjs9K4iz#p@ zy3IFB+yXAZEBomD0q+mOKkRvS|J5JWLG|B--1E>-!Nc>d6{g;&%5^I_u0tU<_|Ft& z_v`TFAvuol_oNt^X>?BzWEJG_)}h{Ibg?|P&vzlzdDr>Mmd;v6>{K4WI&^nlu=t!h z@mT1c_cUrEwL8y_vP0}r1LrF2>^3jV!wLb`wQi>ynk#>*p=EaR4bwz=P~hG`Ynpr` zGxPH34@r7MNf!r6#V!w``byorct`2Nfp^yjWSa@R2#6zCmQ+W_NGj~sw~QpaX(neD zJ1b#Z4~G_Xd0EYWSEY3+K-*Jl=tvE|6GVFy^r(`9gToL>z9FSsb_++B9ksijRPJkR zen4m}0H>T@!jYvkvZnO6FuU;80nT+c=~b~>rr+^BmEQ2`MO5v>{V(Dnzo%fg(a>U3 z&F{IX?zOt-Tk$m?Zu72Obu%jzOyy6TIV_6{wN<%i*iK*V7oO!OUNZ-X?L0Xe-7&~8 z{}4&(+#tELYW0{KVbIItt*uG!9NotPyy_3ZGVPD~rZrc9xSxv(#e40G10fEl{4QHB zy^%ARAEXqkuIOR27m$5>-_DqM*TvdYXCcQ>$B9H%ckshU5w;6iYDym4*pV-y@2X!E zJJS2t8PaO>%R}tzP<=d^(H+5BhnkJ+K&L&rxiPmoOaivA<_jYC@jjg6Uf#D;RQCx} zJQB0+7TmDrZ$mfB79X8N)l3T>d~QHK=*BM%Hrd;|ZH$J$zojo*>P=A1>CqVoG)rIb z?VLFPh#ihjE}HyJzDhTH$4MBJ&SYLZH{IIXak>?9VqbMzoo?aQzn^~Nl6@TntNph! zcz>RG7x>Zqx*_tuAkx>#ADq$s%I^jOZ{fcrY=39M{8HC*nPS9wmr&B=1sOum*$lTe z%@9@wj|_g@U;M7_kNr9?Xj-JDiabkQ{~4SVDFUZVttEE{B(czYe5FW2PDp#_nFmPp zR!z6pk5s_s@+R3VPI(e_u=lQ?I+buh2056;+6&-^`q@it_V|9@-8O3)Z;9N)LRc0j zDt#N2_Js(%i#RZa6CG7G@+}lNt~7hV@s;$=+i%s0PHt?eThE2MhQ~JV(9W4WnI}3w zoeE+7+e46e1C^jOtx>-I9h~tK1At=TssgqB(FuOr$lQ%>bMYuE#EX&YnRnA?LQ;I8 zSH-<#YiX3qpC#m9s-E0|y4FTEL91&^ShVJvu?$z0Y?`Zwyo*EMDSx#HzC?qFJW?>~ z=`3F#TXinot{$U0hmwbht`)IwZmJ*`+om9=e@VWeA!j#Rn=)R^blZMTZeCmxN{4y# zs{Y)Nsg2*{Ph$1SttOALWnpSv%cu5g=%9#RLJW|=v#%ZRqB@t)hKSMLJunRzCsfe zdPkwb3cae(K$Un-q0(LcJ9#P$;ZW2Zc^mXlIzvu?j6z%||HoqCy8MbeBS{6#7E>_6{aAQ=x4N z#gu9k8luozh0amvGlixp--ikvuee%;4p3;eLZg-XvO+x+dRn2)qNaxw`c$F22)SkN zS?vr=Gp<`1Uda*Gf|IAJiYJI2<@gpK_3NxHlP@EL=fWJujkVV~AN{j0MT#p)noOfV zwt`4IW%30PEedh+nX~N5Yz?fWIy{xnhKH*<@KKWd#pLQ&o>5v6i1-qd_okN026L${ zs>@@=YqT{nPiX-}LOfY~hnpq#707HNz4WQ%o}gre$sYENN1bGJ_STcYX+a*Q+*pB1 z-psR0Du*$w)5?n&*_Dc<-t6qnI|ZvcJY%1#w7h8QG;4Qql)&IHKTzg{^@+iYbWI4s zC-7!&?b8y`;XLZ(m!wKp|^jQN-h_Ixpqd%(NvtqtcsUOAe%7uGO;sKF+s} z`5!w>!{t=0;@cbz$K!+#Ne(%j;}MP?3hO^7Mvt(+LXN_~S~uQNWiJcL4o7oelA7(? z>u!(tWw;tl56vjmnHtU$wX59PU1vwSt%!74QR2+Fv~x-GOY`tv(JE5*?aq?W8gnr@ z8>@-kiy|78KV}a0JPL-ZvyfbM45x4O&bjkDBCP|G0jWVB<89_Ckz$FQas+l1c~0UH z6%5||bIKpmSE@JXdt9_k$N&X1vD-(CWOZGvC*vlfVJVkkgseL>u)(O#wF9fCQdz5O zoa7*~pxPR!lBo#;xuichni@Hh7bFH!Cr4!kgM;6Z_7~N5`Dm4qfy@-uFA6w=qr)ufL`il|*yD@j*PP<*GcD%()8eHQ zH7&k#Dz;*yp(v)t@rp=%LxgEAG>oR&eW)rI00P5;cgVHR`Tq;5#~vZ*sZbVvh#9>+ zRImBi!A!8}va=XZD2h^@ZH+aWyUOP0K}6j@uU*7DTe^;Wn^alBb=;d2WUC?d^6D(dshV_)58Uo}eE?pCthnVqQ?*N?X?#*RmGRnV|A)Z)UFcxj{3> zQ9jt(`Srig7OTm=ttIK{uLZ-yqR1vz+I(8EPo@B+ANo6{FvC%}J<&;mX(xt*b_L)gZ^=Rm+eb_b!5Eb8KVl$_ zNXV)XB%qwpN2><18TTpea)7DZE2W;PY&ANi)?xHkkNOnT-&23eh1q~}ud%tW2dn=ZJs=Tu^ zWfy4C*hFS3GFxn+0rm(#b9~?5FZs%gjEUX6UQz7J$;jgfoLHVE>m-SLdrrX}hFVPZ z#482w>y5KE6et+E+YyR2)0>8aVQ9^<2g7*+x{Hjv3+>p12<5PrY_;r^WoHGH-mw5E z3_9hlp<5XkfNmXyW9Ra;V6$nPER;c-k}4XK#CHO(7Al4f)wMQr{!s15E7Zo_MIhlK zVr6xRArDBD<)Q5C%p>g4IUH(oi|DoybvzonH$Ku{{@_$thg=sxCwXOy>!aZxo$_lC zfK7{+blfE?GA#uDjY+#Gn5&)_SPA4F?Z$%nvK>aOa+^ucoX6htvM*I^v7_#-2(rv2iw?w&7E4d% zpQKvcf~zb{-edskw%oRKFTKGd*&Pz{r^0!%vZkECGw**kt0dniH>(d`-8MPtQvUb~ zp~6kwkYk=F0}o75Jze>pOL2mekA!t)pQ@H(^w1DgFVlS%IusyAjmPn&vAW_ zV--0rAuCd|3ao$EN7e7T{Gp=7CRaBe=PLW_Hr~I^Ucc@?;Ob{GRNttL-QLHgWVN15 zo@35HgK#3aQFtXzd7Z?m#6?&GA5vP`$#p<$eMq#}OUU{>6l>t2`glY|qp25k?@lxO z5^jFO{!{JV>$>6z(Yx-y1a66&`?bx?)ONs(#@f#7T3EJ+r+%@Mc}u67g>&@KOvEXk z>!On|ix`pg8nQHxpRO!QEPU5L{w$uKUR}sDmc1+66@*thl`HM2o_zbDk-Uvp+==_Q z8cvy;b2G1M9T-11)$aR|C!;b<i~ne~WtizQjjNU- z4p(2QMNM?;%^1S5x}9tyJ8-mWmT&~0Zt*1{-|?poqi)RcAFg*(cM3;HqJY&RkjPmzUbQ-J=qdM0Kfiqoh9jb z%;Xc}O~W1>I_&1B&TmXTiWu2jh?)5|7nXkyBbxjne#FBj&JoLt2P|1v7;LV~h?ZE= zz^Mbbe*=k+q`0odyU-M8k%}bSb#ls2v+=B!ervkJf!(^QauV%HGcEZ;v#t3-B!m9E zo3uWsZs}m@n+f4vO@tW(T!F)iZT?9S8;g8-OW<9#{3qa4u_Np#c$fTqIQZCEAG?}^ z6IqmAy#qs2>vY7cddm)dtUo*#9ZH;ew$>Z+B?WvT`p?AWX_}W`qN4?TmAoJ4x}6qD zEp%yZCoXwXa>=TyTj4=0)IE=dQ*r&tDt;Rwvk(Ok#{cLQ2Mu?l;WmYXEj5{S-yV=P zf>ZG?__b$n-eX$=*!M%Pv(U`o+Ke>+)}fF$l|-ppTe{&^&V9ActXd-~C`z>~3b(>r zb}eu3)S56+&aC!54#m{OnN?%D@a-G2GO;W@N<*O`c1Y20D}DnLSoKrWmI2B!n}NB= znSJD_qVQ49eRG{zbIn&oZFO>;ZZ+GS$t|my5?Q01Qx-Y@tZ|AL8ew;obA9`6HSZ{8 zo0EH#bIK~4IL|yuBG|j*AtZ`|LYBVeVShEQP(pH<`2nUYaAq)tc*5EoB8HI4AKFmh z$)LcU${=BUSxIU%EDM#(g|vO?MesT-R zdgIy)8KYT&qxRJdin9FZ=_;DfW!q<0@&g<~{z`tHe-Q_JyPP@qGXZU%yVXQ^vrZll zp_iU)8@zuV9U#F;>|z-=Ep3floO#gf=G%uW@s*OADXDP-zRY%uZL9^8<>yV?`$IZ< zncg#&bBGhE-b)|x$m5^!jL(yemG{r*>;}?FJVUS9VscD6pJm?r_9AQz>$waqTSF}= zcCm&2K>sAf6AdA(=f~>OTRAVSZ^??_jd>Y@klpco-UX$qz{o0C%}Wq@n_gnXng=5+ z5Npq+)5jxb@eq;(0CUQy+>A>sp8}{bb7Q>W5wz&*lhD$!g3drXF8S zvKB&S_3sT^-PAtu{#9kG#@Z*|w^$e64)z;lcW|W|40Z?GV<?EFMKmt9m ztdkop(V^zUUxivFLEGip`~zqU@%Ci-ho@=DnlN>|rss(v)+DF=eoGepa?EW60tsW2 zS2xHGzHW7u-=!R7C(rrbPNGMtF`7F0O};Ek5YM9B2UNENe%2Q#{|a&udxwp+2A9{q z0Kc5c#Ad1aDdlI>L?@mloAok44sS@MSM z>IdI7>8d$kmJbULbSu;#&YEASC7L?@UF8;cu^eEnt@@BdQQ!FUo=F#r4lO@j*n?~D?OybDEDlX5p0RG!LVTfks$Zfn_#qj5v*%mQ`F(}%hy}*6S7yae)y-aA@bZb{ zLVL-J99`h4k<{NvS}KzJ186lJ_@k8A59R=iX3i!eDa2(EAWf`gLam&{58QM!JsH4g zs>Mx^MX)%r2;NL2tgtZoX~T&()`nB-3+{d@E7rD3KiaQgkl4k z482@Ya=m3xYq)JO)JnC;%~`Yv*P1t~$@#iC!;wA*mJtpI)$)?Xalbrk`VI@LUxIec zw@Y#{*MFNM_oTehN#1)ueu#H%JG;4zUlClLe#tpdmn@PCnQx_+kx?v7b{kDNBiD%~ zJzfyl3gpE95nT1F{+HDN=A6Sie9RGn4wZr#Wh-iIt##Esl%d%)|Em46rt^Vwjsu1i zkIYIPa&S^&<~%t|ow`e#)5>!{F0Q#U(ZKDXV8UGZwuWu~OJwcdBRerw{a*1yJPiU(O2k+pi7+G~54wJ95yng7!&$R14{ zGO9>j&Z`Kzd`V-M3oCELmE8>uT@L>|d4G7)=@d|JH58o%cW@IoH+Hl=t*IC*=z%Nh z!<8J#H{cH8C%9gE(6e^1-V$8n4hshBt9@0qC-}7tHRVh-?KPoq5!L`C?t)4$!ZC}rY|S4>m`9Fca_GL=Z@0_h+?+Z=oWt^1y4innEODuR{m0>uWJGE1gtU zRJYmN({i^ShLKJ9tHVcN&oYCf1LC{4+ih)70zE}$hIgiKWc}eL9(QR!=c6VFy0Ly& zy%9OhS>7aeII-S?=XA8^X*oJwrXvU-jMJ?L0u}F^QI!-iYrT$$gTCb=qA6U++9&2> zm%iEip*J-^Wzkggx2=sEAZKHpZ})>#5aCtH+}@2t{6pO?B-r^fYlP^Yd0AVqe=~Kd zBs%ct*sUJ3&DvirUy7X~oU#f@KGspoT&vrFaPsz$;Xm0N2}$#0(H23bhf2X#*-yZR zMIw(5tN|ZxzGcLy-WVZv<~qHsEklaknHB5g+&Nd|i#H-&cc|WS)0Os3FaNQ6X8rWH zndXD`Hx;w?Z1!I7c38kworFDkO)k_a&$aiowG-rIe}Z_| z4z`_ytenJQ#A(Mr{X!c@XL0Sw2x<;OI)QFGHe9E!S(7iahs2w`ADg3m(RO}rb>7Wa zYC`1zUnDu#nhkOJF2>E~mG*M;AQXfj9?+Hw5$GdO;6YlF@z>Adx0bD)nDy)I%` zYoe__JBLY~7zwY&LN8wZ#uk?7X1Ci30hF=Jad{;HYs|r1r`3Qgh_iBu%d0}_(AJaT z>$Vz|ckFb%Q^FZ3$nV~%dIO^Y%!A&dHb~44F=9I>@4kqU=Dz7XFc+zB+w?>_f>KG} z2+UTpM*NK*j6@zkT0{AdQq;010PAs5KE*dQ@&1xtWhd&FO?)+^Khiks=nA^=N7<^m zZ+Ow_Vy@xG8`M^_BmaQ=#FAH4ZStY+&uVGzm5^F*Zb4+GuS4s<@nsyXGdd0i2W@;L zwlTwPT>f*9!w{ww!)Vu_*ERL8SXID*(}>mK9F+CG;%94~r1B>!cUF;&e_8R56VEhy z&`-WZ$zA>AJC$7O$Ircs_zFLMoZ?6O@h2$%Xg_|0;s+{zVegSpnws0is#A5{X#iKC z)XM~1keXiC5JESQzwR+|E>btzE2m3N@1!>1Nh`paey4f~imX0%jPnjA*B|}(PKqz^ z<8u_>+HYsHg<@gvvHCTy02-T#jU7yHANcFkAz0Oo%9-8pGvnjP)SdFU%I%(< z&bWwu7mzC5&Sb})bUr%d|vZ`!*JxqmWT1$395h!XdX^9X9W)L;Z}L(7Ksm) z*GJ4n1ibTGi!2m>C7*?*bvd!V#Xxn6pt{IHby3%{GXZKk3}Jdfw6cGcQ;5p`-3!aY zmlinpFEs5b7)|we6@ea!Y>~3s?DSey(^Vx#*vHmKbRAV#){`8U+KSxD{^zRC{ZAW} zsb~oaE)^-lDes}Lvf5^8tm8N13;$10MBq?;x%tT==Q`JnAU0YF+OHOQRSx^PbH8M} zoh*QPkXKzC^VhM@kU$Xq{`G>_r=T>?C>~HNbTiV#92AyFmeg59j#Rek1#W!Oh00$T-DmoBdL=JR^tNPI*gkX*FloWyWoMWfZf4 zO~{QtvcCp<9FA9wbnSqxg`K7s;`AlHpA4zY-~3!}1-W|ox!zW;C!44g&9UV3jmPuR zMhbux3>UUcJ$M*mt5{gsEi%R1;0Fg2{K^kUY+*}-bL*~;4ao7m*4zZLYv`+0vR zhMsTtJ`b`b_V*!J7-U=IcX*L9PP8rNzZ4{G@yYXLCE+iZ6J3NqDJU6`A%51WLDnq4 zAGa#&pGb0!YC=DfoO8YQrSQq5?*BqHZM8Wl5(gE%w6yfX^w;DK#J#|BBK=+UH0t&~ zJBb%9`~~H_8tpeTLYq0qer7zdneU+#Z_fRA%k(|3>E*KwVITrpJ^BLj_=G-L)utwQ z#zkewyP}!)O-}hR&6kBOBKHnwEF?~UYa(`L<=-Q@#`KM14rR4Lj z#!An;NSd8=M?_OMOMsO#$e;&zk!Hf6DfphE?=G2dU7NSPlS<0h4foDaB0bRYNDIvp z-p{d{`&CuzEcUfE2(iGJ4a{r#rdjJXd(xjPW56`YW(g@xQ1>X&)o%&C<4$aevf$|f zBeLG^N|&o%U>!4m-mj&-6XLDcU{l>m7?JAtnv?L|!S9$>{_pw0Z*@g;#Si86ylmj( zVJV)1a#KCb;p-1)5C&-nn7;|}H_Bc)&pvw-!Hh1tpVh(EFp#95@^^4NfkZF+C>uXr z@j9DA>oXcmE=0{szLw;J_hcT~d2W(bQ{Jr18pIp?+Sc9X=L&o|ev@OXypTjTVg30j zNnK&Vx)`vkcJ7vicLaZ+-fTbTiK-^~c{JIklh+Q*CQUn%@m2v_~aJdos-@lQ894OnJxpnI0mO z&g@mqQ;pR`Qn_ApKgW2Rqa)PSJQPh1+l#5)!jQRLG*dP)7pF_zr?X4GsPIA#5A@FM zo(r*KS_yyO<|aSZ+Xp8$XZWmdme{elG2#Tp?h`k7b45Rzg=|-~bIN$l<_(`M!M=wB z3;#hRyOc{+44jvg`-^7a3Uc>NcC0FdGmX_01ycFlgIvK_oz7~?AYDcxTchUuRAHbR zIPl*8j5?&s-nl03m+epnLJQ7?lt1ps6sUX7ve{;e?V#AV6zlo1Kix{KwP1WovCD~- zj8S}lJD|8G&(zv%H@n{Dim_)!vE$sz8+**@&D_u?^{?;RhbWUb1w~tv(cI35S8(^C z?4E1|`H4(BC?a~OrO*8MjuUYjn%s(AW2rzZX{mk&0#N>dOd+oYMf^KzNK?z5iYTMz zHa`?6sL|{%(3dT~W^{ z>QSOn$`xF5tZqSMgtsTiT zsnGACt#!3`HMN>g{lx1qTg~iIj|K$uF7f^qv21i8Lb0wf$0wt-9_cwLx{BO*HD9Rg z=VM;5AhX9dr$On!e?*fSm!f_(fAw1`({5N@Wj8!q@#iqC#d|?y?Ne~S@Azx)oTZ0Q2z74VI=(PS$`vnhuevH|6Awkwc`om@EE*ct$Gz9i{5VF&J6>EKJQ* z>QP%Ny~v^?%l8yz)kPPmDsk#k3`1uYlVSAa$ho9r!q)^5v z2i-V>7I;b5k~lk}(aj;N1>Vt_dL~h8dX`Sa`u@w(aw|dP(;%^45AvInNV13PpOSvJG!!f}t=YpBD3>>P&b?%)tn$uu67+P9l2|+ruhZ0-E0zO7umm z1;8*8XHO31DF|XF>jMTRi%+wZP>}msa(iFCQ;&jwt~r+YXyp~13UrXwA^o;jLju(( zZ9k=1Abf$V(Qe~rVBG2)NVNCVt{e?J<|%yP>lLWpqPewtVRn+4G+UrJjMRO2PdlT?3#%;pl}yfv8| zFY}cy75_f>9rT@WFwO;HMXcoY@x|#kX?Xc0pt;UMr zMpy?}SZmTR{pXQ8&lcI?eK@)SL0!DBcLoT01vr}^=yKb71K7{1t@F=98SUc*|H6!_ zZSUjs9QEn5i<#IDiVIYH&u*a5xj$QoKEl?Mx$~bB=eex>)+xVBUHt*Pras4RlDDvR zQ%xr}!uKcdtPFf@_l0ksGV6u1cxPwU^?4|-D^BWUUba;%^xnD$iV8;XI1A;X^c%FC zd-FcX{JG9=d7O$hOu6*O(r&BzKrLglYNOn_ycrK@A1G zqon>_pi(Rw<`1Hfse82W#CV2Tg;uV@L2R@PO2?Pgy{3whL%{xE?N#hChpY zptg1l?e7eFH2)ylU&nYx!p6C41k)MoUTI)2s16oM?YVqhiu&iXTLPW0hysG7OAbI~h>1*;Z9Z*TuYjzMw&34mZDG4gbGY3*ASa7wGWZs=l;rIyxBieHi9%)m< z^PKWe->2^I{!aOa1k9(lCE$FIFK&)%5=JYB@HoQilH_ofqo0Y#$)W(zQZ8xTYK*?L z@d9?_VpX`?-jH+3=kjH~;*W3FW5M0*7tZ!yQpoP43Iu$vxrmI~ESZ(Sp`A}>^ARD| z=bvnZ)@S<)gQ}q86hzHouX#`jr#B>;M_H$S=U+f^@D z0-R4%J8UX;qFaV?=6;!M1`3AE6GglJN)Ghxs1WU;QhX7ZNw1O(3Q)9R-~gbF`Cf#F z$T@UgqcRN52IpZi>KW`Lc7905v<$wDmH}~RSyYE;YrQjHw>n{`;&U>%&B<$)D5T|N zekSk^foO7(+vN*0;iDk&IVGxY^C+RlhVJ6)KQ(lBe;^b`zFq}wLsuw7ot>z&SF_mQ zUfJ=ko>{*O)y9M)3+;iPQ~tmb2C|MnYz>>id77DCA0tBuzDdNMglxZ#-)Lp_1K8`w zu!3zLJ~Y;~_%KeN7lq7Vm8@*@fE!-wBseh1a%Q*0fHpCMU?xv@zjm%9A`Z_nck45C zgKJJ85J^pN&Etv*?Q+AP#|l_qouZy?c`hVqVY@KmC!R*)p)#5+4zFVV2N^!IC|k%G z&4TRoJLWXMHGMWqFE+>U*(*CX@T5@uY&CE?od6zx5R~3CYEg9m^v1 zi=#cyEzpz7=Xd6YZb`T{c1Ry*R>zjbiPaMh>>KWQE7pJYHR&Jh=%6B-7p=V5r7~(l z?%etc7kQW;@UG9@9m}G;4p9N^zAl}8B0WAc!gj5az6a%A%v)?AgJhEKKHGt2Qe6fx+a@N&#mk}yIXy_ zRkBT$bQ_Gyq+d`xEOgBePm!A3?M>f^j=x5#XekN0sIZ7Tk3e7g6Ed^FRD>M5j#B;) z;clneTy8{I+=aW5AMdiDmV=yGcvHzHigR?=bW|41b@^dt3<;S-C{LO5m_vFc?G=7e zX1b;Y0q+kPP;4bjm9@qck<#0l)hlFrFC))yKLz00Jgb-5Jnkn!due?yHxKg78&vK1 zDTaxD$uIf}*KAV_vx6Fj*&5~&g`nRjb?vkKE-svkky&om_+yHan~IZO?WR_RW$UIm zv#OrB_{yx>4Xuho3nA(|&VFLV6&!edlZ~CgD`#K9gW>IY4;d7F8-LSWw%k@}zM<+O zwEaI!kw-MfgDB8Y;r~3QpZcOy zHg0g27f#)2f&F7qa<0Iv{jn7@_jZ9=So=+@;!tg0XZC&j`LM1B)>|#CPU5>yHOeA~ zy7=p6K3|1zw}3ADIJ4WiCCL?qW$ULzYQOEuk=_}M+dpmRzoqjl==%|>&!z7{*LjeD z3PkNZ#1((n#Q8cW)$2vmeC7UGshhJ+^=Cr=P}l57!0VCr2k6UQn=e-dy|TKA(4e5mY{sZ1&QaIe{GBvLF3s#@c3%ArbrE z8arLHQyIivQ|u$I5X==jvmW*__br&4$5ebb=;?-RXZ8ca-1fOOvEy~i|2e9&CQKG2 zzw3+R&zdy=1N8TkT)I9dmaB7&oB2p?Nw30L>Pr4E_hGz^oJ~44{B!jJ0=Q?DXlF5l z+b7j=8V{6ffStd~oV$o?_GRBrfh3(-k2Q?QYDPGKb3Jg*5u63v7qSPf2MvS@;zt(q zmfZfMYB#qkO#W6__6`0h=7vhbpTr+A*)(TX3SUneA76iVX5E-4ePQzF8q+Mfv}{AG zg6#|PoWyXrenIIE1y15e^1GG2dGv_@-R(vt{M@Rq`t&{WWxe>ERJ%K;?y}T5t}yut z^i){u3CGiX9ItOx7+MZ>K5~#xo!@2`IBf)1b<%#LYQ5&kg=HIn zS`@Z8{*1YhWOFrtFkW`eRjUDiz2}2}fF17cL~+Nh2B=;p7+E-&gWZA^oVdlE~u^FdL z9ZRR=iKR{)QaU*=YvP$KOW|$t;{u5)buRLI{^4xct16zm640%Owwr#o+b$$3tFYrl zpkhA#%7|b4`!M>V*NpUM){@8jb%X7!AA4`QTDv}UUamRs2Sh+VOc4Qpx?J+T9h?jJ z!5N#qG~+t%QZtbpQ5N0MvN`Hm#EC33eEm)4h{7Dbp~! zG|A;w>MlYG>lhoLK2P`)kpHKGz5jc`_AC^+k?>-v$QGORv}``*kJg~azLTW2hc{Am z)_0CGdss2U8s6rVCrBv{e;Q4Gz*dRyxs}}q^snrAm+dn!M7u1FhHECB=;PobThFd$ z@!`(w?&GO36ravo9c_^n{x~)tB01g9z|$s$INOc)hsC$)WAmNi%o@~!Wq6s!u_ly$ z9wnBUO7?S79sh2ww}D~hyjBH$rMk~fKSgaDzV*S59h@3eo|T?koN7~+eihE#rd9d{ zXZE1ttn@2(jotB2d#y~S!_ZVfPw}IynOrJ=vo^m^jIfHG3pVFKjmyn*;31$g>_8{t zs_SO_1TYx+waUGY+};k(FUgyp>@7k2K&ZTC;^*nHxA)GgsI8b=_D#pK^?9YgWyd=r zskD{g)6b2y=5NbN`@cVE&jHO6phTb+qZ=0bv8D{rLckm0N>nDxBq-ipy&Pv|G ztzF4DmlP#G89IC(wkNr)!2>GWwJZrOF9|Ix38!Q2M)gj1uJOP%& zj)kQ=vt!rsH>XNB@Cz}G$VCh({@ENr4sg~Y0?u9>={r%ckskF<5^QBR1c7e#11dYU z>{r?5$!K`9lNd^Lvg6xYJJXw(vOMseF=8_VUd7)a?O;gtutcl1UdeZMp0e4b7=-Z? zKZ-w=oMvtC(K(aps7Gw3Q}}66EN{0;*(;fstX}nAuhw?AB)3D!7MBiVW15I)&gyb> zfihv98WEd$o%0UaUbvT9@@cm*2SjlTrA?aYwdY6eEBd>pY6F4F5?8Z4&-{T|$Hv)> zvPI7`4qr&r+IONv;dTZ#gq^kX%o984;Qj4epW#l2UWl|-qt#RBy%+;~Y~nbd>#Xg& z-J$oGUf`6s1xB-hni0y*XU3Fm4sms`rWjA*mlr2$Vk4rJ9gm2HzB#wD-H~z~6bWsM zgtv`9!VPa7-@=>1r-zb5`WR2 zqKfnC2=u8dQr}L}-@rx46oy00YO4K-s<@`n~+dWDTvieoF>jXDJq+7qm z4K0g=wnoBR$Bj;%Rg~&OL$x`WL!>UkDei*YQOSurM-?Rtca2IG?irOluP*&*w6cw@ z#qS4Cg?_Uo68bq3{(0P4sj~u5a{+NrQR<>!fN(Fh?gYTPRG&Qp^E0|U?gT2&E=u*^ zLxE;A5UERhU|}3S@Dx8n@u8xMA@ylv4i#1p;!hLjQm4V0@O|%^gJDKmclto;rBH+S z1zJ!NYg-oetEd{8|5BdYe9Gz`tRH7vD>LZ)}~pUB_k3ztj!W(Ra=S>V;sq795B zP@MRV>4A{&6Q@Msx^V;1I3b6-U3Pg-EyJc6O+|N{uI?%72@x)g|IzJ&iN{V`;lHSm zYa8}hcCB|_l-2%T+s49dw4GW^>H)+Cwi7TXWdQILjUE>5dezgbM{)j%3O3^s=tB~< zoZ)JMQ|-y?f@QZ&C#`vHVwYeCJ7F$I78Blc!~O7s(VsuG<%X9ym3L9rnT54`7n9ss z<25T=haj~uFLrQ2>4pMc$N&H_UGoO}{E2hdU5agRj1>X#{=I~Ul>r9yhF?!?jPD8R3sa#4BnT_3xS<_xa;2$0 z0%nuS-*QO?GmoM8WkiSByomEP1T0&6wuNO&@T3nf7Ek&_Ip9gW#5jito6&St?izC> zKd_QEUe^GI^Chv#tQ2<9hSvnX$(vpfJ0FhVO2#a!3t`Ge2jKIQ^H@W3xY}R(_7fAY zgc1|WsLT|Q%4ymL)xXhH@uOb&cMScDfe6;=SquReBnr#EZ$;f>d8WkewvpOnC(Dy+ z9(UwJ@tfggy-r~>GJaTTwQT~w(F+R_^|3yZOpC%or0x>KH_cn`P!d{`* zC>0ytSZqN-VtedNZ3@i-%AuEV(|5|?G<}!t{((1G?=|#UZKNNzHJ!lP+Ut6A6Rc4U zrSI>Z>h-Vmv)cY1mwwD!^EZ`|FYEM^g{fYznDfZk^gfdHE1Uee!7qV4EaOyJ5`&Y> z$9F~PEefq;efHV5FjBLznXocF4@8pypH3XYuk3oe%1$?e{W>bfc<%JPSadq(mls;| z%L}{uMBS^IlaR~gUTCdxYKMbhs_-C@&mU%-u5?2AcEUzaFDE_IQU7o4MPQ zqe(JxKcr;X&(-MzylJcGP)&Rj`^dje&qIBbE9<*?R?r>l+GSFvoX=-j-WU7g_JMiZ z=jO$n()COc*Gk2%&Fs3kUkUG>+zC?bS#M zOQ2k3dWX<7n++ZdyhkFT9DT7d-25+@|C)c;KHk{DeCv01(e<3fe#_AytK&L4{}$g> zU(tDQ6Ok0Sl6>Ct4`Hapk6+MU|rLHxb53;+qdB`QO*=Y@l)+?sf9DEXZiqb+2Spn**(+EQa!z$*VonK z3qxYEd-+cDWez8<_3uZ+8*e$ymT3udJ2CCpLM>r`*QA@HJo0KOhSKa)ZeEVN5Wg`x z;ZNiHyoEcGFP;5^DpiUS*d#aEwdGcRxM0S41-R1(>xE-RT0GtCraf|AO04(h7Z$&| zM%j;rf(6`3^dUj2kK~rjTD>4Iwnz$(*h|#eHT?pmk0w*~cHwqRb3Ol4V>(kg5~gEz zL0DxwIYsdK0NcaIneD#*X8a!ulV75`DXcY8flT#PAnQsNOP)dBkj{!i5ZDfWNP@_)|Y$Ku>PyIFGz<-*GZ{HS{fd1G;i1d+yY za(!d2jkg}Q#*wBKJvq1L$7W^gp`%!>mXvE$4R|!88mj3>$j9c<%~}RkpV5$dazp5t zhR|Vzv_a3|T)}kVBXv{*lAXWj6JZYav&4qjgQlWX_Fe2gGy1+`ij%cclm-KFcSaXg z9GbhYE^2$3kGXLYvt87hvwXGPgAjnfy=5ReUK~xXmP*b=RqCQDb!L@Wz1%tm;)~3{ zx;(tH{Z_xaKlmrGD;Wq;u!&HeA39qhYsGSUL+C_8x+Tzfq}HH+%IKa7Gb*R6LH>mE z-0+RLllw_+oLq+XuI!suVo8_7l47TdcWIqvE$;OvE9aR%)bGdRDE;&_logofmHpN% z-jg|aW16LFo||4OK0L5N{`(~-EB&d@#&7t{j=rygDoa;Mzngv{)$8^2Ggh&zbD~v0 zGvqp%+7;`;Ol(!uvt{g9=hpi)Omj3$dt2DfJBbJQ@`eEjRN0kY2UTRJ=b4^c_{^xo z_I%pds#BgKCk5&uRZF0ED{E?;YaSthZB2IU!ot$DBnuw`&Z3-IEsMkRVn;i-wiOiJ z1%(M&DBctHU8m@MvmdcQ;2&+xGjA*B8;x-sZS8Ur@@5AWa=7I=x7GrQr8nCzH46Vx z348MQo0E_e68~iI`Wp(^h*z{_<%e(DA$RV4fbx~`JrZ{RF3(>+O-v=0&Ex}-@Ncof zFq!s6oGcdKSflbElS}2T5!9U*tNbl{%IYcqhRRz?DkPSEXlooYGM+P=h%u%yx>@>Z zvx-lw!lbp`E=pU#y3Ydyi z?goVxZ8Lu*-PdA`B-Cwj`W+w6MZB=LFPzcv=gwV+f{{ z7m3!4;?O)Zo@lU8$@~mRZh4d5lukMXydGg`tQsozajT<>Pvh%NKTT>o3h5uI<9u+! z&jtpFe9g?7-|YA2e9J!ZNS@B{Z4G1$U@ccx3ZR?1VdRoT=c}C=77u31c5U&w1Ayf^ z#^@h(Mnxw><^|DIyH2qog{Ae)Vz2NwJKpVo)qC10zpM9n>MbnY9Eu%j+uxDQ?&KXX zx?NT(yOSkzsU%Jibxrxj0)8Z6`g5rIqqDNl{O?x$L}d(+*a@qm%yz%uoB5$Xu3-LQ zsYE5&k4$)88V6_Axp{1=lJ&_Yg*BU-71#~lhF0wH5I!~+hBr<+4!=@t=`PDH39onV zc$&JbYT`CuHE|Jbnr~>&B>l#2Rb#%U=aMU+=$XD&vFZ!oWbAU4PvC`YEu*|KHZT&d zA6JA$YoNN>Q0=R3P-(5(6K3t4l~GG z+l&v?v)mwHgY@7p_LdRKkg7hz89U;f#9u7S%nIRzXF9RwaEhQ{!)r~Hd1v>|t7)TG zP9fYkR}NscLocpD_Y^g?q?r3?(Y%+_CW|s1w9_;*`3N8wze}?lxDEh7dz)4UR9#DW z1O`P_XFWQZj#dr`ad~vDG`fS`&>A;+ZKr|Cn`529N4jiAn|4WHk9mr&3y%%6Nj;Yb8U=#&QCWBt@HZTQiDb%|N#@yLmL_=ZmKNaxPr1 zc~s72HnJk<5kDC%4dy?`OVnPs?U_hrn*+^Q_z69<7n9XfGOEY^1?45SclrIhL4#f4 zsy@P7{gmUQ8DlL>gL!QqcQ!RZg+-sV^PT;1b!O~zp|63_&<^j$Pc@K` zjOc}!h33Il|D)Za|JCmC|0}VzpEy!fZ@M)l=htbF_h_>Nv~`GfsdJar$$J4d;}gyY zZU)uPv0N{9qUF*;TkZtj^2Pkk4b?} zlm1ttL!wWK2ib!aX`FWdr5&_uHBFk0$<5+Wc`#0|@Q=2O8X?|O9)TTz#;1ppj`NdP z#w-G2R~IprbDMTY{DJSW`c?IL=EN3lSmt=+-L?SnLd)KoqZ`^_hbAqTD#;Y))6T0r z)zI0P?0?6nxu3^+1GuQ0hE#C}FX2}Vgd#QQniMDT5cU9n&8ml~;&D-g=JLR9M7O5o z{7dIc8f`k*;;H?!Mz9K_u((uRoMH_V*pEmSc_jVa&spqQPmRWk5u9$ zp4j29eolE6A*wem{b{uiS1@Th3ano8QZ8V<$%-NlIY}Rn@KKW7Yi{GWDBLY}F>++K zxrEA!6AbEFG{s-X{!)@$8wu|nHwa@oJuOC0bS$&~TmIV4eWP`I{62>n%7r)v>B9Yj z-EM7tGb|#^Ru<%FmoMGg-}wB{e9Na@>0dJY(T>U1ACCn+xaN791r`R`^=K-xa=7n;pJ7y-u3KC2n$sH0s_xyn)WSI`_Ac$sT0N$Xfaq8#y6eeEW#J z!rRB^6<2&!Sn;dXs9728JB-P`$64yE`ACD^YKp=qb#m?)N@4pPN@_r^8{RyrEz9u4 zHg0GyW*T0)x$cseuU5ob>(|tEB5NZ_g8ELUo*NaYw(_)AJ8HO95AC#EwS0O%Jj4J=l8?qFmkBIJ10e+an4`_{tR zj;>|3PC_0n3ro@R9qEQvH%jna5{OjxIvg_^@0>2&AUTaZ*|9-|bswQ0+}Wu%9njZdrP2O-u zKmDH9M{Uod)!6M4GUW&BFo+#Hd09Rrb|=#j3lZW4g3rxk@A)7s^cx0*udx5~L3k{O(DvfI0>ST; zX9I(Ioj=enyT-lQvE%rgQ&`<_B3$GY{bv3QG+1bXRA|Ti3&DyUVzqxD!Jep?Nrbq} z;BU)Zr(_L;9dY`9DF;|za!d-re?U6Ns7is*SD0*s0@tY;29Dv~U9I9@x`7|4SyY*4 z*B84hD_KU4K0jIoH?rqfaG*q}LY*b)rARBm)<9>fsGK4HgO>T@7l1jL&$Ln)5xGoP^;w}H z&L&_^;VXc776Q~Q&>q$4UnA7j`uziSTU=*=Qt00&CeKzgtW(ztb^sQ8w8a*}Zmhv2 zn}Mn?D@48Jt0&)O`(RaA)#PHBwt~f#)|2+KsMCLOB>bg@O4v-U@f%!I2iqVRGD ztG`bRCL*l^IT)5a^MYv2nRQbr+GRCowFMQJuQ-VWy)7uMpW;(n{Cc(1!CcM0OM4*= zLV#n2&8D%>@i80;uZlP&%hh+M|0kT?Agpv*Mi-Yx!irJ~U!P|>{HcBGs~w~5lll2- z!>QUKoOkvqcKhT<{0UgT+G^k#r+FOIqjUhvbAy57IKd9)vWO+tPr&U?b}3OOve0iT zDw1U6N_?U{{oje!;#OEG5ZU(do;tMw!HR=ydx!^gb-PGn?gBUDmx&{aWmXLohDFC< z(o(F%7MAlh!dGVki} zkPiDyIJz(J3&@MO1l@Yyog(N7$-;;!s=fO{O)8$%;+g$4v7!?cj<5g!E--UB6 z5i>p`_-nUIEtp>HhQA(V&b#w3>OnHM6n>D|`Ke_uQY?8*B)?gHR77J&nJ0t82I53m8Cj95k#8wk&v%1eHv5js_~M?qt|`_Li_I>Jj@L(=h^6!SxP&#kA`Y>$CrLe4f22Y(@H$BmtL*m zEl%R^bX07`DSxt|r#{=DtL$ZLS4*7e2ezwBtrDmIB0VOsIOu9g_yeLou&Y&MnT*MM zQ4tdCflPo%=oiaOI@zcutC5$)rohZ(9LSrR~lCpG8J!4xS8FSWM6B`ljf792%f?@|kA`yd+L$q2!K87OxZ>*Edk48>RC z@PFE87_5>=Q=pOeY~k5E&Dq9j!D{(MvF&6E~Qi^&Ht53CivnSt`fV$NdCEMlk3 z!N*}>q$Knat;O$2&!bl`cEfOE8-w`MYA?umjGX(xX33^eW4ooLjaQ{_f+5nzeDjPx zcxo~gadDzz%CycPA|>uP*3*nDMHgx)T5PByc_PhF|kJBoUi(F}DsAzEW;5{X%#}7BH z?{`S_N2~KqzZE0eS{qRG5s3_ypr{u#II0dVJS-6@>Rq+v&Q9_*EH!W zFLljQk@Y|DiqoSSpAmCM&4lEXnig=tTnlXwwqno`Z(%Q2SQ;JrBs#}B&Mc@J?ocg9Cqhggdp zYi#mJd;;N-dLl`PeOOOpsc|F^q}JD;o$S9Sz1|Eb#rk+kF0lUlo9-THF2uD+- z_4Oln-x=b#jIg*+o{zf9US*A%669C6%L4CD2g4Vznw;Plo3COYfd{u5yy)K)t_C`Z zAtalg0!Y=RXK-_~k6+>*mFTC25Hid4QAzQtjmP75Dt6zM3=}Q^rv0?H-qc+SIjlB2 z_(5I!a1YeATR1Nu1_x|3l|k?f{P079=`kRDyk^htFqiw7_6HL*K<>0bbb2Kvc1`|js$=f zh@J7lTz_^FuP_i+2z{17r1tw}C86*7SGGGPQuh583t{#tk?@vrql;2U7NxGIp_-i3 zKxTZk&2iB+4 zW{YSk&7Z=u-CXv&ZysHV?Wc~Fk73>64v3TJNXKkf4<^vRvdy!a19Y*;B?{-Z?}+2s zsnkXEkgFK#;fPER3poKgj}A^$2Zz+*zJ!UpU}iuZyT!#)XWOH{zW_;OAsRS@Z~SXI z9^H{kPuS*8<-#U6hUFswYkgXe+}23NJN}o4xhu>bSMLg{J(_ z54KTmVth-V{HPT~d1Es*{*~!g^<1VlZzy$`i--fgbQaWDRQB<2f+P#;WH_CFZaW=& z$PzJUDbqn7Fnt1Rya^K!Sm9pXgyA9#H)HC!c2aL1Wv2c&(W1Jj`(xI4xqiWls0cL0%nHzZK}XEr|RoyXaW=590*pg z^H^<{3Ui@^iPW_44v=a2rIVNsI(lK%{TjdiGqbwnhUn&;^RwrCY7G%sK83x>pXj0>ky{jrNj;*)25&U6=4|rQ#(%p2Bm+htH?tuX{ zq9E|be*{6+9nglwFu6Hc2+iLy1Zuiij_12d8e}twDuA6HVEdrI&N*Am*|y%B(Y~&i z`<_lSch&12Bcx-tQZuV!nji0{mn?zB&=6gd*KK*h_V){7J>?5Rx}?qW27$No9m{kc z91VZtl+U7&S*Vg*XXIoJrs@Wm%wOMQ&v-v+)|PND2=JDW$#;9U7Gq=MlEc~;{-VU0 zjfsOvJera^FDl_hIQvuw=S7j^uaV@Z-8OP9k252j1Ke^w;x5llp--6fhphC$5`OhH zd(!Z%bPG)7d0886Q#(oUIbPp|dL5b&!&TYq`S6y>M_|SOM!Vv$Q=D8>?DTF`oNQH; zY%|-fUy%N$yvAA;)#y_!u|ha z?M=X=Dzd--4g`n@c370Cs8OSWq6P&7C6WkewRXyI&}&M z>u91C7cw3|nMSv0?xjjxmxb*?K})ZJ{WmFSDe7o$9}9T+{&ZaHw0zljRT^@ziE+EW(^O~L@)1lmEr#J zVp#ZgjvJsVy!k#He49#3bG(sdA3pAT*Y6E?V*e$!vwR=7;m7hm(o)J@p=t7(RY5U! zg{#XgL{g(DTWNi-Jh7uf7pp8PXNReP%XKB#rR8eP!j%zj?Jkp;Hk8o>%^_F$YbRXM zq!~`%&iAnbG^I2qyY`XJUz=P0YsYxF`UmB~D>QD)-jjRl!sciq_kCyos7S0!O-J2R z=l6P1eG_NRV8ipjX>sijo!2PB-ZOetLH6Fz_{`q6wAS&3@zSW`mHx9LIT)gI?IA>; zVWFt=8r_0syYEyS0bTb=ob|j6|2XQGCsJ`P037K+Xah}My}y6!s^U>|iPhc|raN=p z&yLZGI-26}yW4k9q{21tw4%9FC%TTUet&8lRplIhP0LZCLzEh&VE#Q0KK7{!Z8 zq10mgF`)zZjFVe+i(MJ5`kmCB4e?c2x8nOm(~MVrh@HfDHcY%Rk{D+{zM!A`_@RIn z1;RBowga;$)?8W1k}Krj;Pd4{OW@1jM-f%6c0xC{J2skIezwhxy%T{!Cr{=ap}O4@ zCOT^dzTR1CTJ3nASDJEHoGBreur(n3IBN7;4Hn#mFpRPgKFKHKMgx^vKJSKdx1t!w zuYt_$A*&J>g^sB(O+NLD(|BFyH~yqDJw zjA%4*k=i9%v!2Bpb`S4)-YRN24^*QE9SoYlgEd*3laPFF)rx`YQq>x3QLEr+yLSr- zqRaK{a9ZEN)gxh_xA96S4Zp<|QRnyOQt9BcwR{CghHILDbVYJF^y1=6M%@emGcj#(jku2cPJQ_wt{DzPcq1%V zEQJFq65Q^+K~STK9pULxR;k#&OZ69(MN?+mgOjnN&))K?*i`XwX zKufjhvshvHheE^E@A9Hkj;Sx@umL&pV{zxSaU(}6D{5~fi1{w_jCuZr3?c(SB#M5( ze1SO-T`Q7+T|fj&&W7?{qva_UM%L)4|Ma;C6poL+taGXR`Y6QqmE=k-tw`P&N!@E| zPf{PpQ_0k2P#vvcEaPiI5nE#ANvaCq8JC3 zw(mXp0z&H*oR!G^ubiu+iT~L9=E{3rRg@QBl9qiEbE6TA_3u0PclilcEtag}>rb{L0vbBTbN=(dlyWGZJ2v?u9v7tfdaQ9^h>l|(ugpwlD zts$L}c}AhPY$!4&Jt5UhlnhA@%$B$(dyhK7BI(xNN47-_jx-=Tw<6I((e`a@Va24d z)AotGXlMh6X_8NuXN~|O=0oU6Fk&Q358i267m7Kp=_3SKTGZ}GY6Ok$f6$uPbow7P zrpIys;XChJTiPFX;zi$*0>LQ>-ORPp-1cRlBb;D$ioGX~kggy#2lnlPz6HVU5xm3@ zJ6*RgantqnP|>!0C)yRTvI_p_R_J0_lnMI&#awr zLlcfho4+{-v9sKiuTULm?inqC1)$eOqfLt6N;iGC^)Zd1_%Xk5p)DSp7l0#k1y_+T z)Kw3gcL)(F@Bamn!6c3n&|4CqoLV(9lFfhxwO@U z-?t47SIfUssD|%aiVWKWy6e2BEVGo97iE;AP#wzA=NI!Kxu4V1oflW+%w?w_*WCZP z54k0ftMz9u)%iJpAwz#L5(4R9`GE_P zvsAaUz#^-7xMn2iDtf3DC=Brdywl5v3tLef`6g}qu_qjROmIY(RjP$Lo8UlFv2=Mf zwAQljco98boxTcIvdgiU12o77#2|ggqn`Uv&-!q!U#x?)DW^sk6B+cRg9talD@tQGJ+a`ynU7SnH-|-`I4CBS> z7++Z(gH?vTzt`bgY4Oe2xW@9HQPsjVqc=!NJj2ZwFzF!PvnR@jrT-9nhj~~$oaB`i z(iw#rA+T*0Lg1qdBm_E22r&E~Ek{*(eW5P_M8iM=Ouhj>-(5z3i5vZlRI|^cqCMfD zLa|Q%v{r8E{;VA*nRYzDJHvSp-)&UxQd{maC)s7fI5z<9#_3CsxG&go8nxr}dIn}R zc^YlB<8+iiPP(uTr!InT_D8mJ}9w|`oGmS!>gVYRp-c}ToZuy#8nTyukM^@Zwr zsX(K7jZD4C#Vqbok-U&GloQx&T6z%`PcQwbo`ij~loRh3-hBdWNn1e)UfPUm-U#LO z(o(I;K*WI6!pA$nao)8J7 zyB{7wQlZ8!vubP}$taGS&6USkRTd3+W2(+qWj8+P`tZ2e>Di<60O}BO3gpodXj)5) zD(&)S+lkAHyrbs@BCnkRxgi)(im+itB{_TeLY zShFC;;rujPR3z|Gyo_eTba6yp94K*_9G2>5`Y-8%Wk;la{c^pg3BQ?cVAkp-^L#$WLR$BF(aEkDw$mV4i` zWT(qxN!#6rMbJ{|?w@UUE24Aw?X6})XWQFPXyLLDZ0K;4XPXdBo*FBR5U-8RvuNVf za7`IivTwP^m6!P|ogaU$f{i)L323yB_>(s8muYm z{NmInI!%bK>2zyrRPAKmx}S-cg-j>WqDlO(nXiRwKETnQ;MX9J3P!_b^KSlu(6s9s zj1fHqENxWg5Ow(}s6oWEMgZ#|yWmp!Cr;1Fuo42^J1HjM7T)JtTx?s+m8IF5Op`eKG(n3~Px{?;H+3{q=(JNkmqPZ(+C7aM(6ZI?biNosp{G1C_LV_{)zp}+jQLwbN+ z{+*pD!uaHyild2&d~XqFlQKONzbBg?QdR2Trzl|$BSh0v*0Egp#R4)X$7+4$iM-Ss z+2}u>&D2PO#7}3@b?UO(-W|kh+u0|7~cc2|wEWxsNNL-^2^dtVM(HPke01-5v zZe9!~5oS7EmA=x?%H($JGTQjHSV0SzpKMdTT*Ugysb6BbDjb zSGYVh;z;ck5ouTHZ6dbAm*kjL2%YrMJq!qP1;$?2^@nKU>&PiEakx4my&7+u+B0|{ zEbWBu*2`o1!MvtThc$<(Q0*9EA#4xV9_tGBJ3^5wr@tiq+vxz|npdp;y)Y+*2n5&X z3M-PAVL~2VlouQGTxmt^W!BJm8G~k5OiQyct%N>Ze_+3ZSi9BNBW@!y;)U-#j&%(t z!j~`+hNqpW6^{#(hrc#2HoDzcT8{D6QIQm3SpyX0o2Bqk(b}uQfWLddpiXj8<{QM^ zMifqaBES->0#(ZqD~_D2==Ep#PMxSH2G5{)2o+!}==30=%%38|HN8}>c9Q5d=`TbM z9yBpzC((oa67fRL8t0^zxpAAkBH~>|?`RIJJWSjWTXs%uZVy?QJ8wkYZ5A>EoaSP+ zCb>sqFx`7{e+dp`;!+NLW60d;oevcG=g#B9@j0>@7pBc1+B%bEs5xeFE-_1VjV6ZW zd*c=G!A($)-({7B;WE$1If7_aDLa$<1t!`8+E)!%KWYgc?5%Pwf-e%&V;8RgoE4+V zVaQ1<6*0i=#m6l4|74a?sn1cCwwkGj+Cfmggs#`J!225y;hLEmDFf9g5nWp@LwQamW06mg%iMiy2(h>wN#>M zT2{1k->W_ss#t^_`sT&-+{e;nFPO=F;ASL{uYCL@v?~%TJc5ciIsM+jj&Xmo3ket( zUlADhQ@v_{?MvJkjmQVZl=s@L?5Mx>7OzHWV4l`~o0z9b>SF})#P<-w{kkJtE6+)< zt=hXtIy>XbQ!hj$E!qOUBEhlQouGe2sJ!zEvt~h>II(lBa5zlk9oEF_6jE#DrluEI zeB&=uJ2ls5q^FaPkvhb>XY3)eG6uGDJKu+EmSXbo&qOm%TBCY*LJehAx;M(zJX%Jh z`A*AlWVq&1b#0b$ zth#FzqltF$SE5{mjjFGC<0&=&B^$ZSUb{#>vx5D?I9mpt@hM)#mQ%T36f?#tb|gq! z`==uB)Y;HHwwFSDlLAqHjfHeuG}uN6YoR4^pWa3&Pn_r#2dgVHY`Rd4CUcA8 zgM7it@WWXlk1~yX2R7N|fxiT8DNf^NH7&VxkF=KR$D=oalO|4Q3U_gZtua$D^4@xEv%PwcH_h26YBI{S@ptTil9ym&Xasd$aQ>*weagQL}W1uxC8XeaaeZAg}2 zksGc#Pg-Ppvg5?Z4)`u>+2?WfPlK6*987C~6$%K>>D%;L7jdL>+FF|VYg`RU1|!Sf zJIXtM;zo}Dnl<44A)N$OfeLFj(y@fAklXjfnMcW9G zoGBN7AdBf!w`Z1BQEtVur-!^bjDE=9o;5|*vdde`>P*SZ&-$&@FEYM9FH6Q>|952k z?fPIgYldsSA(WSfaKN4shVV8Lb<*Ji%Ij?F>u3eh#P8lgs;|Ydn{JM)_Xkvi4A}yb z=8Z_AsW%27jX3js5}Z-?Q_B0>KeEZr<<&0yYW@35Pew)XUQ&JhrAFCslJYIU4@?$0 zU9`uecYzh82nVKN3otO)ea5TCzzf79mTyaUAMQ4S!+P6QHt4xdW@c5^z-Y;>#xyoC zUGcsXqL(M_MxC`F|1J@nEV-mb7IoV{33aJHHxuBVUEB!vhri0Lx73~Uso1xw_Z!gVZ5{#H z#Cuu5YOibJwb#l#u&8?Z`f%-K#oiwrT{7qT=;UD+uxq=-&M9?;+>gRW+Mks41_H($ zY?aAe7iVWu~8Yg3^|dW}fit>S&oYnVVWaWxdW~JqNVJ z)&SO0rQJonvcxv5-#)aLm3ot)o$J?qR4G?kVH+n9wYf-g88aM?sx^I>h1s`yUXwAG zuD*t~D4HBk_iSPfAbU?c#)MrjBA={HQ?BXixA=RFHoPwff*&BTmkuWU>w87)#*_Au z=`d=PTvIk#K?*DH=6c}5#FukZO{)IefRQ&M#G(vW9|!>zIkkGML#r)6xLp?8 zej$YWlIxGK=Ima-b3qh&xYK$&Whg>fIFk8X%kLwg9omd_&N62gt1~2k@?!*?{=FP~ zK=_V#ZIw;l0&!X56YqOj@2EOJzv|~a!Okek6^T{e{&wBW?hNdk)~+4<+He}#d;dcz z+Q`NEd{85Le#Gk`9DDsHZUK#%Ft7KnI9L~HYxy25ksRbvw$IK&Emz8-NUqwPv;W*?3rI>eo2ef^ zpm*8uvJnf|3D0d3A0%MIDc|%sH?H0(DF{v7@f3x_HQRW$ssO5Xu63N=XqqyFaiwT) zqilFjsst|Z<&9k6!R+zWixsd%#EV*?qNhGQq3c=y)AixMj2>4QMZ@Chs&U0*!hiX5 zO!$&t$Aqug!1H#VSMa=(-<9DuqmR!=8RH5o%vKk1#wP{KmAtTQNG1gRWsfil!i-8A z+4CtLG|TOTSEJw_@fP#Mc|L2&j4j8dcvK<7i%?<9s+JX&ZCqH&C0828!!)q-@;kut z3%zCR-uagB87K$Au-ifu3CO+qU;sK<(cAZ0E;%etkAj2M&JA+-z z-g?=GGUn8^sh-Szc2j2V9WRPO-0EyQ+)HKMbf+YjHZ!#2R!@-FZq*%=JD36Bjh=mRjH)fmF{8f{S%`(gVL)1^wAtlX~r8QWz4?C_>mTrIYQz+a5{@!QX5?%QI1Ec_s+@O zjAH1o5S+6zy!l&)<{!IyuKX1Ms5E}=3GkIdP=Y?iM9n$(Q5%A3S zxZ(B2VsE5M&E=dAxR>?f4$jjy3;E-Pyeh?SOhRiOX>HY$186-u4PA=9w&8PW_7Oi%6(A*$Y=aa4o zUhxwo(2uOzG5N+*62DKWbDlZ(&#QjFqPAaAPOMwm;{KsR_^W~dlBX0EP52;nrJ{jp zB6z#YnABoq|1+t%^xoBbThrS8^HK}67Yu>T?AGESt*Y`W_o73}ruPq}Uay_lFttIk zS;Etbr9@4?I+S`m(hv^U$aKtYxp`KVwF(v=r!nmq1`Qurdbd+c25O$uj;G{xBXNxy zo^P7oXoaJQ5Q%kRbmx1wog(qiyF0%5C7r3Fk>rKC6xUHGqt84Vm zA(y|!_$B0chgx9gL{fj~l3{NjUQb(G-Q{jRyVGkAWLUmPv3GES=3p3SB6{I=)0_;} zK`r=U7C5`mh6M8V;1BKBr| zxn>Nbo)`!}na@7UaSN-3v3BKrhxD~GmWWxNY*xjZy*_mRQz1J(ckl^h0O9_YpEHzxNCtCY9~+N>7%iL%NFUzx zYPuDKhIF0FSAUID*@T?^+>|eJ*v7qHvcO**bG$8@M<) zExAB9Z?IKf5NQZ;VYWEvF=&|X?R)fGb?nKk%5!4v*kdXfAQv^Z!wbfGi*3Puk0eum zetDL{l5G;3sV{VGISw$BJCVDM6Bf0T3%E4z)mQiBy>BOwVIGUHL*DkWoTHt) zU`k2b=EKm$%N%`3METp?Y#7Yf5bFTI$dYEi@~VFU?8VLgqa<$NIlVbI@Q7(HUcg(= z^xJ}gX6W0^X~P0D=oUbt)Rebq;Yw02pK?PM)SrFr<+^ucFP3SO^SvRxT8HXO`HXii zPuyDG)5{}HP5QoF7Amn838IdaGcc+?ZSanvlsBa}jPu%cTN{@2?ZWiZ;58!wK4I{} zC#-TlD4RL*?tv_AY2U~QlU|-geg4rm5O#uxf-`Q5*@r?tY#%zMABy!rk)DF9vZd*q zNczFbtN~r;jxGH62xLQfQO9$~&iHafXx7M$k0GYZ*$((>2j_;X78cTr=k-GZG-Vq`%O^Ez-<7{XW#tkhmR2sjEFJ(z#X`>v+c4^|6mD}yzQ>U5XZ@LB+(m+#2 z|Ijv=;f!W2LPW5&E$d0k&S*l*PGA*7G260@H1%EAGCy8qPjl-nwpC!x>E#8c>8Py@ z++MZa4lD(bPL_lOCdCp0FkVO;fFdXPEk^hnB76|B8l|Q~r*v1Uw@_wjftt}N-{*(o zG#N_OWJpJ*?QVVtq+35&dCD1?ei*9<5;{Ig8GdzaA$0DnWzac-&r8w3v4vlWLx^2@ zzGW6-&=r-J4Y1te`bO+B(mb=xvP-F~XNr3Vx3t$p(hrkBzD$p>M8~RakCuh+U#t<) zjJVA4V&dEoMPp%2!=(P)n;9#GBqi&Igl4N%bqs$~=(Z)L}!nKXWDL#i)`h>J_(t@POzrso(^j}=Pb z#l;(15GFoPtn0r&Jh&63ZtAiSjWVIplxt=l`itWW2BkT+X$zt`Ao96zE@t^-FjyWH zqGQ|cqqX6pRBI&1*EvHK#u3&phxH4^`Xi&Yu>P={ER$TDwZ31_FR{Wbx^gRqw?$qn z*ab4h$`s#Vr^eh;)A_QkD6sL?@TU1^lNKTGPtA0^%-|(G_?~VU5;AwS7H=)^me~S3 zXQ>qq#;-Jmu|3BOy=rSiRnHOedYT`bEhrZQ1q#Iup&>8-L3jL{u~rwMPpmx*Yb91Y zJGYkfG3OKV;PJOcg=T%<^>V-Dlyu2URPr)PR_)xXs}mESa|DI^(2HwNZ&tOr>5Z++ zlevqQ-F`W{vvWD2lPnn=8Wu{d>pHjYs!Ncthf%$3=0G0FDoJNmDys!qQPj^uETQ*0 zRC2+z?m7EuV`BEEnpxyT>3@dW4H|Cu>>LvEuW^%s#`~OG7j!hIko>}ax<+xG8Fq=I z`v^hh3&nilH#=lY&RcnYsO~eqAf7z`cG`9XLsptA!tRZt2OWcU;UnfoL8kX|DM05P zt4?9+oKrM~Lhpvyj3`ss#y|QcR@q)%X}Tk8sPLvQ9fHECudBG!FUHN1zZEdIAT$SY zl`HI%XVzT`8`6gbkx{5E;&HAU$XOB@wb3jo$`7RugztvK1$LgZTsR>8hBmOUU;!lg zX(y)6J0Pj4PFR|ifN}V(*L1<37vouXj1S4_muyu#Wezh=;*+wC^KxUSQ}roTeO$d` zS5^I}?|X@3TRk|lABQ=`&?;8S_gJW+CTaiXr(a^eoA?lW5EZf4b@f2={VUBO-r~sA zMIsc2cGM)(e>@vk*5(^K%&JXG%r6WPk}xF2_cixlAvQh?@8@`4Y9Z<=rwn9xsBLHt zdo7Q14g6Ab?Y4GYQs@F{(}JnnhlISLEj2{!RW9#0tb3V9Mcb&ouEE@Tc)oH##hj#y zT)E`eg?#h|I&}+ED_H>h?gPB8z%#9Ym*P5cWv*QaY*E^5WSX?-EshRh-#Qp@wZzhB zxc{H#Mk|pPaDF$|2R9T!UI;-zj9p6+zv|S(;?ts27mA_)zUejVb&bLY znWpJEI#G2ovw_vyxrcHG!)mh~R?+0S1*Y~o%O?4j^X(Y`snMJH24E^bqVQ~SQ;%ul zhPY;;+DYKSJUS73=XaFjFiIXA(+V<3V@IEC<;^4A9CjsjG=V(9TWVeCC`0G;WYw02Eco0Pl9rLYR`3~oAa*l+j9GphljB8JKmucHm#%Ij(nxH*h_1U~j`Rp1JcWX~b;J$U<=F$ssl<@U(?^LoN$l4D8 z&_@7X1^|OiJRm%MntPvM$A2DCgzM(F@+;s-RLwZjyw2LiuN{w%BR4*nxz}^2p;Q9z zHZ1em^x+lPMsJ;xWzZQ&sT!^WySSh~0yRGtV>+B&37OxC@Fx=P|E2Ze#kDNnylj?~ z6}bS~TPqKuYS~OpA7H-Up94c>1Fb#yysmR+zei>B!jyekv|cnkTyw9mgDE1T7?~0V zG(TKDkyLNKFyfmR(&||=+&4c@-Jb1C^AHW3wb@{mN_^lQOQo`zLd47Gv473RvRT5n zY^D&d2={-_TcynoEq63MHFt%h$@XCVMXbA>??AYA6{I#);da;Su3=7CLoK(~I!RBg z)>*7Ws($R%q`#h8T$Xsxdy|yNlG6*IuYL>lixgaPx>Z-b6KRq65P!;M3hDC1Jdb;8 zS>~L_L{M`77QUMwx8L1zwL1CY1-ogFWwWH!J7L8z8(>v94N2y_b7vJ=WuIW0#&ENn zuk81evY)Gs9INo3{X%mo49LL5?+BGXS93!U`YFnBx2@bB%G`E@IRI6ns%I`1$7LtB zrKe)=bKfjC+LRo+3BKN*i#*h&r(bUNry{)}DtyhFGVvR-1T4~L+ zWd@40xqWS3C^5h5T-atGw9Zy_%eIt-Op&drSy*$)o~w_96y~g5s~7)C^#-YyoMhG6>tWJz|EK4=OCW+tgSHb8*Oo6;#54wjgTI;NzV^UFb{z^| zg6G&^AzH9*<|wOrI*EO?xM;k_BB3$x^q;<@Q+u z=%h`}iC+m6ML0C?-<{8-x@eb0ZPnFQvmcqQ*|Sr#$X?yxh{|ugXPVxBok}X}c<^X+Zp?8*gpH{xBO?FxTEP*t9~LYM^~L`(aqdN?NH4W7H>0RK4XJFFZSo2LV}mOG!SLFSdg_{7MU%!=U*5k zu;E1r!B<;}%kwukc8JVd*_17Rur#YT`X62tKhLaPw;vn0-gE|mbG}}I7c9oKu?+** zH=)xO#DAltmA#rvZV;D zws8P;%FR!QVq9}kvWMjDf*)YM@-OscdsRvpgZ<+cqG0fdjdvW4DnN-$}uo_lupmRXrNEIDt zk5p+BMm~^*gmZCP&%k1F+tn}!(FX6EAAW1TH_~Up!TdJzcesZHuZBO_$6TlJ4ig{4 z&p-{JZL^9cmJ*wg_z)p~_RrvL=PLwSD``#U)lW2l;9tN<5+Sl!?BD-gF>RY?z6!q5*N!zlMOI~@nGi)rX#_FpIJ2*{#5XLkOQ_#}XVkyHeLtr% z%vhVPGGt~-y9lo9&1X#sAM#1Oubt~!?QvL|7gUmT+=vK>f1H zr$b{j`LvXRVm|23_3&=Ao`CbmcGK(d)_4Q#pgRl9u{^6^O}Al=ciU(mG|POiN!-oF zvV=yl+BZIlp)+)ub2X03$KjmgxcmZfIRJX56)gNvE=r_8lBw!tGNp#y=gcNni@S#bNngpgdIa|7^JbrA zM*}K_hH1WO^P#%>;)}x7PXWe>^{EXq(#1>7peLBVwU!a*cKt#J&(V5c9m;Q2euwLauDqIehT(`dJBUj%nH8#&+p`^W|}@5)*$Alumx2gG?aJ#ubDRh zo6-_*4BnUM07-r{KQU|x?rABfEvB_~qoE2069xy?Wlp;xzB)>L*>tFyP-r0e@$5xh`d8*Rcq^sO*W*UwKgfIOz5FG+0fcfwd-V<_l_hFKHSN7g?f3f4+%^vBmlNgPT7>r zfNRTpg#|Z^C$Fhr);q^OobFH+D&BISiA*`OM39R8zlc`NZ|eOg{ryEem>C}W)DPYr zRCYzh*6E^~**!(sdf)HeZma3tIlPoD4wZPHK?OaOC*JoK>UqkxmeIs}ob;=WJq6r=d>yK*td)kTKpqwO#aQ2O6`Bh4!Ev!o!Gj2pOIAfZE)RP z@Ehx^1Si~=GTanDb&09|%nmlD8}`c;_rk0@f)B9FpecEF6f8A=sj{PBu-jt7sXx#B zc!8BRnqgzdpr=rpG1Jx#W(K9{tty%XkQLVsTd?V~#1d_dEHDF$b3&=lw9dmz$A=$w z@W(p%{XpwjN`XY`JE_=*po*7G+1ff>eJ)Q(rn?L_;dg0{>3)MO^h{O+1F>$ml(%jR zDH+z2C6}q>t17v7x+G^y?W|%;vf`OXNd~hl@yPXUT(+dG&}6+ew4=}Gn`Mc7t458H z#$Gs6;wI8-{`f-RuYQ}^<5kTbFJ2EpFlXhPvRf(6^mUS>Y3(ifW)dROW+Jd!nL-N4 z9?4>o#s4j(iN&)&5sJN6a>J^fS4Xl!MutZ0xAnYF6DdGYo0xI&<|+s$L|$! zvDs5}&!^UV^o*!zM8%=8YR#XtXDAItQO}LhDyuEY=9TMS~rHAc)|D42x95%prmiHnY*H~zj>X!kG6Sj3e)+r@|4#M{49S?H! zN=0GuSex>3s|Q3H7M16$G51bk4`YQ|XC71$rZz0_S;8K+jklt!XD`Q$e?Lnn^+j0% zSK&zFtFpwO^axB|^1;fX_zCP!!FfEHE?v^vS-ir#3xQDoi@G=tC7sg7JsYIf-7OUY zhA;mJ*9$pWG`p4R*_s-#uMzC{(_CE<3US-u(f#w*g)eI6{cwnVs|c+N51waMwcE#K z7O2Si`6{xQBGLybFyFjS0f)19%x=>f8$)*mtmb&Ap7|Wu$r9y)d-s*4*x1DtW0i z6Ya~pQ^a41D*c!%U6NL*BS$lV%s$n6eV>;bkq)WEG5f8=R2&5 z94T?#S)ZZ{(ELgt4~H&J`($QJgDjOJQ`u3=4Vj->9w2pJ7SMa?_PS*n;qPO2rMAX^ z=INthYs>x%E3ZeKm4vYDOd3FqpZ`sbHR|mLTn!t;BUzfaamtI-&551CrDQK@L3GC9 z?Ay)7#V=N#aq&Y*w~J;r2*jejeq|d>-mTc9r`a!}6~#V%pICzU#H zWfL=EMcNt>`vp6ilPGpomzZyUiEvy5>$gxnk6Bco+YZc=tadr0GI-CmXGMfQqbp`B&^mSP=#mlr=2mB-*M}y*~E< z$q0Y~-$A5|wf~>zST-XXF*Ch)IDe2OOI;#XxkX+VlC&-{v-ic}W{A#V>Fp)GoyZ%C z!I>OxvbMJMjcsiwkZ#ZVglm4}XkzBPkM}XJ*g|P!RFTA4iA7jfErBICpB=6~nj>z` zN>#{{*T%kD@5Qb>W<^}|4&}Y!Gd94Bywf=)sM`siO+VWFv0N9lni#F*DSQ&wV9Z;6@YEHE;y#J%xGpHN z=|9fp-ivTh%-dqmM#@|A58>-h&&ag)i*Wqh`$DM0JT*;$0HU$WT@!~x#74(nE0mxw zKd&0h2h3mW5(Ou?i8|TN1wG1T24eT`JXR37MQmk;tIPCh=XBYFN3W&+Y^McLg(1a; z>U}QguKCm3`OSZAg>8O$?SS2ze?NI;i4;N`BPpyx@e@kZZh$UF{Rd3=#CSu;`k^(jJ3l*!xf_g5~Xg2^?ZTdLxZ#^ zciFi?wsV{z`{#jV4|mzWewwcB{AS3Wuk1c9d+{#W<{xAtQ%|)A&qpAt&=|4eTFuex zPilSM2rLK3#G9#D2V1OUN&v;-U`9A7n{^&h5Xu@pcMvvfrL4T2%l(b5@$J4bKhL< zupWW~=1TlF>Ux8NIcc%n8PQ`lnsyaiv1XruMvNOn!$9-;IX;vAVbAO?D4SE7c#7eL zApsY~({xy>kZ~GsYrG&tXcQt9#tI`1{rRwbLruk*Kxt6C)+|dV9@m{xZ`PkH3|aEyXEy0Rk&z((D!74#uB9985b1S-=WeQT>vXq5&9<8}xBZN#TZqaa=N3k1A( z26&p@&r>{2lz`r!s&F_1J5BEiY1obE{ew#X>>`JVC~44VXMqmr{ksakkq$GG>B>X1 zKxgQka~Y*?%YaTJvi^(=XJzPJupkyPgEO$x^j<`1%O;KJZLWzpWsh-WPjdukATVS4 z&YV^a$8*V?chXjECoHaCdZs-0ymj}5H3{byYo2DqYdt$1(uunMp#84Z$FuCK+rZ+! zzL4vlO#2X0!0Hs-PQr-l`bAwYS|$~J)@@;b#P_u+*w>XJ<4j$JpK`xaWGSe-z)z`C z3ffVqZn&Rvol=@9&l=U^Fu#p$4d&N)rSt*4|neC^1N(v2M`TpQN|DN6*Va!d zR*IJAbqDz=2Pd2*p4GN%L!rDb?wgu7*Jw1Y-*nh#y>eZUNra3|=Hy2kX&}KL-Jix>NUtsb0K+D2FbtO?kM?4P~z#mGL)rn zMsn>*4#~@c{FliWC3~ciJd-R-LlM(ba@z?)l3Cu;?*veDlx*uGSs-8<`Q{RU)sT%3jEDM4yA^)lW4ObB5>sln|vp?m!`zfA;WM=`>gki1+SY1s9$tFIM zErJsHSxEjtBVE0d8zDKgyQAdiLH+?gl7FA$Q}Qjc8Y6jmaW*B_ACN}!OP+*ewSeUb z$&XJ3$wxCt4x8pEd1+8$T=NVi%Y)SWsh8>Qw~;1-+a<`4lP^l{c*jSw4Oxu`&iv!E z2hNcJk}Z5BmqJm79Y}T(lErBEv{G_%=4}qicY_j(n`MxEHb`Atl8t0rAIWJ!{%7P1 z$-!wPuOh24B@Y5gEn1^2|G6}0|1>2};z=z&S-@Hf$tr-=&CXD=osVQeP~y-mB%1`O zXEj3dYDAvk{sIvk++%zsU!Uz$atT?Dk*qvUNGjAbHwRQtD@Y?bmL~zbU%>Vjl0WqZ z$*(dJc|%ZQLT-kV!-CXjsF&&P_mC!nTN32oM!qPyPa4U?$Z9OizdSZun7`d2 zjpPG73D{aFS}%t%(@RJW&UE+t)egx|f)d{}%^*25NX==468e*%Ejt<6xf$VaksP~wCvB-;h4L#dacfw!$?C&EvJIHV9BbjsoKRH%FR^!n<03WFL$M6)#2H~{6lnbhvbVq3D^t)W6^;>VONm+K7-^120g8X~P7bW*kBY7-Yjl27&!$isSx_cX|8HePLJPFt~hEhH2 z!I0@EBsXP{{P#@`$?t*^ziiGRxgbbw)dRN|aOdw6v_?-+)2losg z$xr|3kM94H)tHj^9hxo7ak2C%*_$T;<1*_|J*JkB*?K%k9+pA!_DV-dBGLOL9^90n z3(zzmu=-K01x$sbn>#VVCz7gc_IL;wi^O8@=hsbJ7$umJRBh25y zpyH5xlqVs1xqxB&#Gf5tbO$0X_9HAp?K5t0LZBo_tw`}j!y?FFBbFObz(m=8HPo08{&nxo{2K9ZFJRwN|n zbpgp~86?m3k-Q)%G2+h*B};?U1oblA{UXvtjVFYS5BCc4Mae&&_mONyR%1%Obx<}X ztFY-hBuDWiU|fG1sy{+Vb`+8iXOMg;<|xUO>zA0lK7-^VLF)2jvXN}=BY8`ZzmR+( zS)N96Bw3A-Yy*-RVg5SSafjr6JPFC;s4;siGj?6;wWFxJ)P#NH+LNPAf{U8yO#MOM43Mk?gjdX8I{_DMjY_I^(B2t(3gV;Nxq| zUvJnyUCV-BW2OYP-t$wgQHm_+bzl1_LzMz+gz8rKDQ7AL-VW7m@Kbs!#cq=|zfyC- z8gnEmAl%-6?VtiVs#4^qG*gO2_(VTt{gtHHPoL(e{7i~sz03%m#&5H;>xYKEX*L?T z>%)_nLggyCu`I+(d;2mY_cXn9v@gq=*q0*vGIFOa*2TWeZEAB6%GTG?zHn3beyvY? zzf+&OM+}?tw@{9B3h?@FuGWAf~_bA*n>~PJ?tGKafO4tpb3L zdBYYJJ11T2Tnq6W5-XAyyF>!vyYC!tQ_t{=+K>a_G>Ka%ICQC0&W!l&89^cmQ5QMa zr^hSY#;pqpEcUvSKux-vMBUbC6CsjIUCLe6Wo?f=eoio4VPR#JE4kuSKzKmiE>>r?41 zU3nU`-EVqx5_hNlia(UPEA6|J+PFLSCuO(BTtU?F-3WgsiMtd2Auhz+o$xo23fhgk z^ZnoTam&c!dB??uzgu^Xwuxzu_doRpu8O9LE`REzx`PxwIoSPfOkmReHgVQ zbvF@~TDAu&okHU7JaV8?ap%mp=QMC-9gb(iCZr}loUyozb$^ZT`-;DVVotVN>LY?P zot+%~_$~k3M-CHmA#Gzz*lWLR2*(`W{c9lTU9Y1ph&x5ReT5E7rd=t3{pwG;fnd4! z9KY7%BK}AEP_Fg1z$d7dEIfuD%*QYC2k+T71)j&r|Nu2UFJm9jb ztB&QdpAH&|ci?}X!7sZMwFqb9drFxYFHs%zywQg$Dr~rV2Eg5^%13=aH2(m8Pg`)4 zImItHiFdr1rnJT5k0Uc3Lo;VgAPD6NkN7w*q#)liOiDY=oVW?#QKB$Q*l3%vn; zc>?^Zye&?A6j%I2KeNbXzAIQ{a^?qE`;l2Emo@Zx6Q8;_8e^;^iZgd{nIAjI`_!}| zoD=S0DsrAH5>+7Ue6#Q%q8AKtuH&@Vds;>1(WatDrHj&#PJTmX`wf|IKmHJ{t&=mJ zif^7`KVIq}Z`~Kje&BOKK2wn8{-&ZI+oIv>Wsp_4b{pdHSVs^XngKW{$eG=i9RE{beu~W?3`S(s z$B|_2d+cPyoB5um^lB-enzAJ?en|Bfiosh^+uvSq*uR*g!#%w_!#bMYpBTJkx6|E& zaeMb*yqEyq*OAHP5s}n-M#Bg?h%-vwnQ)19iA>lrYTY7}JbGQp&|2e(mn1fB$*_Lh)-G6+hT7zFdQ$s@cwe1$=#thQklu(e229F}YT3llhD^ zErcGRpQ6c0oy@0iwhKiGaKn4ZYv7Y+$7@7>_^`oSr|%~TbHI5XfYzBD6#cp6m;;Yu zlzvHe)sCjIB6*arj*R+`_mHhn@=wMy(F#=Xm%}Oe0?B1nlL|w&d9(DPceJR8g!}zL zO*m^gMMZx|VJSTEan>x;l(FTI{0G0N$e+kG=! zHN$sSlU6ZmcyUyxBkg6`CAcL|p3FUHlQ?>p4?5jK@!Kr{K6!(K4AkGKUu|if-YHzY zX{RpPxCWm`QB_CP%5=VL@~l^pQ?o|{-iGPmjBofb7NyCOg1-|nL?_^c>4&F)>Fd-q zKOgKLi8zYd6#L^z8Z;dkD)zLB-JuTop2B%&c+q|a8`6Q36gLsE3s4~!#nW>Au_PEytZ%tlD>sn z0Y(z@>YiiaSN|cDjwJso5ay(21tIczw2rhm`buo49bP#g5c{WfK5b_sr!Z*5{t(DQs}x3@KK}o{!2Oe1HGi7*QeX)(HsW zPX;z#hdr(6pHZ|yNDjftR)o4X6uX&gyP}*2Onjx_98Y(&G~vof=+S{`nji{;vuN=~ zt87|4W8c!Wc#yY>#1^`?BC%GnF;>-$TsI4Je@&i?L8rbgPkKwBb4*dsRc}oly)$@;Q73&)7H!=vNmz?_)=K7yrR= z$k;dPygmbH_#LMT6HPB2=Bd#CBa}-) z`CpF8477n_zLU~e-|rLpnU=yjJiW%guOjA%9Y7a>jQQZQ-COYe(|c^eEo#AV*Md^> zb3=#!H$?AA3pAC&C+QZ%3w*ji>bGF|Uakew$s)A`_$GkElssZ2Y$7}bp2^H!IeTbG zn>{z=Mm1!NYe-L1@c*hIist&08p26oqO0qqa4;!6)xmGkn|_Ph`Yrkg@8z}Qm=p-d zw8p&Hg7K3;^exoeW4zf&?u+X`VHTv72aXQ9E1a1CyiQN;vB$1gLvM5qEjGvR+@;5M z6aLJD2>*TeAp8TtA54awXl)07GDOz9Mt`Ch1YdC+Jv|w|xS!wdWq!L4px4BUpXuGU z8^`7~=Jn=w0^m`T;XmvfN0fM5Y#!jvJ}!btCc#^U;{7r;{-LRHRsHQ^5Ufp03<}F8<8Q@?#Yzqh@{}GWgR*;GpL6RosX}E9 z%Ni#v@Gn~UN>ae;g+4z#$QL2r_xyz!OtPI%ogYaMb+*!QQAZL{BA`uI&Hy@%ueI_| zeS$-zRxJ8FaubRS1!4!lCg?^G$CRTmuNz@GMU81^kB`mII{21)a}RTBAJJvLql>UK z4O==0vOlw;|M2vzP~&nI$o=YwJ_yS<2|s%V?-5qxGKUiv9_&>)eXOGFnaO==x8@6WfOS z&0ZAGmXCR$y@w`;)a0*SlZBCKMU(yZ{vTN31>4yD(v8g)0$DOrD+INR-dE%fltYCy z8mW**V|DY#wJe3E^Fc^(A;YL#Bc&f}>WlvI}N5tHVC^H-VCPa478;^;haWBfB=B zLS$suO8b`Xi|_2)3coKthk zabDdD(eZan$MXtJ$;MrXxTG-=8)DBy36lpAZQK-}i2t)(^R@eYsJIX+_>&qzQN*ru z_VEe!v`?^O&~rtw`z*oSthNL_glmbBSFlZK+1-+J%D~Rz#Ag=D7$X*jvS$D1E?HRPWh4`7Xp`$~7CoxGb^JN_P1DqvrDCAd3G&b1u8a{Suoba91$j^|K6492(fWyVyG? z?arRmP)L>}p3vn-i?pkLfY;+vN zCCZQ4?v;_`Y{GAIt1RP-kR9AAmwG;n z8@(e{C|OcdD?6+=TNf78^}I>pe9R@xjCOB{s87Mw;C|$bOD(!-0(!b*k3fRU_I)Z8 zYg4BmwwKJ@7xUq^SWgV8`Jq?^6G^4LO`X&d1t$xxSWc-gRSn?O3+JR#zmB3)fr*VDCtwl^ts$udZCI@wciVo@oJU zLZ10Yi>(dzAUiUWrXG0#lFE!?KG!27QV zo-Ao!0}&q-EiOJn-Kyxi$M`xp-vt%#QpXBgAEx94N|J1jrLcFAkDFzvWXVNI3RKb` zD$q&=dQ!jzuodNA&7xeZAeip@$w3!%?YfbTDmh=>l3&V=LgraUHjL6*2`opq;BaDN z&W`|q_72I#>Gs4t-}XDA>+c4@KO)QX+tv&ZpEZ>}NzZkBNfi$u7h=W5O`A z*QX()nHX3=#4Z-Ti5qa}>1&CNoJ*Y5(N|r~`CIJh z#Z1ySpAx0|uDvGXmY%vct%YRh)TjAS)kGVHtaz#j=LGBRq0ZZ(eGiMo1=v(=Ov|o_K4YNkJzUu%gVfA#n(~_~pumPa~rm%l$afRQ^bnKc5&>Zm-a-uJ)HJRq@ULL&a}Y@xe^RHgQ!u+^59KE;;MHwoXhlr|4B)X1BfOa;|3BX`c9-v>Eno z6;|eCojQ+qQ_yw0X+E&nD+g2n;qg5|7zTvY9DTM>Wz!!xh7T~9`Y88tJ46F87g{hS zYyZYTUdAXgryt5F9xvgU#E0`Yl|myVJ%)u9-VKREj=cCtPAzRBhfK z?*esRxF0$c(?Am{gb2q9mt;x#{RGI2(gkMKA*9NVXK^w^tmK$eG=p!=9$}eag?acs z=(3)asyRh=;T}7ZYY(`Q{yx&UNm)yu@agL#o!7H!s*F@^%jv)W^0KPsgt(3s*{h7M zHMg=5K`aT=-%EnhU+8tPAo(E{-u@jhq! zEMJ}lHC(+^V>9S!MRln8h@^Dzf3IHo$&#vSx^b|&u@~E=0y|F`(6>-3Kyg29ka3^n zH`1UhXOvZ~0njBB@lN57y}kJKNYy*m`Xp1)Qq%lJX^i2-Dx`#W6;#DrC*E&2h+Dt5 zI(cGW!Rl{`zsonj^-HW5pu;KQ6-qia5Vh*DnJ6xJDU7frK(m36;p$SoX*|#!2q-oA zSX;o|6MJZyUVblh{HyB)SGno#mDh?A_yH=g&vKp#S;vloZT3zsVSmMDL;rtRcHU?{ zyeAvrzm(k=n`rQ66^$N+9>Wi?#npi?u;V>Y8JMDE1)Qg3nI$Bwg`ek zSo`<>RNZcZe&_XjzR&a5lNa>8w@$66s!p9c=hP`-J>7j5o8+mMpZmwyr<&N_m9)or zv4aLr1)`VKEVvg>9SKTb6`RRN|DvR8w@VWXf{8^E0Uh^ou=wYof530Sj75Ri_+Fvd zfI|0ELwgnHc}CM|cQBf&8BHX29CVfLV$kY*JcCu5@g8(1(v4hQ(x&pNP}I1@^+jZ_ z>nugRszGD>NHH(ckT7Y2W^fG7osCe9Ugz?!r1S1)W;|jgR8{J&DO;WMW~7oF;w34M z{o*Bvn*{#Y3uX|gfM3|f*aFt4-@Y<$bg89KA3H7g*huCA@S0&rn145?$_Ywc7UG`4 zhn34t`Kd*fjW=xKaWw`sM;DsP*A!?j!)-J1PhcQleWqNmSN3oo3qYvi?B z3;+o6cdG7fhlB6I@Z^TXkLxwNmxtGFcvlD1e&M=ZeBO#8A3pQ7)YWizc zj#}_+vDbo?rRf&1ZM7|^1;`f1d2a?S$c1ODo75}F73`(~{*L`~{kiAm`#V6)2={WQ|dq`uUQIdcJndx3ekQ|eT`>+;>7wTj=ymoxtbob)wEQ+0RW zAQ1kzk2+E!6t=@Dwua&R`P~fPMrJc+cE_XabaPYjK0s^$V&vrud%*1~NXh@>?c)h% zC$W}bPh!yU^iOPGhAJMzx~5F)AhLqD`UywxJq;QSg0#QCimnol9=%6PRV6sW!}FJI zFmP(w6Y0+W;M~-bdxom_v}ko5dQ5kj>5P)5$%L+;($08=zH34!mCjj0L>Qsd>mZy) z)E%#_Hn4ZhBWW4;s6HaxbY<=`Hh2ui>!#U==8?=`um)pseWW8AiW-jBitb~w7-<_K zzqnZj!m+4AHNy8@+DfOtHv>R(RI57(@s&<{M*$u}ob1yN@+G)}(V)lKaT-J5zq)5j zp}F*D(7aL9tu>m@Kl_hp-a+m{^C|dlOr!a<9fr@@7tKrV0--HJ^D!t_Q)nJBDTU@- zg{IM5c)LOKC-MKkp!pe&IqyaD{e1m*G;2LS9Tl)h^XI~{T(i_Jq0{ztJv#>&qtsvX zndwgmXthPltm)8Cljt!6F&j5KTc&#X$w#CKmSBKM_{;4edb6E`e@B_=UQWc2wpGFS zjHi_g`?g`h=$XFAg?5^4M0igBGr=OY&Pw* z!a%iS+-B-#@qswER3mSiH`vTjmC}h!GS%3lZf2~_kvdbQycs2whQJj*N%)gEFxk`T<=@az?byU5~@V!n!FB9~nVhN?r#R_^P@DA%^GF*IF zL8*UglWq22FCmUx&(oZfh~=J5!A2Yz{RubJ=X&m@b9K>F$wx62I|k|E1}8(2cZ0`P z-P2CpWBgq|rlb zrOE_>Qke*8Ddx&NymGgWlg`wi(O)R|mlX+^u~-0RVCpJ>l1T5P?!6xn&AIy`f20C|=OSV>#1ZGp;+$%Q*0>3bcSMJ$KAy2aQbf9 z%_P3H8ByCB&6fDMVB&pBs+mAZOElOwIDJrzx^scHzVD&_Oa>QXi{VrxrmG%;u~l1M zMt1K!iidD0Kj@K4kwdP|fP}eaq4iY{H9f#kbpCLA6~jIm_y2Dhm;NE+pMU&A#y$7R zSgJ!Vg%Jj#m&*;H4Pf8^6SOR&I%UnBSTIPkGAD`? z1$2y+or<lZ9uF!=yyYpsz!xrS3x7D!r{J`FRJ2l?w_ z@?b1Me~i(37fgOI;kN$MQ99O5;^vU;Gb)RK2BV2K6GjE5S7rp0VcoAisZA-DT5~IR z$<|tS(^qMBKQ00Ad&+|=Rm!Jj>tf`E<#oe`KYd&>TsJrw zsNOT9a)q*I=bS`aA1`@A8JcFDM}~=;%ctLLOAXfD+@^ochRW>nX{VEO;_N{6?u_#3 zwI>VMO-l9RvfpIt6(ReGQdBxQ`bP#n(Sy(cK;4bqT913cZs^~xM&2_eY!Ea zzTfmatM9nZH|^YHVr?inFENi>*1Nr@qozbS?xUC+_;d}o`1A`*pJCz+^$^u=oiRK~ zp+>83*%1acYA^1@t)}3Qh`BR0*ezbZ2mcr^*unk_S2Job&NU6C1DvPucOao~?p~Z| z?1zfyGp3J>+A)1U(L;ythEaxkqQ$0scd>Ui-?0VLUpr}q|vZG z?AqpbGw9)kZ4xDcGsB1Yxb?kw$0V*FoEs|stn#N&Z0WQED~@XlMYp$|oEMn3Y~i^X zGl<@{|8aA}b>}3@rwvUekS8w;B^wiu+ClW=S~H0D;)e4d-O{*84;$@c7&ECMGe_6e z)IXF$j~!t`k8Z3%CEn~T<4R+p=XgU4E=$t_hRt|fE~HUZ#q~mQ@ad1iWMd%t zLHV>n$?_hn)Y90h&~cj)NlzZg%|cy!^AoL}!p*+bEt4bP@H?rJEmFz4DX9x+rsuFK zYCbuQ_%pyXc?{RCEGt?Zm@QJ1cs;f~@lQmQiFSc^6~G8A;F8(O?qu??GO5<`vf3$2 zXLBprB#t#%GVq<-zP0n5E#^X$en?#5BYiv zJ24#5yRY(e6VlbApHZxjyjX7&%Qk5P-VfXpiNbv>>>Cqv+{vAGrXozAQ z2F2*lUEj%tflnPn43Hg`i)4JuIuS}PNHlWobd$ly!gl)+&sqPC$iw{BQ=ovWRoTN^ z^5A*&)f7NcgudwW**=_5&uKH(EaB!}xje})@~OQQWMq3UhBxNQISHN%bojkoKj&E2$AFtbMUuB1FneT%|ur@y{T?a1fuXWo0+#Y(a zMDdb?tI$fbB~0x!&F)>|7jk5GS+ZsFW$Z4U$eG5uLS<%RdQqd;GnfmMFU`)SUv5t> z%=(O2ELd43Ri1_{F-{%uw<2tnzHuHNfK7dT5c~9b_UKD)q&gfQnJbk<%{WMZfHOly z%P=XbKUwW2+k(v;L}#PzuNe$n^^P2B4P%wz%-?{br94BhWZPiuEB6EwZGOHHO;~<| zD;h(wUG;upnWfk$Pf_DYe3}WeGe!5E#3*4if`&(W*t%lVOqt*umFVVt{S%0iIu8r# zT$_zE$0Vrygqv9=R+p@vbQ%0^Kcs5+Ev3gTzI%y}Hpe>lliZ5zQwDUxK{LAtPhFN0 zaX6=)+|EY@GBt{1m`&J1ydY!L#04;LhLB!i8=hUagKtV zEg;amVK%@mlku#zpA6v&7xxM>4#sP2PFnxEDM?P#;v z5F(pF!obVQ=04l5Z*EYi>iVEUClczsyq=Dr-)e8-%e{>XIgg}*E+r`OFKYFI5*8}q zWlC6PvI}D*TDzDV5oLuN-JV@FELeAYp>}a2w><9-QE2?Gf<`q}(fXvKRS+#-qxB6y z#O!WjmYhQwc8I*8U4Em}1FG+?fZ3)3M+>Mmrru}ALZ*Q4SYUPP&3zGYmC>W<1r%1+GUkl{c9FiPA;#zgl*2w?&BkDr}D?&B+j5Bwm|z# zP73Vy&s+&lu!!=B9qG*GWO3|ki4x+snMM2xuU=y#SiHHaL$GOW8+SRLns{mJe#py= zYftibmulSFh*~zrT>SP?F!m`6N1q_Kx@%Te6D5pB7CX2w2I|nJv64be2*;nd%0^(h zmDiYsZ80=}8!uVawASX!3K$#d<>43%eno6oDE0++XvaQb-yV!E$Z*>Hv^`nT_E=86 z1v6HL&bra(uRD+&P|{)Q!Tpc%)4{$q6W5)4iTPae$pU>@K_TpyxF+g!wXW&J1{745l1ZH z4lXVTYW$Ukxa`#VmQfmRdsMjXB!=hw{KV5nz(C?~{80Gg3CCBo?My!6f+WaLYwNDa zj{GBx?L=NhT_`*8I4yBI&<_d%2VBegZAINB*cL2KRI4;ZSo>*kn}bWCwirT^85JF7 zE1E#8Z!if4X|&LvmpG0R6{^&LM7I*6b*-P8F(O1IE0urFK83zN@1tBwoN z8r^0d#&SkBM8!V;gLB<->LCvs0dtXaaLRUVO(!3%7v2K1#J^8I)QEFHmj5YkR^J@1 z%X~}q4Ay0KF!wP~;YH&3li|^e@5+GsBp+p4{$35|lnJ?;b`JJM_P1DMHeNc<+>|b66`>itxx@i*%CFEh@Sk6J zveJRs9`97S1paklYN4C!QN=B)im2j`y!gA9gL4@GWw{Gz+Pr{SVYz6xDlgddT^sl5 z8T#7uzJJTYd>rbO_)Z& zvZLf2Mngwr2dC`Ru<+mGsMk&Z#dd|`f8}E08bauT6%q*5jXA7WMe%Qw&J4yc*H$ia zEaN?U>zywWr_^7&zbSAM5|v>(a_@y|w~6@}6KO$SqDhxjwa6IU(XrZ1-UJK5YqT)K za5LkbK~+R7fu?D2 z%I(?tx)c0AXjfW7OSdCy*%SFR@pm;kJq7%C%K+ElJ6QYy6Lw*#f9B6jgjdawaUjK^ z_}^^Ct1B-SmX)c$_EHV9_?2Y5GZftkmU9WPW*q5?RQ66)!e86d#7|emU-Ld$yHe99 zKc&hwOZmhS(U*9f(Ue?*N_?LC55neopEd_qr5MT+!G{-HoZ)WtZQ2Soqfc{#O)dR` zMRSA4%?;M|eNcKH_iDgw04nZf$gg(K%X(T2*{Kzq826VM~Gd@ z<#@`8grhOaQ~iK{^8gdekhO~9RaJ+Dw6d=vEW~CLy30n3NOKgRLEUH|^!!{jr;U{z zLhSh676RS*{7_C+x|{_&_94Qn+|w)j7eYAKJJ*3EPKm`0oxr#6@e3OMezN*EFRkEVYR?7&oXRB^OfBDCzYOtTreg{h9m*=^sKT7*!-vrp~Y zm?{=gMdyP?~i={Ca&P+icNR$lYAAVzJ7k3)Yu~$GqUs*f;azNp(XXh zQv)S)dwX1iATCjNFbFOoLWACI*BG)su&%cu>u$S$Xvjz&Vp+TO9NG{kknJ8xvb`OD zu<7_msh#b%iJ5epdUC2NJmp4nJ$Mb7nIRc0{-)}Ja9wX{2Ylz%O+2a4IbyVDayu`w zBv?10FdQ36nb&jDadW*WUa;Bd-x&tEV{u!f!MaYScJ9KL!N*_5;EM%j;LMkZSTEc|tg8+VHGSX44ZOI&?}GTmkFZvIMYHq! zw(dy;1sZI$-7J!gMrBc#W0rn*8AaO!2T`tb2zdu%m**@0Rq4EjQ_^{{@JF;JnD0*K zD;UF8d2Ob98Wjo`ubq5kMLhEt_fNlQ{Er3o-#Bs505RamPFcQNNc$^BW&X=8RSaX4 zUg4cpDB567E4begC8efaHTnGWnlqaqhe`J?gE}|EJy8+fRXbE*4;2_LZmP^d_?=ja zn(tZQp=e9eU;6@YiF%c%2X`bux`x^-CDB}{9~hJ zB1pAZht*XK^-gbqQS`5=6@gF1NUb&g+7Kb`2mjWL!FDNr+MvZ(F#K~0Dq=l@b>~2A z7G?xv;~+q%oesp9l(U^HYGjEEu>tqj{`+-hX?7eGI#`81MG#Vle2)8M2Q!kvr8{7@ z&J===e?bVIfZsee7*L&jNipG3w10|icHY5PloGm2U!&UAWl)Iq99aT6hfo63$Kkr6 zSSv28h;^d$-l@`=thfy`HDL7SxQ7EU%Z<7=V_9(No?yo3&Pz;T%Etc;$1 z7>ecW3}-BNuL2i#GQaL)GE?8%OniT>oVkSKqw|f_k);<}0$BCN3VjH>hO+!H+ymVP zn|)%=A~2=>NQlBi@iyVu+)%TaS%#6AjnTQ_^u!;Uh0oFKhDH{`aa$(mCwd~Vu)I&< z9_1-dbtJZ&X~^=&T(j=Kd#yT5qa(#8`|tjQAa7)R%#2w8ueuyw)v}fUR(!Mz2M41W zl)cCuK>$59SmDs_Qz{`>jcz%g9=ZB@@&Q~Jzsn53O2%)XIrCk8gkrx0W|`4;g|gV- zp1`0(knL=Y9O`qs>w|kzWu_3kht(#wrM;Q=4MdjUa^;VmeeP#(GHb8Ao?|KNFwH`= zEaF_KwJyYNHR!K-h6sVEgB8o?yfIF2$%0s6jQMEq-lS(V>&xrYo=VQ9T-$TM?cv09 zG^=qh?B8kFN?~TyXz=-uZRCUsdlx zw~r}w&v~2LKSL}Kmdks+rgsQxc9NlHe<3KfO3a(w2$BA3Z`yVML$Q_ay|Z|V(3L5( zi*06K%}x!!UTVanp=~?e;Jd=xM&}u~voAjSGWUGG1G8{;?sMLh!MIKAvv&_FkWS|cMg|TaadXd}AVMKW2 zJO;-Ys^Fd3dYl${9(FkJ!v)cADsn90&g1EvdM#sRxoDC58okL8l8hFgKXwi<_fURX z(;v69iNOg=GpdC9ef{JZvU0NLiHyQ9-#J%>e0&W`ES=1(Jjks73|ElB2-iZuqX&=Z zgyFu*;Q@dBZ_br%bb!oXdnCcM$~hCU=?V?`htks5YzD@@(%0Y8W3ggaCKM%oU#y$` zv&rTeW%Guzxged5)|7oMxr7AIqnRUdtcULKDueDC(-|e_4+UbnI+LvEhB4}fM)w*6 z{vUcg48Zp48#@_)@sb?nkUxXU%-v{mxU$L6=k#Ea?UQ8|`UA0PBc!F2-URSC8RzK` z&Q>W>+|(gJY>IP8QJ<%QeD90!zqfYSZQRC9Cc+5lJ!Y@(8&I*27inzAKSwFKdc%`&$Z{POfvm{*$bHlF&)|Hm5%IrfJEuNn z_==F09S(zO{ebRx=UJ13Sa*?bp~Bk3AP|*&?qa@bP&Wl%O>n3=kelE3Vh+FQL)@GO^B}Fw{gtXHohrws8Zi&&&M6ePv^OaJ7W|9% zum4XP^0gp~-3Ic|db`&w*DSeRG>c{}VNNqI9&GZ@Y}&TM&9u|wDoy%FPNY-DBR{4d zTge?doi_>^{*Lw$?xu9F6m1s`x18stV$8&Oa@^=+Vn9cld04URZ$k!i!pZD4-{@jA zZjsBt<2&rJAs!o@1lk!YgCdQqu#cc-M((2O^50l>k&GycM8Vn@E=;#k>O%zGU~~V&R_CU z3d_p&iBNxRtAfh#CA2;y1*egr$k>&*eKA3tQ|5Gz46{>C(Kw`&tZep-RI!iKo=zNS zqRb03>P`8rX7e~Nh~82zN)tzW%1@Jm1kQwy&G@NYK(vX2i6&Q}o+}Z9^*{`-DyVYh zEX25-yFwx&gUzwRmGFCA8m%jDHW(S2M(ZL1QYbA2;eFF+ea%7)N{<0@WE!mx*i1T7 zr7nM>N^c+>b)|I_KEAjib!78a>EMk-9fUU8;0Zs0n5^-)a#}lCu>5H@;0VQw=V5AN zvDq6%O00=EZ7a)b7f&cf-mR$+($ivX)IX&puLW*pnHts+2(u8|D5j(<+}qL%Kx|d9`QftJ68EV`@hZ?I#Qo7 zt0-et!Xfu{eTwS9l$!S1%fcTaIE0E=t{;7s#p?2_x#f>t#9Eu zgUsS+~$wKH>kBcNBt;~AMAl*b(ijVKR-o|em092;#zE=4TUyQdq);ToH}EifQB!#k*u{HrFF=-p4y6wHI~9>I{STzd(eqjzxb@L@)Kd< z=V~Z8Hkap9NqwJvzx_VjR2oS!+oA#4X2u)E4K7>6diiUmN@;b>oaUTLNNPJ{4iNe8 z{*YW!+nLlx_x!pXyV12>Wisoh(k+2D(utEz={iA<*utFQ*Jd3b&|d<8i(Ag4{vq8L zq7@y3+Wj)%nj4e~g}?SwUIn`TL`3Q(J>efJkTj)mO>6BtyoKYX8boTU`?B)CE0w?V zicf2)CP@7q>A;6gpgV*Tf@h7!bis1J=jB_oFu9OdWf*T&mmuH9g#6ONaQwpj`fROh zwW|^AcPy;z5Ud-KTQ6~4(c+>Fq2eF?cehoJm^?(fghzjcMzS<-V0_|X_#tVZ5sLL) z6pS`y1T(f6S@b9SGycOf%oFAOXg?;NZfh~gN6G!>AhiNTb|~N`VeKop%Wq`l$M)ZoJvs zZrTZ3ya`p!sIITO1H??lyKZ#P)=S-AF%G+UE?IZ|*6MxbjMPp<(l}+4Hhq{>Oqk&yJswb0XHa<+#^`rB0XT&m)yGvr{IKp zsD1g-ov4?($wBwr4+Y|-#JnIo3CI78kf?t)o~iK*z*+Uhloo34ZxmXhZn#C-tD$wj zgiMB}v`9BuQ5RlNSov8vw%eqQEerO*@n9kp@9MaDizz3zOVvd|X+_m3Cg`w_kwBiw&)&3i3oEUhs_WF69OKq4`><0g|r~h8R;wX4GXnH#V7Jrg4Q!Ce0EC7gX5{I1>45 zPceD5YQs3N%5weR^X&3}&C~VToNjP;(^IVqInV^$Bumo;NTV{`>85+f=U2qgPH+Feb;1__&C5<@nKCViG#6H4 z#EIf|Jo4A2OkWeHnN+T8QcPr3K*#8>ed-Ghy6f`Y*FLu|W|tVZ3msmAOkT)?EtV zW0(jY(KO_)J<{zE3WU&EL!fq>wByB!re+yE1EDL+M;LugJ|^l#Ka^Jg(A8f%3t>jA zxwLU(o9O!X7}0zY*g7AQ_Xxp(>UEI3s4%X3HzxCfIkSJ-0%Zy#Q5uYQhX?Z4zC=K% z_~u;B)R4^LY8Z4&R=pXr@{~Tku6IZ0tvX3x{L@AdP40_0j&Af0c6dndQ1<86$o_Jf zdi%!gt+mEXpt7HE#ta@PV^bT%#+RD7r<#IalP+-H5T|()?>8d zik6^yJGc~|g**3DzH3W-ioIfR%5GTzD8tH*74ggWS^yNWWaFD7BNY8`M@8(qmT>&& zAI`p%A$OgF@@F-#!T3#xDsJ8sj8#zXA&X29jSa;HX1nK*c_=;!yA624qNNAFnU8KZ zog#y;?DJw{e)G8t%_mdy3-T5!#T58!CL3ZkEZ1}Cm)xuQc_VHI!4US#%Gw=F)cTY6 zPYJ!+{sy0#p29b1LTlz1DtlR!#0N8pN^Tppm(%=uK9Y)biaw+;ox7BwR`VkbNOy4U zFI1Mh9_WP~q38~Uxx+NDvUUKUw%Ph(+#Nn8d#Wvvv7ElCsRTUPAv8yG*~ z2lw?=Dr1)#9;yq^WjXm=0|{e7mfTQmMX1M@CSGFo@75G8QK+xd>(qidX=*_`70k~* z>(m8Moe(BB;Z_SoP!qH6wxIhkz+jx0yA`XBmGNd1otJ9`5_6kcB2CeTMj4lh&OlqV zH^CUpe<*q}#U!Hc+cXvf3u~4(QH?F9S)tgM;xB@+l@&dHHI1!SC>TqlD?k-e>X^o= z%Lk4+;RW~mm1!c%%FWm_q*Kecw{pKZyER4(qbk}8TA+Git=wbi1z{vzPVsWDTc(-J zS;C3uWzNn+CE(`)+T;winH%b_iA|dop;hLG{XX+AH4em%Tw@@-T&5S{x}OQ*<@Dbt z`iB`jt*ZDC0bv;Ut_BG|fLP1e6LgRXIw{qL_kkI7b|pkf@(g^8x?E=SwT=exul$%; z7pJ1%#iC{TfC|j6?`bCr-L$5S`v|>aHR!{Pd6rStHlx1D4`wvGbHRYsI<*!)SH#;zKfD7sRx_l-3%UHt0blYksHkfKG#%~o%wD)k=l5t1QNX=zk}~bi%_)OO3wBt z1G`S{TEjX?pEg%u;Ti(xHu!sjQ>xvcLWlb5&rgYAko_FEaaYpqmL6A}k~RuCs}#&4 zoTB%buD+5AaTg;M{N;PvjZsAHhCpoQ(@x~&_IjzT8%BQ92DaoxQ*o%zQ<*yNJ)UbfM+>|pw_0hKxI)w;hb^4Nn3C^}p z+r#bX#COSuI;da{61Vw`wJKinjv{<+Bj_~U%Y36NsINv_hLA6(o>-EAK7?nWu=R}^ zU}#`eZC!7fBMe3+z0pa&Oqp8i9sp17yP&|yIjghJ?J4}w!%KJ~7R9iui@^kng7}R- z_d;PiUh=PETk;}X@_p|i@#zRJp_J9MhQ;sf^~98ANZO7S+wexRbk<#^wLF444brTu z@2o@0+)7r-k}uFL)USB;8lQ6j4JDtgHoJ}X;qa(0l>Vz)#&$Uyb|n+5%>A+WAd)8J z42YRqOxY>vqs(D3@q0W$b!6XlKQ9ubar_~6SAiJ;HO~;=J-`)dS?s^(fggz)ou8W$ zUAS9{I|~Wt0^K}v`(SRdh zuIWy=o1tXdJ+w*&SvCjH+v?Vd+H(~7`bR#O8kYskiEB%is%utT+plR6pBc;7vMEC~Fp5POj=slXP}Nb0$d z{c_4Ly1gC)SE$xJw@om9gumt}7K?EF_2KMEP^%eXi8(-}qg=*e37D;Ul=&tnKMc-% zdwMXR$szkDaR!xmni6Xh-I0u(ZS*7GIN8%#l5k>N{BvcOaQyGeUK0BQWX)4i{Jp<+ zrLv69=S)#cs=oqP&V!N!V>o+ehB=4yG{+AyWt|(0a|guV6aU&fkxh(+KQfAB6icDb zLmDXY_f!%EOXB`?u(?*B`ZL1!dz>jFVQZ#^WX}oLXc&WFtapKP$$ca?2L}y*fKRFd ze@$Od6O84#<^nL`Lq^i(+|NULq4Kt|d+U$GLigimMbG;dK!9~wgUo!b@pXHX=ytB~ zsMXd3N2|H8R#cex@uD_}bfi;Vr3q5`wW{Fi7B!F{?SN;+ zzmt##wHV2#>=W7GF2abv&R9l$t?2(luei5EA@=rlH`)H0zV_E#qO9cPgc(Qq?c8qU z0WrK(hZ&3##Vyphs$&Hj%KXP3B4Pc@!b+w(=5Gx zueTX`Tg{u(1-!7REhN5k0PpTEys?W=+q|YV{sI{*+8QeUl7=lDSl7uKUA{gPbPB>Zw*@f<(q02$07v`u^~OJFPJ zz^x(6iui3D{e`N{*$7oDPz>=(J$~lcz}j3?|Yok!RM|birFAQe$F|;m+y1$ zBpUO_Iprv(D968Zox*x!nDshQL-CaK9Wwi*31EZ8fYB)+BoG_bJ%0K>IRY|0bMNFYD3heoG$lL+(BIGN18BS07<{Gyns%Ut4RV(A^PIizZuRwBUuqkmwV9NK9vVQ$zqjx2~bDt#-RD}1F9`)VbzmmT!6h8e8WN%Yx z(X54~vH&tB6*mDdTIL?Vm2tY-AIslH1UZV)Uo~o2f9(MTxetttQx4 zJXI^nwuOc}o=r@$`Zo^=AdGwfLiT1x4l`xFhR&0`ww4OG0Rq^8xX~oV(zZStm)eTe`)}pN*e^&zDIzR?UZ`~MTKJDcut)z!_$>C4-_ycSod-Z zl?}$vf>Sg_I!`sEhio5HxWA@Oj3KAy#Iqh`7*$OCJSUQ(E37r8(lO${&ucxKpm1z- zcI135H+^)z+32paoqs)&1N&t2ohG-_l8+y12aJF3fH4s?YFcF(qXN-+7}X{Gwda}X zbAE1!GY1m-PusqmRWp9^lX>rTp*=ddpIuJ!Y`itShnb=;@ae`tbUn&L$S5udkghp1 z>-TLa3WG-(TcA18F@#}*X!daW0iy=dY|}=X*Sd`nJR^JU^D^-mkMcqTO=OtkcJ#da9HMqTALGe( z97B#>gVZsdO~e3#KouPK@gv2yQlllIdPz!sDPXbBw1R8Vu?a~mJ2+S-CRt{zm z@Af99<)ho#L2twlG$3W(0DV5@EM`~0POp68r}5%qIFk&GLeFk-0_uJpfwqZHHRy;YRhiiJmvj9E^%>|@&X z5y7#h=*B~XP0kThxbi;PFAxjA0n>n?`4^cv{~fpmAZ}jX8LbJ2{Sp(e;guq0W*1$& zhGy}^HX>X%2Hkb$rDS${=5GFd#27!<&fTPsEHq(?8qH{>bDWpA_#qs~-pInvm7dy< z5Q$#Ky}Y}YL{Ne)XOP<>QG(;V+!g~+O`2?kiwcRbNfENW2>&zy4yd|UQzQS({Q6hcv9_ZB-K9@4%>FmJ(NaItryc^YIvo$ z6pGhHr24T2P1^CW+lx%#Mj*r>{+VJrMA9 z{xP(CtcF}Bxq|6Iggbf9nME=3H39u>#J`_L#77iyb%Tj`Ea63s+QH7Vgu_UKQ-p&L zcTJ9p=!?)^gO#NYgqeZsW*ndeGy>gumpBzHPN=I5KJTW*hQ4$Rp<>jck02T`Uwaki zp24FcK1pLekQ~;_U91wet#V8ESGZ`M5$q%H6usl!ePKT#KoW5S*#`BtfG7a*PV;zH z#83t{OFhl&ZVNx6gRMwK%&F{TbFd9GIWP~+nhr$UM?*7{RMk+-Fp>+r3r3C!#Szu9 zU61}OL0~9WRC%y9u#zGJ+N-)`64fl_;s}M;lZ9JVBE2~b33VOKbWfhW~+vzKax@( z*o+qMTeDlqfhv55*xswcb%Z3B7%7K4u#58Fqs!Bg%d}w-{vZZzD6-&`7(A^rurqWF zT2wniz}{l_5i(#LRm8Y4ceiukDI5}72&-jt-iWT;8@n<;uj zqSOALFb!66?_IS=Kfb^R0}ffmxD$;Uh9_$AF*L@&7F4cw*3B zE60rC_!XGmFP11}%j7C8D$!&{e9$vGIvlZoi-Vel<`tNJ3X^K39 zn}~3HXfSaPFM)XY-@A&I$%96&@0O<$b1=UMpOQ>GXnj#oxnADQDOLG~QGWZ&~JTnt|sayXI1p9pNOXx|$qk>GH4zRC_9G_T@f#RqY&vn(*@YQk{y zx@|Kafbt2LJ%d;Z;N)O8V6qIEqdmk+{MaD#N-1n78?mNt9$;ME>7r5iP!3pFx@+dl z2zl8shb>~8#1CcRK`*&RO~(!CF8PgUXrvJQz3Em$c8IW>?-tBb5FZC5kfeVucLotB zF%VUTUMmBNVjMD%VTV*GYcCQdm5~nOMCZf;CawYzbl`Mog@mq2dB+ZTSO;G@EO z)BiaI$Nw^wz(A|M*Xbtb3k<}arNTM?=mFQ*Vo$Na#{kmZ-{4_wNpD;ovORL|v31O)s$571v_15^V>!VIL0~daWNDeXNZ>^dhB4|oHdkg=($e4(R(kx z*$IqHC}UJO2OMY)XGjips)UA_usY5oV}!C`{NTtj!RU`Hb{rQv*k8Mu*0tJsey7Hw zYEx)BR^r+v;77a_EzJ2E*{a&ENbD|&>c&Wjv9r}VMs zIod|oQ7sPL^gi`6pVP47Kwop#TSOAgNgPsNN*)c0>CAsyhkR~bl$fdcIL|+GK)!$G zupa)IRYx|h$!%Jj-C;?G=HRHLyZ=bBzE$1bHs)nOSE6+z;D~*rt-I1hJKSAuU%I%< zcrnMlOo1BQPQSkzZ24>2QXhFmq3W7!`#VFn$R9yjo{q|7^xMkzDg*w;Mmfbs z$v06BF;U9$y(qcP)s#k#*yxlMI>YQoJ|DfDf%c=2k3LR`{Xm9TR_gS!9~cFe1)Zbp zM=2kJoI~x0sx;h|{-4dJf+J1o5BF3B%SP^7!Fz3#>rIr1jdH!BIA1(s8Awh;{qATG z$hRkfirC45p#z?v8Agg4x!qaw;P#~R*rSjWNbhwTS+B4+vx7Z?qcbB)eaGyogYmYJ zllHl#GsRV>&f`f%qb-s1er$UZ6;9W^u^-z@&=U7JF9G-H7c=0MPRu{w8Tbp|{2yyR zFv<+$lAav_e3=BW(gO^%fZNh38a+S}08zW+Y=mEOQz@VFBIE*Ku)iR9G^@|?uph=n zr~80HxEgR%V5HCOVUr&Zxc(BRw(cproE+RIG>Z*WcCL504iHUsYXDfb>qH~vh2sZe z__aUVnSV{HF3K!dnGFKKhZ|IcRM87<(PyM$JKw))k#Wya8g?a94^Cm}LjZ~I2^yCU znyny=sY_b?sfNFxpaz1z>OxQ*jdAWL2po){*rH_(h97XYZ41otR{z>u0|?AAjDZu_ zwn;3(PU__*Y~}7#R<|gtpv}rp3bXV~5X4)0E_=chv&E(v+QI?emzAayY1Bs-kq8D| ziu&FKRpW(KG)F9=EWpkEecgF7Z{5QbZDEEYDOltsfZjA`@->RBPpN4Ya}y;MEt_o` z)B-y*JJq1Y2Jnt)Ps_F~YR*i8%qZX@rE(m`!Pbo0S{^TWtMOsvys>Lc(N7Uc89&T3 zuytPutjb&jSOT_cRxc zu62sJ@|6iU!MOgs8Q!-8HO$? zO$AX;(l+E;maa!6kFgbZIKw{-f1Of+%HNH)5jZxU^AkRI>*RrOs@ z`kW{+l;z$WTUh#{=JitOc-h>IBK`ka0#4O zACoSD499&hokh2F76+%Z2#5idn$)C?D(zh)&@tvf?AIZKLCln&3fX3`z#?4L5cO4_ z>>U3^mTo4=F;}^BH6APWHfSiD<4VvIXE_vNFUTO_IJc_{sOD6yPxUpG_9G8O0xrA*DAt%%MowNUP7KF1-7w24## z1(>8(&W*Mv+&}2taZEc*U)D|NV_0C5*m-gwM+W;j|G1y^LLE(o3ZcE?G}=<3*xaH< z=1HxbGU59YdBr!Z^2ZfPeVfP@hA$ruJ(@CKSh1E3^HK&Rffx=s*)~r3X~OSNR^)73 zZc)b0HTHA4sc7$N<5U=H3}@xhs%X+5+s(Xo9WC8L8b+^Fub0JFAoj6y72d_Qd0!1$ z(G*!n{775!S*tj0OsO#c;Amu3>Ff;EA+}1k9|LP}fL-2oq%U!j7tMdqhw2$cZ5^>k zI$~C+cvt1oPASz^Jx1a>H&yS6RjPNAu0E1#C;XV^*anRP5L-aKxPZders@Dq=#eZ6 z7{hLPUghOFue|5i0GXCSGtISlb5#{E+jbb^Pkf8h;Xd0tYW`qvxLmWJZToYItv1_E zwFON+(&jygyy-MoD?_nH&{MCP5%lWsTkD)2^>E@`_L2ziUc3<12>6K_{DGG1ytDKp_)rEvIkLjIjRq?j2z>yb<|Q>!Ze8X+Rn`Lc+|$@;8C{^Fg&WiCIes4#`LBBGJ~dO z*gfa5j}O!+sa?mO&sa~?U+v*=iU)aL5VH5xkMSVad5|{*(SecrhzF_gAY6Irv(9=a zdXQ5+2yT?EpXmCj9;Ay0`I8{k%58=RNq%JO78ImWkjFg8_Z|eF->hc!&w0Tgd%>NR zpdEFtf7yfl$Aj!f!(wspjtBXh2l-AANwMnZd5~%kvRDvFO6ouGAlG`3*99@C`P74i zJ;;NC@ZVRz+Jl_pL2eg>`uXa=^B{R1OgY5axB4B_ZSjPJ5fAt{iJjjWH zm@e4uLEiTu2Me;l(zGkIBlL9^^a^@_-;zfxBBhNRbD*O%Q{CGd)OW4>D2^gMe}mvik#zfO7@$<&)b5 z9^^X@a)N>IQ$N&$EcPG=2_nK)f0YM$-Gj8ynRD6*GRA{E=s~^~1c0x;(u3UYLFNl$ z5IxC*T;)Mt62xHV4X+CZc#s)sNUfLVL=SR{AO>&uc#wlV$Yp|<8a(Pjw!d$2aE>6R z2G4nrZ#+n$AQCs#zv@92c#s1H0d2new>`+q9^_X_=h9|hb$ycuxz~fN5~R&w(tPYe z#(R)PLD~wk+=E>1L0%9fQ;^jjq|AfdB}kSaYdy$u9^|irbQR=B590SA!v*Oe$W{;X z+hU7@vjy2tkfaA$?Li6z* z9z@qZ&gmvdr3bm$gNPBFbA%w1J;)Fb@}wX~3Np=uoaI4k1j!fVUJug4Kq_yV(?g+8 zc%l2-(BX4(6#AkU`dhQwUU|-(0~Gp(7y6A2Jz>tF3Z3nRF1DeE&grbsCNK0&6B-f! zECGvmb;+EwZV$q&)qkK^T&Q8(8i@hTaoYH@p@s0A1Il%;JxoN7a|IrT*dV|_!U6uG zT?VQic*k?Q8s72NT-b?$%UPk1K9&`F85dC{vvwSo@-m7!HJ(PbO3N83GLLPhc-^*& z*HTWegCZZ#PIMMij4BO6u}WpkMJf5JR)I5`8y#YEhl}yNByuR0d)PN%Ff6exJC9Dz zKfh2#ux+tLD3ffZ&n#*T#n#lXRdXpx)C7H+$x=DWagP>w-z|A|_ZrxxkONZ)yilnRexO!F=>2v4JwEkd}UtCP2G-NMT^BOZy~lc zlI5td(HTg1&Rd>_Ku&aLc4dca$uqx=FLBD&c^qdjUx@Mww$5wgeP#F(I+t*N2O4yO z8Wcis>l!O!9J`acmujS!LcLVBX9E~HIdQ1d@nbN7vaZlMV=CMrDE~e&OzPQ|k1U{< zbA$y{mNtFY?b>n_mq#}3?CvarL8%+pUMO z0b_Hq8JkxinVoHMWjjpszsy=Yk*2<~>p5}(pB?aO?Wb$z z@tWF9`)l9g%UvmGqx%65?WEnO^}X7C)I3b0^FL^vsFW}FYJNyGl!r;wlNXNS%)`iW z{zI+nlIE{KEicSJTNy;Kyv>u=xtaNk*^ATNsE_2)(L zE;6#}5P3N^BisWT3n$OXB<9P_WpX~MWQhRiVbo~-pgWE_xcJ`^l?uag4aXgqZj2gz+|v5y|=OF^=$6`HJ^v$ zdzZUVd^X`ObTiWQyv^ulc3u-RslQt+l$U%1u>M6LPB)wD2ZUeh`Z^uT?~a2H#dF5w zJt$uNHHXn~l&}7p6L`T|K4U<9%&csGjgH>Pc%FS6^(gbdeer}g*A9q{;kPVy@q|pw z(+*E;^l@)%c&q0V*NBQ1JH0;@pNy7v7uJ{;hG`|$#4 zbSp+D+J&MUGdL{ppwznkYnDYil=oTUzvD6xEamW(HvK-)_nbXG|W!~QIJ2vqa z0eyQVUK60;F8b4+Hv~iP2>B(@+giLoWul?g# z+Aj0j?7#CE&GS9<624OUarR;?ukNwbLB=4MK(O{##I~OkD}SXl5Zh25+fWhv#N15c zM(HKB69u`~Q2(9%lv`(h%;|=|k(a5jn@LbW-fr=!cjo~r;v-T^7Fyqxj;IeaejYVi ze;uXG4Q$&3tfKCMJ>j}cNwj?7x~tmM&G|=1qHWug<>MKMWyWJm9wlnlReVlK3Ro5^ zZ=30_83HzNmDIK@HnAlP_^F?h$!nuK4)Nc4qQIj+IHc}Beg%f=ZfjFM`s=QNDf4_x zp@KQJ)GRWA^`ZU2l9`o}JN74~F7hWj*=0L402^81dKLLVMf+ zWM3BVbazps9Dr$vmc!KVdQSPZddGD zV%xBL!hFK8ZQv2o5~aF!;ErD&+Z6o)E0D#>rk3`>N1zeaPrqC)@5w(k1i(~GXhWa*3kvE`79E&XF0=I{NR51=V9(1dmIkqp zoh{7;WYSr1^L8vuIdgD36?A*>V=u}5szoGKmF83hO%w~T_%?IW9XGb1g26mdJsfSD z;f~{_KBFgW229lbw{Pd#rO3GYEHB^=8&C%QU7v*h?ngL-`LRdg){2$WV#9ADq+{4Q z5By6yF=k>$n3Ib(y&f(~J6N6E$*%sl!GpiTw;p3X@HRg`H|(pQ-_> z==-UcCex&^O~ESUr1`dx7j3vLxr-P00D+#Gpt7gr{{2j59jOp3p!27mhx)GdpOm#@ z$l*T!^!9{CR=GYN=mFaFO-5E<>)+V8*?)XvVkJmhtrF0GX(cMMn79`$sXLEwz)z9R z+{qM--k$4=T&Y!6`WTKq2Jy@mjGZlFkd5j8;h2Mok-kwWWS)VSK6Lli0V-xWLrgf0 z4x21X5(h9Or9K4r-Bn_58-D4p)I|DB!rLpnE8*1SNt0ftlKbX6)g~)wm2AnwB)iFm z*R(2TmcobH@L#uh#W>Fr%BU)bYJrH0Q}LbYHv9y_0UvF_M{gsUQNxb5-~&v!aV#gp z%c75!OJz3X4;vflc|{i8W}ABaZc}q+`>vDsJD`t{t-5a~)cKBw6YKv(@KenNl5E_n8 zprbGih4h}k%w+x1u2fBywW*NvDU>YvDQ(Sm|INFc zziTbZYYwRr3j8%9&KzlTT(*?pp$h;ic2ZA67cOstXzUX9kbp zr?i`6@9@O7)Qj9I9?ZZEEIf_Q$*iKr{xnFQ7~F`hZy!vy=W|}LIP2h!+(XKCdjk7v ztk5cRWqwwGENiVl4*Ha@#cmZ0ga$*KnYXw2t>{ zB z-Osx$-GX&hUFr=#bK*&UpK*|iH3>EOc`mzKb9!!W!aHG&CB26bZQeFL0#wybo=YtUuTAk1S&bs-+q$7%}B?(!x8Ch zsB_Hk@}L@JWMN8^Xff4fX*tqOzVL+qsma|P4x{=YIxtZ6tBMNugQFIcbvL!aOHsrLpQL0Hm=eWmjq+Ka4+yN zgD{L-a~;+U7b&ht+`PzH!4f5joEGF5($?yi!D6mX>zd0M=8y#v+ZME>&JnjED6=+P zDHBjnz8j3~X;2>3lk-3@E;|cdUCjJDgW!5afvCE}fKmH_W}&^AS=-+$7Y2Bg0;7|1 zGyS#0dG*&1ITHK8=#KsUcLw=3S3)Q6?faYtIQuxLpmAPLw{q8ZfqKWdD7pAmrQ!aa`MOJbA1l0+gShoN<)a#)<9<|UKO(Qv56SSiTUGLm( zpplENjo;2l9E>^XxWlh)YG&0=I#1ya0ILQ&NQVHbJUrGk)%Cx<-Ki1ixCM4BApf{j zRvpWVwpt0YoAnCVoU%&;g|hU}cE)eZI(qtfU8fH|+h><>@&0)MdPHJ9 zcjmt}Mzd}P;pWty7e3GAq}|+tT#J|gfL=@#`xDU~pH0V1wf-?L<|JZ*8&#$91f3`- z=*sWK1&2#|$k1=OQ#Z#_<;9$xJ?Iv1LpA~Okc*+8ODLVt+jKISCRF$%J-!+a62(*OexOKe%q|ih?7`l!&Z4=W*|nh zM(j=3H=S;#7iX7Ery(LNJ>>(mNi;j_rzX|cl7zu55O75={Bud(5m z*zkiC{%?gZvf%-RLprnuz<*wF6b5ZtWw=vfKq24x@T5Hy0q*rk|IG1NRA)DRo7h9(_|6X zYEzMIuQ6q{$uPClamL!Mltc9X`GM$~DlGRp`|teD6y4G$QnBx{6FH70ho#2<_N0Q; z%CiuQ?Q3Hbx*6}NxeH6X<8g`1>9i~!)ummk3CnO>Oc!yKCdPqwN4so{>4!<~$%60= zlUPU!_#a%r{P-=s&P8U$FVFXYvEh_EBwcR#wCnS(jScD+nJRfECsB1>7x&jiSPh|~ zJG5Kft$yh>&5VWdRKU`8vn&Sem5kA!=#$afhLv^W=R7c2CIWRB?}s;ipNq&TyS&2! z_`Oc$9X`^?Wtq%n@yyYAK6UEge9~Ro-KYk2zz+9Fmlb3VDl)3T{EOxsbRzpet)~~x zUc+*W``v~nHjenLiOL-K=sY={L7tGe|6##<32?j zOf9~Y&oZ3ba3h(sV0LnPzMWo>usOcnTZ9)#++vsJY@%hBP8-|ZEK%HlV3sK3_yRSq zbX%-a+Pqu{rE=btAkPk*l3uEcnN>fa7o=akle2jWH%81K+wd1TpK2_R_xuFJvpilq z)}*O3XID$s31Vi;-)x#n!f}VIbuTC(fSuURD>l_Ipw7shhal^=CtjaddV`h`HvMTf z-@6oUX6-pPyqgV=DBR52<862r;W1}+={bJ(uiCLLzqJEkIU{4Z|`+ zs(FvzuXnC8(IQ_ZUb7s*g`@{#ROkSaAG~I z#S=zmk~)&){*|q*oO~H^HYd^g@g1b8hEd8asQf79|AP~lq`s2W-jPJ(yl)o!u-4}( z-5LTy#z)KIiWt7V>QYAm8`|hMqS=$>^`;|*n-v43kP2i)fuK)iDB$6olLcyAdAXpzLOCe&}BKHd8vtv=N zH^iV~!ELfLFf{nJyA2h%P!qP+>u3$mKZlbsn;F?_i~`;fN@pOnmV1Mb&n_D0Q1_7W zUV^d-ligajbF_v$iwD(hCQ7xjcJy{pJID>+sT|I?s9Wu#m4=WC%k{n_Pr^aPf|O{Dc0%<#7lnPUKYo&qrdzG@?&=Mha51O~*Sl*vsO9uL?+I#E&t$G)d+GX| zaT57E6&DLw^a~OLbsM=0{;lwFY;^B7xnVz!I*4a^AS1#Zso?7^jQk!TaHFrAXr`vf z^bJwB@p&?YnNPhq)A2KuS$=?_eaA?OP_0Rh4Xq$=6-mj<0N1^D$Fk!7dE!f%N}OAP z4vmT`ji-{~Fy_CaF|hQ#-PiubRUC$MQ7#e)ya)afCO*Jv#IqNxoE>TJFS~;qE@sR( zgV{XT#Ipo6(_Cy>jhykZ0Y>7+qGj?5Gpqw2{*(E*vg17){B@hMxn}AtEzVj{ob{#u zQcn4s+h4(_zg_hWbVFj#0o<^t5j=@a;*MO%J)QnQuEIRBgM{}D?=)-ZsY)Zta;)Hq z&CFo~RgEyl9f)Yy8ud@seDthMN?E>A3C=Z1SrFN5H0LeSJyew9fk1h|pAU@k`NF5m zT-`{BSwVo`PwM<4UzlKyM&RJKuS0=4r{*qQH<$mXtvyvUeoL{)qWIf%D%&V~VOKl6 z=K6Oi^olJMF_+rQxwIM!lIl4VB)@P!s%3P92Gf1DxsNNZwY>VGSVK3g(4v+K?lY$N zQCwr2o1vy|tMZx@h{~KEhX7X~kpf4%3gcH*%ghFJ*|S^r1Fu0R@c3^8;5e29XLJeF zk$FG~?OB?fh!fQnhb7f8vh2=Nfiy!d=lHF_|nHaW^To zi0ZLG)s6Tu3s1s_OPb)Vd<8!t2@}OoQS_Ko7F>cvBFPO#MnMz@ZN5gwr{077bYrw7 zn8UxrAkhdxBCS5q3`q;Dw}k#X-7Uj-r(j;T$bD=eQH)INCl!gD7f2la<*t#wh!cn% z{RLl)%!&sjoqtTK5&HVCw6|jBXWeVZn4>WuZ+Tz((L~a9xu*TuMo?c%uHi$JxUgxb zeXw?X(@t}jecmYCJJ&qgxn1rvT?d0%=d~@4^umm3vF}5@tg+!9I$n zK~&yFH@TCWAP+TYlaLMz-u$n|6mnT`G4++8@TuJftI5kBi<_+C+Ejr(PY~;T;0)LLK_ed5>%P zP1#ZWVK>OcEYr=`naJw!n0fwHdt|Ci7`X=b+NXqGDLI*W!o&tRWr;cSK<Y)%7BZjJ=uMpMdA z91?66A-8nFlTUZx^#UH)jWEuAUX=GQrbM$=k3)4W3yY7W-wlD4N@;j zIu5k%u|F|Sk*T$?%izu*&3RSH%Q(xyOBlV=0_HdseqK{RsVAtU=M1es{b*WC8xG*C zLl`X88j{?sa^)HfcrZ5Cb!y)>se*l9-Gxg+&ssbbl#YYN>I+!utNcaaHCo=qjLk5K zdQpCWbTIczWycE6U(Xr)vThmiDPjvLzbR=o4A&1|tk>71z&uKOY^73_-g<4aG%T%w zPHBKwP};2sII=thKzaJjh?~FUcQ|@YkJYVT9jT zm%>X_=pNFWEr)j-zZt>A4;aB3`a~J`bOzz|C4=&3a0b{QfSP~l3(BP#-_7X&oqXs= z#IS~Yims~}1O0K|;Rd7zjay5p!pT$H+o5RO`?Kgl?EF7c1yF9s$G~;7xtxkoW=l1= zM`BoGkON7lQ*i;QiUaCYwBQ>m65sCfJ7<13-s!Rk{J2irwA5hTl^Of`cJ#SlT_wye z6}ljH*yW5~>=l~!6vu@Y%*^_3eVpV0PBv?m$%-g~=?DZI*4?JjMCJ62i03g64Nk>Oozg7!H8xG0 z+=)8ZBNI(v9f*{fpFfyl_55^SI{u{QCqMH}s)+sJPfJk0@EJU$GWV zqRvLjVkatUM!Ve&={9Y4fbm%o(L@<}rqUMTsz#mJ+|-#k%&75e@Z%#o4oi3=F|2Ot z#{IJ?l3((d8zm^0NKRlls-KNGIYK*+`}S%mPUUoiZW(tVK(Uf_@6V*zGM^^POd%x> zueshW*Tvs-I((U7d>h;z>LO^zNv8R1JhEA~o(7C~)K?96%;AE+LN#a{$(l{KUA&&z zjVF@ z5Uo(GL!OS^!Vo%VX}q@Kll@c2%<-%k`Qj1^-BZ8M@eQu()y2D6!{bJY=)Y3x#UZv{ zkT+W--A=`appB9IW5eqX-D4MOE{T*d4^fpn`62nNgssCnOQNA0W4}}09gK)~exd3E zlwoi0iJIU>r_6+n1VJ~B&Ub>2tU2s_@HN_ zc*g2?a$`R`{<5E3hW&NlWc#y_Y7}R!ao-)WFJYp0gv4HXH!|Bv0c650*lnj|zv!IC zj^@wLATmPGE-WApRW%Isj}zXPt8|DayjA>l+itd4w3r_pj-TlY-G#+=Ti+~CVnoh3 zL1q7O1ClA&Xt&7Z(=VXlhq3B-*uH^i;+aW^DxNHdSYH~4s~Xm4~E ztHr+8RB|U5GL*FIS<9c|liZGT5QbaX0n{d3E30glbGx-ci7s%vi>5X*-KoQiDs;d_ zzzTnGCLP2bhF+O5T^3q159x|_SUbEAC)>&RpWCqkC~C^o&a#95V>=v#C|pGk@Wj-aNg8ts zAH$_)Hi&TSlXDQhXlL~UYiD#~>zLP%4cS>M#>a-AbkDA$tTiZ3@#4-!X6OiZ*rhe4 zLYvFgC=(s;R#=e;A3uWh*>r|e=wfoN9)k-pYSg@9()^dYr;$4HO6aM%rFG>I_|(FR z-RR$N5mIP6a>ASS$Rd@TTf2}v%KMV^Q6^}%d6B1=L+Irsz1EDt!^Qx;qe=ACj)Va` z*|4iNW@}9TERS-XpaS7zYU*saUO15Hi+4iBiX^Fp(bI>Nlv1v8F}@PL4sgD)@Z%8>*1&%&w@~G#q{_Xha=DaiJnPQeWhucolEy=p#OXV<-IMMAeRb}|EXrgm zsr_&(74YP_bL)n&LL824modz33``^%!T zMsFr^GGc}DO;)VX_HMpdu>!|iqGh~$ERY);+QE-^8P-BaY3APn)U*>Ck9K5UFO824 zI*IigCyhPx8h5MK_b!8=o$m42YtB2Kb@48pOle0!Xe5emEetD)?j&qH3X##hGMe1( zPDP9aqOqZ^?81LFkxByPQ*wO9W4lw?fl>9`T0SKggR4I*_Kr5wWL%btI%V=x{@Hx| z^NpI-U6$2z@DIJgHLa2~C1?QF;|{WEJbj+fHA)Z0;~)NRg0z?-$Jc;ccyMF@AV-<^F7r*&Gr zRoh5A#0DC5pTQ!0S%i7N*8Xw3ybcN{jxn5GlXG)eyCi$aCEEDza>itQ#AN%p8v)HQ-D|J9HWUNsxv&4n^rJ@a_rJX&Ya-@MO{k4<3$ z0xaE7h|J{n2&#wqS-VmuV1kye)GpmOS~_S=R=nrdqO7&U$q8sO3Ol+cY*W+Wb9Na> zXEuiP!=^yflKbilvB@|S;<@b1+@=C5H2!#Tt) z&+nHL866wmA%8@N$YrrXx%oqK38`t_7+R0yOx;0Czf|YFK)xG3PkJy#`Gq-t8Jhbd zU5jER9g6Y;9U`3&1mJ`zwXw`@gq1u$rEH`O=ED`KD-B_W$iBnS>Ia> zOt*Z$BHC0e2C!B2*rOiD?rIwQ*Oseh>20x~Jq2;sX-Nxvvc9nQ&dBeA`SszEu_-zJ z{OLK7V~S#h9g6e&cW^5D(QD(MeUH2Gl_X{@b}BD|>rOdDZHzBwO?xg%1)*aM=7Dn! zU6tVA2yyDMf@NPrcuPe;eG{x#)o@e5gm1l9D4lvRm8b-E?=h2^fHWg1@HxtBw!B8YTx{@`4v@=Xv#v$0q3XU^y% zro^epF>`Z%{U%&m$ymjl0}I2aYWtoVx3_OygV=iJ8f4T7tP@PM1#woJx*U1SAx+Kp zr;*Qk6G%jC@;kumfcV^MD;TU$fKDSbPgo*ixO=zlJ*E!^z3vxM*%%89Y!x+x5do5%L7Ls9~s&*Qwl$kR)E7rgM?sgdQ-wFB=}>4bMi}a zB1ijUw{^&mKszc`EJ<)Gz7iJMQ<3LjgHl*fZFdJ@Vo1lFig!pWf&ztN@`hDX1^ug( zOoy}%MMq7^#m99hnyDSo=^%9jcL|)_Y^GWn7Qz^+@&gO zp|A~bEJa*XBb}#QoF)RA`a*H7_6*67*8u+lu3zNwoD*0JH zEJ3@LZ!m+eu$H!k5110uLdBo?Cd~v|tsOS9R-2#$%8>wLfmV8vKY~50&ptyZv;9uVGmlXVP7}mkuz2icX|Bs};KR zGL!D5cX0`S8-QjmoysdjdI?d@>7}bHo&Jx=OnF9NS!xQrZ*0mHHA<0YrMFTkv4Veo z&Y|$24u!bh`f9yV25?5VrjkKY?3{SivELGW`>$-{WM;o?2DsnzuM z*d!a&gUjbETqk54j)&+{wE9G;wF1^bC>m$IB;)o*Rz#0q}dCu={_ zg6nsP7qm3IC~aL)+HQAfnb}%wW*sDk6+HQQ^~HS&Vziaft6 zaXM`4ukeD+-qe523RcvLX|}WCRP032&6uq=o25%+`6!7iMCKy~ZHbb!o*_!jr}KnV zLAagA$qwc(4u=T(-9&+&WnB&gsD=d^4b%Avnh-#4>m*) z8QV$5k(E2XAG=~3XYWl@bl^cN!iAPDv|$(}#0qGl3&cY;LdN|NGRs_4bfq)kuuF=? zQ-wHJ`1WM2?a9Zk%=jyI^Vff4nGVI4X{4BMX`m^Jso|iqQIvNQpP@VuVYt4H&g1kD z^7d>z665YeUh*`aZ?iUtw~(E-xY>ZMpxf zX&wA6r*|mo`g!C+ltiZHNuOkN9_Nun6vL%ha$O!9WK_qxEy()5$+T{Xi?Y^dttiUc zlC`EQt^wWtx3jqaVuP0d)FND3{!`1y#ccc`^^F^U9(i`CYd2Z)r@#ZAiBe;E0x?v~ z+1thrz2HUN&XNx~x3TUQ4&$3}PX%fz zps0doeTSNxe1Qbs$6J2pu!|1|xKpt}D`JiZ-Qki~DMj_d4t6|?-RzAuKDU`l92yIe zIq?^4LmdtD@N@BhHsjjnF>JV9U^UmY)9C_n%vmUoxet@^32&KRh*SzDLv|JHUqEgT za&3M06_x2?YpzqCPcZ-k@QioIVlsp39PgRAb=|}Uovit1@3*c*&E6=!&^-YFfxK|8-q&S@H zMnEXBC3PohLLopmyiLA1mxW=JB(}RZ%uW7Y9A1L-DOU{b6(8A`0>kS!`2g2qj?t@) z;2cNGX6hj~y0lw99;_3uns0h3eqwGP0jt|AEujz$39!D0qkdO8jL(9QI@0r=uVVWY)qAfimNd?dAooa5n2+cT5Z_Z zZ=u=H)F_2_-_S%WlLg3X` zf@S+Z#YzP+5sE}y+)a()?n%k=H&dQ7fz!GkejoEPLO0~^m~kuyd%3RYw)`*aLB$xq zB3%v;hy@1@pE5GiI;=E`MH}@a|Ffw_nQC7%0rBGo#%@g88>$K%3Pp!VXCi`gZ`6nM zZqh6ywZO~ETPXjNWbJ27?ZL6@(suAf)G`nqKwQypBVDO|`1QbuRc>fnW`W8ARI|A+ zi(IN|hg|^mw#NaSIPt%I$ny<#V$P|PZFrn)gQL2 zQ_>^TVcq9aAe-$)$n4c@7cFEcy4xLHaD=aJZ>N-S5xtl~`iD(Bd!ZU^P~6F2)op3+ z@eA9SAA#s3f_kB`O7NQ@3^##z(Yz1;hSCx>Ucg^2OXu*XG*~q~HwD^1#@i0MR=>`* z$C%Pn*e$#HAga_ff${`CcS@pt@*>AJ-=*G`e-Zw16CaX+iiJo5^qvElA|&ChsKZeM zV{O(9ieC0H&WP&LymED1Mcru>(qcSIio4;%w&usf{Fr}t#cyG+$#$0}ljXSOy_3?f zLq&scu~yuW%J=q+I@7O{c=>ZF8N$!HcOGxnQ}nW{jR8>a{_$poStVk^9qj^%Wj0{K zVW`9nrdbX+m7?VHzz$;9{Q zQIQMsIvO4#y86v=jorG$1Pevcclnv7P&ohRm@U?h2(r~(3M9w3cGm^RzCY6E9=xQL zuc6onhHx#4k95E4ZEyRn01-Yd{;fcpQ(mf2W4fezW3~5!^T%jM?Z~zzwIy zY}D@TxPLCl&vbumZ~E?3hNceZTPg-wyHM;- zLM^O~WCRn7?VI;rht|Nd!5a1g!$$; zLYhBF^VUD9%p)X^=gae&CDGTOK?kXYi)j&w)Gk()X6tJlPfyf_6OG^ivb$SnFlWWc zq~@zUb0ODnBE7@iAKTfr`yCynWRR!u(8XhOr(G#6rNOaYo8Xu<)J5@cbzro~PA>mq zRDh$qj1t0nxBB!{AM2a<5y#MXq`bDL5YgHJH;I{r>rx+-Z@$}?!j7!Sy3XgmKHL(b z!NNxA#s27i`3HrrH|2(?+!S!itxT3XogLC6&`{i))nc|F(O01#sz5qcu4~@^2@Ydy zc5s(CjI%5yos>MvuOrY#7YXuaeHf7yW3sin4W3R+rA93jZxP#9aqH;$>wl+5FJEG@ z9BO@Xf!H+3x9Xa4DDk&#%rh&6@Gda*jVaGfsz27$cQ^L2;?&4J&7+6jW{9bA@KLD3 zYkp%M1-h(z_}!TQ&qayDyIqfhXLE_>%cFTELHL+Q=e2DLD(MeEvG8>VP&q;ZQ=c^gW9D*fN-4w-@~f z9IB6hZB5*BoeEtOgoddne)sj$K=^0_d&a#5$SJrxR1W(999Uv(W>mvPGcVb6B&bUe zRAs}4@!C2fbNAhb6^k6th^BMHs$PE%2>td@rlZ)MM(kM03nM4H3(m9Ze|i-CY%b;2 zu#WEiDt9vNPI0Y1s%1mlo{vw-S|@rt*diKL93PvU^Y&`OS7?xC#zl5_4G5y}o2wHn z$35##kQqa~+#q&(`2C2VNl(9KWC`4uBtE=jXZ#rLrGF znrG*qYBc}m5G(FPFeuCPXB!1;&Dn%(_o@|A0XH#S#yg#gP?~s#%>Y-BjBNWlY@Uh5 zb(j3JIF)B}lya*)g+GWCY}ySr?P{eN8<0==mNIYgmM9tHZhvBv&Fuzn+6ccBKX9~| z!-6C$&!HOCLM&4d7(dc(X z!z0amZKLXa8i(_w_%wcnqKo7I8ZKS?12w*7&-vV3EPt6~d9i`;m10=I286%Gg5fQm zMZN9c9p$TTfzR)nsb#hbeZ_cfNf zx2Y7acMpekV`Hgnno8yVywtUgr7mtNRr>Q%rH!T9HkHB>`S2D8H|Ao%%B^33pVJ3r! zd?8J31SH}gT-B#i-%8S!Al`N!ShR&=Q#IkSf~to`f^NI3UoK&u14x#M5UH}L$!1)i z)gJd-YQB7L3&5Gp5&j$B3MvRPGIi1X`?G`RBxaG zO192(Hw|hf@R->A`+IPt=TR)6!NVVZdk_`f?2Mh6w7Z5p`WLCA?!IEofnK%MGFB^h zzRexcm|I1z!Qnr1HLG5Sqa6$LabTMCDCxj^=0V`~7|dWtrE09-Zdxi=&V$PFr*huk zVK(tU`9sz3Yg1jxO%-^Goa*azuP_5RE7e%Jtue2$# zVD)Z|CN%9_1X!}?}sIjfPQxNYUr#h_>VpR&_ zHKgliVHhdhEOG?`V+#CVU?_Gu)O1xOJKohT?T(0UsVIpTKSQ$^$X_^>2t9ov-AnX< z?hILoZX~}lK0uytl*2|E@5Bq;4%DS4r&+nQk)-%C5O&E6^1=5Z{5h--PitaqA9z2* ztx!0Z^U91j-~@Q9zbZR^j9cH09<5T3)*8Ra{b@FND_CK8IZLokQ z*UQfhgB>e)=|!#eZm{a|pk)~5|GfA>TYOlL>W$2|rB;K+St3@Y!m)y-F9W3(j4{$* z_eelliSdi%Ba3^P6D&~P6>jNGeTxkP1sk zYt@5omDniM{13c0Qm!ed1ljW5>-;j})W|om)LiPfb8S+wPsj-DSrh*PWg+i+^JAU& z8Gq5Z^-lS>xSJi`aQ;GB_E0F0?Oi1IfL0anSYw>i7}xPwU5#(nzOi>9eOFp5VfR2!DnpIGHRLTGSfg<2BpZ8Ufr1w6f_r7(exHke16(XzKX%fytHw`pX> zq3BtWXPU_n9#WT(HkvMF{|{Y4ndc1SXgFB@1Aw>|p8<=EMjNs$MS;#KK}G;4O|0iQ z`D;s}?VQRUFytj{g^-96mOZi*S0L#ejfOWpP@Jm`{(l2izfY7;eHDV}2J?3~6&)EN z6018}!cxlfahG5;lI>+GBsx6iYJxh8Ji?qZS61;zE|}06Z%Zg@?`S?)hcAh`9jvlu&{D9GSmb^8hB4H-nl4AgDO2vpr$w)`*bbzhnZ4uE7Or9#Q2KQZNa zq&td@wmaMgZ@huJZ5_eIJ!}0&=PW2YCW6z@oCuPKvGBKR!)>uW zE?K=v88s<_4oE zp>fHfZ}dz3vwfq(bT48e-ZITCW--mV5C6{R)*{-aciRX@PVW`~2SJQ9O^)#IUYr)m z@IKaJwIynK^s{pBgh1W*9cOM$9zE@bz42is9kgu*yJz@_IHTL!`< z%SpDU9;-?ak(w~_dO*UwOlAaRY3ZzM9&i=o;pP?@wMRc88@@BMc#2My5zo zmz-3g&c7`5q9B+)sV#{=B~vh*w!NipHFA|PnMvvzG3C(>f!=a4J@(`j?8TG|#jdd( zFe)t?sDQpI2!{iG+!UUK2BLj3=p?9U1!qcng;ERzNt_JA94+U6w7%sT(RUi3j~=I4 zR_!6vddB3Yj7Ue^&Fp-;t#WV3<@r6|SP2pt&$wS9@1;=ZQ%w31jp>U> z_ok9seIB&K@?ER1Jecq%*pgpWq#!&=Nr5h}LNTZu9z**36^s!vIjx zQYAOJ)V(X2>?fHW=567xNQHL}y>|C6(9I`3k60?C+i#2c#-tLaQZEq@{t?WftdR;X zdy0O&%=U0wXaorp-_)F3QYc)d&Nr`TwLhz0q|Y^bhQNq!FJ+8Nsa11sn4eD$OxHW> zlRvLFfcCI=ixqtPWU9S~e?xmWo7v$(&vcB_$0)8E<8JlzZ7EpGWel$?{Z+I)WBxxI zUut{(ycH{SY1X@8>fO;4D~cU`-!mh9MfpeH%OB@~gE(yWs`+pa{2eDl2l!?O@I^4) z=WbEj7SftTD{L{?FY^`!@?jY7Euc{Ky7+84zr%<5U*myRYU$F+@+AvfiGqDOml;XYw5SUcEw#bvbfb(6H*vREf@laIPSH zBM7Ay!cEGL>||lm$gc_R;@h4;Izgg)Z^pkI#ho{HSSnG(uVACG4`cK?o~;RI;D>1r znzt;d%?LIe4_QK@sd<6JkYomnJ;J0H9+rMP>GDz`ZV04u%$jF~V!tCjx%DONPKqfF z?RtYQN}7evoajcZdu!OFp)_5Tmuuvf$S7?m_#y@>*DLNpw>c#`_Ojh~DuW_VO&X~e z@zadrxFDod=4+z1(zffxwdL%zNS}~&38iBlkw`Y3? zyFs#rr?6;~G#^ZxDtt@2NLRL$X}#ypp;Z14&fTrf0_kGRs#waA{55qyQ7@>gAtJ$l zSuhD(+mC#sr{|q?Vd|TsZ$?cmqcQEk1t9UbhmG*+X}$|J&v*+zCDxni4{w1odqEit zUWT4#kY;l}y(5lP894`qESZR|=~3ZDI=9^$E|l$+Q}G!;y^VZO_Ai3cV;E(>vLaXS zU^NuQvba`JCTl`nl``6v()Y*WgmWF`G>I8T$NtA%w8Ktq^?S5H{Ftw zHwFxTjCa1qG2xSg(N+HU$I!C3qfq#xhK4W$*YXjHu8h})qCa{0K~pEKIDfx0doeYNM{pvmXkEJALYkM&GzX$9%MOg;o*dm(V+PY% zBPXm^OL)VUUJ$%x9>OQ2#^w2i$r{lB7=u)ssodnKcN9=2Rxo-RgVn83gFTT)TCbRy zlH&USIwBw}yw?Iae&Yt(8?Q-{$a|T$tw??Q*z3q&iyIcUQ+Z|y3tPwsh?L6Bm6Z;u6eET!tK2|{RHtxzlQ5@cX-bXH=X&8F9}qQO7m{Rz|6}N z2L!dumQ#%hqIqM*?UWW_pE^{|n2@N#yJPTK=>8jFJ1i#_t+IIx6mfqWDmJK8XfsxJ ztP`AyGIf9)UUblF2Gm#qMM)xrQ7u3NfvPrAarU_{=I(<=@?<7J0Rb8+KtQ8Xq*JrE zK$BwfOes^|`1$A;9sLrV*yy~%lIXzz_sDE-KdWz`T1()RPdMh(7?=J-_{RN--8DTY zkpHn$IfWhI{gL^7&!Bt<*4ujk2PUDaV0uZ{m7(a8eho!O9#of6WZ?d^w?#0&Va67( z@Z#3KvVCKmitY#DFQfH#a}4Z5>i#kE+`HUw=9~@WT|;Uh`k}r~)Qk(Eb|0WxRdK@G z!52S}z)E`Nf7dM3`@JokQwV{RWqa6o;=O1Q_f;`yZgQ7ieLjeLKN$?Ev6h*dNep;*`s-!yhkcn& z<)h%7H)|l{+OyU>%WUJX?M((Irt#%HRb2GvQop(OvcyAf^zJl2CNRdLhDhF+z3C45c-zE=GeQ;g7L1R zPBV=JZv^S6W%==V#ig*tLTliei?|kjakvL}1}laB!O!jaWeF_XCi*O5O%ES3v4TTS$n{DcX23mbt1~avd3mxV=rB>-+fp_$OmdX2 z@#k*+S*t7Z$zFo*q1X#~Wwapy30hMnY2EU?KSCLe(uWrjp+Q4RCG0kaIOGOmJ=_bj z&^L@dYIAh)MD@QTggO*^KUo@PB-pZ*(Heb@>Y=Ku62(;!n2y?>y9rkH?g$e7^Ly|a z%y*{^?-!d|krUlnUf(gWdP^W{fBdNYAN|gs8j7*@?NJ=vQxyF?`h~yq=l-%pmfsn& zPaX%lqU4;Vfb)}Vr?MBPMSWpnN`2uW z6bs!Jm^OCth1-$TooVqgWK%p)Rhl5JN2C?0--}R3*Tg^Y;}O}Z*smV%uFDPI;4j-) z7^*4_;FPthlshpLb5K>A_oVPKJ_+WAgAIKTYIIJ;^9IcK>PPrDd}fBvA@5r98v5>4 z5kzL0ra$;vr!1M>N%bc3JrpYq#Q#LfBvRtb`7%Xc>O-2!s%cE;(w@7SQ~!K3pYPfE z^qi_OY*Oa*{>C{CW?`_puLze^o$Jc>X%6?(ZhF^sY0C+qu{?TY^o!tXw~~R8S>1i!WP^A^1Mz2+Fv%BRrN2{r@n!$lfzM)o z{vQV3LIWSKk&ka0`t;(aVS_{r`!)4AavCTx$*bdtMAbodAl^67Z8KD-qAy>)PJB@4 zTJPzmLh*UY5*;8D-T~F%YTcV%$Hpy)KxK~&v0)GJAgGK^WK{2ld9iO~tp?hwc%~^o zIpB>EbuF(CcyW_*Tfp1I7mR;egbRd%$RsXw<_^vkhMsPg=?b$<_5uVIWk&{D4#?%m zy&L2nLPt?u3B)%VdKrpk%28r&;qLm}aM!}J&4t0LVbtdn1c$g9EQdn0#1JVh5lY+d zwPr+USO((jr4N{EHc92nOn)$zo`;pH>B-Gzs|aC2AWSfAEeg{mX=_W;zC@r4_WIuw zs~F7p`o+>`O${Of!%l^N#$-6;1Q!PcQCU0QA3ZLz6|~6& z!3JLe+W0Nr^yNGBJ`n$-za|SP5Sl$dQe}MK=w&m0kcd0-18$&>Gi!UF`iW7=lwAMr zhTQN_f7uprJ76X)knHN5$5OJ=JWG$aN@o_!Lsx?<1_4k+N=qMX>^K>S;q77GTvt4TBA?@oC+H=OfwVM&$npU)m(eEVS9 zD(^n+O`-fYO0<0$3?FPTd@%m8+dSd5G58G7o!lF9%J&@^jP5fYNO=z}iY_pYLL$e6 zqQ+mNy9kcQI-Q7q0vgLtirWKrleoLYSe}w$9i~NBNGo<>Gx>P=ehYU`#L-!ZN#8P_ zKyNcVJ3g_a%c7qVlrp-c=Tde@QFN8NR+j+*vHCuyZ-l zu0C)C^7I8W4KraoVYI4Dn>|;#8S4HQ(1ACH!^hoYG^(V@7C9H<)aB2{!P*4z6Zf~Z z{DkrGu!6!#ZA%Hsc#f$ig&KpOyp*GICGk%lq>?qE-E?{zbFY6&MZ}R*A0FVWob>Ac z@THdEolu;7$iMncNf8eqmU$mc=N-szhB;*deb>v-l)-&tp=WbSqIJQ#jU7X2Slchr zvqC7pHgZNVx+MN(&sr-JZUZDq_zZVwBtZ}|@6a3Az(!9n+78?J4o#nOO>o?Tpz~&} z_caMY9#W*aGn?sI$!~)M?jx6K`@!m%3r}YFQqE?y+1G|2qO)nHi&&DVy82#O1U|;ih!qa$XNehoM$YGs} z8;iU7nasVO7JgX5JrCHJY@CVh-mGZ`iso@7->P42)F8P+ozwvOni46s)%Y^vPiPh_ ziw>l4C(FmTqnsQFav98wZB`q-b?|ly@;_L<#!hGswWx@>hj#hy^>y6tcPKYVJ zV&M;R0(IYX3}pQn-x?&4BjroDmj6hXs$V+{;57jB{;94yZ+>9{@*q6a49gAk{xp2I z4=}GNPGvyt{Q?)yRUaRP-?Dq)IKY`X)ZCy-xCkJL@KJUHc*m2NM5*{IY`T3n!b6O` z8WHO|XILKMf!9!%e^MA@8Y@ioGv~J z09)isitv)j0BU;MyeZ^0f^9ZvGlW-v0Wmq~zKsxP{Q~0YTr!8EQ@M;9I!u9R zwFY!1{?mZzl_$#1u{;%}5qK;-;V*IBZAuNw|q70iJ!%Ru- zdB>J&;CwT7;wx<8XCsujKC!|(m24W=qXvTI^=YAtDe6?72q^C+%~@*eTM;&;m`!~* z&wJipgU<$fB7w%XT0B?4b?*wXrHm_zF8~x$UP&4@vfBhZN8O4QY?9pBC^0>llnuZ0 z3M97C%*B2BH-`Ngxv-?Fe~$O(ky-(y^2pdzk9=4e8XO!v2a6;TtOisBCU&Z@bzpKrVYaUJ=$7?o>Paem^JLx!%oFa>P zFZ&t>iNbfRppUv_6bEksxcB8%jrg}mUy;2C`FIX<`6=5>6KN-L&M;P90ej=m}MoWC*HWJZg2h1BKcu?kT8f!bz zltf=lA+LcfiNAW$mr$(DXIw#pG-U{Hb|d;aD4qXf zWQ*6CGRfi3AFbIcu?qvA^a{VBh7V+EtY|>*1}UIg+naFXACEQR#)+-X1IbE*isGtI z(;{4&9QY?=1Y7eYbFNx`0qI4`+Ie}Cgz9C?o_!RqzSzjDz9khW^soIHC-jjMYDS9Q zk1aD2sz5a3k0gh`z(YzEU%-ktkY2kpGf|aaBnIQ1aaba9bYn{6RE}ld#bkKH_(IG3 z^}9UdTC`uRqX*Ab##ZkU{z!bCzrgQ2v&ehD+0Q>M@?KXpV2^5qZA@T{J{3dtmmfmg zCUmXhTQY;D-E|a= zasvd~Bb3qVoCbK|D1Y?x1k>s|Uf^jq%MsvDzjK!#m zmNLCB0WTP<_{%M*MPTC2oRX@d3v&^aO)BL2er&%k#HWQZ9@N_#%s6=$uTfd1XZJOB z0mE&B(ibXUoGG5*&fha5ReWeUMbbpC&0t!`F{f*AYm(Lc*fAoQO!0JfZT3&n+U(#{ zYZJ&9LW%%84?IqqU8_NS^P+sX>5s}GhUmFnsU5$t(hH+c>~UUqayiDsVF)q|G!N=JkeAyNNV4 z@mv17w?5Jq>JZAymFgMi$ml%6wcnhBm(A>w=pD@BF#cYdE2&nio~yig*mm!V3UvZw z43@-wb}ZAXJ634i25(YU-r+Y~jGBEajuNC|apE#J5If7o*=Hin4 z)zb_87#_^%rr7PRy}`E|IPc%8`IV3IP1^C?ZSs-Rs+RZCbnvz+ul?Zs7kbSiVMcv0 z|G>0#b=xWQI9`VZ&$4xWLS$=1+4c zS9`&$3q+p@@*FPM`O2D&d5x}7$t;8*?#7I`) zP9Tm1P+zTtQ*lcY$a1DuE@%q@fw7I=#8KujRw(M9H;U_5dAtQq;>Z0MK0h?^6HM~n zZmnq?od0&~Is9!t@ON~aF;&;cp0-mpnzih?8`+qa?Rl| z5rv3!Vi$*ECno*ChN34%ZuN@qFw628ASk=sG~TGO?QJzX#2{ym+u~}AoH^`XZz(y} z8@?9PsDeusv$yxSg;c3N#cqM}ea=PM>qT+kPa@UZ3WA1Wmnuu7&igCVAzM*U{6-Os zVLjOOH+uJj+*Ijf;hk^b6|9r~{stHxw@rI91uxj_6YL*{KS>429>Uwyz8Y{k5-<&$~~0Sz*=~`lE{@Kpn{z!nOFS29}W;FiN|s$FX^t)LAfanEUIRTUP92*e6}8r>IK;0ws0>;;rH zJTO`+qImv87GtBrp<0k!*G@*C9$h%0DTVvV)6Pwrd+C+6!c)uu+ZC$NzycT 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�d)<2*Sr>y>fYSj2>ysdVaI*t^!P`pPxe-281J?-n9j)>*&An=KEIlN2j->$|<6dUGDyi5Gp&-RdA6G{J5K6Z>?}!b!s$s&`h!hRLw_Z zwEL0G{`N&cx%;$R<7vGbT_X%`AUA{hQ6_+w8YuByp7(|-c=9yU7f$JHTg7>`E&01} znP_8QivCyId!(|t=u5KyM1s*7x!oF@$Lx{Lcg6Yykv?&jQRVJFe9V^!LnkN_E1W)Q zZj;*B@Ns%dfa^K&dxNpYuyxqIr0+8%%ErZsZPG_WnZoFYnoofWj2{(M(&01xMLn`6gXckyxtRyz1P#Q zmZ0L%uei%kXpq1@XvAy&)(Y*4RlEGQWJrSh2|Es>af#;UlcW4cftU>lZ-yQ3mIBe4jx>KS_oGba>-*)R{j)q7IT_Is#hJbn<5e(1rXo6_Abo!T->w=rc_y@CER zRkai+CVJb|A?yoYBG&a@5r3=lekIcV%K!L5Ik=I(|F-ApU351+O+@bPuY$L$Az9f2 zyvuFu48=h;(G~L-EatxA_i6BO?YVFs%q7xXsenR*^f2Y$zB@rclF#JL)cXa*^qx65 zW~Z9!UU~{ch4OS1&(=*b2o6fo%$;k(gCVVI?Merm&u-@}gjkn1J6aQao*lXwLoNs{ zIHLLj(T1Uc;4n7`7F`216@dsFt%ll-X1Yg?Z)#K>%}pAM!@q_%O>p0AZ>BpBgV5_U z`=g0s;-O}X-#Ub5PG?(hG+OLc(KT4g%@a1hI>Yvx9S8gBd{={O?x@G<{a)(4E*H|q zt=`q9Z)>mTjxwL-%ClN{F`xBs^|es46l2}$wC{Gu-YjTO*mr7|qy0em@i^DpYPjAp z5HMLon`7S?7z^s%d<>NC3a|C9MPN`;=!e)lI`TeANSjS_sL-Ghh|bSMx(xJ4Zd^K= z^W_H(e#3a}j&b9P`_7v6h;WfxOtff%<#MarXIN9qvIE5p6TLG?q~YzhM77}0PO&R=4#xuKnx*MHPeEnw-7#{QzbT4M-n~C2Ew`Vc@0H#jxgWwn-CAp@xL*6D1aBWn?ly&*u+ws%8iDU@-cj%zzE=EvAKK8<(^&`x8gp4L_(uDubCet4 zEwl2cc27uH(Ur-l^$6)V;N%}zF&XlJ$Ca(-!Aods{=9VBbm-4{O~xDwl5rv#HCjDq zr(h2$JUL_hg*TG_sap^J_~phAZ@dPeg`NrW-YpUvtxu8E$^P~8?5&z=mk}K-PRdC1 zHUg3H3KB8*0Das|+TaI-<5u^Y3mCC;NO3P7hwpJ(jVZPDhyM%RKxg50&pqR%B-Dev z8Gg0uiso+G0_zNk1!bxH^)~kMM}WIlQ==8Jw5yt}t^3TQl4YEQd$e$r?wU7JFEnWo z#tl!EaMfjg&x{1-@`}ro?5!pw9dq$-x7(8(G}1^}i(gDikdRe;umOIk1bCnUJnI!I z8mI4o7{r< z>ST9`zdQ{+URw77=~|+C$x^5nuRJ&<6RE@NV?m667!U{5_!BIM_bmcd{J2j%qCS|( zDb-fzj&l%=xpCtjTLQjWRnEfMM0necK%IMBEhe9IGl=Gx+&kU*O%B#*EpP1Jdcwh) zDC>HXQ~D5zu^lT~FNZ|uwTDDI5~1;VC_WMqpv0CERiP+@-wZ`P6)1Z*W3i|!^5yci zw7fitkL-#-*~2E<-2-;sg|tnC*(XWM^N+}_v(}|0;PKumksVyYgyaW5!~g`7^t^Ys z$8U|XJM5d|I(OW|fCqc@%y3G6C8T#Zcu_Mg_MQ8t12mSYsWPiw`w#zB*wrCk+1l+c zjeoClO8Oc6wz*H*IMz+4L}+rx>r=>U(Iea&HhxjIsygXDostzIHD-iU@&qAoeZ<)yQ4 zD~Pn>1uPTgrD{i4d~jTNa$)4t;D$d6v%W2eoMB3Dg!s@JvxI7iN#OLTvuwJ(J|=#n zw;AZ97a#7N_f9$)mUre)zLUQtUP8I^7mi8yj-v#wnNqzK6p78}zGhzWj&^zTxgpk; zzbSdkYid#x^4{TEEsBZ!P2R=iBNBMtc?3~+%2nrJe7E55c&(P6p{aqy;ptu%Hm^!m zNbSQZX= z&4^$pU(jQE%FQcLb*Aej@501=C|B8FeFr{$oVQxHb>3P&|D8}mpM^c!>e<@ZC!{wJ zzfQ`S)Gv}W*zC|{H@N6IW}Qqh3OIx4A4&R$Hx5h+qg1un48(5tpV*7TPfJ4#G*&!) z)4geCNd9OLI-mP3cVgIsX6F^vhkj~a5e{L`^~RfK=RWixOkkV%+>P1xNajU)tDo~$ z(jcsI?oye)B^zgMmeo3lwGMh`nS%9tGqYN~Ife)G0*SnGKUE!1V?t>I%90+WVwv|C zK=~0CP;jIJnvZtgdR4$D^@*G}+G9&mQ+({A{OHuyyxkhvfr_bb#FauM1<~FQ9#tnq z4%$=t2LlIcf?3t^Vc0~Pw~{~PHRbn9OZ9<8H7#&9!<+N5b9+Oec_)}%gdOnwh^GO+ zYE2vbuMlsD%216+%PDyj2!Balr6dF+pL*%~E&ih>)TAKiTj$OiI^Nty-|g;wk#%sg zzN5Lr@28iSXt8OAf?4!3$R_ku!ek}x=DS zW(tuim7qkuAG*zLGU!C~NeqJG4}u<(dM`gKxNlNMtBK+0_%nD z39v-}fIeREw?dn61K+Gf%I;0E zVgKuLzO?#{he_c>Ive8oK7bSI?s>xlWhEJ30C{i?qAv_&=8%Hu?HLaUCBAgUb)wr? zm#~UgrF(B9Tj$BlF$4T@nHlhgfob0SKT<+x^eU+dr7h_dEE^aIaiL>i*W#ScsKr-$ z-N}MK??CJqWjSd{ufno%WZ`dD^s_x|rdDLa1zG^#5oJ@=EBWzWF}GiJGSt;eQMc&j z(zB6Ea`rm6-vK_}v;0BqP3M`zd@=H$3J_TW`E*gfJGH6}T1`T_s1We}MOJBYpJO_r zg2-DYs~sId9YTOIQ;pN6bOBwc3Cpl1hMhiZk~-nHLBm!?k{Rr9YYpeMnF+BU`>e@t zo|xrjP=KfxGJzP|z;%kNrnTnp)y}O+h3d4U*EuDJ3rw%Uo_4Djd966jJ-a8honl6k zer-d5yD3Q-?stya(V-J;jyN$87$OltH-U5$KrBlaB)9KV5(Ihm+U=oG+3gwg$qAZT?qZlrs{H7;mwxl!yPCf`H6BU@T&ioI-=Jf{>;|E1a+tfw@tl1lKjaw& zNM7a9Q}c>{XohfeHDL3c0QbC2;moQ@&amWW6SDv`BKh@O^xGx*3;;Td#zJ^bshl_p zu&NedKJBA-C&)TtyO_a;=u-c?q2BT0{PPc|gih~^HQb3Jvm!%gMO}+8>MSa|1ssCW zqCjl7aAzwFtgNG9=~-DrDOeP38sq@K0C|D};$=>1)VOtiGZ zv-86bRkeCIhkuM%=_6@=nH27EzV5nh*6(Tv)koI_OFor zTAmX;Kysz~w`72tYqZ!B6|dto0nz8zmjaRZ0|z$dt;ugw)4`jgOIPvAJR|Jk>*G9P zZCxD+X%$+@V!*rZ-U_Qy?k_|~X=sn4pH+r2BorTO8bZzSbINkjJ=y=xp9)qqP1n1K zazDvymT=iVmjeOt{2BrER&iol>o zp%JJ8B4yrDnYAi&qhIC|juQo5HrlrHxA_(Rix_;;qyRBbZwU$FEFfmD16z)ZkymU1 z*(vi;ScVIq8~w1{`CMhgdGn93AV5xknueN%EC`iee{$JrXtM;%2AR1$sOu!VW>k6^ zWC=zGX{NH`KXWN3>+A&eqQaO!t_0ztnQWvU%Z9t>gfcn>Bh|jQ5vLEI)(?t7IeTk9 zS6w?v()x+Tn_peH=$G<`c9u@bi`0We*+1QzL#lgSQ!`6KC#!#+A*}!tEz=t#O=m12 ziax#KTKe>2P099Xl$G};5(-OUE0Y7xo%g{aysMB>w2$2S7(7PmsMVp)*%jn*?hKR8 zW=>nbU6laTiHGLsd}WOi@-iuGRM7q#!`@R5wNCIB^T*JRw}yoT{X8cwDA4yoQ|YoL zv%1uz&{=`AFHhA9U%GYXjRiSZrOxHj>YN|g`h63uS>;y2OW9Y(w(Ff@y(ZkUTtDt< z&&&2KbTOsV#E$H77%)0(0vWp@^rdX@gm}sKGRg@ZFGh;S>>F3tQU>@109weS57 z%Sbg(#p~Jj!9kX)U}XKI>ZG9!6M~8BnP>%xzg|){r(x2h-qraH8=%}y+~}_T{XmVp zzYO-SwDalnve9f!-Y-x6O(L871xur5TOU&M794`k6ARmJg$XBl4|15Rq)d|Zo9_Rn zSwI)vHX^|dc96!H9#0K-cjq)|gn)ocI`4Og-#Fn49w=S{O#Y>D7N4sDl2*_CcRq(+ zNPLI#EbLVjaIfWj38kEO^+kpJjI@7uBF;LKD#!PiG7x~ZoNJzQYJmOOnjMgdj3>^6;Snwcvb}g&QB`WW# zj7*U1?8e1E>RP-X^DddSIJ*{XdBu_jn{ zX<{I8n`q(PeQ{bC4t&*9$gi$*^yZv*D2}&6zk0_rcO~Fu2Fih|e-4*d3KJ`XIUKv1 zzO1AMb?YcewYEd$=U^~Kb+%VqJzUqT8W%Rw;7Dj$IO)t#) zp)m3LVA*hdFYNRiUiIq%b1!wUWo({~piOUk(`la{nMb4_JfC3D*ukBmCDa9 z@uRB?)@PXfg7rU^k4m9zWP?gC74KQ{oE34rSD7_F7BB!B1;LGyhe-9Tb{V6*lnc}z zjRlGg^AGx8i!-o5&U&%K%%byjf3KGIzZO-yQ$fsdQ$zbF85pAd()(#$jU+8Ykh`UF z@TQp=4eKf_MeD&FcS??2Ec)K<4lnR+ysDjrXEDNRf9g_mdd zp`|i%320NUA>ugbX8GoqlGp9dD*XgmKzeY!a}N+1?A>%>d{j8=fOS%sqi45KvgKe4 zSX?z8T4eQmqyKvizs_67DtD&lH8~V0K8k(L6F8QDwLPmjViB; z>T|J;dcH1dyPxX;6Sdo&e;9+qXzrJ{>3n2m`4O`RcelW?wdCFcUn)?%R_ry%&pPBrm>~c85P?}YtU+4<9V|01dzZAiU-tP6IBtI+c;zJ7<%Z)+nUPu( z(%em)-IaIp5CC?$&v4r5-S<~8aJC{`j-rY2>%N06enIqRTeqCQdt+@uzi~gt8^e(J zEzz|XwZxb@hg(_C>>1dI;yivRER6S%jMBZdJ)Ksl;}@p2dA7AV5zyUP!nL2p^+>x$ z|J`NoSgP=}FubyvrWZNCGHk zFTJ!cqk}EhIYpiOMm{KP$b`)+u1x70K|>oo1AkAcNg4WEfV6q~+nS!My+YtvxuPb|W_iuUx?QAcsjInHgxMCC`01{>mA49i-;a_uXMp8V#7`4^rMIv2aX z(8&@!uKp)P7+Is>SI=?QK`lE)xW&m2v+4EU(A{ieRwiPy-&f||kyfDqwr}SYo!d9E zzOW%uNnY_v>cB-%6xq5aQ~|r4wIuea^@Ca##?c-e)thYwffcW?EI<@Zi+yb1R{2B|El%3|-DRjsb3 zFHCx2+2zzs&w0z3Abys~L{YXdniAXQwmFs@-vwNW{^`qJhC9^U0-YR`sJP4BbP_aO zNqin^@Zuxq6b*`e5mYY}SAkGFI=Z|2@@H74(3$@t8)Tc$8{+k-Mfw_Vo`w9BAg>pL zyGd}bA=aLSm(8RlOy$_iK7h;X$gNsKevtqa>nxu67r$o#O%D}BfBu~%m~HB3tT$0R z*2{RTEg64iZOkh^cuvt}eIu*=0jXeMljvkD1EBZuk0#59A9pZNI`4Kr)jog~Jl(FdhQk6Q#U1kpBdeudmrvWV z1ce&&Fy6kj7}vF0>LKoaupSr(r&Tp;V)rV8;~Qtht)gI!xC1&)-pX3h)82f)r`;8> z^jLGWY@x=18g>PRbi}Iear=S1D~u5w)bT~clYg*Z++^m0_pg42xE>c6U07l#=!Svh zEg-=?`$Y6)Y*<2k7&aDeUg%3Ed4|vDUK6ih1$(MsfV_F-;!|aX80$kmTo;IZL5=xY zd)>Pj6$>ddF8)wbEGm_91ichf-f*aLh9kC2k^2~T{l@&?jmpKzdLd)6`FZ%uT5_@nh5-&WpC8ZIF&5? zHt(ve)RyWdY1y(?C#PaSB<8o%-8KgMf|_PbSxu(6y$pVO*PC*fF=7HYhRiFvb1j8s zz9k(61r*I-=*-=<_fBY(aG888SGkWz?IofuG@q<5nC{Z%8`jvutoB%O8M_?~XYsLy zp#gw;cMcZBza-`@9nEr7p8orEu8`;Najya{K&}P|Teg&h@CV+QT7c4nK2i|1c3$Ml zBgH*~>Iruv3w?{-Dboh|(x$E`2f$Nhq8w`-ENrU7pRYscD!{ z)LYYO^&P(KSrs~$<1DU`7?qz+$KPl7&sr=Q`{mQ2fw;}--&909o0yhc_pJ|EY8R|h zwWb@LQ|A+81Kek_`8DRA^Gutpsnc|YtNZk-OHIlb#aUCQgY|N5Bh1Z91Sed;zio?U z))iZ1l1Gw^CCbe~3WkR$JzZ48 zEkhf1k)ksH6m_?5z{Q;^#l^tlDf9ZATkxDg!<5 z@|x|n*}tm0Fvq3P;+@Armmn`0_v59nvt)Z&a1`Jm0+WU}rq7fX+Th(!VxV|tN(1MP zi1KarzwysEOW%w2=VudnP9iQoetzpR^*sj{mjpB{mX0p6;mklyLe*amfa#}n+lV&x z`zbyc#sa(wEqsfMcC^zW$=Vs`I3qVMAFsMbZbfnZ1y0d02Oqs2PrLsL9G=dZ(5QRX z9+Hvl;e+9CVrP>*y8<=#794<*xq{5&l=*?~HuGIeP3D7>!{3mLy2h>K*63$7+vD`U zn`UBnI4=`ccSR<8JX95JelsuYgifSsvE#G%EAEf^t$Y*QSznE*nsk>n8i(E(!InB1 zRR@XtgbGZT6Mek;oustdqzg$h6c*d5&y<(^u_eo!@!F zKTl?m_v42(^F#SaU9HqMQ@}xWG%1exjMq$mHRHtOPf8 zn~7%A5ILLVi7GqpE9%ve(P$A-avKg*=)p`DBs@1%4IjF+t?4au+)|;&LYb6p|65I# zY3{wY*&VLE|75;LuUCV{(U!5m9kn_9v%yX{q8H*XD7g>r`A_WL?hkg;zA@2ST!bB4 zT;Lt!f3*;sLw!DCX2h=+k%(A0lAJuct#E0x1YAg5KjUN)D&30_mWb}Q;Xa`@b`Ozj zVjT@a?2Zs>%v=;rQ0TiN&`a&SdaFipEDm-vxtjnbL6%)ARL|@&)N~BvU)6L`yrw3q z$=fWs)etR1!R-kYYqhWibr2Y+jv0*vJH{xDT}{D1)lx_HclXOmfa>p|E(&d!*4G*N zJ%Lp-ng}EB@K@?5OW)w`Ub5Tto1t&^BenFsdiI&ro!sMCRzfHvc9PmLyB%l|s48mZ zwxXELt6XKA>YDbNZ0-4*eBp&z3FM3YV!$U)A&1Rx^2IUG3|nin{BJXC*-1>{5@$mjn6NV715G$Q#sumH%2L>rL}t zH+)%Fh-E52_=+7?&`Ze;KWEh5@=F*dGd6kK-6vzS1*wziTLCbvZfu9oKcgKu$QIAr z&ImJoW*Ar53?|$&&HX_$cUba?!`tFNKrl^Rbb+=2L;OlQXZmP~Md2-2UB-_qmj62_ zjy<4yf23_+F&ZBXGo#V|o!+cYCz^Uv-1}pu*Qnq6>mlzdrj;x#GFR%4*1+!6+pUCR zFoRM-f$MLlL-*Q&brwxUeMB>NQC*kS&TZrPj9mxYCS#ZFv%7}7fR+{o_bgRsy1{1; z`A|}CAm>9$O=*pHI%S3RDiEw&P26AXLNd${#kGbgR?ZHF`&%}$Wky@~!=EhZ4g<#5 z62NA5lHlH9y}H}!^6fO5-Dzdb+Q0)sB4c$0GK}|%&6NAWAwwlcXPl$N_8E6EQ*b7} zMZNhQc(z|O)HJb-Bh3n}QP#c}RW-F5)H(}WHPBo7rnWbpl3Y85rnv*x0$5@8rGT(Wg78;jFvEoLJ8sATA^i^ z0g?Csm`wK)6!t*O*HnQV)7{>m8yaf=+(E;GIB8*>9BYypb28;VpcDX-Tl0|QFU4v2 zRpn+1jMaeW(`9Ecms-5Ni2py{yGns%aZnVkDdX%vHfU-HM%u@|46MwV|I-`HkxPAzUwK!{tC9xJK zT+AeGD_k{g_Ux<$?@v?B5awxj1lgigZ~H`U327e`;kckE)$Mvbd*_X8!J2a&=O1j$ zmz&!@k@c5V*;~9H=bEj3H9zJSaP!{L){lC3nb;~0e_D_8iunLo!0Sigz)E^C#guhQ z9w7qPed*c_X0HpBXD9R`l@s-xPv)MFg=%x&)j4!i=q&!;96E^&5&BiHBVXA?jS9G~ zJFRt~xH2)e-hhkk<5C^BMysmW?0=>@jVgwA7*z~feAGMT2A2`E?+{15HSf!d-&;M8 z3-Dx6pb3_%8|VGRHeqJ6*Z5`b(yT;#7l;l_VPk}e4Y|qYymj7*fhK#Dbyq-+TGPs! ze}q_8vjXOy5ZJUca9VZXz_vh>gJ=f4ikF%ulr`V{m+4*s=U2+~5Si|p)Wtcq1PCbB zQ3PshDixp%B`|`}M7!!^G=KEL6$Q~A-2UM0%jh}Us$Obz{)N$^w8Dm0rvwwfDahFu znu^JBLeJ@;>w4b6`{d?CtA?j7DemauOLB69B>(GFyeV15X`Q_}#)cAy3Up;v?#6WM zw+e%k^H6Hz&?)D$IZ1)CX&iXZ$w+j!KZfP^l3;N)HpVm(n=2iiy6Y5ucYNbz_mu&x zyC(;F49%Q#TJ0vRzAuono6_9VTDN3V6>HC)8{>^45k{K(vr(aH6MhNS;R7bi$y=?U zeDOdlzTWnm;koOXM3plJGqsv$xcfGmy;SlOizKURmZY}JKmzN{hnNI14u5$G{t_$g zbz;wuY9hyWzMeA7D!liP`yzInyTpK!Oft6pFbfVW5T=>U6@YVZYQo}cq~G{jC#KdR zlf2Bv2Mf)L`QfxQ_d4+w1n6Hz*DfwPq#!E!A)>?`io$$#JNmJi^YFK^J3v!YorRKG zzMRnk%sx;{!H$NEs&Wr@ml3927)B?rq-gA962Br-mAlm>j!u4_Xq(9y*5-sBT7{Eq z3fdxktyB~EZ#M`8)Q{{#+H5D8YTK-rtbQ`vVA zJL7a^@s^ z-kVo@5cBOlc1OvNJNR)F%>Ay=17I@Gvjb??n8%eK^ zscP)|J}fR5Fg#=j(rEowxjQ@qEyFK6YLz$d{1ed)RG7IymWnEL%m*7J&Ks~`j{P;J z5=&cxtkZX8Rj>Iq1z0CQkQ@!`>sqIzg0I+~Ks0&N2s(FJa#F(vi8UAZDHqd}rutwY zry%3tQmJj6zH6$aTGlmexAh2KER1$XA0W+6tANge7>4>hg&VO-YYoFmsh4QfktleK zN=S)TC1gt)O{O$Ev4;&O=ABTO@rsJK9yVSBxYqhXF!C9ro#LK59sMr)-$ldqcH&mf zD8g{5uT1*I?k~@e~@x}A6;&+?d@}@QkxVXv<(i)y| zkH17JG=4=NxnhHG7%jsm8Io3qhN$q4j&gml&D}6tg~Mn+o9P_Loc7prASc`}h`k;j z`!FtMpXY-wLa|-L8H{bjH}3WyI9j4`TiwwCVqtVhS6}z3btJFmTii_5t}2)*Bs2I{ z@redMei~qOZ&K+KVTQw4A#Cu?3%EFmD})c3p@HJ=+}}wPhy`;~wl{tPy=PN>70*p2 zp@u94(eYRS&dUs<;!kw5AHrj1#mozww{A|Sd6|6{&Ph-AUNWGPU!PvX1?#fD7K2cQT4BP}o$o?)h zo$r0mFPpDujD?6Ys!%5jv;IGR%z$ocIg&XiJg)lLkQU4n_zx zcir%uwZ_Ue@QwYpChw|vO+1D6#}R7kh!!_JP}2yf91-M@;%|=yq74FN0SmpUrsgzS z_Bj>EscS8y$Ld3REe@9}Qd5Pi7fqPc7GDQWx>hWwIGlQ5~Ce5@87FCT_;n}f98 zTkD@$!z?$)H@UZtpm}$x=JRZM{7saNNc7fFO}!&_rdA^ST#L5K(_N_n-Z;f~p%*AC z)s012&K;u*0t$`sNj6 zGe??t*Mm~3FlYb!1C@swVkVf<%Xw@~An_yE)QpCKMBYuj_x*?Vvb~kk;)Lei$0n75jPBn+jyMZHFUq-!G%O_AxFn#V#m(a z*n~|8W6DeQ=XFJa)|ke0K{Pis6-rzxN__5s&WgMbX}fkuJxJ&CJ^!;4pYgHtuJ>V_ zXkol^IWWEuj7b*8LiHae%Kk~Fwr8A@9n^)eKLXt6F560mT4<*MjoolHaoJmAAJoP- zA>JuJpSR}SmemJpycab03&^a14yEec1sS&@gXtM#F~ zRi-q3$u%Vv>2fj@P1qbgs{uoW)p~W^-M?GrxBzQdJyI`Q5J^-R8fkV%5z;YUP4Nch zux4r@4`3GOZv9&;db&C9&{fMXU5Q~yT#S(4mr23m#@yiNf_*x3mT{UYlEfr&lkOC@v2V6L(I8NgZT z-bBS)gTseaA!fK#B%djsD4=}%s}E}?80;>erM@=UmCp6y!IN``kAnyj8gbVd7c~!j zlbqnaO6q{JPIM)&b>)0i#2SqV4|}crG0AN-)$jt`!A7RgO?_A&rvL_ItiXXZ*{l#l zRoW|o#cgzrH6IlHB~7RC0gRP6v0 z=Z+sxrQ7GON_WjVvj8zrms8RTotHlf9{8HaE4c-6t(I$az=etC0ta~PcC)`U8#OKZ zE!=x2*@Z>N1Ok?(n_av&m?{%AWNPM!R<9X>0cD}~=s-W4-Y8f$v?kUF&0_)HmCaR* z0cnL1uP|$`*0%v%%pmViDVIcg?j2Cp^L@)4_c0<2<;&B;N3w#q zWPe6b=FZXFMH1BG)IT)M{b`G3Yik6EJ=94}HTtM-5>Z@+x&?Aphx+^UR%>Av&0U4$ zhG@X3myaK6ZcRPz!$k$3Z|A)qh|U71<~xH~KNlwcJTTIHXY3m} z?aPa^5jL;`(jWoY$Y}N#jj1{q>G?keiE9dTexCDbtT7kp;1N4;%pFYJToAcNgR3b% zMPelbTZr|i6U5>ZHNiOe;sMw*k}1C6a+ghHKyMKL*!_zcO4i`?xb%Ptg>{IH@SItH z>W`?M`WV)9J9-HWaDKnKd4IaQa)X)obhzfdE-{$}7Qwbzpy6bH+W#z$&K&NL#R~MS z^7wOpk;26{G39&y$L&7%%ObO0&w;bnO=>99PUQ$+I3LKr9K(^=iNtY}Xzcjs&wrDI~a+PxNCR_t`GDhYGhr);ptRQH)b5Mb|8KJGYbb|+=b{4j7} z3kv(xIaL8!b+g){l*eg7WTiW5CwmSRgtfU-RCX9;<0ltrN6gkLVAL|Dh$URF%boZ) z&F^3Fow!H!Z*{9aqi3?C*k%%!9*;As33vFLW=v7KIVInV zL9qX0W{N+QVN5%i@qoSex^y|W`)FiAMz0~udaYxprJ#AF#JvZ&h@y81UEP-hp z((O2z5?WrtQ6JhjqmlUcm2`7JJgZ`fC;TY6pb1lM@)g=l^}7HqNyZ==Qrtp=4BtR&Kx-3}&c0Ap)y&03N5 z^33s@U~CMcIPzhv43f35$ze*S7e+P(i@!S-tZ7&f8J-@80Z_AvW6Fn{=t6JFy>zA+ zz&XL_h`3~8988vvr-@_L#NU2`sJF&uNhEQLnI~M8Z6JNfH{!Q5P7?zT<4S*OCK6gf z&JkX4X1*YB zqcRk)B10_?6NmZ7Ck=VM4`FLGuJ30ILG`)b+r%|CcQy&kK8Ah2Q~DG!kUrWJMC~{9 zVK%k$1K@4YC!5`xAKiWewg+I$x8>Q$lqkScwnO{j<0QfK=hmb|iIPW2lK~<2pYElj zjMKHqBE@O@1@AEK4^eTVF`G`bmABA|A#O3JI4E^1M0Eo7tOAkMMtl$x>w+4rAhO?m z%w}M%4QEQ$b4uqKLXF>e0K*#;QIlMWjGgzMWIU~DjOtx9Kt&|6uvEmg&p{)J)}0X= zZFEOq$i5b8-7i9O6bvw>ew0<%FIASe!F(M-V+dzb-Zwv)pKf6 z{9}0&D7g@yI;*s|V5aJR@`$e7ewcN<7TfwNbWNN(F=9|qj^3=YD4AuJ+#N++_)78^dI}hgE!Z2bW-hs>ThE}-^kXxd&~B$hCq)uy(*p}; zr5MoY$q-q^dh{8pVv7nu?K>K~_hTd!n`+KD+{-VshZ=A8)bYwpSXWKBy}5Y?55KD) z++l{e!)HITbRf8<#JU+z(B>XW_Bw3WjNS@a(m8>Uc@j-G8q(cQTcMfO@VK-0F&WIY z5X_OyMqT5hKBIRjWS!Jh;9L{kWxmU{m`Nr>RxXXWuj%<*kxydLEvMZzu z9+6g_*%%ZjtY^R9Uu4}x6-K_%+Q0&Oaw5xrio5CsMXvUtnR%!ED;_%KGMKBq#@)en zzqAn{!NAOUILbsjckdr&=kBBU(=csstZ%Bh9i_m ze_VagRE&elHMl15Gt7jT(2^&{VItu8WcuBtVUWNO{(YAmM2Nf zW`I1SDK39S(hJ;Z%xOmQaZ2>mtT`zvz0~w~?O977K7$MX5Q_;1+^x^XsVa0H{InOU zXYMv2haKC-EcyCW+(AfJ!(4Dmw;FtWTrimVKq&0;CJMgXRP8W@kT9R77$v;t$PlM2 zO9AG@&TB{st#K_^+w-%}mCx9kyz=Kup-qGNAkgu3W!HZS!0b%m{4g+wJ@-fkzpdSdOApi#NOQLggJqgK zMEM!*mM3de$OD;>n(qFbdLqti0mJfu)LRID^_H9i)Z!7XB`rKm*pPr7e(xWAzrzZO zFJI*?a^F`KE;y0_tn3!B*uQK%{&8{!2Rbl{%lPyE4d7b;tnh6Jgy(^bueRB zB&=SX;5x_qJFTkFcDi#sncV?zQnvWugn1o^8Ayy-LVt0GzTU)mDJ>nV8lIw^-lc@d zl%-wc$Zh@n-5e&X1JQ}t^1 zXOAiT-_snGvYF~}flK1nZ9MPco~quCHuV0^2Z$^#29Yr!;`JcHzt$Fgsj)gU@*(w! zNDr#sXl}`HNaqC5beBsd96v+#KIO5Oy00~SmA}gHt~fAgLW29+p~L2_L9?gvo+Z(J zxQdQQHU1HD(^dc08>s(#l8oZ^4dd?1xcRDsdc&XU_<_e<{0rpf`uL?P8y$9pC8+@_ znAV5&fTnk;X(DEcI!T05Np*Rcj{a*9ejQ^gdiishR9z)^02Y~0+sM0asoh4pf2>V5 zY-!>z_1n2pnQQyt4Zeb9H=x9$UFGBd!Mkx+P0*g*DLs+iD{sxQar_<3#||E@@wyXR zd!a2!-W8xvr*tWyg6ITE5!v|L=K7>J5T6&2^jK2(iSV`J+z>r`{7(%M+`%j9%Pl&w zC@ZS*ek6~ZtEe`d*U*g01$6J6>*-#PJmo`}bY@tXrfr4AuVgDk$7KXNl-Fk)zZ)zK zNQx=@ZqV}x1MHG za+Tu3d9o2=+-Iu6vav~#C{gPwDJ68Z{9>d8qrFn;&~&q{*P%Bqc$|Ti3|}x(F}Fvs zY!>_+|GNyY@grge*xj&39$F}#w@e0HQh1~V7aUZ$&>2)Iy;y4Bg^Aum@s0&G+uI;0 zo?fn>I!NvdS8Cu)UIQR>ozZZWkDB@W@^x>3R-@oPnk!Nb_cuVV0k$PVBV|&V)GT^LA?;isl|SpT6pqLN5;bihhbp1o+?3 zJv#nB&`tjfbZ5oUy}_WH`^r2jNK*yBY^8#ZM#ji}e2728p^wiLpAA6`iVpiCCCJ1Y z7-{{b-0FGLdl=%nRxtblB|l4z_bDk5=|{@onn0qUs0wv!US+k5S{IN)=JSU6mY_5KYDrwEze60GRyIE7jyJ_D!AaVPc<71ZhaTF@{(1(->go5*{mC{ zuw(J3W}y)NuO{gkC)1=$?0BTljgQATbi!U&`W-T8s#rq?0mYtVS-``X)z)!XhHBt% zOyygN75{Wf=O|=Pg3y9`Q~7i=%PC()2&gaI3{$vz3QXajiZC+ElDIz(m=69pa+Kh= zG|g`*v&y}DoNXWB(5V5s%^#@VcA!=ok6Y6+y=B(*)+N+r@n85Q^|vI}ee_+s+?OWs z<$Y~38qHmMW!?ixW>>fomI$l2+wDS8yd7Py>+2(w@P8xpu^|``T5STk%jU$p`M?(- zbThF4->cqcU5MsBNIJT_;)97H^sIqnW!H`)jCDAQXWs5s%YR5GWcv9q3G6}m6v#%nft{BfEUW@LH{2F=R$e+251@98^ z)m(rnVgK0x(6Z(Zc*k_9;X>gL0u869I+4?Cu~Fwy%vg&w@{6r7#W*C8n`^UxNfeVZ zFTHR=QIdTQ44!Vy-`@iZ*X?2+#q>&4G@AQI?r7Mhrwiiao0#F+QfX0|KnAn;X$NuD zSkVgS6l$nFw(DI8Hkr1}(|(zAEYO!vi<`wK zWZ~#)&DP00WVO z7z@8d@NX3Sm7Hq|vrz_q?v&buXGy?)cL%^GIL)ldeIsg=zCkB}VA*c~L-U0hd%3$a zBj)~lg$39cfb5Y1vEsfZylAim4=~<6I1+JtU1HA^f0R!cYW{}b0ES)OI0YiES0)C+ zZz;c625UO>TxzBRHo$y2C54v2%4gDwfcp23Pf15x3cNAgtTAO${#<6XEwiY$%-Z^8 z+%0dL8bWyA%bir4=SlJi$AK!mR9%sfuxCXe(h!Qfkhp!Ss=51!Exb?YHFrve*s4yg z1#`I%<{}c@8*FB$tMdW2s4{QRW`CI^lvpXSla6gV|)D{pj{kGZ|zj zx4*lsu5EIEadh&KRaxqqH1C0;X7TRa^;W&^41JkhVXBEk+5ImI<@3AhptOoZxwH<- zGk*z%)<_SrsD2_0k->!emLGI<(zRU;U#h` zQ>!%{o$}#4B2pQQY$5M3@>cF>SpEQAm|YRvgjQvP`!;J7Pd>jTaFIQ|7EW&*sQd+0 zgPXFjPot%{N#g-DlUD6EFQUm>8L<;o_gNHWrfqPPCcr6~WLOZ2(c)t%p|NGne+Po^ zcQLqWM=+;y#`S@+>uT~AVq!!kh3u-?`{C*JLuz3{9;foCYImOz-_M7O)hu}uH5Mtr z4R=x(u*(*d!m_a$4FZ+BQvjD*u7>9=(Eb}S*Eq}n}K28IECp=#5?#u5AWKlL+2aB5JAsW+3 zU5WHo@yB&vGfcoKS(0f9>uG*{Wr|cO3(eK@ zb*$QFk5lSr2!XWEf#K78Zfxcstw#>vYX<$1d-;8qBlnHMk<-E__$$Vl^?`7W11@ju z5I7o~^Rdnsb05BuPBSaymX8dFO{3>IU^o7aV-IF;jNNC0cbIx|wj7fukL0fx8P0D# z9gGJbzrr_Psn@K~4j*g7)MMp%oLX*!uLG>RZrDVV9|96Q7NwpsT(WRPvAW=dV)D}L ziseruhv=|7eaN!$@7lxeuJ*8dbviE-t{KJCg!@N3C7&`uSsmH%@t4gtm~JR)P8fS6 z!kcGECOP+in0OV<;Pmc?MqGTw>8_c4gml?cl&Tx6pKwR@16>bZJ41!P%%bq(ITXHFsh_jf9y0eS zDL(d7XV?+4Z&LBY)7z5vp$hZ${`6+qJeccr`Kg!lk7~E-D=`7Cvidzd^yPXz?38>1 zX`5cwo%AjnW}F3nU+{nJimdCVCoIJd0gQ*WKibf&@!Vs}tn$_$X)Yn4!ig@X^q(_R zRi^hc8PIYyr*MKNBCe%A`2ib@kc&IL%en>^9NDvE7$$z&x@?EGEf-6^MAKm?d;Gt5 z4JOtm6 zVdPj)YW;BiC+m#2%L#?-7dXHqyH%n6o$PLhmrQSk`(mioF44$t=L&GI<`(b|?*q6O zIjQlu)X@pGPH^Xyr;;VRLbdOCgG?uri4U)p$qbKWf4^(~5zKjSyiL04HQpiEg+=aj zV_(W%#UO)uX-m%UR(DiyQSp*ondd(w5y5Wv@X=a2z=PWNzcRO-2W zfZE)y;2e`Qex49+uGrG8bDQH7FId)do41la6OA1dhU4jf89*3~_Inxp!W-OEZQZ)rbt>-+nPuOc?N_^>zQ*M}AC)K7I-Iyib6>g$kYD&9 z69w{1(A1jpga%2Apw1;&!-~b@C3j#L5MK!FAa1CCGf71yKgF*wAGNobA%eLabJv(1 zYPwYc|E*A4;PCMn@X4mc8fWlmv1p9VA$NsCy0LP$P`m*ebFW0z4E)$MbinAurqxn`pj>#nW$@{K3x#nsT++zKfDelF^< zFx$~Snate@bJ>gr%$}9K=+QvKo74FHaNm=)9=vq%FI|LC!R4BoL-9iAAKcE@3)qRykD0YI8lef8s;3`7N zSQlBln_2_%e|4tFG12&7)WlX3ak=TW+<7FqO@pod*#5*qLTC{AD{bn<&&7EnUyvLr zPRYyUVvV21sA;0Dvj>>YqGCjMxZg%+(LFYF43ZtT5`xXFaA5VMLc(jDTko_}Ahlcf zLN2~S&&PB_^(GbS>+Cix`tuo$O+wMBDsyl$G(N7iP-6!%o*pVA5t=ff#Ak9)sn^6swjo{a}AuO{Z7iUFNHnxE{Xrd>hF z7O&r<+s1%PH=UB|&VIyPYi%*RKv$1h4z&bw>s3qKY%PjR0;iIo&15V~?ZwlyR4Ie7_iL*$)MxD}k`RhF@a17Hi z?_NUH4NnJm?@dw!>wka+LI<7Orje+Ty4=(J< z2IephGdkW|vf{;vBRXL;BI8wzyA=H0-MvxmO);gTqs6#)@D0)|39s=hnT4<9cNUnd z&#v=O1$Tr?D#Cfha=s6)2c3s1o%~ATIwMuI8Pd|+_Md1-w|$R4G7&4jCEIt#KgudM zadNW+??>9|j(o<@d1#$Cg|-0?69Q-0XXM>9qa}@B>2AK7yvxZ8B4Z`cFhA1yJCOt3 zbx#_CU~;hYq%gSK+r{p@m#lv_K&%xrmGH$60+)VA>l-|#%#JGgK zs@E9*LF#&=bCw;Qbd3(T(Lm8%dZ>1ETKc1t<_=wCM@PH?RewI8w6$G^KQ>|y$*0aY zWAjDr*mNV7@uMRdFMn)KV{AIS+1!kcWh*TnJFKz!lx!Pjbc{J}^;32{HhVg10R}Hl z4%mDf-{ItBhl(}OXAk-v&)Qva6V44%&*Of2mrzE^Y&ua~ zqJAef7x7oPd#?g$x(SN|(8z6Pm~LdOaFkWLOWlZrU5uNnWVJO5uo^mEm1_A56OO5o z%8rFt+pKPD4{3r7YqPeQ>6TxoK`|`bDb;;JK#Xcwhxf>0$SB2ok!_Io34h!N&c{K0 zsd4g{JN5#&_gXDy_gE$DRN_TFurv`(?mu?fs_&yD;OTAtCKuYOI~Urj@mxhL#6Z=W z-BjJ8x5+Z1Mbp>haYkh0T@GxozyLBc@Zu-q{GU{(^fpTR1h)C#rspAby4zAazAovC z3XsaIm_3kT`hqIktU74=p#7?*rVq9hokONg(~?EJm(iE@WL=lMO~==4rw~v<5Km^1 z{s!D<%epyt)0y#QEK&hhl#Cl_%7*&IWKvThWp@gxvF){^2rM`4^!PCH6p^wjQtmz(dd~W!T?*}2Occs;OtAmF!}tKvt--jOz>ZYs0xi0 zr{x|m+Miz;b=iP)Vc<1_vp?r=a*tSMLeWR=&yN|<$=9}td!&dh6~wW8$6hiL9tO-t z!n3AnPXdio%SS|}#<9xbf16e~C309p-!@31Z=d1_&GcIdcjqN|IjAw}#U<<|u7i!U8b_10SJU1c z()~x);a4VjhowEL13CB@#ecMM^@^t^Q~ZmVOYEokJJ6un6*45e2P{L+T|{Nm^niv zt+JSS7f{H%hCd)trLJ7-+;Rq=fIo6t9Ftek>U#N#<+!LPzqGv`-p(x_+Y;+)OUzS= zjl{b5J?c-gd(#bb`H>%=8BiT{!VA_djir)H<)l1pauM`{+aR zeeEw8)I@yEW|jglS{phe*4+K*5z~&)<``aS%o;Q%jv|$YIb>KRCp(oW+Io+Jnfc3r zEc?qpJs#F5fk7Wnw&vqn|D(#`;|l*HTO3rcGeMwtfV|b>+A9xMjXP7Z=7O#8)2SQ3 z-cS=Orio!dcqMlTSo@SAuI|rM24i^CLNl{=+shL~$4D}}U#IjrIxX&y9tDjt_gTe; zefj(Y_%~>&ojKcCr@U#-mrltlcGuqB{L%ImZ2_Becgwxz{1lEIy3*W1F&8GjcJBDu zZ2NIyWB1KY$yOrl-ucXn?D6qBV!S>OjIMRuk-0g=rG?zKS> z6p*cd?@v{CCpbFa=lTD6y-43%x0X|Mg!lcC9kOPB z%dHFUHhOJrg64<2)xSbi3RzHocu309IS|W<4aN4e<|#vo%O>!GCFs*M%({DuTHN&y znzbI;Qa|04-s0XtY1xkGQusH?>GdFA%BP%_24<{Nxt8Nae6sF|ya7C@vFkKoK9n8P zmFd*LJaaEbok^SBm2Q@&iO!G-UBIXId}@lGkVplHWX4DExEP!tM zsC=s`-}{CtA3E>iUQYebvu}k16~U$mWW|AxZ^>NHaLxtSk1!e$#$`MVN%2b^-ku4VbWu1ur~9J@+)`JI2v^;+^u ziNiF#s&n2vM8S!a-+Nvu1pYhNnkFHQGinp97Ovg+z|IZ4g6zbT(?Nr`)GT~k_hWOt z7n;1@JJ)-p$?KzYy}Bl^kIeNZ^V%4laLjZOiL2%!swp$+Ho zP3c6_k^_aH1pmM0|NDeh zgTW!xDq;2bzn%YF6xhJ0?fl=(f5lE-Ll&Zs4_}*jmhj}?zAAS8E9c?4PQ@qOG)i#j z6F)UaZ$uzYw3MSeWn2?*ZBwAvTj~fTl(bLCxwx0}@It3zXRn$a;j?&m{S+;CDi&4L zG=z^QVa3e{Me_J%c{#W2Vr1NPcPm2k5_`I!TF)bu>WFPEp$Jbl0Bj-e5MXzzWyzq1 zBp|+VojVM6jULIIz+eCh-By27wL8F=BrEVu6rkNTJYKvQwxKV*pT`RvB&R6xitahn zQo}?@x?P5kkXWK;k^5qb^#W*HlLRamo50D7btasn6GnGg!=35AN_Qx0P84|xf`=z5 zf4N{K(T;9v1n)buV-}d!h|Yo62+W(#(>DIY9c}p*LF8$BJUqdB2eN6L;RwlfOUF$!k=}a)7;Lnc$qO=&uTujYMb2 zmx=(ZJ}_qp1HG6|!=_#GzBE(&Z;))1A)utxT!?@uY2xQIdnl@ie55Qnu%wtYFg6-o zw!TZUk}auW<*7kjmH5E6<6A0TqX}GS!p5p&1mnM$0l)Yg{?o}JA21&m0Lka&Md-&q z4;8KB?*&CJe}@-sb&5wTdHCoe*XhC|wUUFsOILw3#rQ!SXWNUcmJt$>-kW!LJyIaDY78X=fI+thWrpqO*G$l z$6(jqJ-L3K^X5#ME1UB^>)EL}%8=PU`980MAwB8+99q=EBoOH?evXM{mt0q0xQ#pf zo;p<=n6T^A^zPUp%R7@l_EXG!!nThTL+soe+t8o8QXKtbBnML$mPuW5jVU;mE)Pr< z?5~2=IZKg{_{gEmui&-km78>mysQUH0lg=AE|2#`OtzbAmm|&nl%Ss@2~jpy9mn)EU~WblP{;e?%u=HZTs}bDVE_B z@LF<()&TXIBh2|Qc9)Xjs`I^PQ%?onqdYaKYYVTot}9b@ZCBRDx{glOwINkQzPC5^ zRN!sn$yN?Ki){}ONV(c(wT zW^WsU8tyOy^aS#In^b+g>=~v1r1Z`1D5VdfGngjI$h+%j>tatCR-j9ux&jWOr#c$% z_Cg0-Y+w+sv#Eb1Rn2+rXsTYaLe=~8kgR0;=lE;5vjySR0R)NcFU+cn{M4_(5bp)- zvq?Xf*A|V5RTi39z=2rTpH1tO%BGYjwz*znSSs&lDi1YQKDBA(MA zALML1JFf#g+SvD_F2q%L$ZrpVB(8NL^uZ@F|d6(tzpwkAc|9^HkNy zT~B0j&5Wvg0rbrN=3GYhrvfr?xLA` z+33#Z*D}=?ngc;5pa=@Chk+$f*QbzU0(uYO@p+IPoc4>Tu~U-}Y6y?DfiP?C#yQ*` zyP%|jLuWM4)bvQvR5FC(HRhHwuhP!nEm#WF=N}BnPosGh1Z6+~`T2q&3TC2qzODg- z87vNRm#;aE6SBbgbcV3JF81!>ySXn8YHB?s#sGl4P~aWH!&UEhGfcfx$SHT7S(?M{ zQW8V4UnqrgmYX)K1_Y`X_?$N*+}8c~*A)Stt0$A;lgiKhC{%Z;ue{a?Iu)OWVrvth z5D3Ij3=;}MJ`TM?g!d`%?t^*+V|%Qr57$>M3m-{jhROMXE^CSEA);99E-}Zpasc0I zFld95M!qmzG~Hu2xt4$jI{dXDc+ggF5g8j}O>r%i1TU`pR<^|w6Pd6Q(alwPf%tXA z?w%hg{b5Rn`pYu2`pS8BMku&&F#f2W*sCH}%vNk$H}_~`lE7{nCTI^-I#Abh0Uz*h zIV$y~PcBwZ$Z20BK~w7%zUny2wd`C)+^(|py~zg?NiX-@Ma|z=$zXC$;`?CCw1ir{ z^n@v=;9QFN--c%HO}5hTTims&vokdElgVuZi<%4L7=O-%Ymdoxv5k?b#C!e_P$US< z2sUx^aYMM7Ke<$ul{AE6T~l@e3Up^eAeD9e19Pg3Wl+-KPSKt!a0h@tx1{r-I-~uC zneWx==pXyeo60XSUrv|YRtHhS?)KBFVdjjKOTfTDT~#3-iSFxnD$Xe#HXbu|Jqz3? zNbx#r8O7V_lvO{JMxk#Hb-ozX428-o*h-K%Jnqgrfg|MvoUf^GWog#^IjIfDPG@gB z&u**}M4vfZq6dXvvTO*e<~a~ccZ(B$jqeARL9Iya9DekMhc_fJq8tgbiV!Xn2Z z4RO0ijB90W9n+*Teq)tFlpMtB_9s7=KI0y?GF6gWf8%wEmYj;U)|z(Q2o0E-@CsW- zu=*WSs}tQzO{{16R$<_SblUwOtTw8;rN)}{K)iRA;R3aI0wHLuP|Y~EBGt2D*7o^8np3={%Q^2XQ4%3C3dO;l_M!^7d2@ zdYF0$DHkuB(DzLVEMer1uild#IV9RJL*kHn*&GI(ijNZcr08X)m8w*{7f2!vTRd!D z(C<+W5lN5JWHcgBBP6p|P4nmt zHM0~Es}sG1ac?3fWkr|qQMQPtW+OdK%LR`y^^ME*9-+_-6O;rga3O~g-6<^+d({oZ z*3<+w_*O)!)Q3U(@C_e0w7%!u_6pgZsDy(YjXw}!=SciM-#)qVCNnTiiWaEovlOLo z?zuO!qe?i;5?3%X6G#PFs%G<$TxX|t>l z;jSi?7+x^WC>R3q`?b>&F{}`ITztSlowrE6KEJZAIijm&T!S0$!SgPth4;jW{YlF% zUc|nkuav)lK~_vc%h(F6f5jnm=>jE*;(KYsWZ_<)MoOOI2+ zx#Oq-d{}tCD3lze_vndE>9C4t@4EUSaBlbZCsD%SrQRyOV>vqHJfVK0JDoimFR0wBT2j$n6n8(-(-NML zAg_i~AYLT4rGmgzfb(r)24mTVv9w|G@`>1r47=4LBiMGL8_eLzG7QEPYaYwZsp+8x?;zLgDxmhi-Cc7DC5nIHRORrY>S&1!(5V?hp2T;Sfj*52 z4g2iv8A8K?LLeTE*T4H*2gbmt$eNF|Yjn|+JxSywv0;PF(%O8flFhD~@>ss*M$=DI zqj3`s4-LidDH6j+hu2puYB*%K@aU z3yLHt(OtFRpl&qSsQOz9c+-^kH_Eu9Nvp4>J$uX>^0v-qULPQJ4{vA3zsAo-S+dM~ z_|GIZPbYS@iMNng8SfwPUcF3n7LlcUFjcCBTV-!N z^p#OzsmcO(gWioz_tQ-+ZoOTkmq5jKc<<^d>6V%bP&xAoRDWp(RQZPhRUuG$m(yQT zFHq__!P;7>14xz4u3tCeO6hCk5eBNuzV@T&K}26&wp34%QxbnLfpy&T6%IjjJEwsU zku?&+=spS{c@TtaA?oa@OOinqOi zADy)E-YHo^c#$0?N&k8N!Gi}4)IT>4bwOe?P^X}z4UwC68^+W-b62^%ZREK%6i*{7 zZb5zEohl5Wh_OEl`C-=|l;%dl2RAw0ANJ<%WFn6+LWUbaF4?aB7jq1WfBt}b9E`k9x`2{ZI-X1}Ua{<-zm@ zp7Rmn#zM~++4e@Kw$bf(cLvz}#2EsA*I4oNH?2+dRHU##e5yoPV#A4Ms=1+vqW&Rv z7I3357S-(}K&C!qo-$SQ{`h^%EMQ87XybCHWJRzq*hB#AHGCZ4rBHjW6wRa#VxyUj3vH4JsiTc+NB7TbpbaJ z8^Rg>^S~$j@%!5!Zfzr>4_|6zOlZkb@?N-3Waz;MbW}{349ANaRnN~KHZOG_x-Mk^vs_v5AT>i3_T(vK z&>lML)I4dDIGQf%WyENKSo^Q^d6AJ_R(JcH7ayMIyU0*TUIbd8#RSX;H4-kxxEugE zjYUx;RJ{?zd<}#vm&O+In4>Y(;mQ zU)5HV*l5xH;FH-|vvs=AW|8Z*y~2!>i9X;&|4eTa_4H06LpVjay*wd+o4L(0NTSmm zG`r{Y1JM4^-3FCwRzXNpMCf%%!gNIFz@B1F@NO!2JdNKIE??s&LIHrlT#Gyj-i-SePV}%N44I zK>DoU#xOr7pL-I3smYI(-!$2h%2KC_B$5YPw1T2COo^`Y$KHJ$fSo(`!drMxv7jvq z9{*={s)84(s$Suy&HRv*fGdSx-c2MG0Wk&sV)m|sugG%e{B(#mh$Cp;wp>R+_phy` z;8^BeL_T9Gf%jO}#|nGC6h6mh%!2cXx1I6RkgU?SZ}Hc;Jr16{Fn`<=D6ixHt-RRW zJ3y0daR4n+H%lqH%TTwU6ORO|k2k^bZ(y!}VS=#6%R21SLioCV*Ivn4OfBwf+bp8~ zWw@TQpP(Gdvbaf>t&_#|Ec2?#QeV{?1l;-DC~_I$i;My1zC^q$WGTV~I~D2Pqe9ki z<-L!*P4a21ZFi2-lL-#gu;)-11|jud;`2&c*`C*pO=s;1AhyuqJPnm4hqwSCO9z8j z5Wqp5*dG}pFQU}ys(e^zX$Qm2IoB13x-7IGta8A{+j~Z+g=$iVj^^I|Dk;H~5$-;U zPDxh}(a_O+2v*;epEX-G5=?>%HG}b+ioNf6;QK%HUVU?ZmTA$cxy^j$RjyZ+lbEmHF6{wpO2y;{9r0#((dpN>FUcT8igi7kCYX?{~QJgh8A6k7E!EjNg z)t6L zm`-#@&>v`UamuP**D_T4y;FBHbXFpqPR^Ud+h;W-TGp&`qJ|gdM3wl8K*oW@N7cKs z!>y|)-kUYWxqn__^_c33gYDxodwEcbMgC~;pvu^S*z(HQ2kce_5PDq3t|}VnCWlxn z$&LN-`t1=p6YZ2){9(GAu{=Lo7jJ-&^IJl1mx?_gYN?6a{mKMbgj>Nybk$8c@5pza z$=$qUiQlQ;A6xUu?&`0byTh+eSqm;Qfl7x5s+X|)AP(I25)zZZ&QC&h*W=s9eQ)qR zVqZG4T*N7G!b4)YpZn;xKZV9!0>p+^2gBJB5?3$nx@uV|c%b_%>6J0gUQ&#v88veg zD8n+6VewDhJ<6%+1v|{sXeat5#4ehwhvOBl`WP!%=F~So;wd1D( z^!I6?|II`7{*%TJjcp4ygGf~`%=O1kEegf6XY|-M=0Bj_ANjA)p4|l6LuuZt1R`sg zR(F1GrHEMKDRY<$)>RSW3=-mf!-gxgjUQVPOH^`!Lk49P@n$nh$B+9DAZ`K(Z*jVq zzdZK60X>ar!G1Qo>#s50TgC3AnB8US&IJGtyNL%3fZX!RdzkmxjPbGIJ{2{~B3NQ+ z7jDp`t&Nv5zi|^ z3CAQ^&ahR)-m4VW{nc}rBzZ*@@gw}x_9)btbF18GGZj?SUYhjg=3`FBSdH<=wwk$> z8mtPY)}MZ3u+9t9;r_s-LVkbj=SptMNRM!3ydrBx$#0bEs8R(6O|0e0x&Y%QG(9L* zg!d7=!|lS>#mjasLtnp36z+{WmhznaM0!6vnxa}q0t8_#1 z&SjB4O8uRcdrA|ias`zis1C%T*IEk}9cuQBc4o9UxOHHE3>!rEs>G8E%Zq$fFf2w> zQg!!{MXEk?feg>n7FOMs3N-LL>?sK*zU zG|cX!Q^9jH*zyn{1Y>R>_M=Yh*g8R5W}nAb`WoZAlr58yT}agS{p_K9P(D6h#YZcz z%Jy2|YGd&NM%WlY!m99b@K*V=zse;7dH0<5S^gnrUeoV|!$!>Bx^j$KIF3r-oJJO; zBo7P1N7@qmo43!xfBkzwvxB_DMv(iLxARiGCRqCImKIX(H(Pp_vb40L!>?Pq=eJtA zBhwQ0|5a5e=<^#Rws|?Q_%KjJeYdxR6-q)kND>H}5HuIuvCyW5kMMR%rb~Im>dqax z=5VmWI~lIoI}7qH1_k=|*na3+uXZVkhHo4+?i^(`?NX8cP4((%0vUDl)0zBS^4F}q zw%5^4O=mLdR`*nD^YYrjF-}cOn|f#}HK)9GAf78f+8T;dsV&NDM;?p&1F5W?biFNW z`}~pHgl%HFg526c#}UEJmhY4*->STJSTPnZHftJ!*0tw$A)pM2LEnygPAdYhMWyeD z^4jKSnD~DLl-uN8P6oRE6i1@^UcYc2TIH^|m5x{1^h3WTU4~wyHz@ry(kn~9aqhU8 z1DrROKbVpf+RSS=lljk@wX58_l{wd@_ia-71f_3fG-&jsCh4P;zJheFS!a?%`ry_$ zW=N6E!DDxlQ2912=lEfv(x08bPvd0eUBDl4Mfn;Ut4z9uq!28qJS>>4t&~I6xkvrQ zu&Jg(_$lq$L;2{ovguCrPs)n?NWG|H7PueZ0!+mw75Sc>BNI3n)<0n9$Yyu-b>uh} z7Sx@0rKw%lqm+HIDP2PyHCP?XL=#wwAlaMcNU=?a@M`H^uy9Wc%-LJqz4wC9&E7J; z*MF!ZrYxe6wqEf#VLoS(>JGIH$?{9(F_kkG@>bRJkm`+>U6=tN4*(LMQR7s;aFvNy z3$Q^WX6J@lHg4%p`GnDzn- zF<%PE>qi9^|GW239l@4c{i0K;^nxOlT) zBg~NCeVJ7EvdayDF_Gu5Su_MaGoK{tx{LvL%g68)8BKwAv#CO6zl#dJNzWff^7wos zfMGlkTId2HEY)DxJVSuSR9!Wf$)RxbQS1u>B}?iCzV1Gw)+w)sNMPHlSZ9a3BAx zL^)Xh`NYg7O#u0}9+)sHmlh%@2>>vd}%w00j{=0C8+049~9t>T3Y{M@I`# zDJaK}$Vj#WU7#PF9Crnd+HdY&b?Q~Ucs_<>A&b<#aVyZKZlppUFSwe3_5AOEHT_G2 z^NRll*6{|c7Adeg*`~W}RnxJBCCl8sTmG|UmVS>M&I@UT6YUNC(Q!%=(q|lD`sf{| z1mrTtnhuRn=tBs(?z|Eea8jO(Jq z^*GNv+azrX#dgcFcKsDZFZb;WR?qi&8?GS-`~E!WhRgJTmL7t%+G|URj3IK(9*u;p zvU#e?O^r!E7T8u+k`$~@@95?d-VZb^@xSK7cui^^s*Cs<+3-LYSNAjT50)-+?sy0y zhQNdy(YT zn3@5oiv31$Xp0LC1#T6`42gCi$>JAK3vjJ5z2I6vF&MnN5mjc%(}STpnd~BX!WKR0 z?zvoO7_FXA7XqnD-(J&eBxkTiLEjc`&~!f|mk#7K@gcSHP3Lj!Qhp%db0^v|TrWdo zp$m1{z-bd;B|%-O0}$>-qK#cuNdd9s@C^Ar4go0J8Cpn%lh_%eDBz+*q-N&Fx#_JGt(@^)83ygE%YLH z&y9AMev)MO(Mx36b8fD80dJw$=1Sjp{#h2(;CJ3VSL0SMdLUJ3z`O3i*FWH;fc$$qs&+(%t9wAi=KQl#R^5=iC|_2T!6)(V$iCnwP}MhL5YlT%+vO&ga?Y z>K_+pv@I-k9cEM%pw^u?WXf%E|7FTmxsk>7Q#;tI?zUA8s=_+0Y)q!A#j5I=R8?)M zD)Aa{x3PY_y=vCBvBf>fwBgiV4KZRe z@hNc^tyQgM5VH>tXAykZJ>e!s@v8{aB$n_#<=1bn7qSwke~;&V)^P@=85+TB&5r6Ff6R!s-ApUWmuFL85>DnsLNtJWG8+e@_lS8 z_ddIccFelB?Vd`V)n!Mn7;eoVh#{JZXg%RZs*0DL+9{3vLOS9`#u;7d3Ryu&_N0sP zIB|~8M_6)kJ4%Q)ERZ?HAV?LLH$o%a{1w`8%{{2UE_3YfmFfEXWqv&5ciI`!SSGW% zf2*|gPJhPACNDQPeR;R(%hskZ$9&nO%!RyY(svgnFEr%b^T4T&_PJUg-lKYpmu>!> zkr~n+jGZ!GCie$ra>xM&`_y3UASb$g661Q%-%N=44}Zhb0icbQ>-IRu?)Lcn_fh}q8Asa z7iR&ocDC+PF0N62vA7U$f_!`|n<4|4$b$Nh-~*QV0&N^z37*2Pc0ySbD1K)B;mt>r z?F;v{i*{lInd!0FI18o2E_Q0{_Rry>{@r)1!n?65HX#XD!lt-(4|+$V+IMa7NNE5S zX z`sHT*ZkyqIOsBzfXcdTi)*#vKekr6ve)YmX>4<;pr}8P(Wj7M@L-h3teYJ2L=RE=l zJuh>j!A9V6y<3&o+NqhM-=m#q*T#=Wdw(GjMN-uXp}N2N0(FDgtp+2cA~jWMORsO^ zOB=5TFTvPq?zFzKt$*sItgM?_h&`3tzZo-Gb_KeyDTeH-$aV9U8^bB5W*1wl@MF-; z$wj9S&EkpL`WLxH8(J_^85uTf!x(59!*O8@@rPi%cdq6-L-&QjE;0puW~ONPqN~hD z^Tnx|ZrZ^btZq=D*$|PpW2548dvE8YfW$#JG0DKdIEX}wHNOqKWf8amHf?R>sd^jYhKDejaja-dM^P2X)wKBJNk;D_q2 zzCo*NR#5|4SzwVfh-cB2OGH^u(S6D*cdz)tffz2Ta#)gK@xhVxx-mevrZ(hH`KHO4`#SmojFIki+53>w&u%> ze4~nM(r=a2#79&#hI-|W_9o!#8PNvIOq4spb>*?q3?&kr`z!qo z0egnZ3?RYH9c)>bXg2kyKP8A5RCfDD5VQMBP&)s5R>#+N?dmbLKiJAl&I zCmf@HaP@o1axTTyL2Z4g?(gQS+jcFBM<^iIn7#}p?s;zm zXQ&9(`Zj;{*C;)Ab8_+*R>m*RuQ+@O@qo6XdPdT#1v836SFrT`kTYPVcd{m6_1+tt z=mkOpoZ_d7BqXMzyl5;}YM|D0-V7A(!2YEh_AjBjUf8Jcx4T9GLNg@asolI+wX)cQ zrSqtDh4&Q+7#YD+QFj&BrU}p6P4CNI{|p@8pbhOW*Mi|%8h|}hk1n+goOAn2u)_Ws zg^a4_Y6VD~8;a)@1*_+9s0mX~g;Rf=^zGhDI}Q9NI?)j%dz&ml7^pT{Xr8uE8%65G z?az_{a4vIdhVFsj+N);1GW5cU7U+|`2#aWAe6YkMw%v%YqxX{% z*hx-)CEUQe?mD6F!3U&@oC{{IlQ$Ns3#UehR+}&>t;Gn}UQl$Yoz7Z!oMOU7mul)) z)JBqCvmNx9%0hG4J2VdSA{R5G_I-nFtpJ^-$iX0VwxoHa)sGbQI+71wnNpFe%T>zI zi($oRmD<#XiY`q|C;Q2-k$s9Vzx8UeAEfLS^hNHP`{m(pXu1$iI|dC$AMj4DdX!qScCMLwRj^Q7@0KJng7+jkTmClR>U}v_ffL_+srlQ1I?7pXv?lQeRl!<=H&;RDIK4$qwm69bunc zQkO&`Z_hG=K?ZmA07EKGZl^{!=Xp2t$LylwH?hziHrsT->tV28mPZ-)xU1}dUzX1H z80075-SM+l#b%$^&cMfEezm`L1l><)8U+yMmKl1#I#f3TLCc=($z$M27;U@1Aww!> z7c@L~uDjfCCK@EssoA|NnT)QY9<#BR3uR8tOSI;F&B}V`1mU$bG39CRc3#CUtd2b5 zmGk|bLOvzF!Q!Pbf<8Op-6RlWo~IiV+2jAhs{v6IzE&^fbZTzoDHL0%v%lQohJ)zl zgC+K0aUmH9by>itdex1PAn4odo_-dxf$^r4Ekaq9`sf0QL3j%KR(lumUE<<`K(mGNUju_7qvCLdOGm9b--=)VB1QoeNZaYG|{AMX{h4M4Wm&!P*r z7JN?h2jHfIaE`Xa6}6YE!vQ*6$xT6gHCNwwvPIKbWC+lE&u>#_Kg#yc(p0en0re}) za%vtmH1!vh*K>HA`U?k;x2Q&P&csUb?8ovZ z!PP507;R`{yi-xQMX1XzmM;f6rV5$ddFLaO^{qxj5$MvX$a@WmIz2kxiFOAm+*dC- zmj)lkRy@{d$-PBX_y4TH9|@0DQ)HMd0*DJ{7_I4!sG|gBtdSFyNP*f@^q>yJIu$v! zt9LZnmLeK{Nv8q5f;o0a2MrHg`c7mA8{DbQQna1wZlzgJ)HO?2D+;Q3hXa_*4g~+P z2CMp92q*5&S*>FQI$&*A`BEfDAXr;Orl~1ED}1g_ha)v5`0Waq=6Gq9SlUB48z|hz`x)ZtL?5zs_yRjudvo|glSOLMaGFEaWEDA3KfSm{>L=qd zZI6M*20wR`HegGGqZ_rVt8=QAQ-=H|x7JzP}NyNzDrJy6}n zR~h?I9IZJQiNM$vyH(-~OMN&c8|qqXa%ZZGtZd@ho%lem%VU&-`={T};ApdZ2C7i6 zk`Kx-Kp6~>S_j4M&3#(~5KqyD%6M+%`XGX#%IK2H7#v+oIMT}a5FkK)LkD-7=6e=V zV6>$2a=;0hF^+BMS2yvrER5USmC2Mz^89d*Ky}ZeHdD^Sjk_QeZ(h_tR}P+v zlTP#xWbjN(NoZE|Vd1DW;Y9D!1H3?fVA@Sa^Xf#WkR)6Ls(lbS1vWjXGBzpSdq)$e zbWde$+vF|m7DYWU>w8+_p4@OdDPi~)*_ilL!#CZ`u{8h^@_pf6ZNV@U_8tZU^-vpj z-zior!xxu{`WKgAl!sWeuW%@V?eb!A{xhD}+quW>)0NAol_j zdnFX(WmeNU_VNL~rXEA#)RYQAb=Ug5Tg_;utU}N`GXN&24K&w@PK9v=^CW6Ei%ncW z+f5t#JY|~0x5Rt0`z&-jBg4k&YvDVxA!vZsD>mkf*CF#hT;4}vEXLi56OB;dep2Ne z>Rx$e+E?xliiMY|40ZgCmxOFKJRQf|VcP2+d6|(`k4Tq1DN}MVnVp&wt{3&o;uLjk zISF1z-Z7dBOq*Y;iJ$f)HKy>vx``+G@X2t$+-qhAr%QH_VDXmgVE?FC!QcHGwHDIw^gt|J2eVfqFSb0Ak$&huuY{ak@6vw+33E% zrahzP)ani|;jFvs(H(C{YSLouXJea19+6!)Gq0u3Z|v)Xv9l60%+POiZ|q~K)hX~f zswZP~6S*7CnF#~W!=T(kgOo7GJ-0VyG`(|0=1R5xwy^%#u1h%yn%2`Y9?y_mSSVXG)3V9*pUck$VSXl@Q}^wU`VWU`iNXKr7t{*P7%MM49X83`9<}91zk$ zWd#+x%|!NQ^myU1M(~$(Ki-`p5(~rc1*`Y9nSz@GQsDuyQ@7~EAro*jhAmf{F^u)3 zeB$vGcBc zqVjkT#?N65?$iR*88iiIQ3g~edJ)OqVfu#MVDxN*Bb2U7h2MN8SlhUMypm{pe`Sz2UM%8ebf$8-9@d6GNp- zCwBz&b8c&XSYYScirezeI;S@8u!`E|X9WqUg;R6RHk=RMmWehrFK5AEBK(cKPSJH9 zCn}B;%@!i3B^4rvo2#bn*Mo^D9LX`}OCozFJe{(`E2j#E;hJ-*Ol4zJ#Urh4fzpNH z98-hbS4)tk=Z=5v7OgCP0DF;58a)At@^EE~=&KR!a*Nh0%&C}Jk>@*!=f=j=ggvWU3Gw7j@ zDIQwNe8)L#qr!?c=hXV0)0JkB0 zXJ8aOZCA{`H%FdNR1-L6By50FbBB<_SvW%rA^zwPb~{OWPbUHz zQR0}PpE$R70n{UK=pL^1zF270Tgq;JY;o3$O;LXg3RD>X^K zVpaUAYly8$1O;vJC z4J^;=#5e!cUFQTwEs1oH+?dIGP`_B-d;Of3^FC5+yUol|#N(-H8t~1<@QlfNFqyKG zA1fP*C}w1WgVek+(;Mg4Adb$}n+EDE8i-GSoB=}z5chwO zL#;lHRf*G6ALd+3M=uy0P(VRJgPnOKMm9iuE zlO>Gponl-WS6FW)Cx832MKXZ@7l_?bAeImzJ@ykVx})itX|yA>1IuYPBN_|B@djd% zEbjNh7NQwIH)%QX0Ov;>B3QG1HOs>t2gFhNaiQZq^D0aCB061Ep1UWKg9IpY3i0QN zcXTzEFYGg6vEpSTWq7Yx2H8V1ed5rIzD)-4hSucbZ$D-&s|`aTK^O+Ukx}F%}m}jil%C;)(n4&gM^L z>6}Oh#d}G5-FYQfn>9I^r_>Tk zYFXYw23x0=AOK&WtWK1>Z^77U1JciGr6db>iEI5iDO->h19DeqNX ztX9{z(0fK7tQW%@I!?d6L+Zn55{Sv!F}g!Tl>qZ{rOavPB+c_Mk~WZWKb83_qulst!vrlc!%rBA_)Pl z33d_)fbU2v;@9R2@!84ssi1Z?9#&!G3T3IgJV9SP}j zQLFJSjGWEl9;?NDdeD44iL0I-FkM>fE|s03*?JA+*Mnq1e%f_BSjaErkc{_4yzC9x z`9EtqAd`BxJ#fqR$fEwypAG~UkGkK(_+S11OoYg zAiEwM8f3rA!+%5e&x=9!NVbwRvc2zdF|~@G!pM0Ro_B3h zGQ*j*?4XSF`^s~j{|f4m(S2pScLB!1$CBGS5xYft9AGZsM+A%2mnVaDsh|zZp&aq{ z$C2(023cn+2>M`Fi=*GUajcbmc&i275! zp-6-?YJX$8E;a$^RGwGMH`=%)ovt>#dr0)ZeHZwep~y-zrT6u=)2)O@tzB%b;|$er zTa+#-N!q0*?X>(%8r#S9N~`X+9kiQil(UT|+f{^sB9_(rMutof!(&fEfDmFp!kxA8 z${b7s#WA1puI^zr-WsY4PTSvW45t=M6VJ`B-?0{pB`K(pQn>p{tko8;k#}GPkG&!|oTce(hJ#0m z0evFL`-0D!abx*~sdj2k;=!A5gjn6~B8NrrolS~!buz^XiWTp+Y(D(Vw7tTd!EvEv zpanBu02Kz!oK!$_Cky%vRr(*;eXM&UcIVKaMfc*xVk!`RslZ)*CitDrcsI*{lidWI z1CZwjpbYX}N`v7(L>0*FFSp%#2MpV8&EzRPZw{#E7mWNf^}L#?=X_gFrRhn|#3rS^ zo0VogGyc;NsK>`0e*fbLef&-Tp>JOLy)Ru}{=F}k{_dB1fA`Bfzx!qV?|y0dN{1{r zdu}_iHQrSQA!X;@&*33=1hL0{3EAVuAU+sTgtt&qS**szrtcf1Fmsa&8_j(cB21Et zQ0cl!ZRB?CJu|1BREXwYZw$cdG<L~R!SOJ70Ef+ z6TxrvgWn*4vI2Iy!%l~imn6jUZG^DT8paYi+P=Ck^WyGqu+C|1NmLBFl7_*9g0X!w zUb%s3gum5m%pkbZ0@>aW(gp(M_WhS}Bswv8z$N76=tvOS42SZRE-*3AHcr>x@&}-J z`dm%o#H9gzL!>S`4N?F?HU)){88*ldDyU-E`J3_rzQjxz14V@WGEll&hW}1~j1;;a zj==YDgwEIi{NOG-ekV%i%i+*+c4D<}L_e0*RY*H2_^$h2{A^iJ1}zT&1>Nrq9Nr3z zxGbt#H*$5U@Oa*)+3m7YVhL{@&vM4Ob`w%-0;0s0NVe$I-YeKR-eZz8G_ z0x?UH;k6aDU1WZg_*_Slqba8oV1V$MUVC12SBKXVsLU}~^!Fcs79N}$zd%K@u~;JQ zffRPzsn9wN6!%rULJxG0fIbYBmQ=aitrwH!U9zaLfAEWF-MRf99)ewnT8}8?azx8=bN=B-j`;$2Epb}WhORVanScY9cHm?e`+!|frOb- zZT@%cY{I6kIH&+8^2qfuiMDKierQO+8#FzP3d1@T?)y)t!YiKC{Kl!UAu$rt3JYc? z^_q$8p#rw+O!P^`?niJ2iLyYK?Ip`no`h>e^yg8lymQ$e)Q}QgdPKC>!AW;2WE}dA0`lP92;Q>HRD0WK))X5km z{2v?&e?eIVB*YWl3!&z`wCt`mXgsj3*E24Q2e!5P zpP5ddX4}&D($5bZ2|8V_whl?PwT))*MJmd4>OXv&@AI^3mI(P~PDoEy`gc~D@onCD zjsm$YNvzZA@4(W`h{u?9aEtBD?nV;6x z_1881{r^@|-S5}b`~OzclfPfnF0tzW``*p?{hD6-ztwa{V@;L5$;JNakCWcL%w}G& zRpn(IFB$@aT-IW^c`!b?*l@f0?*1v$o>TKOGs22CVsngWYNvaxPz2%kD}2@+d{24# z8?|fobRSa<-8@Y9RJypzaM(oM7Fo&iW1PlsGEX z<$JfJXlK%FZQf!7ib6z`4WG#*Tgql6K@0rltP`oJIp3R5QE7F(aq_Z^R~8b^vk>r| z`Vx2Kp*xe1u&qr<*d>k6UI`#uMo@Q$D5_e2Ns%lcK-24Ia3&6^y_GIj-3l_qcJv|7 z(Bt4N1ZDa+#i=3{2g*-X;8c)t539qdR40ld3IRW1qw_cK5%^c1f zPR)_ZqYYjr6ZzOMY2S=rU2N?3%n)+a#tw-=tb)96LQS0XSwGLa$Z7(!?ba1I`EL7e z*4dND^5cC$oIP2Ym8J71`*HNUAcw5b-9|Uh{FImH+OF0}5X%7L;F%xt{fJebFEQT) zlrX9@q@6}MhqK{2oDF{p`M#_4{j717gD1|0U%L-bjn@i_ffDYZ%DMqGzO2^aV`b^5 z&h2}eXJr9JxIO#pTwkx+GcaiQQ+e$aAMRg?)x!I&47q#?-N$;fb*ByJy|=)8v6&6gPjP_!(-(gS3V5Al)3q0r(8+#DmoK{$}G@ zsovj5ZtqV1ppQiRQ>E!7 zApkjAMlP?<2E$PHk1{3Y2kz!cV4RtfMfz-qVY`H%W)eC|tP6F<&a*y3n#@_`m7Jew zYqa{MoA5KKtHS1lNnl1t?gw3VyWI~?*Do-tbi9 zaK~pp-_7U7(PQlqKE_a?eL)QyJZzFh3$~e4hTS~e?V-Y%VS89waZwq=7Mh9g)VyK{ z(U9U`Y*Q%qnaELoWtVkEyZ1Lkc;?ar*mEJjz`ZixbVJz+!j}hS&Qdx*+#3eV=<4Lh z)&(;WyndMtVsOS5YoKI7AQHm8r|***^6ha4m=D|@7^)lNOWdkd75l+GoeyL%uKIFj zrQ%R*uIlQ<7q9MH)_{T41gaNVl8gTacmHv6GTz6!^qL!UJaJK;~J;ICOLnbX^^YjQQLr1GnnSQ5PzVb8E@)u z7>f@K0sYXMxm)A;TaiT`q)Ht(V1=e_GUE0Fm4!zJs(WNfL)t%Ak@zzTxiFVso|R=n z%payB-7a=fspW!*dA-lH%oV?QW@nz1-1`D^@`*~vIMcYe8||}uyh(?1JH(u#l=Ybq z-M^cB){(w+bkWF3(*B)sE1Q1zBUvWjNgjHqrj1Ts^?i79r}b9@1kKl*&Ux3F1R^e( zJm)CS2%G2hdc7%6$R->ch)Xp>T^#KRNNUb=g@BJF>Da@2s?K!U}7f zVA|E({oX>2V}QF>k9Oi?jI?F@Q^6!RGVe`>3n7BQysGY;WMI_Nz?`p}QM`RtfMA#1 zx$Oi^^rvCL}f_Hv6Y0&w2Zex&5;Ivv1{Z$f?++lQAM7nIIBk@O@p? z8a^H&g}U{gI)VSLr5D?uk`Ya_%i+uhcaH-{@{0sF5J5nAYS)xc;9M$#>*ygB~Sh1hF5jxfVr@_cQ~(O zc)x+SY_Cn~?Hcp8?;HCqY~Hr;wy?$U^4c+&OOtmk?}l!8OY|gPd2a$w*4ND|=h1!Z zCBsUNrP}JU;Dc$e_Er$EVcwTtLpS1OqgD@0MH6@rffDz}8i)4PMyV9PE_HuEb0<2D zN&@!MT5~@HBJ*oVLjHe+zQh(u7g{$^7eE^C$_`FcK8;>Y7Ks) zn%XD~9EvuIpast{{!qhWZb~%4t;{E;?QJkrN!?yM6@rDj(<%X{hI725-c?*ANM!v| z20j%Nz&)2PA-iZf6a;bJtlwq6F~3ZD*d<(}lrUU&`z_RaI%F7zg<50|1Vhu<+UY{+ z+fX4ab$<+x4#lTglb43@7_Lm<6iiH=$&uh$!*^jAJxAFv+)aF6-@Q=4taaxy?hM54tMt4&B@`?rFafTOIQp99fdR_7-zJ$niPr0n1_2F=M=O9p(seo0Y{13 z+~ST#I62MK?u}=-q#{To`jr&V@;~n&VR&+o*-8+S$()28_$zi!NaY~I<{=rFHJtS* z?t@@qhVL+3QD#@JDxP6?iw*8wKj%{NChkIMBSECGI%NV${ip7mVgUUjW zKse-EfN(TRqT;8h%G?*`{I!d`yJiB@xdKbm(!8zZZ_2=#(^Bcu%e3ViRVpGo@bTk zF)DU1w0Qo&C!QP;IsBv1b8mEL6|j zbCX~X@mBFQgN~VLP09}h$FMlT2+uwG4ugt6hvJv#!ye@s)*EhGGQ<&547Ki6`(wYl zLyuurPd>JnQ_pJqT7-3FGjkrnDu|;HNIE8w*CRK)O~$6BbI1Qgzs5fRM1K%6yPa%E zTgV{l6i|c4y{>07)zoFKdj|)!AWXAC(G!CWiatS~^2{?SeTuNXT$p)cCYA^LSP z2c)if4&k%9{ZO#7>NY3loI($&iw&B+1>zXNEqEpYdk%M`goadi9@pND72wJX7 zvhl|w=;U@okaoJ?F@MZzosYSV#MoQhliSG(I*79uXBER61Y?I5MY@^z+|W2SokU^d z2f}%>0HoN!1bd^j-6KT3lTfjy#`bUrhLEMMhqAX0Z1(=K8b+lt!YU1USAHdS2x_|1 z%ux4BRP2&@a~fYn_)vvCH$lFu9Rs zUftO8JqKGG^}$(@J{gYyUOs4Ig)YVXuOh};-r@DswqmUkI#6rVDpsYudc^Hvmu;NW z3?g1*UrBlJ8Hw_fyhnP3Vpr#Tt5*q=h+-DHyYub5`I8g{#)Tvp`;!yR0TE4H6?Ulq zT*~deq&{Wx$z$wB`%hV`q$mRn&E&1v2Tw-Bkx)W8X`buv8Ml~q|BJV6!*x((^u2uhjGldyi>vsJYQOc7j zHVu(jCL&=K()&|k^LEz%18xOUF;)s`yS2zd)m=6U;-tHMYNnf+JQ^?WX?yhvH!6sn z@jU5P4)rEe(B$>XZSO+@P((owr(iI+~ zb85bOZBJOj4#<8b`a>YI#Vy;vL###Q{lq6Jw(*7YK`OGG>iJ^>v8BIaPf9W!O!aP$ zl#!clgwtPl@W;#29n^9X{B+P*=Vm&%#SQgIb#R>eMhB5L(ZSiKgZ1hlCNP|8z6~RS z_-k>=D(rtJAC>9?arL-=ai8e|R~{l1SWmD9quod~)Y^9Z#p9ei*&WF}M{=t>ue5&PQm#jEoy5mzwmHj(2pE?I4yXm8dkXMfhZ za@%MdJ&U{(l+5BoQ67l3(O#1AUke&nvWwCIu4y|RI;PNly%gcW^(;WZ)u=ZY#Afdd zBmTj4>sUpO*5XIRzW^$`(RgpUp=adnbkoel6B0qamIC{a25hJW_hY6=Wr%BCBlDZO zQoaR0uv#pfb!Gn6o!$jPZ+1oN@1-J6RIV3|j**_+Ens<1@`VtWUoyZz8U8a8mNrvv zHWpiWeXf*HR*oacR=j>Ig%I2e!Jc(5EViX!wG~j-7Br&T=4(|bh(f>+hwJ`jJ-NPw zZX4V=(GIl!EBtxy==flUi>8a*#mw{ zPx}C!SMxL2Y@&9vxijORwjuFK;9cO*zbW2JpEEXgrf+X$H|Re^j?ehN{lSS2TXDcP z7~<8QXuT^b+cc+kG2Nys-#(B#j8_xgVWazisX7=xBXVTQvojbw!-*D}0>;5!zTF4& z+Vt}gyjOC!fZ3fuzAj@C_DTSOUFscvW}n_y_F?rLu3|aM-p50BGpX*|4yvUl<4js1~Gg{e!xjEN3G>IYab z6fH&@&5k*g$+Qrq2DcB5CYGj-AT4x?FVjr`4enp^bFvaIrz=dq)zE(?%?`1J$v?8H7DA5vLs=<#QELV({@iVp@#2=_8x?1c~;fq6pNM zt?};qo+JL3EsX2|=l|cz(lwDx&K{+s>D<2=3Gj{fTyVZJXGEgN<-A=0K4)Kc-Bnkk z$@p$EJ_b3-Glpj^>{Ud=)_BjH&zWFGbC*vIV!TM2?J3wE80IYVeBrnSGPGm6&F_m8&k41CqC$KYlvWS3Rjn_2jhQ>4|IriFCZh z{d6=p;MiX5r*3!|(+fVOd$EyZ_v##j><9!`mQ3h5wxq`57{(%nKJOhsu+UW+=$x9f z%o$DxvJ2?Vfr!7|bV-)dR(y&tJZc()xpC%`_XYfU&^ikJ9fR_E*Lvz~Z38ge{~Slc zde2ez(5|~Q+(keMl1@`cswecy3ZEqD<$33uxCP-4*bz*>dWq^Vhu>jbN=IPNaIFj+ z`|~HY=Fg^Pu0SGWUIApmol1L&+pW}gC2I<`tP@?sgH2ku&>3R}~sOMOOfqx0nwls~|0p&hwuA^subhyg7*@y+?W4 zxzs-2#q+z5Pkb`Vdw?g?&+0un@5-Cmxiv~svS@YwvEi(`KKr@t(Ya*XF~U;O zy(F)X2c4-_z#bb=UgA^0elm=SCcYbds4^%tJYihn7E8@3y6+n z4jM-KlggCvMwOV0Pyc1==yses6nTeP@JF7EO+FQxcswOHDtQO$NKsU|iY20)k9B_E1)T4gMWe^bO;u9xaby|SE|H#C7* ztWWi~i*-2^ll7V$oL;QRT<;;=E9c6((L}MsUUj57r-@q;L&Wc)-AyHIX2yJ+d*AYs*0-gV2Eo_|(yh^5DVB%8XXS_L{(^7aW-pwIiT_Fr8@HHm>M6GcLHJsIxf=h*<~_Kx7wCRKNx9C9(*}D)jgJpWEFD zj^F!!U!Es@?>$SMI$NDOb*kzFTT0k$_NUv7HqstzTR;_96w@p>lDuoHdhenwzzCHX zZM**XZ0z`Xi4Ks`f_?pA+K{_2tA-yIY^yVH&2AN_oTBWpB7zEI;0Y9L2+m4K{|?NI zb#>!oR_;?A$JRE643ko$o{tpz%GC}Deyx~An$eXU$GYG_O*)5W&>ilI z#|409M^C2hv^=emJ%b~-xN>l8fvhTBSzI-WHF9LO`-$-+w#S$vP4E2isU|LMjk5~$ zP^{Q6wyH(q5FIwgaEY{Jvku*0J%)qY_$1i`|Q9=4qJEBe^Xhh2)~iB`B*$0p9jL7z0s+10`K zIw#TBI+Ah{J>M+RFDa%WYlsEXdLGtvfnKh+`(q`#j4<4wc0*HMHW$_>WVbsKt)0dx zJgI9xP8h6SWL2#S_-M|rJBQgP%(3myDC?I*ZueM+wx)?AC4Deoiklc_WPXDj`fJX- z_E`3hI%q6Id#2vixYdyw!U7xrE;?}BH5y}*_|db&^LCpI&uete-4)|8QLtO{6KcG~ zTp=Fsyu=0246h$%#O%t|E}UH&=weGzmN~<-mbN#reeBe-;FoRPsL%MY|@zAw1+ zQiJ6nU}`S@>nV>}O*-nzrthm9>!5Ufyw3_5;NlGX8CYUY{@oQvV1t`(H47B{9PD9a zq}vEbyD9_9c|B>V>~}XZ7T<+46aec*&NJ=aPRugJJQ0rxDducqOhKpdVm*m!DeYFa zD|9^BUD49X_4jGyn!wmL@Jf|SJb3_rl+{IM$SWeYknLt~V~y1M@dat-%g>5^^fTUC z@Mi7h4TI5LM}^irTd- zex+fH8H_$^AaO{8O9gk;Q4xD2HU}%@E0Wu_0g7hGg4s?ivuohOaR?wMb3}F1N;|Mvr<>Nx_4tb+HcpT>?MmzIUZ#U2 ze!I!2L^RWeKp&y(tkS!_!sKafX~CDl!U2(z4xRxKN1J*O7H_s`+GV8$D}vd$=?h}r z&wbRo#XEo&N+6PlVO$_otE8K?&t+9HY=V3WLLQ-p?fiEg8-(<>#I?uzBnOH8PO&Q4 z+%^zo4dy=gD!O&XA~WE^hnq?0{cm6xiMcY7(C1{ANb;R!BFc4~iVAX3AifbIGc6~6r`iEHV@yZRO7Rw&r z;l{J?vRkl`DRHzO#DhXOpF$7JaH#HzSD1s%j~Jig+d3`GC5Yl+QLZxaFdFb+n&J2G zT|FobjgOl?M6z{u4?_@(0BFtU1l7KRH{r@o?z-E{=$w8K?Ka6zYN%gMdF zZD>SBbi5TB;pGim(J{_a%fJSIij17+u5V37g1d+~Qfw+lt|HmuD-9wg|tH7^V?! z{h)!Mc3E7O4V>rTs;iF_8}}ebS*03UKm&A^r=g%p@J4Tr;zLFVBg_p^64io^8G)eo zBzF=a9vgiTDW7p0aYFH=eiBL_n;z;&QUCcPMHxMl-?wu-h4e=audF@yO}MmIFa~$e z^<-LKEdDz~ca{7FY;mx@G>WYpN8wnYKp-;`ZpF%SD>Kew_m0TK_(dt~Kany<&>_}w zgr`&^2x>fh&f|7d1F7qo8c1i)S-f(Hu%G%@Qqn%J+rxebh#t`o`~DB8zP$C%IG#OD z-KTpStMw{|Y}~V&rA#4_Z(MWIpTR#+)#o3I_fFCnoPe{eBv}_`sCUXPR?qBnd-{6H zI!U0r&)v?!Ma(nd`iK{PdE7v&{U;x1N-5Ua9#E4n^C4IIO+@?cSVs& zZ)Tgu4N~>CCcSYs@v8RFlgy~KT9SqKSx>C})ITvg*=3&|qYH?Ud*@h--^qxLm!QTm zo25zF^X0kP8ju?s8FH)AT=N07x03J=))`%Z`I(AEYIBM{YRyN3<@!d-M~o>^Ogdw+ z{iearFtQk}O1wRjkl5uHZYZ~=+}&d&R2%0HeKMWzB-S8ge#5SG+9-yEsj?~ziNbX= zV>vJb9Xm}uaB`Qc*(61p_I0{LN-5o4aUP*^GAU|mc%qI5ALH#M$bO5tIZK0T)8Tjn zuSZZ3BWLIq(7xYmUV+cK09KzFxT_4+jjM;+wdV6dR`tXU1gyHnlx1JQkLCFX)uc6^ zS2~G9M$i=uEKN4Ew^G;ZkPmK?;CIYZ5-4K8Zc~{fQVmIm{vxq;Av;WAvG9SKTf=(-(W_&p~SJdH%(a`3NuL-Lylu&I8&2x z46(ZKYbI87S9QWG9m)@O_q&v?aO8cU8^0bbLm2;wRJx}SClncHX2I639*d~zbVK(o`qL5Io;pwuEDr z5e@&x-SC8)nQU3Xmfk~KOtf^E4+d|;l{}4*5~$mKmUqThM)=jfaQ|N#zq8KYLt`uR zQ^F~7`6YwJs5e-*q&bqw2MD%O_p(OGXunx)Up39iH474546>i$(;j1B6dt^XCf5D5 z##(YVa$0)$$kN)RMvOT#1AvTqb3 zy1(Q+WzrFdV^k&Y!xI5(`}v_`lh{|9TYOEam#EZ!#4JheF>)j<&T#Z!?L)HtXToK& zucp>8r5Ghe3Kvh04Pj19y8ldF%ajfYPqu;e@adFtlm^$A{Sz;0q1ww^Lk%wG0C|bK zVlEk)UBUde@^c^A?d*msTbq_N?sct?cLV)f{6RSQ++otOQXpaBNH>j7N8A2fFn5yp z2(!v}#d^tj`HK`jHW0uU8^C4lt=j==8U~B~H2X*#QNIw46k0M4$UX-R7um?3PA0nt zF|qv|!^{w`GYBem&QlHPAMDg%jxy^$W|R4AiB5mQTotgVT^G{}luUJzB3j)GrteH+ z=ZswSsFQ#H&}OM#QmSo4;5j1K&fsc4M=jZU<431@6`wPi0$5&@wkYGum}i5u`?@j} zXV##zgv=mnl3%MrAKFh_J`Fe-iJ~%zV^+kCS(=av$##@Y2!g|vwP4Kr&OYp*Ht24x zf=8=2B>?siK(AsMB0nL*i4BplRQFYFyd9oLWw%h$jwCI0-IlBRw&vX~W@0&2vd`f= z_L{}3lI)<{fiyypo}^I0i7?IVm5N|Q{pnI?M7b;OqA3IDN*SI5=>&tr;W>s7fxnR7 zN%^x1#Utq!v9VdS;~=NuWy~S0G`CxyUtp$L_-6+}k4kUk-Rj+#!uFEmO!iXlic*@^ z9x+i^(MXzqRmK5~^)s7G`(o4Zh55IFuHnG8AUb8)@6^;GRZ|lkV*T`!VG54WXC&Ik zBPK5!r$pH~MjW?-L}I**H#bh456~8l7aO?LRbV1j1iZH~wSO^qvG#EB$^7od-5@3j z#hQOo!InApi{6E(+^(kS^A2kPD~Uo*Gni)8mSn1 z!Gzl}$({2cjH`v)(9q;ujg%f#qzrXOGx)ozR%0Bmc@@xO7Rbh0sX|t7 zz3x8XTN7e|bF>3u>k~BI<=Fqc>Fj?l(N!AZL)z#3e5(=Xi<9acQ^+{`0cv4(T+Ozv z&Zer~dRHJ=kjH?akri9}ErYW$G{9!nAZ~jV9eTjvelI7f?(zmS3jr-LVkVM6tqCRDo^$+}UX$^0#Bo9zKZ)3VfnyB?qc@jhxAa4R3x z9;X3);9*||684%mw5T*;sP)i3-Bg4v{uGtNsSSn;amyof>gL!UNp*do)H_UAV=L=x zT1C3>_JcsB%PT)&KPgecWqSGl4(Hhz9GommMq&1F*}_Q+^&j<;u$l6>D{eLc=5DfI zIDmxj{3o-`8pEm(a5nx|ks|KN9zm5Ew%rM{F5F?d5kA;mp}sPn3oFfBjmZ$-0ixAG ztJYz)g|h+w`7WArgh?hb_CZ!Bdpgli`U@uH`rW=w_H6=&r`3v$Q_bKXX&%UOwLz-a zI%Rm%$b;;fE@rRtyXo{rK0n^*I{Ox$IF_AT*U^)k7Ni^JCtL!07~!}|Jq)#G8) zDihNX8f35t82yQRO_(446{`LGc?b+6h1Xyr0rCFNPKPiKBuVwG=U+^+o*Kbn2K_l) zbG;<;xcC}LK>K?~&=tmvuYoe@4TrqB095_YD~v|eZ82!mRiK$)K~uCLR*cJW<_jmK zt3g7$F0*N^L4<3aAIn;7k`#V=Cs3ci=#C_7ThzhuLMP&B$$N{AAU0e|gyW99aB3p( zKe5zD!y+1mwI(&Mphf2bbf+Aw<=}Z~&U6{ysODx~p#HxK?;o01@ z^D`aSBGlkq2&qtMcoAM0tWPRQyc|`BN%$?6Z)C+u^*4u!FK5cd$m&+d55Fky-J7VD zCl~6u?*ucup|7rXkYuYoV(^)%_*RetYc27n*19~RAvtNyERy$0Q*wWJA}4PHdp2&v z^1|uNMb|r>S*ne-#9@KZJauSNuvcm1DY;(MUXP1IG0tqztc_yp)1XT>&C+!)N3OBH zvchI@;|eBLt63X0f_DY1;DGXf+mv+<-&Q#zl4!kC@eM?7^_H z1yz36xSq>QK7{Cyqhpn;-bB~=g{NuIsm~}$R98fXqRBeJ=_So&#-7=>_`{cXk}JN3 z7D5x&uIwKM#{Z=HiA{I2RN>!F_325e;2ktxg_E?|dJCUj{D{$pD0oB~P>GH7&#uWg z>)!>E>uI3sreMT(L)f8kp~R59Y8alRnnMGj2b((_m3g*3LKTa20!G!nQWN$|3%4(U z>KKtlaR7!c_E5^^V6Sn&O3+&Pui^CF>_JE>Z${KCz)>))mKQ#!yt^omrasFQSNLZo z@1|Ql^GM#fz53Ba!agK4J>P|-0gcgz5Ya}9ro5UI>>)O-TCdhpu2rSe(?@bMlRaQA z^tgXIW%bmok7lZ@QCuX~VCN}HIrxx93pi)ySdW_Ae(b``pmA4RG>>HBHb`cT|8=Ze zu>}eEF9TmyENY(VN|VW5u~zl&nn-(JEbU>_VXb~mghF>^VeIFR8X9ZN1JE$P#5B^$ ztCAW{Wp?E0w7`;ShApc2R0VcS6qp<<&>11RR0?Te#qY>wU%=0=S`?XeyhZOf@M0}` z=PjAY-x5IIYj0}oG-)YuX4;021ZEsI9divYYQ3O00Z$EijsaQLEzz>4IsqN359>V3 zbk-0+tG^quUUIIT)#F6q80G`Atc$-hJJ=g(doRb%J$m$j ze_qr=G9Guu6@+R>?rg^G^Yp2SeQGnMaYkV_;XF>`A$oj-I8^~91LPOj$22uVq(O8mbVoTzN)Nc)uuFe`Am^+^hXdL z8@UPdg!zg9MV?HrEX93T>DU`8NRnAs+G~_&Dqe{DWX(5JD7@#I$YquIcZ zoO%5)5gPLGA1M5JzpFkF&B!Th)67~k5MAjm*Ue~L*X&}@IfaToF7b8FzL1};6i{!M zieg3zpB~Tn0pDzE=|TD=iXmq|=bTGNT#Z+$LfIfR@8&xAyzbwK4E8?VLE?%y5{-|V z7IM;5_3mO16Yv>})KLk3vRYS2Iw!Q#Jx4iH-%j!ML%HFm!`J-UIWyVFU3yo0wynG& zVA#fFB+0m5jJPpxK#{wFp_A<~lkH7q+eND84)6|;nOyU=wYx*KZm$HP-w60~i(0Cm z!@F2sf&Y|p!bIt&Y6tA)2JAqAeU8Yu2i3D~gzG`Fx!UghSAa8aJ8w=-vOm-Z$5jNV zlJ=D()Ag5+J@15@z;ACLufvy~CzOi1Yo5Xlgtvg!fWMIxlq!x17W^g3G@8whP7$fb zD%H89;%2zGcYH2aCAB2x|6LZF11(5l*BTg!1DD764D`A)*InL|*tyc0k&`v9tq!&g z^cr7>zl$zJH14z)ld`$Ybj=Gi))$*njF`vwA|ER@GB$)~;eWMBk}uK1N$`-?e>Q_( zE`b53j(z_?9iKFHwBGuLxV^6do1I_(fYClJYId$~D7yXn%j&=Oi1Mng;iLeMuULsa zVFJ-wPLYwA1iO)x9D6dMPNutg1D{|5`US) zEf!*(R=lsoA$~M{vklvH>+5QNrUB0M9q#D6X53LWW&ldyOhkmVhPjfqRo_25GyGwq zrNokr6F?{bYbWQwngos2R%k=4A?;UH;N{P}HH=5$h4j01$CtF%8ij+F$Dma@D^Zgp zMA-5aX6V8@eBm%Xd-!Wer&cQJZIW_m?j}V^fuCN_B2=y6;pyn1bsXZHkuQ3K^wZv^ zUwxx8lkEE0!hI}EW)Ria87H<@OXSt#O%P$wZ?In@Ubm1`TuT;^tr;bO^S;<1m7dHe zkaIhaSY2}#i1f|#7v?P;4rll}S?%#}vBjx7hUq}((e@0=jtNvdiKBOHUj$^5fHaaJ z5bEJ7^OkZQ1hZ4Od=YE^8z5$(!gSb}6`AAf!b@YgIO>)Hvu5DYsI799YYMqE#m8?< zW`wF|wFY((R_*z*4y-rbq4Sf~v0?oRszTOR41W7+GE?nvyZ1mjaoXoE;F#pZyFl3C zG{>MjsD>o!*24&C?KNuG7d}tnjEN~%Gi5rqQBSr3r@2HRjKBrpDpScL96@FZ&KK{H z;}0k2xJfxq`zH~DPmU-i0=Y-je)}I_l{l8fnXJ2F>c6OU`C4v`=f$p60(8>dpv&*+)f_H zA(?%Eq}~N0xVFu!gI_=5o20zfBu6rZF zR@qoJ`C@4*dLlSmX_V&gEFvRStSO+Bn;BWRx2ZS&YjgM@2AUBdzn8 za)6+~(+_?`uCd(h`XVgqmn}~^1fyE%ZdXbO?3_P5EY}y_X|)^<_l<0bjCyA4i6sHA zxq7AhVo}A}v2Q2babgr_Gz`zkVT;r&&qCaPy&W{kbJmXS02S+MWFh z%;hza-rKAZ@5#0ajg-pcyvZqs-KZChcV{@;Z}P1JVoLg0%f4AD`jk3XV{*!34g{8w zs78~I?hi6PV6W{GlW};OlvO61_xpfhj4=MjCt2;Mc~*~a$$WY0ZD{$|sm#vX>d0O- zJkNf0k=7B^W7gQu5(ZPeH}{%`lm--GqJGzM`$ht%A4v{o*5rP}mVMMA7s;d1wRVeY zrrTVF^&`wEQ&B8OKngokUVL%#eLjMIxIGDysO01l)nsw#$68lFMg)69fD~8{xiD3>WS#Lo=|J>;LN1RnXR6|>^U6} z=18GxfF<8OYffNsf1+%GbF^?&M+=;i{UE;q6{)6;Q@QO+Y)Q3CkYIM zuSuh-2D|$yj|~Z88K6e`?)8Sga|J@5{!$VqER3LYD24S&oK)D~P#Z2=2wimV(<75` z>izgE#;!N?ZjPQVRIBr59j6y6CaKovsTX=oPGepI5d<+i^#=lk|ac~2!;0^EVw+Qt}3ny2PjNzppp zuT!ML2}2;avmBx12Ww#m){#TJWLC{bBx4rtF2ftj!)rAjv}Cv+2OF&|D4+Ev6rMcT z$>?mhqjA)@OjC&V3v0}R^DGaFNpDt6DaBYlS3ue~+utZ!3ZLD`n7>&^TA!L6nk|qH zfs+7Et7fur*lf=s-k4Nc-#;yy6D(uC8FNbOwZ29m0dCUmMJuzx3cb%9*97HmM95rx za-zE-j_TZXFo|3Y>fvd>tlC5hZ$kIT8i{-s&|R%3Kc!86a$gPt#_qe4@#Bl@6C1-VaC`LzdTTX{qY_!`wQ?~V|h$_$>WbL!JI)*@Up%o;n(ycpS8rjCLBy_ODt=a6sf?+ETMHfB04vu+aokY zM>7>jN-1# z={ZkKRrO)(K1Ou!7DEufXl0RFS5K*RzrfbfX-Y(<8wS|wr&zuThq)*vQ-#o*ca2*W1#EyMJ8THZuCb_r$08b z_lfmKZ>32mjnfp!gB*QMDH6)V4tkVy2(=6}-4O4t*d)P6lM=o$+~tZcn)eV>#vb(! ztIFD?K<>wz9LciDSN~}h{f;1ZdVI=XsJ&dDR4%wlINK|g^}IPoI)U6Q5PoDFEyEqv zgyT&v!&hlnn&((KWS@BqO0#US|7n| zlI$;)z+{Oxv?6Mqr-{~;WaPI`)00r!W6B84rrX|5N=k!i+zsU{iOdm3GP$p~S}D$r zMsZQSjwoZpvD@o@X`%f%lL-=F=!lip4blMngfR4cHjytHB6Dw={V*>~Wlg+z)|VIB zL-`bAVy|1T(o)ybSw=(1@FD#min&4RY) zmm_9(&T6=O@vD@TB`-=ngu$D-r z*WSgX+(ICo^`@VZop&1L-SBM+q-m?Y#6-kSl9MhlWF~2ZIZ3_~@-Bd{k)-CUGz{g3 zBVR)#M|aos#C;-d{&TwwF-)OFc`=`vTy4lo0Od%iLMLcLlY+B2Na7^@C*El)>_jk6t=vv(&XmmNyApk8#y9!?h7|2Dz`(H z;+iU^$A=TZHf8LK$D^Yh?Gfj8r#_HcXPruzGCFHjcSZb$vkN;_5vpb#97b$;qb-i8 zDRmgcg{xKmB0n-9f8>E|t_hD!$o5B<`0KW(_+5wWZHPNTM9F#VQ!aqHD^_jPI8E#* z>>9oSTcl2QPH*qHUfoA0(FmU|H~Xryi7hH;85~J!gOsG9&<7D9kKIL~m?xXR=}uT1 zg<&cYDeNS8MsQNPm6>~NnQLN9I~(<-*^0rQ z(C4@O9qHbyp2{oNM9#K+L*Z@m$TlYH*?_u31;QDcmtFC z@O7ts4M}=ZJDgj0x`am>0iu&xfq54KF`NIAaK@kQe}5^k1N?SN;5+plp*N@5wU!6; z2|+ol<|w)j?#cqb?Weymfzqd1L)pdUwV<9OSHT#9kpOPVZ(sVA=&3m)uS0rIKac4H znK_rm%PDEMLCSQnO4`C_@8n=7XS+7XMs!nm1Oa760AEPd$L!c<5?s?$aK7&C5Zl>g z(;8^cB#~DAtcH|+7g9z0bFkz(tfG>tp?(bQ=7SHfdG^0}G1fsJt93cM5>pobV*YA4 z(aLf*U7!#{f|$v`SZ7Edpc46P#qdm+YVc+max4E z9m_2HZ;Z`D{j$lOquqL|up4G*u(OjiRCv6CML2pjqmLr7Lrwa`j@V_=!SLee!r=~} z<4Sh{5qh4(({N;EKQ;41shD(Pth)z0M#sNwG5&x!Fh5=+LAAD+R`QD=A->qr5rL3e zduXHo7Z=jzvMGC|dRLqivR|`9gyUeKwVJJoARf`M`I0?2q;vOM;!SRLBE+wV3ljgo zToD2UCu#tRG&|hpKbkQ@z@9@&CRq@ET_O|qJ=_JurEb+DE@Z}iwwQ5cR9Tg+< z&~%_LSS*8gsY~1yz1|g&JH%j`wb(wN0CsCf4KR*o%+)345+;8GavHKbFaxnKXXQOW za(Jrdn*kkOlz&BdY%)y)8Wo|FN{JDceHO{~5gPy?594*I{y^v}@P#ML@# zChi=7F&OW-8j62ZBAPS5h|{%?OjO)Fmx24T%CEJrqU}uM!(GNny)>RZb~~q4Z{=aX z;mu4MSe0|eHC2~slg5eCvBC8m*#_LD2Ou0e)Ev@TeyHds9Wp!TXkh9z(-c!koNlNI z-*AAp;=u)@{g{Er0^y(HIuHeM9f-WRzKM0tjhg#qU7GYCoPbjhr~UhiZsn=$*DAHvUc@fcA9@J=)mstl`!APZ-#8hXVgCfI3Ff!wkF9cX@u6F{N*zb7AY$T3+2S=@G&qy<8q@>+i z`6Gp&A*Qt~&N8WwZFQLkbqIe`V^qWY2!@1h^}$tQC~)2U&>v7qfX?Itxy>-B{mx*37+x4G0SW8)otZJB(q5~p zp?4DTJM>O6;lBa4aaQxncXTShZ-l9Qnuh91r|eY$%HFxo)ZVhXHZR-fl&#uBKup;` zEj)%ePdlC`O!ff@Y8%_EPEv5_6K9U~6S_COYUUWimp@L@*;YO+6#d*$8~cv|($q(n zIA{)V(BwJ~yZsO9#i0m(3(p19*!!y#IHQx*kbt5ee z{+l*Z2lg;kU``|Ga90d97#LBR))b#XKQ)k-Ab-Dr0C@b&BSB{83|BL{E4puIa)-Cq zXmVH`<3*XVVp?mgfu`2_FkTI_teH)o!&JQ}@Vo5!JHRtG0UrgbeYyf>9ChaCB!!%> zkWgwhm37S(VYj!j00tsOS%Cs?miuud4d5^oPa!4YRikZFWV7!#4GRC$VI7<$?^$hS z5zHCEozcNc3xv07Fuyd$k#xTY)pTqwrPjz~2(@%s?e37sY0`tiYaBuYO)Q&R0{5uB zPviU6jH@(TQb+a|(ni?+7pJ@@c^C@EUN*i4(#(?;Y}6(VUEgC3s%WKo37M4GLEx{7 zGiM~f#w3r&WXIHNiO4tLQ@8a?l-q?6BC>d#yto>@LM^U_#5FChONN=b(zLkBlO*fs zDJ-s6A&W76(0Fcaaka#JfM^G)-?36AoQphgB9+AW_Sa*`liCG@w=S&PN-9TazC{%VvTx#K&hK|;&H zXFB<*RfZ`_i}${mrz>ZFAt9SN`)uY%-(k{D7J@_Og4f9>SDLMQi;H8&=19Vf{S@5& zE-N0j!O&u83{hHz))8ZLi^IE{UF&LZg{CIl?_q;Q%C{3Rp8l0<GxTH~|{5l?Xf>cCgfp*ge+$^jU0e!~cn)SM`rD(46z>I8*Eo6~2HV zIjIa$U5CH(R-;)A+Rkk~jSOy?FD5$w$stZ3E?_<+2J(Zkz_&C>LaE1maT3;SAP=8AFv!L;-SY&5b21D95F?g*#8xm7fnJciz0}eFWk*=0Ngk;vLm23`g|>&-cETE%?2zWir1RE%~{jrK@ghR^7Lr^wo9W zrKK-T-_$4UOPPz#MoJ)bxTx$?U*sX~TN$3|iww;0!GF$W3+7`UEGW)D>Wkb#xG$%+ zxa)G?rKAZj_g1}o#iZB&u+c|scv=6dch9;0qXw&QRe8_N6S8y2w@8_ndR;rcbqibd zsd~4~?vz27)Yr3xV=C7!FA+3GCyxG3|4gITTw*QBF%FilklWTX~%GR!x-mV8g z?Q++%{f>L{*N2xEyVmFL^VThD<#iqKb^Vqs=WKd@`kl)1eg5+BPd?W|U;Z{#?kj`E zw_VqGtI9q9IOL1u|KtmAcYTq+fwWs=<@@rtgChPOz~kLE|H5l$qSQob#Z@yet=@P; zxT#bXWXg#b5nk;8x2d27===?;T>etP_p5sS+_T#~d6&<%!3W>>qk-RbFHLglGxt1y zJb!g~xzDvVf1i)Tz`b>~tz3J%E-bEkA>;ABli!S0D8G(!TnlMWs`rJedcdF$j7z(w zeZXN;{su~0;&Uxg#TS?&h)lZW+_Mgbm*(&7x*AkmwTfI_SDWfm>7Jth6xD|JA%XOm|UwdD`GnH+4hvdQI1#^6PxAI)bivr{P08yrHh{6xW*km0c+^R@{oZ zl^HG^NtP$w=(%`9^Wv(?+Yin3C5QK!G7}|{w9Sm|uWSlaEs9GNA`F%q_@u~NdTiZ} z@P?C0`YKV<_RqF;ZB`QLGdHxlvi{d43F4weogQiX`GID2QsgF6oVV(Oyj_{2ioN00 z-u$KBuC?C$)n3X;N=DBgj_0prAT9|nty|*BUro__V}oEp-O_Y32-18zt6#^fl+(+x4oGp; zd8=l6-d^?1055L+sy?`U%z%#%dZ9)%j%#&zVO4pH2@7hfy>+#1@|T--QFT|=E%f*_ z2p6hQCSB_#)BcXmRbAc6^!zoT)bi+guk2Ipcr7E`~Z_j#_ zOJNl0TFsfOvtX}_xa7+E+uba24ZT3N& zG{#a~`>5cWV*1K=cJ~9WI;dKU!&6@ELMe51ZRl**8cHj!dbjOgqUZOe9GbM&DRL=8 z3geQxOD1)J<;GgHYGq*+HBo^;R%)G`sUEuSOMPf0b2UddPW*p?bTAT)D%+nLVjjn*J~#}_6 zwAz5KYr#6_Ix^Z99+(jx=(#aGJTtCpRWEMs=a>O^q<>bG-&K{lSi(WSt5fJm&+x#k zCB9ajr{A9&xi2ep;_8WQtFCv2hZ1;c=cL9)y#3;dVT9@%3h?jOCoG5P@`H>8s^Y?A?Ma5+;*<3!t1b%P7Bl>=^3aynir@$mg}!Oob9hW zii_eSo}$Y8hN%!=<$%$?%Auotm7_;i_8n0@}>wT4dud_Zoq?1$sD(ThQS6Nb+9P#x^tGu<)#p=^5%~yFH_uSx32!lmW*-Fe+W$`SP*ulu;vt^|0 z4}|xYc1PrWc+bS%?9K4bQj5#tr4ujqN4WAN>b}1lMvm<2_IOIVujGc&d%4c;Cx5}J zi7ox%tFZm|hg;8;u&zGzkSA#}mQAToUBJdmB15j&O?^F^56LL8=Nc#v4EC3M#dJHG zitm~CiD}x_TfEz!^*R(48|3|@2$(Ux8cFRsvDN|CSF&P};n3!3cSWXVVPn~uQ=+S< zbu@e3#v<$A2hlQ_QH%>uY}T2-R!LQH=kDAczloddd-~l2!MD!ey?+1eoVU6bqK6tf zS`;3ZRrZ?Wywkd;8Gx8}XyYTY^SwcL8iQF?id^4-nsI)CjO53x7X9g}=>K&5z_1KdM4Ha(PJ}e3S=$rYlK6~Y0G}N=3``KFe zhpWRKmJnt4BZ8_PtI59R74COPGkR`8H=57LO78Q_ldA9jH%8ZoqFsU)g`(YLlUMlq zWeBXM6maD54x(Q8aY1QFW;Ycx#JPg+NK2fn1*cBCBXl@9I3#qqMcL&I$?}qCM!wzN zWXVi?x8Pe7ZdOCGZbozx?S7dZM5ORCmG{q!DDNt#ybXjmB&Q|PE#Vsp#u*LCrzFDu zZPMsO$bO60#*fsa)qeqNh9B3D_;TEXWVUu)&V@rHAj%so{jJN4{+7NkR8+1t?(g(S zXi;|PaLck%v8SDV5;|+W%9QAavBu_s&9g7O)|bBAm%cFlX!<^1`j<0~>NI-dX}-$# zP$d^cD7mQe!4^=e6sS{bBX^b*j=q$N%~3=CzQ*Xas3aO&Q~}?PSXf31A32van^gHi z(io$B_EgbUh9n=N2J!19$ITlvY^U1120(fX3(l5)q~usG(O z!oz)=k-`_%%%1V6Ij^fm^TKGRMV_1m5E*mgV*9EjbFFTf(iM>obA`8+vWGyUNa~Sk z`5xz7d$W=Fi*TduYfhg9G!sjQ`yQkBv+Hd*I`{KJgx#^F^qOAHT!?@C4|= zr0kM#QLbYwQw02yus^RPJg8?$ctnwZ?&Pl1+Mo8>*3qcF4Cu}kGcUls32mFVYjMmY%zUwE!Yf!fm= zjpUc<^iAtiH0;|d-1J9ZCwvLvC1Zz8@>P`-xJs&S>*))ZUWPZq;P1TEMIeUjtV~Ei zarX_SV^44+T#5VIW4gPq`>|5jaqE3(i?7AhN#0Pj$QPbEsSG93J=W5l5KNW>_Y;C{ zpR1xFj`yq(lBts~Nyr%k4pK?2;$8Xv0?DIySp7%}(%p&YaW)SvLBATA*Z#)H{Okf} zWaj=~M`jDqa9W~(LTzJ4@mnKvbAHpvbSvd&>ba(o*=F6ZM`nJ@cy+dX93PowpE5F^ zA!kkPAc*3I7KxGBzS+neNUHqJjem0IrUv)sGCIkS)S3T=BBL+_`OUQ*_ur z$=$99YYTt2HS;BB{1{i5PaIokN&fwKUf$r(6bFK<3@{X^sFaG~%NML@kri={!(GW zLteU>r@LCjtM_-Ev6)GpFT`u@rD-Nb--}~SW=$qVqfDIh6l5m%?Fw3_x%kUcQ#O3f zrY0)~D1;7x4+cVeitqwhWPK=Ivl)F2D)y;=iwWphm*aX&7}omb`Q2R}21@`#r(Xed z<7<>#lt6a3ITG7rJ*=ooqF(F~M`;~V_Pr3Yn&~BU&ibTy=LE01-F$`Fp<+*#e zt*vh;GEKqI&hj@DiNQ*;{`+^+^6v6HkwVEf%WvilGTuc2tmi5yHiE{fs8)nCp3Pk( z{Ss@ESdH{JPSl}LNh?&PU(bEHAlPzI6VUdgY`jUUk?!k8X^PzLRf%Dlh-&}=-h`>UpUj4h1y;sFqc){P9qNpTh$vAB|T0~>x&Hufa1sjc*fQQz#l{A#5o3V7K6+h*&Lv9 zRBufH{CW!jE8_q|4^7E7cjT6}u6cJThB`0xZJAW_vEF9#246;Vg!EaVPgywB+@;U^ zm9B_Sd&Q0EvA2bK6Z6iU=kc)j^(G2nzs{R~>_eW4=%iHpFZys;*#)OFUJWaI?*|Sm ztIeUmYGTh}L!HeT9^z*FI2Ra^yYnK$r`+m~q@0_}r$1btGn;3AZKVGsWb?4;<8wy1 zJ^i^>!k055JTvD7V%fqCBH{CTwS3`QbFQniTDUy}vqM|2Mwi2f)WZL~yL(AaQR&z< zrO4@#T)4Zl<=p?q5?{)Q>C?`eS7Zv|kkZ$E+5UG#%d@RFIIozejRjVq;XV83G`i>Y zJSmwkysbF=oiF^Yuk!UAF%I6aU@IX)-3vLvSkVLiR!I&XM! z<*hj_D}6bwNYT4)S61C_k2kzLyo!XaN!W&jMcz6)%Nwo_FC^_Lq;-?l=dIgC$`#)5 zQj(rZ()J|vd+T;)6;)oCQ&btuK_vt+NeUQ+Pj} z=rd3^HVB_(O5B-6zAl1$CiGZ^bhe)TvI9%P3ub`a>c6zJ88N|B>pktnXDrfiipe5S z6Lwc<&mp!v+bj(~>5kC4XdWUR>7<4C1;YD<<3ntJ5icFi4Hz-gk)A4ZGV&)$5)eUo z5J9DZ%LA&_gE*N=1KCNc&=g@cRkfaGwO+-kC?gbKMN@K;#fi3H2xqnkukj-6R)g7| z%8Zoa%8aDS%UV@tvdOAN@N_t{?8|CRFReKre&JNFlJ7+I%EnML4WrTZ#o>B%FflR- zxHe1q(i=K_^+X(N*Sh*H@wMrara| znLT4~Kyv>c25{D&o>uc2)nulqBMN9XArZM~`|Q*9reXgZ#vo?9wVo?5t3?Ea`7fJ< z`E@yyKsz(uE1e8jV}@35wdNx>=ei%EKjKsF5;VrlY%}w2|D0xX%gn0c@DH3+In&IH zJ!Y59urnjj$D~oy6jgrUOtBAsdy2h#@)WB^H;uuU$MC<5A(>3Swg@j~auL{*(b$r{ zZN;4OhCd~V=9uZdTbW#~YUX z+^_ki0fTJdx}22oXBsl8%&xjU%+iHSRL!Hh-46NqkQD^EXU`hYshBs z(h+!_oXN(lip@APwMue2s2rx-4NS6<*d)7^N#DrkCPOZiCJ%5 z@f4iW#ZOAI^gl{NSDN6$`mQKmy>v1D9o{1#bhvfdMH+SVbgfh4+B`pc6V>p+B=0TMsMrHihaQ5VJ8xvXoYxaTSr1@sRCYMy9(Y=uOdx6zkiW z2eEa)6CI_dn5EeoNU4qO;o-Uoa-Pb&5Xj6yjG{S9Zw5P~I!mz6Y=Ye#&>0oc$zqgy z>>Hj`Jx2L|d{_A!Gj6Y2mFE5^YW+A&OZERk%NDd%_{WZ6+8o-}pW@J7`W3X763{Ak zCB#wgig)N7G_jFg8hLGh6kicZPsQf03gcGTBs`YSYdszrN_bU|;2ZLL-(W#Q1OETQeJRM|@ zCiOg|aKW|KrDwF~rf>Lu)I=Ew!gxXz25cmjNlWn-`;w=CGh;!{KS?7+6w0ZYD*M+L zOprfPo>NPV&Ys3o%LzOuA$6Qm5@sT*m|UiGFtQ+Lx=B@@qkV-h@>tGe<~h?4L?6(^ zWcVXR9$z?^)7uyMAV-shrJ=|_b_1|Rgdtb?n~ChK6(Y~a_hmlfku}{QQV-pd#`qv6 z^$q@l8*=>9xUGlc8N8datVcg*1oiUe3<`E+{;9&4N00)Q2iRU~w}Qy}Ia2eQ7d2_}tc&AmR+ENYBdjyyA=QKwb2UZz zWaYuP&BJ}1%$_87d1qc}8&Bv6kn#_r^3q{)th9&8=M9~p+^?LsXt1L}+D8ZNnG{Pk zhPcqNWOw-s<|P{Jpz@MfHdn-x6e@->o9upKEU&;!o|fe+K=c=ECs_AA5QCMe*n)4o z?q`?KcAg@hUPxrR;6IT{q?EPWq3&%J#bIxw6@ksg!l~9@pK$5DH%3kiw2R~(7vrc3 zcn!|n0b+xB@hOUEu55b3?hcu5!rG+Dit zU(JhgM84bl(<8_WBQO%jl7U~xGn41S;_@}_a&1YO4epBdym)cwSsdQd_`W%KQ8C&1 zYpo}~he{%ppW!%M@Gf`~lH>gZ`0S^^E|RPA#I}>6bM)e|5xv!qa|a%lwXkk?hm!5bql7J6s#=UstM9LP&GK+-+iB2 zzB|AS|5N=D1t_EwA;rwt_9}M1&IhVr7JZBM?!<%?0+&yv?ZU_G9A+njwDbH^mFP_p z(dU~;2I2CDmf#Y4|(uHqR)U0@vY5f+lsPhz6fudE^40@|^pOeM@h3lICK;^-sKy&PHG+ghlcvrzg z)h0|(YgQcn5en{2Fl4WdliI60LxKud6LRUn*I9O9Lzs%a zr?H5CaUP5KO9argnLNyqS+wzCt%Dh4ECv;(gSG7qGHxJ2%@`rK5Q5F%)#WGUGr&lq zq=xDz{o*IAAGVv3je9V6IoA`x3vhpv)e=?8i(Sx1?k|#8R?&lK@OE=4-UKp==+8;y z3}SMSOXt59RjRzb%gDmxLi(L|l( zAgzTWQ3H^@8~Utws6PytIVSC&95C2Ee)(v;fCaoYH`{ub@Bf3lfO4XnnM~P1C1=&V z`-~Rq@JU(p!q9H?!cCx}r6bLn`3PO8wc2qS6JG5upF||A+ABO_;wZ z>hL%m>&FW^(!3x)m#@Z-SFNv3B+9(TdU?6ZL?{?9_nXHP<%XJ-`-sYI(~EMeUNhyo z@xBu0upTW*ln#nFkkq>JT-s(IjmGXPgK>k~78)TslvRD9J&aeYLpgJ>=QwTv{Y8h{ zeY3Tjjc&D$heSo~yGa8uw}9=;F$NlM5abJw@z`x2BMu4dNw+m}Z)-=aVK-X~NNpb= z?NA*f9)mZnz6iu=bPj*7%gL}dA5S#EDfCx{T;yYKr2<2EC#w%Mv=YW8k={AzNW{ME zVptoaPaIA`aBXf6i{PiR2f?z>XvY(p@MD%;19sN%PV(Y~Ca2x1 z`p`p|1WdwmcE@3~Jv{z`!xLLs@7#1eYMAWw9k8_{E(S!yD+wlB$6E7eEf~y5t^P0I zorc0L$@=#%iH7Ryl*65HR`2^6AsQ~+y%lvgdC88A&>K5Yvj(9#)|Ao6aNc5_2MSK> z{;ERXDP^Fkpi7;Rh>$H4Q=mPnQ5)67`r$?@p()_oP9>&O35XW1GI_+g`&?>bz1WYz z7;aE#G#We?F}Zbq5R6&05q}p}XELDvdbS3XFxz2G{TiYeT9nI)L|jPk3KpwTtRVu$ zI>96io)P}iU$8EC_Gn-%`~eJhgE({h{YP=n^Vg7}-oee7!qvM!#Yd`r1?WNoCD1-Y zeciIeB!7tHjn7)+Vi{!DwEs0TBK|0#v(+~ja1h(L-BAIiwbHBySh|J3_DLt&n?b&@ zD}#I?qck7Ww?)u@tLzbw6?0ziE`NoHz}Ut9x~(ZCuC3k~EQ!&FB6;|+B0?0@W>iV8f&fsyrCS}14^>R!NXPihz%_f>d14?3r344lbnUgKZc+;` z(@`ax&?4*R_jRJx_$TfardCSp37*@yHhh%y-=&cLV$*L{LuEY2MNSShq=IZO!e1IJ zt&Omi2BHXdYm$gyYrI{1D&wttc6_{Tu`W8EN@ZeFF6T(OI-m-MejMcI!r#Ip@tOqt z2q903&KU|@0;f7H59Bk1JZ<;-dj@qP^HOT$pa94iq5ch`z zlMQ=1*!|(e7W1Z(^LljL2BtXM825+$Q`OelRz7P5HOy9Xe16Q-Hn(0R9o#%1mT9e; zaxf|vIr|UlcEKI;=d|FDaIv%arf&cA;H@+KgH?GJ)9Eq77ugpURiZxjvZX}uY@ZZ2#SqX4+1a3Q<5W_$jy8HBEEhY6FHhQQ_ zW{*zJI4JWpwzl4!YC1m1A#7tO|JcJ;Mc+96Eo%j%c>P_P3dY(-0QcwDRDG;0Xnx*_WqStF;3x-cEhI!qc;e@klPNW;2-WR8rgET!>oIZcd7)YO8f{3`<( zn70nngv?f)#~KN5r5WOZk(~NA2{t2iGr61vyT5KjLfC`9oWl3o(wUX)4A9+*rru1~ z8q2@NmJqN{8^2+CjbnydAF94AM(kbtlBPPTl*%9{XYOr5q9Cr)$Ph1)!7p8I52>Xu@ z!ch46VJSxT1NMyimwDLjuR9*K-uIuPU1Rx=gh*c3juMhof_#?Q=`@6SNm7e&0){f= z-3lX-{%nhEG_m$6V>sZWaXVX^r;`8+rY4=i^V`O;om)!VEws~RoAvR0z zJOwvt{~X;mR=B7&!}gzaymrP7&w>63glHPm@OsiWWQ=x(>zH2rijoYOe<1eTEJVQ1_`2^`GFCyDvupim~PDyxy5wH5gFXT)ItnkfM4bl0X zX<`DQqwb04HC_^+MY95k{>^!IPeUG5@14`={@SwD_TvC9i9BY&pn_heZu_$?) z(@oi`l$_TE8eHm2RbUp+z{i~kq`l3WS{fdihAO)^JQyj3&Yc5Q-rQ2xaxOf&7pDu8 zvr4PHS!^QAwy4C_5GXi$pNhIyMdihc`tMANI!P;mYBaEXgco7UX>w!c~^Ntc1$sM?`8Jkb*f z%doE`2j$3Hp_hzfHj(qEAOF2Wp`b9dwItnxywNhe_%BoY53>IFg0zZ9jbwjC#|^SR z8F-v6L_=e$8Ac+>qca!-@u8z@yZ2Z_+xq!wrU$D+nq7usw8J0HAQ9B_ zRs|F+cR!vVk8xn!;=nj|7#MQ}<6j9FN@?}!D_UFDpNj%>5l%lvn7v3KXzToCW*rzp zgL#cw_xz+2zh{J$Ku}x%T}^z`&F=7pq&6$nxx7deaArIplb50X2&NPJxeCiOt&LxH z(p#+GU95VwU=9XbU`{%kZE4{sA^10Dy5#{uDzuf%Jic%qS|gCG*!S?P8WcrEn~5>; zmi#F06ZTxFtq5}$niyP%%m&h)fzLcGt7cZFS-tPpsodn#)t$@|Z1&?9UkPYufU3jP zpjpNY-b_(I3cDMFaTh(@D96*B8kKjc3TZce-iBP_ga3dg51_?6&lxA%d>T7k$ zo9Qz+j~|es#%`)fZ8vvVl0Uo}!kQ(YH!G=KL7 zNSb`KWV7}XsFqufihvp4V`04ERd=c@-;emd)E4;18nsiLI^ z?Vp^S4}DI~owSegUG*gSHaQWyX;3Sj00tft`k-Cwgl|woCsC9#DBjs8a7(b(I~_5A z*bTVN`P6j4jr98F;OX*8Z=%Fn;}mDC!|q=Pn-(by31p=K`Mvew6Mz&SWp!>vqse}x zIL&%8l?KM!^ea=?Cb2REsx?fG5zK&662}(nif%1Exu!N8m zVaWUfZd;@d!Tj258%b9fu4)zKRJfg`Vmrzd zG1ap1HW6%ZWP*naYq9`yp?6+3@CVOxQ6q79gZx!9b7m1_-OZLkt78z=7i%SQGqS^g zE-)v});*1>8j3JdRF--!sTu8zm=OyYG4z}GAnc5^ueLt8l_t=F#8Rk1!6pKj4;YyC zm8@ow>r*P$x+~h#n8xceB8~xVFyQN(EPQXrGBS;j)?W8Vs}-77GtCs{#iVCIhV{e8 zZIW)f*}e-vwCSxpZVw$k%U%8x)tGoE?`H<#xP~UXKiX^f(V969s_&7{zMSO7WvfBe zh_i7HXjaeDiNZE4rC7I(e+97lI^%PH)TUapLR3r56uCoC_OL=zP#1UkUl>Qcbt|hX zsk$8!e^+vK5m_bT`}&rH(Q4@#G91_dS)cJ8c`#E|WXhFqqGO87g@X*2Weno^gSnayO7~IK+`@??8y`e1<5#sA|T<;cTB|dlc zwJlT;wtd&9)l>l3=zlV}-<}Wl`2s>edYCdEbjrmlWn15j)&Ou<7#gBj+vQM`&-XHS zBEl|$43{SV2}TNkcBU8uo&E%rrUq(Ea5@D6{ zU37Td>&|n8aHhnxY(mfS#V}jV2+}9@(rV%v$?e z;BX61@J9FJVv9rE+VD{5NQ<&t{8iJEt%rXEkd6ZvyUXVR%Kf37%`B;LEie$ufnd~1 zXbj-U`(Eh}T+H7&(DiiVxRWs$r5BH{AUP!wMNAIjc5KB^-7|L#Bn5rK{@5*0OS)Zm&3 zI7DelLy&Gr5Jh$b6hV|hQM(b8CD@75_QYj|aoojyozae2JM&hkmgJHD_3KAEJ}Fjo~81wR{6HWrm7x5C|QnT{&7)@wO$#Eb14`_mDI} zA3$Y@**{UBCf{?H`ooj$(M&Rn?C3&g0>i~M&*J+D!|lt7bTyq8Tgsv9@2ajQJ9)oy zvLjv0-%}mog3-x38fEE>_By}vA#VPuW!2Z^Ip>qZfUfF!@Vil zI=gK;M2UJ0`44C#t=*1%DR%%*=j#bCoKMu5%n+2liZuwGc zhO2R`1q~HLO3~_U?0CD8>CDoaRJ7s;RM5}PaYacywVtV>?FYJiWNaiKT|8C})D zrl!xE3biPO>nrijOkj+5w-R$9DmiToGhoWTcVzX%K{n&Yw9F6Hibf7za=QPv8zsTY zFD*tu5UPH|ep;#jQr?1z^3DtnW=ijvz7L7czLl@RUHcP&aD(!ejOIEE9tzw+PY_O1GU#@kL8CMsM#C&xUV*P5Mq zSnD8hWzclj{thVU%}}>zo@yyhfFd}^%zRUG9k+5PxUB=mDTjo^arBuSc-$)i@2`3v z`V~(2L$L#X|6Mh_*zmu6*Yr?xK2Cvv!x-HYR#L=!Lsv6`6iR z#0-dPF&8zmbE$=4haM6NvkRjHFz23p{ zkd}+fvzH_z6su`=87wXQUYc>W46Awco5QD*!2lN4=GCkd-i%x89XD4*zAY2OHJ8Cp z&6#})C|0WDTXr`~y--+6-0;2Wg(B4X%ntcp|Gn}NU|vGYwq}~FU%i#SJdzup{QDsD z%ONjeMWiJH3*_$Y%+7u7wDK)D=U!?nbeMZBd^6dG>44F5eKLzKevSASx6ztHdSLc% zwA}G%a4swlci4X-PZKpB!OWm=@i*ak>u%xr%x>9HY@v21S@ZHqSNQ#HxJ2&?F79#n z0N)Lki^a3{2l12|g za?o!Xq;34B@0HRPD+?h`zQEntWXcX3Gj!0T#I_ZRakWZ3s}IFd4P0Ra#Hou>w-cAG z2lL}s_G^(qipD?(q}IzaOvgM8#?ra$&Kr_9K+x(sH;N0gBT3Bm^IX!&TDI1ZrPxO= zZdE-1?h6sDWlyfK(ONC-U>M+xxgW&b$L44Ugv0Xikz$HlA7Lwi#MC+%2@%7X{J0J? zopqEVi0iUeKin_}^O^@(#5!znxk>2Ld$Uh=%a3!*ACT?AI+cITmQRjiDmf?9jM`>>Y&4gPu3E{k ztvcgmbDFKpKx=;A)BLiF*$5sSnvOG>HX8<3@mag`#q1J=ud#o{mQTgCOuL#j>O} z2FxzrI6^6_l(qx#KR9hpUVj*sCG(xZI0Pu2Y5$d%W~;412)6M|vrQ=KX;d`chu8+uN(8{l|2o_x|`mugHsT zk%xH2iqv0KD>SU0)r`Zxj&8eOp4iYAk$6L2%mPv={7_*%{Pb4CaSnx!B0-BR9~>^w z3CM~G^0b$lp3fpCU~V}Ua-@;H%8Ht!GP&bq@F1%PLkeedF_E^6zzfun!Fw)#>#!b) zk(sj8js7tlyS=~{Ee$5F;1GWcGq3|;SL?FkU15K}&*N)$KdT6wz1d`0n5~@%-vM5% z)sbx`=w;T;bcK+k$WX~#yB!DqsR9K;oHxA!7g2x~TSbag?B^@BYX|O8vA%+HzgMh1 z#V{u@uWnD-yJVX4zEsrLnvzb$1+P^^%78(tY5gUJdNsdfzFAGTdKKT}b&;)D$J4~v zZ>=Iy6y-LycoOxT5kibNuELbzZIvyneilC)8rwm$G9g(aL0QcUT4Nianybk>l1!4o zdebDBuep^M5ytH<+E%}jUqa?$&DoL){+PG_BKkLdkg0sy74JX-AO`M&VFpV?;X&g1 z#i?EtuNfh9-DrmHYQ{luzJ=!Ez6aX8wS~#RR?O~?soiXLi9hA9qEYB(YwJJ7ihx!5 zbhIU%>b#9U<9*fA^j9sQcSn5HLnOFgm2FzOUsbGDkX6HDHTk3;A>DjZJ7KHm?Q*xw z@Z3∈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≈kG$r*rK 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

GHlKJBrU0 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

lz4WVPSL@HN#piaTuKJKV*Z_d>n@7$v0TV;vjz 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 z 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 }6aOK)p~v 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%0DK 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%0A_2N*1B@B!0^nRdXF;%x603^iRrz+<00{w~; zr5>;*Hiw*OPdoxB_g6sVPkSCFcID3Fy}8 z_7DaS#K(ULvCGgh1lB|0mAL$vz|EodH=>Op{cn&JeLC0-tLf4*EzC`Lsu;jBiCBTdYf_1sogR+u~hf~wqn7zw#zC&(=> zq|R8)cTVb2>NN8u%atXt12q5o~2b5p8f`LG8I zqJ@uEtm7A$xGLnlwF9;J^Ckgy+oO)XuMmr7FuNKBNFObBDxT>PC&~*7Q>^RF?Gn2n zp4b)QQcjI$P8PwIT@`<+_IPG&>DrXLvC@gHs>rL%?hhS+Rt$gs(g4tIauS5QgPPd=Ffv z;WVkBA_FLTjC+UK&k=4A*7r!JM|Q-3M>OL*sh<{sS_bXJ`50Q2Vb%eVH(JfZ8XqfO+%#Q)4KQ0et3PEAJV%c>FK9^`v?m zNO8GgAYa5*({SM(=SkdU2XVIAEXl30!ZWUYXjp-NFYZTP`zt@Rd%u0MOM&;dsXOo& z#hufexn_5}_s&a*VyatrwtLsF=u+U17iP`Osq_!RoeCy~vqfG)#PRLH2UvxzFeO9? zuk|F1k2F7JCptG@w^zJm<|(o@mPwiCScW}4$@4!jPFbJmZnWZ89~?$529LM|4-dn@ z)_6|pYwRrZ!#RX>=t`h8&jLO1baA`SuR08T${7d)1Lf|-I7n(9l087 zxwl@fa}Hjp&;CzY_3TOJUqWZA+r1e_26vzpFBvBt$d#pRkLH*#%q#HVrY&*xV#}jM zc1$lKgU`ijj5N+jZIHIq&x}8nWh(rK%rXx82^A{7;C4)8{q3BhW>!ze1r7E?&xQr@ zd-1`f9L56@{&I=|?cQ<~yOv^n>lRe?sJ`u>=YFe0H%_82zzP5)iOTng6IfjTH5Sl+ zSm|SV)e*(1)c83>^=lX$+{|t<=aMfg70~DP6;-heiy2}q>}3Gp|4W9mK(krdQ=H!R zQ1CCLD}Ez;!e6LAURHWeKk7={eI+`ta&cc9ti-V_;UnstXbpC zmjeXgheTme=UZfpTg+c%i$;~d6YS(3*t(E7=iOi6uQ+$suN_fP%^R5mALrBDqhza_ z=tdB#@8Un~tqm6XWSa|mk-0g{$!XoN${V#sQ?g=m5Hw*(S3|b!M-Rp5^AR)br zH#%}3sbROfOZBbAckyDu?Z8`kj5VLz8JR`QiMB>p?C2D(>3$8_<`i@5*PIz)x7S&` zg=>19!jID&r~g)kR=u`*J(rI!JHOh9MDm$ z2`i(SS0TzE8p+EApQRFSae8AQzd#~<`GJ+hdw)ado6d<@@E?VV2!A^zj*YtKsO$EO z&vwyg^ad+8w&ML{GmKPA*$hIL`({u)qFe?+LN-He0CXv~s(g}s)mA4JN{~A_JK8)R zkR1?5&mJX;7$$-0(kJS;Z8159L8&XM(DhCqM!fN@`XRT&9wD{Pcf%rt)|$AEvc)KZI#{n%Ru)46kD z>As^87#%6QY?0(;>^2P}$-P6|_{qai9!zJ3j%C6j&$A|1;oR~kG48dQj|?(%Jt~#v z7YG(B@sT-g0)0sk8JbCN?txAw6{BKfXx9GmKJ=!o zXsfBnGyW;>>}8M6#oI)K1<$(#hut@hEpj2E+ad(c#<8U~GZj-AlrT?n*0v#~T@r`z z+FynQa2?o6huSZwV&CtGG|%(`RZa3px7VPiXaOEgr{h+Y=~czcSpU-BVR@(9@!TO> zBbgHHSZQuB%?{H7z|d5zAq@BI0Zo|KUPTu7vq`(GHkY z5AK?(XO}6Wauf+R6BEl^gkxZ5f+Tve%owV#GXrwck1{Oy3opCh-F_#|XIi+V<5N4|$^urpyZR~|>;9KvtQz*z-zMLi9VYXT zU>&RgHocOMZm&PzX4aysS&IjFv1(WU)w>GO+~wgLGso#+2J@a*f^8nGI~C6MEQyXp z_bh{LH_!7!2+00<1hUJoA( z!PuAj_mV3+Uq;Zt1&iQqS{zP`0O@s1ay++&elHsGf2yhtfLy~<+kL_Q`hN}Y_C$Ju zS+i5|pqbQjSpmr<3}y)K01Z|vUDPosqB;k=BDZ7=alTolL3WWOQDEd|kpgBwo24|J zw^=&#GS;uYQ!~d7ai_3ZP%jVh?9G|k&GKPNWwcqkn5-6U;csfeD1Du2%AhVMbu*J> z=V!d8>+;|=`G#zXLM(J!tK^gai}_;2iDR|*Ro?A2)bwi3Py=c;yo~j)#(`DZam^u% z7yzhP*gc8Yz#OdXNLCg$eh4dDpIh0sKQ9{VpG4sfdgg!8KTeS#-2DPcGVB^E?l%3t zJU3ZmN&62-Yg zeh0t|qXc5SCuw# z2Nx;F=28|YCHXn@yTt~+*a%Jr;%^=b5-M>P-bb(9fsZXd?csuk_SdnUa~8_-5`My} z9d6|%<`#WbK!(Ov?5RfZngctw zEyg+5FEK++ksG!j&}n9B>Cv?La8uLtKCgfZG6=sS7wT7O>H(HuTSjW3u93mQs} zwZww4&*~sXES-_P1UlsQiko`pF7c*Qo%@11-?$}LS;l-wJO!LCxE);E_9sKR;z~4k zu|Lxw<|!O?!#V1>PC-XqB)4_i?qg1lJ1t&dr^HNsJw-+{_hZNTWw#YW#Mt#Sp4Q(w zH+8wnnX|$<80jAZ>e9xY+`ECNGzLS+0n1{|^}v^+G&S~TZz~c=wtP0;bY=&Gt{S_N zFe@dQm%^YAd`t%x79>6jHSRbCcUnd#sY4l&mZ^(~9?{0LsOuZP=ktr);?UZO#bd*t z;>_PjrxkD&z+VyTJff6-L@+zc93FSsF#9>F14(S$bxN$6KvweyXjVFp!Zm6)H$A`6 zTwf|G0N*ZxI;RfJ>m+w`5qR+q=5L0COH3p9;-}m`6Ve=A$X#wp}{`M;16KdHLE&_@0Usz63v7 z&?OVhBn&7>jC~HZ2s>oQDbuFcWmbk7mt$s4`QeQNk1R;uvJbtv8#}Wea}${5&AHm` zVkY+^v2iyTNg-qLC-a(JA2XlGR_uI!k6iINz4?!rJlg*|{K00ovNq9XcnexKYm>M` zys&>Iy;r7QWFnf*KPXHgBsg9n2cMB8a=iS8isf=euzB+5;Tz-Dzm#wK=fF)0;7Vbt z%46;%tV7;$<`1Fc!jU7k;c-e`!dP~|i(bzZ`tPP1F zG53aYobR!M5K1$OB~uX+X2v4-OyEI=>My8^@P|zg@DR=PTou7(OI{K$z?;+x+ZTI# zekoEVS&k=at(sE}^X;C$m+othP>rFa=ub4hDi@=N4z zGb*dsD?0x#o-~dhCQR6y$_}-_ifb}_&HCl%?%}vO89fLxdPTayxR9O9%@?p*jjI@+ z;jqm`TjN)@tUD&bDYRW^qr~g7dOv)ujMOpF+_Hltt@74Yxvx%Y3h-e(YPWm8`*v3xfn>)bKesa!yG7AdGCtX;1gIER(A(AR=(4Uh1*G~$H0r+v`5$cLXDzk*mF zPyRB2*DKOb@BYr);5xtc&!@h9;4_+eM`CosPQ=_B0h--0_v+Gk&A;S4`;$rxMgWuL zTq6J=BA);Rv0=TSJhSQD zoC~Ms04?0{gS$n|rX=`Raw4{+s=m=wO%xtN(<&E1V9w=VHPvLU~n9pR#o+=W~la+A?KLB>YOi9C=M^pl;&P_!-swA#&GwY>2 zb6iyLB&XDp>1EupQbPpI2My{{Jdkk({z264e=dF0IzIdF@`SvOz<{9Zi$+$XAmW}Y zqn?-^X(6xv&E;~RtI#S=h%7yC)_LchrFpG&a7G5SD!Pl%6NN~;YN&F zkdN>huqApc*Fg19sRzTMcm=yR5#*6iQt!cNFbXYTl`!d+HQ|cO3cPWXwwX=Rph;zD z<=8K&f+Y7X&!S-Pc8jqgP;9P}XMi6N35)BZNY_foG6%5G({o1fd(STomU`P>@M$Jd zw^yaeCt+%YSfFt@gpomE)zY&flId(3Y5Sw-cR`%@v?-r_&3|9h`xbw)=V=bnSGt#S zQQDl+#(yGqnx}w)X+Y-(uFx(?)Zk}ys5AdVM300XZLe5e{!k*Y|0SqRq_GpbjN3tw z57tVSy{a;cIyw8l$9{CQm?!Q!bW%SyY!oV^!0k)N)NA?ll3_!h&vGGce~Dn$v>2CO zoY&;i+^|djz0Mu`wcQ!$3xmLs-?4?kqc<`i7T0kf^R!C(0u*eqQ|p%kFv5lgzX>=> zydUngNbXWqZd4LlWJ-;tn8Aqt2M`J!@Sdgbkq4tFR9rC=z7Vifw49plNj!bQaGifz z+Bl=+FlT-gjTh*SIlJaz=4=tDgNXw7iGGVnTW|I_NYB!*-gQBbu0%c4_E(eNY(ffg z8mv^2wpTj(Bmasa!wZOo6X(ytA`$?UYD|qw8vETy3QKd~O*V&yMx3_tYXs>=8%T-z zQeUy4TEsMS)I2&?YSqX2OFd31q+YCwOq`8B^7Fge{SjnEmYyAt5e&MtjVc7rANh>es06uUaSOYi_B(>1^&oIc6RsVv6xLX_#BG z_zJ<$uVgn(pb7U}0+~Fm7hLuqeC3()e;Q@TGA(nBc-uz((m_shAGg>TCy z+JkF_}C7KylLTss=eY2rAOSsaUzEo|Kklp2$2(INbc5EwIa>eBmpvWA}&?3zcrqwXH$EDj zIp|7~5Au{pGEfAKbp>$OnE9qxX=KLMmXXce5pxfGb4nC6H=L1me~HJqD>i8?BRdUV z?rFY2iE5`Yr_fm|5y(qi15Y)CdEpLJRv|!*TGZ*iEi=Prrqf!ZMS9jo0(6DuWcY#tNm6qQoEPA2#W^1 z_tEUJy6Io=l23wMHqDSAy#k8l8+Ljd?$RPTIODSLC)hOzWt`!kEq$H4??`A1lqC{- znkBJ!(+WHQQ~i!iX1t@`-D*ylJNUk=d@3vb{zn}veHmY)G#SfGhd*UGVwr1TZ?9qQ zFrAg}O~CrslF_){hzK^mH=5@I`%TtDNFj5^aXe!0YS0-}GRug0%_-1Yz-AZH;usNl z{RUiovo8mJ|(es7yPSAI@B^N%(n!pG@&eT&N z{74$%$JL0Gfz`kkSqgu**P}NW!N+w7J~+TLz3%4Sdu3iBt)*;h#4Boi-WZp`q1$iC z*#gp7W=9?&mWLm*CzaVT)}*OKcs2hPGBU`rELexLRXN6SXA^gH(ZX714l%HEt)uI3FwQ)>a-;;w_RR&pnD z5`y|hOU2G9sGmSRzujm8j^`0aGA3js6G8-vesPmn$Cvl~P4v~Aw{2hh@0y6v84&@- z^8MY(J5H*vQU-*|6ScD9aZ)|)du5`EcNUB`_B$^1^e3xw5ws`Bx&R4I-XbRYqfP3FWZ?SJyk~OQ0H7owB9bP>!K@^LX4Gl9 zq;Dk>SvpaP#F8+)V@EU>eIN&qXbrY?vc*TDRT^VPA`(3`-69p2Kq2N{UK@A&ei#?U zcP_oaey5Z^-vRIf$-RME6bvV>#{vgi5FND9{^^YM$yo7ydt@HIlAHt9F@Z- z;pW?SN$l9~>`XZe4DkbtWHD-8-tnl}zKA7*`5Tbqm zm{*syZh3V{?nphF&=+%c$sUio5+QXc+I-1Ls^pQpN*dHgM~9SupAIF?r-I}%q>0iV zAW9$_on-yxMtPu>>hJaW%Xa89qY4lgUal3Z6wt9ab6G)g{{1`lLvD%vGIk97O0XV% z#Te)2J1yySh|-M4@Tt6|N(Pc!e~?YrI7oSf zSNCd~+yT+dEmfjR&DK(IqtLccDRy&{c*OpTePYH};@$L*onmAVQyWo*lkyGYPJ9;% zfQCOc1w#E%n;;~(MGMN25ANg%PD@&~&IV|)!!vJ-C;(|Hs(>%6M(5E`S^78_{|Eye zS$Io-$}s!_CLudNC+Vok*0;ZVXW6eHdJp4Bqe_`*redBUzIq<}+X~=BNa#Eh|9^76`q%KaME}ZSrUr@G|;t^s6x` zL$nK6%kAE_&lNDqOpMd?24cjxdsVr=dRKe9QH?}&iGq}k9T+ABhG{nIwHJn&*z<8a zt@rL`S``)Cv?1+>mc=fGS*G@N*>&)zP>ppcSb0$w5f2CJA3;XaG+Lo&L6VuJ`MJb7Sg6AlJ zA*$Zqu&Lc4b93Lh15W>H-gysF&knN2nh!H?(E(#hxSd67<^I&l6ch{^u?ok|GPzC& zG7pM0E-T}i!hJY@EP2{6v&8nRl4Hj9>u8>WejUnVXj?kymO{mb+-CJEOx)d2^~<4# zPt~#WntNVARE5r=0j}-b23n6ctkg?%z*zeBG9ThFSC+=>Viqu2eKe>gjXTR8m{s~XP zLf=Cc0$_NZjF==55qE0Wc}Q7Z_0~|s$9A2&)kar*!cCvgHnFsInLnEq&iru^Z<3cq zGj}P$q8(i(ELtv|VB2=IKP=b&(b=6FbmDg2JD|;FE<^5PW)F-ktNy}*8W$j35Lxkg z=K+sfNc)4}ykU)AA_Fc3(iSm^F?Xtkw9cAQG=dSg(LkD*+&`!{2DH8a3wA)4wSJmM ztMp%x7f76?wF$LpV4nzqgk_Tyb+x$W1dD+Z><%=fs&EU8kz}>W0=CRq#K2e9j zr)#&##<$F1MOT4_IeVP+Hi}2l4QG`f>6eqO~F!3+rK$HH(zyq=8HcO+x=^v<^suVdvwH~F1m}~N&Mnz3THX!Usp&@_$hW&&U7kJGegT zSI(j21baHE#W;}>GS@_~MhE+@LC{78KUMB!SJ?jeVr}{A-x##iC3wHo){}hRcgb$& zhrQ#kVMdhyY~@D|j~%K1Arq`M?Xgyrp3`(bC9+FT01sNSsA_-p(Vms<_`&6!mAc=t z&b>RpR#U)MAB7q|x7cdn)aZ&$o$ChNYjMSDvPK(P^%5O``AzyMeF&uRXsLs95i!lnMT0KfMjRqze68NyB{LyoAZhmClI=&=6% zRIk44G%0t|n;4a_ZqJwO=pQ*yxTNE3OIOfAe}x(QDjhw0A*J?Dv+Eti)0DA*`lo9u zpaul{+b z7AL)wUK^?btH|10vL1sRWHD!k9&*zE)V%mT%z&GrBYeFN* z%|(2F2axkWArZIGaw@oGrN5C+UhiwUVPY-c{WGa>ANpGQ({BMYkP0fShS?>Gp@ZYN zp)=+ff-*5&1Nmn?<~zpF=^GIkZoE8T3SeHC71=akwGL^$;|DIdA`6xdWKRwRpYBj~&Gs@T$AAC&!Nu51DmDmI}iswr@O^h&^9X!!C@mJxom4ncN?TLhYMWS22Qy|^v5AkiYKmp^-))*3-V z#8@SK`==;5ime5LQULubp>93&*Mm3X18arQUmQ`D-^>8#rlsa*8yp-jQcW zCx*g7mP^LJ?E3)70r2*M8CZjKM+3X;FO39X{Bp~8>R#$O&70a|n!#5=*wx;#DRgV2 zcVf`6EZYqC+p_K!`t!tHv^20`_Y>B$onRy)U$oF86WoeP3Wtn|jd z^PLKj#YvxO#wAfIZ63E!)@x3xP#<}}wVNtq6RN3he5{5%-4trSqoT?pV5&$w5J8z{ z)ZA9jDOFBgSzEKeA(;6*e%knQ19;xWvY^NvF%sc^EH6CCs{rdKSrizrAuD`6gr>{C}0}c@_-%xy#93-?EY*fowaEH zWp2u8;J0Sg*gM$UoNq-~!8w-ITX>&i-D>(X1pU?r~_~`{~(vOrD`m6oBWQrLQn~%woAvWSME62Xl_=%U)A?p`tL9)`Kr) z!DVc@ybp$GcE?{g2XY>OR-xGJM9{9_l6{6?aU1g2;B<`#zK}sPmgmj?b{m7Va8s*riCO z*Hk_S_YgqMSk$yq@#V3T86n$dPB9Lm$tq zw`LzPx3~|F*6e6F>dD^p`bfS+Ge2eCxP2f!(<~}5AiHnjBDq2GYCH&SID7AJ9oX*+ z78iLYT+DQo(^AvdZZ)frbB>yha}**^vlcP8K5!nb^_Wk#bzK3nCw9&?Ag+Xg&hEVn zvx_vK_#a`rNDD)n2MAI48qOpZX;3G!u}II6gK#0i3N?>t&zx62=R_?~i0g_MNOCXz zYymbVS|$G?1D7(|*|F09NK)Yo`I9>z06F7aJl<+lP7vHkQED*-2Kw&cNjktV-L6Fn zusk7KPR-L;?g4`Zyhd1GArxK{2*@1UO-?X1JfRO+mLc^AlYGX%&c!6CJ0ZLIgmWwU9XuFJn=7I)Y!iG@;}h4|JJ^F2V>4;he#@{Csi#c0h!aKoUe#@eLP$56tqCwbpa-a~Dy;=_nCDnt%hWEOHwwaZtEi9vG*}_*Ny>09R8 zc<+@?Q+GXceYvyXFrMn1r@6PTc>)eC!c@`bNhpBUjcAUYpaV9X`P%T-=Q>ZvirX7M zIVbYw$I-^`rI;c&WoKjh^KLk^(1K{Dz-*-ubLMAwV$n3izjIlfP`7Se-Pa_Py_Zw7s?pb_}IO?XPyKl{X zCy#y!XV%(@Gn!>e629uqPorI5tX^&)DSTG9P6VT4vVe`^f^h$8v>d$IN!*#8#Bl#v z#UKZ{aM)Q>VEC}}^sM4eb^T{k!)G?7b7&cBR**Q}Xq@PAcu>LM{zWxd44O(?>EQQs zHyMn=Q{XQT4-t7bOAAJ7UUO37?_-4@`;YOv_xa+U@rQmwW*fcgTDxtWR53f)s-35u z(iE;ZMj{oY4xc*<){B=E^Z|6$8$!>}33kHu7037w@F;nmJLuvOQNrjS39;^YvW|ca z(F*1fhf+z}G8bHXcBA7_g+Q48(|&*&Yoz%%!628nD) zJS6Urodq`a!sbpsp4t}eH9pNL4LJAjn*7wT<}e0+s%#XMwLL{JsvD@P?HR6ZWL#jC z#9}~*`?Q|RP99@B1Lxe1^C8^7t{~BaK;%^PRq|_dwaVW1*F-Q;EX9$+`$4vs{W{(( z)ER^sGGwnmOt{k=226c>2l*bUc_(p|ETT-bp}oeF-RVa54Z1uu*yWiXi1?62eyECG z$aX(cvpM-+zT&Y6Wj1|ltn7ud(ra(|oBubt30#N}J#Re>|Ml;Y;)vcBsqM8rWDX}R z*>p0cKZBh~6h|A2D!};2V<(n+@3(Afms^EyD?*<5v%cGDZMj(%CnY_hmZ`++G&`_F zHi;svGfE3CRL|1SBAN2%)0`hLJA|C8!9psX)&U|x;CI#S=I&u{DM3=Gl3P^`HbqUF z*%{gXe&Z(&S8el&NbLo{X47E=v;2lIw}sK(>$#scxjEK6m@!}QtdU)OyouJ$nT+?qh9uditXa{>ei6cyQqp7V*nqs z7j67xYpn3)c<-0viX(3{q}Zmh46)`hoF{LC5@ehfZo1?MZciGV)u>>f7H$e3(J9hA zj5Fd1o2#fPc0}h$^JET#d+e9u+NQ)2MX}~##3lNf{nRB)E|}UeT@o{?c|X})Gcuw zuLr88Zq#%jyRUKALF7G)$9G6bNUIxrxCNrI}K|95d(t_5eMnmFun9%&J|~2f01s>B`paT zSiY|H+zCtpxR)R}Xq(H$CnSjmfuVvsmO_M38Q*ThnM>W!lTVhZI6zO< z0vN4%_H+7Rp0X@E$%c(e9hyt-YLczTJIPhzvQqo!k_$|-4RAwpf3Zjh8x`1~)JX(d zXg}c|eoSxo3)B)e^(vb>m!Ey;Gyjz*H|66iQJ3D2R!IWJ{hy{~91uG2wK$)Ujm?H9 zsU)Wuk?mm?B^gUz?)ClKCS5RuKXGCfG3r9j9m{b|FXDG~va7i>{&!TWPl-NQT2N52 zijxERazJ7z-q+>`bkgV9rUQ4gm6S}b^TT}fzIYslVv`CAiO3-d|U2 z;#SfUf11t>5N0Vpiq2Cwwr1XIspa<7$X$``dm^31ZFhzzkI1Hfo&5;?ckM0@Iw4Z{ zQY2G^0~7dGsQC5ga!sd?p zuxN&C*>R@q_>Qvg=9R57Wu5d}+)UEe;=jtzA{MaBEgnTRLir!?$$OSjn$yM{rP^Bg z>kmC&z25S_xGTce;jzfQV^rf!T1r6{-%05T*!<&nos;^Pu0v_QrZ6YGK1O#$%zw>% zK3#N_Xq|h`)Y$LkuN^yHp~@f&CHi>&|;%X(%EYZ%AJzB#Slh|$(m+&R*4(X;VDN^%z2{m|1hkdgd=9>(| zOIdI32R0c@)1hqJSD6eW537?%M*di#hA(UlyKD`0Cd1gWIc(gBe7qAsEG{d~-)us0Z3zwgbf3Gm|6ImAlqu zyLqn?zcSC~z2%+o=W7v@jp)XT!|@cyyp zA^n*t9QJHY!7NQXq;2rt(=zo`3|@-rT;_Fs^0Pep3FccjThxKoR_!Ymg~omrg?FTJ zE%+P0`u|BMMpk&tt-t{ejlc*^Kmlu$b6DJ{!k{A5N zVnIvHWugGw7Vr5-f$1Q|%LB@9ZV|ZEJ|QuWbA+DHTb+CH_tD;KLd}0IsBCY~u2c~z z(ZW?kR&Kk`zmk_l9l~}0>$ge@j6Nrt*=EtI1WHmxv2abV_n~NpJ4$*zyEP_Z(&PN- zpAjZKOsZQvab!r_HZxx%d+~YnG8x#e)vYEUp44FmumN-##_!GTeui?dcQWs*5@<`e z`*_v7V)Hqn#`YqlJoUULkFHH2HC(7XIZ==C_OGP>R0+7g2rY|D0KHLut# zoy5eZ*d{lFY`s6bRtDgMLR;$!VBSr`{)HswoGgVhLup6DtMfb?M62%|sr6%W$t*RVmz3HYkNGDn;V$WZ^tCPm-vsp&-{P`v^2 zJ)XhG;z(Ab?NmE{#1FtJ_^RETusVwmf1nW)`LM7x(tCBZ=0m7!DhavadkUHt%{!i; zu)F3ux9uhyW(#z?EcvwYl*PHa-75>~K`Vi!Nu*E};AvnAH<`ja=T5^wa&;lL38tBv z50m!`nhy`H*-z_;gd^YhOj!lo_g)Z$fmq|DPiFX5crUE-Gj+IiKfblMEo*zqAIQ5I zADj$rG<^A_W?!P%$}Ly%kg8bBhuWtn>S89onxvl+A;7W#=Cz4e=kVhD7WD{jZ!%x+ zv6&${RLoOO0y-_?*PFZCY;KGkdn213_2@)Er`5ZKGY0+Nm}Lhk&vkza z^2{aAJi@c2rt+Z0DK{6wsl*W*i_GzPiAlMnqPE4%3RFkA*T>YBID&P7dOQujG5NXS z;WdL}SE{0;M4$9DM?4zTqvk!=poWk8tDpzTg@BP+B_0QAe*V_!iu9ztKQSOO!up%;qV68OeRB9jGBI)%QQ!srWAE_ z8**Qx;E#7*F4t(~nptcT@I`XKpc;E&a-0|na>z-Jb_V|_Y_f3N?qqJLWLRZg;VY&R&wOZ^(c88I2dn#g z)XquSc0}~3oj#@#3`w6dAD*7vH`~trwvxg9Y&*n0`nj!S*vZ*;=GiPWPOO~tO9N9jG);zTx4 z{`Fn)%4`F9t}&xejTk04g~I zquzR8WHgpm6XKbx>Z6$(N5?ZaP7u2}US@Uar$yhhH_}B0IyWRanX-BzLo7ra30<1p z&lm&Z{PQ0wjJ6J)z|+bvDb4zIBB=Ocq5?W-CnYXNJQ*irO67M=Q*T``bz; zvyU`lkdNXgYs6K-h;^TlHa*a<5qBk&i>+kLso}!+G$;Q?JWGxldD}`j20ZxzDQ0VF zXF1LH@oMZfE&Xa@?WO-nZE^Q%@INF6q*|z5Dkmd3){ya81-}oHezkge%b+6=y{}sO z9fn5dPKu#c3)z?pC5gU5k^Z%`5Yc@k>9LfJxz|u_E9QY!{&3zy?xIHQj@QTPtw#S0Bq6u$Ig@`o^K?uf!?J|(YY%X3pI#Je2n z6(O!2aLw6}uxn3Nt#kjBJ0HEa(Em9Y-(%pG1qDn~+x=O52O~cB*Z!CNj0zO_ zoDpt;wQ@o*Yh2Jr)T>ZO`dFUw&i`zDK;L*vyZx^JXDmNz-|wh+H2ea(%*)R#CLW3< z{9k36CVmmfx5Ozw$RrRJq24I@n|KkQQ-7f)5M%-yA=2dH(;t>LpYW21i~uYrwdz#S z6DHCf@jziwW0~s-pEGUu5A7|i80dMmD!RIUH+273iLue(2FfE?GYrJ9s~2|csevU< zN2+yLq_N-9A(&G;sa9$>_Q=ac-Uk|a>2uO>jp(f|5#|1=uBIcDE=3WFZ}e`$aJL$* zhPS4ov%tbs-vgC_B|m5;*)1?O5=Zx-{w&_xUMpT=nDMYJNiyHch)l*tn-xK$i6=DWTEjFqU}Yo`JmT$UlGAzVwyOSFk3BRluI0 zCEem(n57(3Yw1$VEvk@+;A`9B)>rPQfp%}pfeN{H3ceoDPPdUyOwkwwG%SXb>ca;G zWaGY0TCe^JYHYy}o}gAaYG333$DPB72Qi-GEC^>XN893c`<=Os#f-SCIt^lYK}#(I zI1!w!tOtgM#$QM7r8xB`xHQ8Qew_iENnpDE&H{@~6Jkky&P$Nzk-R)h^75obu3+I{ zknN0TK~+%6RkjkyAT3IeX|&BWGMg!s%``uoi6NMpIx6aw%`=uf zjjKDGy2v)kjC54Cs%>|ffdL;TTcK_un*f9|P1PH8+f&Orvm{%*OJwB-Ws!P0m^_Xt zo-92U7oBjAJ+9BdXU%mlhmSVC1KfiC?26oP8wNRBB{RxASz*ABP%umpiw~a}Xg`AAwBI z{|ch`0Wq(V&7LRE=?R=fjySR72tN-mRNE2)yq`UQ(wX;w=WicCAU^jpkxe&}-`Ld~ zzDV_6F}Vxsn^OuUml{VZaT7tOSl%xyK9S?+$|+q6kdrj5(w5uHI1p9r2TtQSCKE-M ze>%U!xavB$Bs%fKHQ}DMY&m1!zuh~ID%AF$fW}bcm-`!MhsIah+y3ZFee11%3^NWO z(|h)+K;g&`kAkd>G*2&YIYrRKJ}>b;c)&8m>90j2Vcx~%t*;pY+}GbczU)cXF|z#) zSr=D&&Xi!QwhAAjp}fo#sSmshA!O?L;Ptr|{}TNEDfqpQ-`x3{#m^>~Ac`7D zjfln1?%e*~$=klQyX#M9F%cX-kUU`S&Dz&7m|9`oUH2L<5Do&B)?4398@~k~9&F&9 zln%id>Sf*aw%x0mXPgR}eyI|TkEkYa-&MSYwynYnd@E=+)c6@2^mWPwzLq;`zG=5i zdE=@`o=rs7pPP+1(0ga=u6EXEAYxyH>gl&tk*V@EN;AM%*EU4eT%x|CSVOz*M3#b; z=FD`OUgk?Qvmt~5J_5?4!7eX{k(?0W5$^m|5=HPAc*oy_MQR`@uA^4P9mTu^ZFpvU znT=Rj9?d8y$%CYJOo)MBIW?IHkshRDLXMehC*)Su2Xb&y7xQF${!d!9lkuXUUHlfd zp#6i%@Hexib#j9(O@LpscWqB^xv`_CzoUS$yb+^=%Sn`bkgYU?m6Hukwxdbn*V#@c zkImO#>BM~L80#7VIScDejU6KxH^+`(IbZDve#4U;!Liv9q>ME&n8bqO+)8iiJq89b zUgN;;%Hl=4uGZ;#bY9m#{;|$=*~UUeW8cpOE#Bk5vCaLJG~3)=Jo)RGp)5RX-xz6K z$?~$5+M_GB9Bs}K1^CUpulbUlqRb&=wYp;Szz8c2D#LmfD(4b;O|Z++=(VEH+t|3W zQ)J?9ulEhv`7{=@#xYQmW(b3Uv>tMv_#o6kNVfKK!rX@)o4A3S;Y!(fl_%&M=4GMG zxjm8Hh|9~ITkcQiA-A9NcPRJSRC?DvBt7=@Sg_(d&&;m)_hLibLC1H+T4=}ii3Q## zE58e7+9OjI%7+8x)_DE4T5%=a;ZgiM$lxDHXAS);9!2+@!2{uM%1MM5A~J*Fr6~T) zR%7#b#lV^!pZiy7yz_a@mYZ;QWmd-Qz5TY8n-2TYl_O~qk|GlQb#6r`^rKo#ABO#cy zv*5RS!uE8jQ9!s=UIwQ&Q7ogVN@lZjW@@fXGChj8)!x-Xj?-<9PIE4XQ!4Aoai&)n z&es;2>^sXh)MmxSgGi{NZBuG|!- zqQvu2_q1I8rXc@CeztJv+o$@##Y*41k+LxH~G0wl94rVB`+1)p|Db7@Bugq}rQ$+fJ?~TzAeePPUo@NbiuCWHvI7He zwA_)*3R;@ZrC zedr3&WnNWR;x4xuq52~kliS%I&!#W@n!fOB`VvEi9o%b~K13XWy%=d13&IT;3R1TE zShY6}!NnO%c~pogM5V|^&%y|PiAe++5PDWQsSlYN+(bDWr{W2ojkL`9xI$Ds!8JtL zB&X&)`>u!2)M0hmGNZGc@t4Q*#!Ym%10gez^_4l4 z-eQB!`?MPbE)J0MEM%0H&@uPU2D5i$Pvb-x|p{_yioG zPu#x%u(BSN)Ir%wWV%;!RQhGS=gv#pzoE8&iHS1%&-N_{0~kPUt?64n)Oyg_0o2m8 zK=$5avQg9e-NB;;+35ku-l{JKWQSI|#i@bTf=2eD2+K0XQ}}>em|L{kY$Chu{dFW8 zBb-lSg`D0#YyZPTO9~X)+DCxgCBbS|A-$(8~os;<*)94r9bb&XZY*&r zfaVfyo{Mm>n9S9U(B7BvA@2T^0AYmFIER<88?QiXUyi}6d&WhSG9E@7y>Eik;cD{W zqyRWTZ{XN2u=|M4@(t2&qc;XH)wdP;h8t+4d1i@M{F(jO#K*8ZHj;yn5b{m40O8Eo z9J`Qb-_$quL^G`oeQ6BfR9^gD%yB1cgcSDaMlTkmY^Sf5gn&4R4mf=FiCmEVj+w;X zL6*0a#ZnJsn6=T`FA(Y#7cTr0&<92uXS0S2%Xriz`pYP}uYN`2c^4W|-D%Bc{52Vw zat^4a;2h#He{C~-gt%2Rn1r+(UgF+dD-)+xHgk%MK|4P&?ab4=*20?>)Gy^F%Weib zG5EHbDoy8(Q#Ff>ON;tHvMAgC1ra?0LEb4rnK$5=H8xy0`r0%ztEEA*7;GhT;pBlf z*|hjIn^dFxWsuBGlbbnFskvM;zdlG#1j$@6`MOQ6RPtYguvZ-c*)&;3eq*~a6 z^otMZ;xvyU*Kjwn#*FZfLAJ}34fsPgtwH@F_`HC;49c|EGTlV_OdUd2v&e(!9&-2+ zsLJ$b$sTRor<+)1Y8@FA??hHAjZ9n}9Z*y;YojUFg<>>P>h%k9ZN_59qiyE0z~RQDUE->eK*#Z4^{ft%hIo%kwYSb_DZE^`0c zX`X7H6R*KPZA+N3{3R$pi>A%6Uoyk~UGO=T9pV_%BSb0`JkXmJB;QCfA%qPnUSxWH zs>xT}`IQ(rWGa*^L7TNUchhp6t`>lr`NZs z@x{TnG4`8<{{SHm%GU6tsiF9mm-p#`t}gx$Jy?;jJ@^!J7Sn@Cl<%0rWUsd4uUZ6@ z{6Bo134B!5+5ac3LBSi9C05W;qXrcl>P8G`MiZTZiK2*rqM}j69d#n00>R7(x5EH! zU0-c$wToL9>r$b};zGm~u>!6jF5F906a)c*{J+2F-pOL$_s>Ts=bn9e&U2paJcl`> zzv%J|)OL|u(^XUZW=+LD;d-8EEdw+cg}H8GQhCXb=}E+c>Dk{ZzaB^#xP-GNUi%() zg!y&70dx)I1Uv44u#N|4N#OW)Tlt1{l!x!Zdxnqf`(Lf!;xUd#(3+ctlN* z(T;G;w1wtB904+UZnQjq3G-BGZ1(nbqW1fEMO|bn`0MtqRESPoiWpURYnZu@O$1=~ z?tk^~Ncv+PJBWY|6rkCFa#t#W1D|Ah1+GlfV+#PXSos65A?$M{_v}IzTc-|W>2`AFFP#NU;Lm^&HFI|mcT+%?ENkK3FQORU%$EMGZ!nm)IyK;FVI zuFM)@&LmG@&;`!i_c^frW1!w74seO~=7yO&{v>k;XYNbN+{{l)=F7s&t5`Ezjj-m9 z&fLE$^GbdKc|t(J26BYL?5H^Rlq$|lx_H-}d$0(SQ+gW(yOl#ZyH9h;n`_>~P%-pB zC;TM3H68fF)o~g4&jVc7eIJZ>5>p$TmGb7Cr_o*vQ^y3U9j2x7G}@zK%BfmgyN_5? z`!>Kj_1qThmkG1qLw&V{^(&O6{>5wnd z^g8(FmcoEWdvQa!`NCs>0|koxb9_i*KF2heOW(}psI!m+mujD{3u%QuELSo+6>!8f zDBI1BZ?@iv|5&R4a6m|PMjcbIlLNp^5;2TiDCw=k*Wv;;{;w0#^VeFG517DDVnm3@>1 znM^$bitJ-+cz&4YHRXXK3v=B5iP7_Uj^j70Ti4`La@v~sSJJEhqTjUh%-OB?yO6V} zG#DNcJjR2ttx~J&%QDFD;-oO!p=4vC;TO=I9I7)+kJ!v9w$m&)ExL!DeV1D(q(Z;# zG?<)ZG{`sMiai^oLce_!qz3d`n0l{nwV3!ZAu6h?lY7o`r5bHM9t*QgR5sy)_uJT8 zh?X+`;Sq{xndskr3X1;zy&o(@EhWPxygf*>-qnZ6y5^(g4%2x1JXpdj!leFcbD_{A zgjyWxdFmzWa|c+5%Qc%iEmk@cR(t^Dv3EtglGDn!zw;uL4#F# zEJ(F^m=&fjAvI4PypgDIoLqzDO1*9CaA}zBeq|G<5YW*>!{}E_!hX}`6T`SCh@)$G zmV?>_iW0SNq;P@RHO{kjxpUw~p%Q}1Uxs|rp4m+atNd*}W`upYQB#T9xAWB0QfKx~ zdgVU^um;2&CMHIF{Gh5&iI?wja>oW$Z?k?QakZ+Sv8ussR6U-mw^aug^|h-~oocdu zOKQqLaAr?17I|tBWZZH(EHaK-9WIRhK1XeuXnL(qX;)`4F` zd#M9Q8u-zJH^qxG(+rCp0k@axgbbY*1{l`)l=QEoZENn{5H)UX1vMvqwo+NUTf@X< zB>E>487u_Vu7s|I%u$DUX^WRIa!*n1+1cCQEKKG&;IlUmLaoY$d~ewVQ^Y&7a?H+S zdb}0+2Eow$0F~ET??qHp>i;3c$8$A!_M&*M`gqDqIr}bh7$v{LEfxWUdB|x6{&ZN{ z_Aa{xPzdBbmoOcAp3x46x9MO0^muq%(4P7X&C2NkxznJ=K^6aXdVC(9PP42Au5Sj6 z3YvyOFOGm-T}uQTuNYVX0)dsSf|XMZ0v`-^&JVU!8=&=6;ARRKtY}JOV4S`|Kj-Nro|?WKJf30~N@{&bDk zj}QBKEbWJD{0aSBfcy+GtF7@TYlAMnK>Yu*#+$AP)_6v^#!dBpU!WR4h9#i!JB4*+ z<)99K9@6;BqrzZ=OA4lqSDKCV)iCX^VOoc2LzQM{%#&f-ufnvB(~gbVgC)Tmnh-z% zJD(2oT}3|maI2|ZRwI5McdrIq0X4D;PBRZr=Y}Mc%Ue<{)X47Oc=>O5y6cNzCVt;$ zg(4vWpJZ_%HF6-FM{thKy-6&>-h4}jlIQy|lKH#w`tbeVIY$7>;{q5Gh0GgqK zL=4%E(**7xcA&}%z(n%SD(IC5YzBcX@VPXou5Z&}^PocBv;O3%4qM3t2l(=^jX}<4t4|EZdo>k(oZMSv zZF(QH6|$sGZkc8vn}RK++fRnG{Bs(xb72ij8}x8#hyvaXd+5Jo+~{@eY~*qE)B=uA z)NV__=sLNHd{Z>2_585b$F1lxgkCs!)D%mMz$L5NSA^ucb0oa#%s!L-#*0)Sy?tyjlb<6`7J6js03i{*gqz#N0y3dNo9nj(6X51Y@)mRR9~)%X5Z4U| zyW?NRNc=^V2D!cma|W%I7wdfJ1=SqElTRdwOmH$U0(RIJGXgs=nM*q_xk`*vCb8mg zSUZ=5UAP30H7b9lK;4)12_*xjz?p4#@ql`NKSTbZ_^yoJv}Vd3BG_EPW@!;5o)&iO zL3^_Zgq>m#oJIBu5PW2Q{7w zx&rbdfV5;ANSoTfWqO_qX+hx@9T+S9ZWQ;ssE_~D&%^9aqbKwBS7t-8xbpUg<=@B% zU>UZF%`KI|1FC0TcN+(spe!C0kqVgu=_rvYt?IKtxry(=#>yz;(xu+L6G9U%j0w}6S_8LPPrQSlGSjor7_X*HO6S%TER+szlhTB{ zRTGw=?RL^TIa?a0R-&_fM~q-@>NrS*LG~DfY-XT0xOUf8K4k(AjNvB8tJ6eX@)`#v zt!3|{H$I}sNxv=7~J&RpCh5_z;h-kT=k3y5oZkD{M> zSdn*zR!Zn%a5eqOImt-DwwbaFq_1zVu@fzZXL{eooJX6TRWH8gSFZRo2c!7~es)Zt zBE>NPT+4vFRgsg9a1hv2JQ#*)DV@v_swH2idDD=BwQ(mFlja}`1E@DRJgHRzkyFnz zJ{lh_~4hY638u#bt+kB_G@Ssd2b)Jc4yvNVXn|I;iRCJS+>NXXXHwIJj zrHw(ezYjPyv;)Qn*l*5rnXUR82-_<84#-65Z_q%ZO#@Z!8dy6qXrL>xX3m!RD>dr5 zCk#nt&h7u!T4g$pZ5PWG1!OLv_ly+exovsUZhIW*mWK|7&6I&Nd~FZz*{^P_L5EI+)k} zv_)wUGk*iBJ0q{7tVrpSmr498EjCfCCnH8eH!n&LME2*IUe!)@~X6M?H z$+#hAgYVSrr+N?wcDkOQYyrNEo||jgf$1n;)@R_!dwN8;*AG@K@aJTNq~f{RCG~Vf z=yP%&L(20s$MQdpGVn;pt)7KpzEsIr?@OHBRMDxiddM+zH!E!-S9>Ds|5xM1VU6ZW z6bu}+tQzm4Mg**5Wm3cijIh2v!bSg|9_|y?_h*fuU42#7!=!r1W|-AdBP)zhrFFju zA5GZWie58%EFcgf14)xL4fC(lG)$JDnh3#w_h+mtKnm_6%gpU@r1bD;^3=s0ON{^G zE)Fd-_p{{wcdSrrd$Rl{Hy8gnUE{j;Bt-#We-d)d?9@sfa=dQAdsFEv1WXbyaS&_Y z7~p8e^sg-twL1_0&)M4Ktt$=I)3gZfW~(>i7zQ?$iz+$~cU#Nh@Q2>SVb8fbR<^QV zztp-+-Lxf^uG>4=%~R6)(?UE3$MTRtj1(7C(qiv>zya*fygk#2E%r>um~Wg--mlIL zuu)GPS7vW)P6PZSX{SYBV)jUEaqsCZ;i757^AI91nD@lL$vY#gY7MbrRiCj`{ztaG z+WN;{9Eq|Ek7(2PJy4m!D$jc*#7|HWzqR_Cy*Ie#81C1}xUxlBAjDaBp0G0RFY!gb zW88zIS^ER2h6{b$YqDp0(Cy!1X=U#KHoUsa?oge%J?VDgZV7W&SD0u#)6=R3*Rf^A zpGFrETuM0@=?nOHQ%&|(UY%_Yd_(;~q;TFjl-Occuk@#=$-Cs)5HAham<-+73!`SI zEn`_-8p?Y)4Xj=FhLF~k#SJ{`ph~0C74}VLxoV5yWdeZZa7?;g>re>i{YV8Kc$KS< zy}y%a*hns(80e#1mq06wu)5$~np3#hasv7^zf+t#oJrkK$c0AE*Aym;$I>tE2Gffl zbXOwqieA<3MOtm!r@m{mZI2Rvav{U~2|dEz0i5tE$GHj`mM_H0DmEDgEo0D>nbXd} zKL+IMxWILuJ@xQU!}rW=kW?KcnOm2=HJOww4w8<_mjdpyy-AX%rw=&aw2U<&<9QPa zKV2T&0Ej49@N~FHXQ{9)(({B`mIHjDI^fz^%spadEna{LpfZCy~Tp`CCfU%?i5;aEd- zv)+dAa56n0rFFnpf$0YM<0M;Z7_#GWE2{T{DEbv&1~+ie-rEBLH2EOBxIddJG;M4X z00!35TNjKxIRBMugYVZ%ebD_F*^Taig$>})eM@DYY*R+U%Am}aJ`f{sDXS5w|AuPG zgQx#D`v_;Fz9x=&u4bg18JUX{N@{OEBfaS?X0{a{#6vsx9e3&CQiu%)a~QN>!?lZc zHiN9kMg-MEy5&m_`h{LG#F6zOQ?Ye_MjzrxR#Hpt&y$Fm+Kx4)Rr8Yf~!v;6-mq1}z`dKBWe2VnbXVch_ju1uD){zNtpLwKrf!9m{D zVZlNE8ut97+}ru3Acl3&>!{}#^bl5`rXOSQm%g9KV2DEow-Vb2Dr*a|{q7av5POES zaQbyZ?S>d>J4C;j-BgtwSxJ`qD){a}{@G0F;#0TOVw|$g`-~?I?4aoU{$J#4NXkrq zmMH*+tXWqZAV;)V>ecV8J~a33d%ou-w0UoaGS39Y(1Wckx2 z_4EQK+m7myKUdotVD|kyhY6CH;i`R=#*X1VLqY4L%Qd%?k5c~0wnfvki`27b@AiMU zJx_m5rT!C4qd%8){|Eh~=&*l-ems2+V^#cd`g~uX|IyDBR?`2It$h2vT+9I4^CvC# z7K?{74D|B6_@nFc-j;6WtH?0?txPlrMk6^yX$7Xo-i?!O;&~PT=KpDSf;V?mI4Sau z`Uj!!%-7s@wgZR1COye^juoB;U|uTxC~N$<%SF#?Dltl~{1dnmf;aseie`sKXY6?F z@yCyv-Z9rbF+?GESe%beWIf?Jvbv`yO{Tw<-XTqbNXG!HMTT}*D4BhRX^3S9m&nkc zyT3SsN8s`=ww5z<3I%m9IJ2711mrtXMkJ^6HON4d`Zoo^AtHMZT^k6>W@}zaM%9~_ z6e_u6n0#HBjQs&6O$P6M5|lhQOzNonD1kow%`oYtFsait^s9BHs_>s-QeTqt28=H! zE2<+?4@BnpiuGwum}fgc5R*!hJ2*Uck)LwC*{=B~fbP#Vu z!&Ktw5UwDN2-xVIh1$g~QgO*#_oTu0!R_MUbnk9gi#XkR*{4jbRJukrG`vi<@PUq( zY@PlOE#I3A>?icj|1uw9qJz0;nTk#tfKA1N=p=;}3W(8EWPaQuzr+D)bM|jr$NV&i zC?9`P5N~64bzrp}^95*D@?*yB4_MOQhaWxqm^p&XMqp~e3sxGKWD?4vl%|<2!sS1G z6o8OJv=-XmO}7>woy0)vmxqUlbr}X$BOjK5)e@ltUkG+I`CFMS>E|V~SwSo=i3=A5 zFYP>E&%8yR*Hb#ULB|0|qySe+X+`3n)%<2~L$B3!#%IL;@2)d6a9-r{jH1V)sxk0O z;iQ*QB%nnW63WveWJfL6oSLMh)K#*zN@N2MuQPTIzjKV;@)#C+&e(ywkv(+>Wcz*5 z6vxNKwByZl#u`2@^t<4t%G%A|j1^`VEEBzii;Y;=ezxCJR%ZGe7y2LWQPw;WF2&}& zN}wG9f*MTC^TwPBgjsb_o0IWF8<((+luletchiaE9~cSM0m9tv`&= z77C2Yi{nLl{6;oD>6xmZyK7wh3#{0PjR%j`ICDPHWZ4rr(~ASy;@#^MrK99Q^;Og6 zp3W6kQ68sLRp6anTtB9FT%5TzYVK(B&+EWD2gRa7)0kB^1rq8r%jo; zoP6fGJPu+_bqUIJOr07ta}^=Dq1oHNp?I6ee4O+TbcFb(;-PL;Q`pVhI0JS0x~BZA zI(+A~-O_FOb%}BB8xd|Z#OW7PjJcVHa=)5pcuLxYt!*ZRwlsWANa`=)SlSO??v!_d z`A?6g?nE#_HB){v*wh$ubksndwEQIe|Av9w7aChUa3`iQ0aKFcIx!3iP-3YOEFBye40|y0}7eqg} z-z+Rl*!wWg^WLnqh98-zYEEZegI0#9 zw;-S4z90h=Rn39ECCpIj-Jj2}nn6$l^Hj||tt3OBN*v(m>G0rY^$l(649?=t-P_a|FIWRg+_^iB2Yk4ISo7U>@mbr*)lhh3MAxwK)n-rK z==Gn~1ij^z)T|Ht1(PKXx(+ zAF$FRc^7KF$XBCR7QM^D%Gx#mCX{#hqF|A4GPt=M%7iC{OyI9uFNy5%adxol4aG$H z_IUP!Xx#~RZ`Llxm^P&O-T07y=-ue_EN%YQ3&8E^Ydmt(lj9(p&2Jq4u#fv7!uB70Qdw+~aybcrfc!Vi- z+m0{W;{a8g7xwhnn=dCbbsrf~e+{H{%r_(?QK`{n&t!#w*{k`$+Z6{0WQmZDKboIl zLY&MN2IHS;`4?*ka;`d=kyMK=ZOK&vgFh(88~n7zw*meCp54EmzwYusMizVkEQ$rv zQ=s^h<(ZhClDHN#Cz19qY0X$G&P1nauXrHA1Ic*!?a~7iji_Sx zYLoF(z51yUo?F)Rp0{K?A^=Sho|X=_ULB7Yr8tVrMgLe0g2;~I=o)hJ4uI=V*KIYY zU6H*08z)o@T__|wiCkxLbM~yl_>hOVCs>Iu_~6w*=dKr%*~iu~`fl%Wz7+jIZuK_+ zEGSDwh&kyC?c?I2c*P|}PVQ8}5rjxGJ9w@6xpgl_9ND#?G7SW-wX8`05h^!E(H@+{P`52?@z!fF!me(CbN& zl7I??v{!8copba?S(I4k#G8) zfqdbg^w~NL6V%+aFPPR24aJJWJs&xOZQ6Ktz-N9Opd8ukpTM4NCDB3c6F}{CeUjP3 zYS2O9Frr<0JllZ=>JCh1kE>x8{2ypY7aXWrQZ8{T;Y96i{XeJKnfor0{z+7W+(YOu z@S2i2QPDywCaaf>PP1_?*o~ldO9F{&USi+g=l3C>BnK_dT(9Ry$~?-*WIm2SrVp#E zAl&upy*ccjJ0qG#BV<=Gvgh+~;7%Cr^`y8<-DM4*_HFnwT8~r2%)clj7uf0EfQ(#5 z-A4pYU&bP`%C$Jpn0_RVZ{oEtAv?suZM|I8#9>pk(DM4)I)5Avc$UCp$SaAZU*T-z z^SXWkt+1ukq!p<*@Fen{JDN>7yr^mMyg-JuDoEt|EFHuX)q68OW4t&&7}xjAT;Ki3 zE*~OI^AZg&$LU+&5?@qeJ+2fpQz>EnznZ|Kl{MhYxRV*dN6h(Gu|J4>NG$W?-)nR8 zh0b%+qV(Hesz#ASx#OCe8SkM0O;n?)x{k`}Qkg%2 zfS(~Y?@vSy4|S?XsFLPctJ46hC8^=@EF1m9RGfx6Gy{A*Ym9biZZgkoHg_gC>FWP= zvPHCq2)E6AXNOKS!L$t9v69QcNzVKejb&dBjt$&G8>TjM<3&0&5-mriEXmF>SHx$t;qS9!BL_vK2CWN&P&Y8_pE& z)D${1Cz95%BzzM!-Z{TF+E9GlB>OJBpQ7{P`7!6#T0^mg7Z1ES5<30BD?aDPAaEV3 zyM$AX6%^pd${_IzkN>#asU&c%)X7O71GvGAaUkqQ6!!B@M*fyd*?obE;Nn zg$`b$Yok!SD{3Jyb{T;IMc(Y4#TBLibCyzG13iIS6AfQ;UFir78JeQhE5?0j2&$Rg z^v5qEQ_Fpu9%D8`;G=}Nv1`2H%kAFPmwcz(<`Hm%>S(p^DvZKa;E&9ME%jnnEG+58$`1-Zphwci#{RBcz7B_n4u-AINY_PoY2qqoP zYl_F|^zOIZvhm0=mJt`dogeT~)UE+n@i&-4M^J{?UWUvk6y^ti;G->rPk(QcPVDx- z#%wh>gYGI>rxnt8apM!nD+4VhCNE^Sm#)ww*0>w$_OEfjtZ~0+da(^XD$n`06eGR} z=`&2K_NO54^%RPFz{@IqVIVVh+Hro@l6b>W1$76`SE3FL-n8df)tSL?W~~7v`D>0) zO{j;osjEgPbDc97p^Q0o&Tv@iNb+94DA+%lp_F8URcKvAiX5m;G)x~(53ZmFvo*R` zOJpuQen*s@?IV*2c5x+#E_i$7f23)aF$MFpU5-+5wehXQCGy;rXm~@aX6$yiCtR!- zhIvVMN{fuh$w(~9+36kdDFk1`%Y%|4+gct4Zf!QuFQp$*r`$bEsDHioGBW^bW$5>H z(c1Ndpd7N#IQ#5YZ<6?%#TPE4ZD!T+gQV=^mO^Iq)Qy{ zB+z@n^#)J@LZ8M!p2jF-GX+I)qB=Zb-JWKDsGvtw$qN5e1+znb^&W)cF;fC6_hGu| zUBX=Z_Yukqz?zl>#M_r%>Tv@z+clbHO?PH3>OdHF4Kb@AElLx8gDv1lNGbe5rLHsu zHKN<`L_=TT+1EIfMV*5c!g`+xX+xv|zW#$YV>nG=bCtGz0$bxL{d>^o{*?2dL|f(` ztk4K5^v~4KH~Mk;;r>wYCNS6|;zy-evu~cH+Mf^bx#TM*T-hz^xKflcuHZRgf9&kc z-9{BUfaa_c$nXqcQH}dmAY__^mj0e~L~BXY4=RA{Bmn|UVeky=^4~JH?}AJnWD{DL zIx)5g0A~4WiV%f;Cz`zVy=$NwXdmWw`aUls!IxA$*~ve(SRV1EF!vV!5jl`_7ur4c z-lRH_+Bb05qV*pq`9$5x2-Td-FpZ|+<;pzJLKsz2A5U##t%CQ>fh)c1sj%t8w*21< z>LhJ^W#Dw9y;M>Daq4ePO#wYD&%dU>mHC@dhE22EmT&1^W-?IsZ$|Y~d#$tc<>BIl zC5$9$k(UV)!}?_up>$QGYLo7kc=n`Z?hN)m3`SQc(}|R(zqX_ILVhohrKolBK#M*q z{K;$XBzW)O{!xp0MknphzU)ua_~0*TQ(brO>4(_>un%x*-l*q)u$+e}ryeK3zwM6B zk*2l4n;zg2hbdHFB=9Y6ZF|wpb70drEzReR`I}UO`&ok^_TWXcJJzY2O8BrN^$)3j z?Tm<%e%r$1wvObrc&!yGmWSfzgcD{HZuh0;6-}EpK@d_)>W)S{vF|U1DVL`>_NEMv z)P2B~|J^$}k(fm9u5BGzdqPbwdJ{$)ipBCWJLGn9czx=EnV3SG-q10mTD=g|O?UlN ze=?(a+yxJ}5mUlnZ>j4h>65uU69d~q5^U5Mve&S?L=rUVD>t>-dv!=C9pi*rVp(pB zdZ+)v5DqSl6oV5aZJS~z^D2|`U*fve9aQl!sPJ)A&b!li1#1EG_>5Z%*JU07^M9>u z?rQIcxalDgoLafl3j+t@5H0a`Jxt_#cto2X9+dClA07&OxLLL2dsuhWfAy~1TG7+; z>YW~&o>=T(WJvh7QtyI%HBSW9bksnj__X1(>1klepIr70s4C6Cq5lFwFkn{XMe`-+ ztE9Y#R&s7Uw2o{|V_WbAoNe};aV!W{klCB!BKtGXkp(F?lsN}!f^C7p5}U|L4mjKbph%pF&QG1~141-5w@Xt|2Gky#>eDQF6 z7>hrRfP}Z8ea%3_fGM7d;;L-)65fDhI(J$@q-mUd)zpTcfXiP6@0}I<8qbM+y-f9l zz5AlTsHRyj@z=?mCwy>VJA6QckG^dUX31jGqPn^Ay2k*-{x{vxUjI%0(b%a#oOGo! z$hZ-FE!MEi-gh(SRJ;0<*~A2RlRDm)!M9>Ym)@CAD)t)*j-OYP-4|x14yA{ZpKeWl zG^oiYf2H47V^WX)qhU(M|953IE59_J{DJlX1Mk%S{yKF8+UDVr)WPiDMQ^fu$J`j~ z-bW(PW#9=|mOq~-+M@Fuj9UtxSLeYPMcN>Ei_hD$`A5)#`NRLg{2m07=Yx(zVkuFd zFj)(sAIkZRZZGxj`->WsoUdLB9oQ_LA8vd2{Tv;U)e!g%NlZ2~Pq|<=$7p6&C}bE6 z%qske#3+(F86Ezwm}$l|G!qhh7h5&chkJzxwx(Gr}n2i3ZIXMg%>qz^%i*tHNfEZf)j>pqXP^n(?auaFZ87 zebu-xYZ~R^bOQ7U)|~)|0BL4kepHkiJfm9#I}wp8+Nxg3??SCM;^NhNSS>`zWoP2( zxtuetE)IN8XtfClL{RCkm5=NC@!UmG^S>LsRL4wj{#(L*HSxoW1ooQA3Ti;cPv)lQ z{X6*6mYxxR3{Gxk!@a$hhR48Y#tWAvEF7FC&}7FD$K_Bc0hecB_QaR&JQWw1r=rA5 z4%{8@|DJB)rYFeMWqwuguT#AIO=s@@luPEW;~BfECwpSNB7r+k89=t&3u;f8C&Y@7n{Ey(`dPi`R)>HSjzv~51zES z6`%5I$-K&qDcm=XJ+Z?gnN3$0yq2i_AXxz2v(~Fg*)%)pQu^pTH$3XT4!rN((o6FaAZ$aF44E)#j;r=xIDW# zzH}p^P5`fekO4n)yYZNLpk?4KRAoRqOoq~Y4Y%#8%Ef+W8FmF3I#~wU_s|3mhVhs^ z>_;**EIojOa@Gj!8a5~0*HfkLy9rb>`tP%XhL_6dVQkg`bv|kB&kMbQn=F6N$?OM! zSEsivJH7d`WvA~cL$*mHA;;UB1qx`%7WNVGT0CCxqrt-?_gBw4u z%6%WlEGFGGN{}OQ4tKG6#1D^*OSlAy~57M3`vyqwWdu&9|(03)T1NIwp(!sBOm0)Ljbc z=aaQl(aqHH3QhAMXYSoVU3JB@VrTY0*r%v;U{WtBZ2pZ(hEzuSw=5dw9L~q+8bs_Q=5w4R5RjW^LvC`NWHm`rPNTSi z#+0-8nrxw|iCl1jXT!h%lJ6u)AP zokldL_x^k>)=4Z0*s;X5@4xr&p`6%MX0GnTiK!Gm$qtC#uA>-5=s|{GAPPfKUG{`O zy<{}Op4*gzJ_s3c)DHI+B6ZTDJhHQeCYYiY8amH-IZqS(6je10s18WzrzqrKLLcRo z8nSm~-2q0|rn5>oLj!`sd&ivL*JOWY9{Nr9EaEpkMwt$=(&MAt5G+C)<7Dbtvc;9x zJP`5rJ(2RE;4(^HNn=~w+9IQEtc;QuoQe<`PtbAREyz0=-mv4l_O4?)U%njat6Pb{ zug4gIs1%V#4Mzt13%n1XNlXH>Mf}-DwO>pqnsl!qAa}qI(@ISAYv|q>_;JZ25=9j{XH1tL9^{y z3jKcn6~U4mOf}vc2}E*2A~o*!iCRv~#)3q4?Dy2zv4E#ui~Xai59MCd`qmpDx7d>~ukx2-}KuyF=U&MhEC zvLUu+WYIV#M0D=##U^$)v#2!Hh0nRtHxt`Mo!$Uht6g)W(;wl1_vd*C2Hi#jU%MyJ z3LJ)z#!-_A+Oy|_lOd6$DM~clT1W@wp9)GGJYI*T;MAh4BUj6OI@VlQroa+?4_tnA zhpX97JFkv-NBxyIOd4JuZd(;&-$c+$%qcX35ZkPk(_6wYtgpe~8defbP?=tXje0-M zwd2eNDC5Osb~F#V*=sWOsPEJ-R_LM2AE9gJCNek+&d~@Y_RN@nZiJ^O4NT=8q>tSe zPW@(T2$*eI5BM)xJQ(nzAKFhrMi#T<=V?nXC~2t3lGzJDlMqjKd{x|3TsMsuDxo-+*R4#HZ*nqn#*qgi|2gerJCQOj zL7gN9b`70N?q~DsY@T}?cp_iGI^)-qwS}MLc5G3+e1(&_mDaxh|Z5=@)y+`h&Ou6PY!Pd06b?=wUDJHN|D?B zn$FS}&03<_!>lTJ#sI|%y|V&<g)C%Hq`FBI28{aI!aC9wtw4#_Z0wTyP2>SQL@6yX%VguJBlnuU2pu7mm|$4{W%oVRS)BA>aij=zss6pI={_r9C~?B00WOTOix-!JBx` z@boD58Wo*~KNsf`3NJ~m7YIQ>Aev|EUQe|$>IV)sc~9EnI_aKjE8FWL6(7)tg4}O` zubHv?RqAzzMx8lP`rh#MFUtL?do$?c$++x{65AWUqWVD8=-1G}MU^^C**gz)Y(1hr z)5x>EcHc<-)V#EyqQ_Iu(miUP`-RQQH!?t5i`jz9lbf`#lB`wP9$9k1W$;9CY{m|C zrYd(PY|I(-Xa?=Z8vI{Wm%lo-JEGBtC=pwBT8SY%*6-d0?FA?EjyAG3UP;U}RCtEbzT&;Q zFausv*qN_@8Jp_XV|F2TcxohgnGUcW$e``*8ti%D%<^mAm1tl7;2{(XAJTiHCM4o= z?%SLH#*f}o%iYLj5bq8grWpay+53Hh!zsSyyXM7ZOue^#Gc-x|gm;K$RyIBccs6!k z%b%z)UIuk~uRmFlA2(~OTvzCy0m}7X`9I`M1DA{((MFeqF|GD6KH)em3M(nYrFW_58bXYHn$cGenew3Vrs9yVRjS?n0k4QFQvjR!VbnNLU##AcbB zw83ZWSl8>3NNP$VJ3rXz9HEaG$lm}|f9=c(Wc<^ME!(-K;R!O#m>#vbQ=}qs(q@M} zV|uB@9YtKn)b#j_>1Fo)v%u>Z1QZMRN^1Pj8MilDjdiG9hm3>qTU7WFNb(*N-%5gh zEd7*@NoKC_8ajY~s+mu^%i~!$uz7_U-JjtsQft^4$?!GxCwugT5!Uw+a=TwB0iva^ z?o1Cr6kNs5?TcVfLW|5KQbPs*EG9S6_zKY5oLIzE=wH3w?l7QlpAIZ~4w+!NXzxS_G zez4{Hn%jokl>bSBLMa2dHH*^&Uk?fx{e#^I%Jhr0h0T%AF8XZlFgylhmUUD1ivRFI zys=U9#4}v;de*q_gce*pXh%Po-+3t3S0|QkIH;!ET0K^VeO40xiJ9M9H+KRyE0{Nx z=20o6s9zqG?6xZ5erNTR?{G45?;g($Wm0&jdpK9M=W(`fNi6*=sBtHz4x?4_8N>Hp;Gd!_CHv&P`NMV~li z%+oNb-=A+}%HE+Kq55R8VdCna6e=^qlO7y9Jut(|9LJbya<`W>YeqC(U)qf9j5~i{ zoyZ;E6L}x>6ul?fZ`vf%GEJjsEa&>_|=Htf*%if1=;BrZTQ;7-RCZRk51UKYASdlCcUlQb>~UBTFx%?BDbam+==5-s{G z1X+9I`O{}>f-e}8;ui3E(ig#Z1}5~&Uy$`d-F}cJLtYnYBGD9RuT-Sp54I~?&(9Y6 zFVN|+&XGlxC)>#}T8Zc$`fKZ&wC?djF7I_|Byq5b>0tTLe+&IywwTZU3r-|jfLc#0_>+TH+xtsNk z_M!QhP*1;{ekZe?PrXVn8}u8!kmrYH{P^wOwQN&f#eCLSxyf)!97=n%d9yc^Qs2CM zeMoP)c@A)5@doOIXg149up%|HZ9^VZ+CFwHzbso|P0hj~^-=kds+ zT9!2)QoM}+U-z^nNE$_uG`12X-`$@lNbV&cycE?go_HAq$(0+8AQ|@uqeMpXXB^RS z_k@ed$V6SKKcb*zQ)kaMw9M4u>QUYY&3<{`3U#IV{b{lvbaLK^zly5EXOjD(X@H&d zTTJAam1(waLT6`MJ*~&{UDysqY4?=?bIwj{y}p2zoN15A^AS9LP(7J*v#&3 z8*JBbeq$SUz{tDx!qg`3i=#F`5 zx*p!m&vppTjF(fTcG}+`)|Q^9p0=3nM4e2PFxoGOg^s>P!htsYY;c`sQJ+r@r6BD& zucW(o86O{Wi<{C$@8tP$^&E8l>7srbN@J%IdKvMCJQ0i}N5NK({LE$0(c-mv&meq{ z3w0EGKkB_vh7Q_Y8)&dO=e-9?_4;sCM+R{;iYAah0=rnlmuoBQcbBCm>Z(loLu%Kx zgKeGeu3wnaZHd0jRId8HM|V5vkFC!z7R6WfRp}=Ofe?sP};N8sQ%PQ-991$1lyOKy|cM#R;+%{(9{w6xCbuj0=7K1^Zwnt zMQ-ilr0<{x?;akz@yBu;j(0Y#MD`*wXzgZa-<~DjHDUhG_U=Zx(pOdH_mtV}6m=@` zF5=d@e;5VxI zWx@ps3J7VLm)*ER- z-Mk2VwhZImBCjCq=V`6|{24*@5w~abwY8tvu$RUwj&o)n7WPw484T-a(!DcZ?5Mr( zWG>;$zh4XQRu}r`@MZYqeCAF~B5;d%|HH#ZWHy?$PFb@fNVpA$&nuldpE9*f3KN5; z-CSjHP5G9X^P9#v-q?ThVytjAcQ>eu8=l3^ol{k-5%(RjVRq8K%4UN%OKL=w)wrwd z&6-62x8h4b?O5Y(N#+JSiCn6CVd9-8(ZZN13~L@Ab8hI08FbfV`TNekU7Q9P0GKxM zujEKbx}TmMggT^Be0NNZ<+oF+ir>zuWBBco>Zw}JE(-YRD7l?|r5RXSp!lAB0L9*1 zCvJ)9OHAK(F(t&5w2L{0m}A<-98b*g?P3NKGuUG2{LMGhVBz>`=Y~#ws+@g0^;R(1 zr-*Q}cac8M>l5YUyxviLjO|m#$JpLw`nbGLB_EgfuGGi1eb8a=du{LG`bhN|$49F7 zIDOpSXCfcB_nsJU*jP`KH|2PTD$%fRPqJW1P5H7^30L6+ugNAo83D!#JZR!B7rbZT((v|A$)SmbV>h66tz%Z1l2l|OBXCq0= zoGh;`0{e9jwihp~mbmdK51WY_Fv!K+GIutL!C`dj_&xpr&MgSDq1ov=5hx zP-{`aR44ttX-q>6C?$>N&zZ%lB(|*T;3(u)t?CCK<5DoR#zKR#ipZMW4bh~F zDZg}3;N;6o(A9n8+<7HcJI{@b)bAV%!*X&Yl3wY|Dkc(gP*(5B+zkb@`Y`aD-Zulj zDwrS?L(%|qdgW%945u3$(f#*$#dn0%Vj6#Pkw|J^x!P2+5u@)@w;0yCgTp%y@aA%Z zSoX{)7UdSYh$8}H$Qu?~c}6n_8C?t~7P!tRr!){CfJtV{@+;=txr&5X{V7wO%yN?a z>2Ns7@+HollTKuboaYK_auW;MK!fSQ+^yBQF_~EXXOJ0N*&s%&gyesFR*TAm+Zy^S5hb^*>(dq%W})Tvwb=Ks0e?lNCA)At^ho ze&-=Ewp9Jjllilxy0EeC-1?nUQ#J7{7WPXD66LSNxrA`%QY5&}b4B!`Zf25=u|x|` zU)Ry2`SqWqB8l9{o{3x?XGE~LD@_d@$z7sJ9qw#uS7Yv@h^U3 zBfO=cvVKoDa`8zh>ZFGgYWQZa8DHAQPRIC6_Fre7$X2h9B!XLfn*Tm<6IdOnl2fq%=}yQt=c1ELKva&M8ev` zaTI`b_K=6Ac}SN?-rU^lKz#+Zub~1b{SDE{>>sWFal2Tes`6GLE%-WbF~WP_YB+RK z#!KEomx5=!b#66Q4pNTB%1Y&HtiOvM>R-IE{?*o?p6?E0wQBm;SpR5i9s*0lz`*5J4KpnKnTg5=X3Lq!tQBcS?6a7k-$O>1yn7;LQfS|ZaWmH9fE&v+R2 z`t*ed;h}Yj7iZlo;1WqWWXVIquP^dz&;WkDjWqU9_Y%1H^zzieB$%d%T4df9$m6&G zS-+zPV!mHQBD3})FD?zymL>q5^zyn-mjN36cUlZakawD=A_=wM(?|%+x{($n!p#mj z&00TCt#brvO@m&<-8(c&C-VS4Ost@=YQ@kBKcGbJeebN9d znSI8fE|KkG624G6o^W9w=5J)gxc~)wAD&uhwF;_4*!)b8rw{$pB`5h{Jrk22-QHhl zqxXJzMoD>WoLPr_vf#XOig$>UWYdlN78Goae@n zc4I+x8j*d@>iv<_zx>?VyR<_hH>N{%`twv>tbP~qHxlnWH>`jM9$2x|CG|UqJcUS@ z(-9po#3b{|R6J%)6bA9N9Wngus7lI$O7LQS=+`t@{^&Z5}4W*!gWzi+U#Kc-Nyv#are!nJC$P<<3(4G(oaRI-fL8YBrFSU zsicmtmc!f^w1w~hc{mtl2{b=o)%05d_1FC7f%;9!)7hk?ue%hn7kf+W0soBDq|EAB zD)T(Kp5VNY@(`P z-g5^f+?oHNoQz?jHE!1$_wV#(fAnROtg8ThL+H65?<%X9?0$;I&z_+jUlk~kr;SXiXV&Ua;_xAm|M z&1&qlWu1 zD>V~*N1)Q;)!D0yYO^b0fx?73 zq^{++V`?P7ol>Xp+c|Y4zg<#A)#W`)0?#AvYY9Y9!M7w+xD;)TkTpxYh>w37@y1Uh z{{7PkY4KE}`6|sFs|9YezCpt>9)Qm+DXJ>(U6nfxVfpt}?u)6L!g9)#x}vK5{AesU zd`~im9mOcV%J|yNS6M2-S0!J&_^M1*@HL#TANd-d8o<{$zIO68E_HCM!RtzBBK6nZ zQSH9#Z|T?eepLeKK_s6^GuyHL?`gtkH4f0yIq}+o+|S95;Tf*M&*AB$IFUPMdlg(? zHT3gbS@KquU)R%_BSyX2_2p@hZE^=3dTv>|+Zvn0aO|j^cVEa_@x<^3X$w z&wLnLSjzn4UWU^brAp)i?)wLE$oFz%OPZH9b<7=uOO>8qFS+QCKrP}OUZYNL>8`F^ z%}Zq+pjYasYFom+2|i;c)g^O17suQ)P%&N~jaQ(e*B*=y&86Op0K1j425CH_n2fw| zc?LJD&WKt#drK6YauDB!U#i@*irn*io}DYHcMlkrtNL;cC&FjirCb+H=Eiuux#S)k zcVpY*?v!sEW1cEWy6^kv!E6hYRA(#S!|_(pIWe9!PhNF z#m=0E4^&<%cIM0uf}IH75(ELXI%vl%)E1kJlu7`G7NEN(c0imHiKY;pXO!NY_s$ml<;oBoNCEFUj?Mk18X{^7S_r56vC( zC&E;7{JHV+tU#355{q+?|y04Veglzo!fFb|E^+iBzVSJn#>A=mvy_d}8bV$Mb1M1{I~TY-O~f z^9c;YX_%z(WqU>WpnsL93hlB}w)-z?`oDqJA{gH}Ha_ea;sg@e$&yRO-HL=enwCF@ zNr{;b?G~kiV8B>l0Y63QHu{S6l4R{Ss0>*h&_q>kR6)$$<;?v#vk}7u(IRaKY^lH; z)tS$oS*zFw=_TC0AJ2EPg{4@%fo8rtM6{Rbv;l`9D+=COi-n$MwJt$dwRT+L8iqFnfsom}` z$EZ$v!YyKJViQ-Uo$K-XUwl$&`6D zC{r9Sr>m5zd#xt>FVRR);=@@0kOJ}?qnb4EfL+-CE)gXI_%%--rvibZW7d$N#{D7D z@Pe^pxU{2m3qhHk|Gel8=>Y%f32V+b0#o158?7^61fa?T||cZ=yx z2U*FThT3Vh_zg479$^mr13Fh7JK(?g6FkjcQixH3SdS&ts%a3DCTgpczp-W2k=tU+ z3Z{;aHJscrhQ)9!dv(vMTrDT?M~N%r%Fk$K;5vy;)0jR5sO>g!q&LDuVVO! zh!xz>lWCiCH}f4c_i@vss3v<8|Clg;hiMgoPmF;dR%a3L@iJj{R5YIJ{v3KJfcLdj z*DAT4OEy_KJq~hD(tS*rI+$T%cQF*Jx0_(bnS9pU7CQO6zn{|KzG_<4^ zrkm#RsAg|`{f~JAoMm-9>A@Ny5-=9kdOW_mnUe9&)5mP!*9gG-#5=k2TY2G!JH zu2Ec5@G-76OQGOvz|3IHb4lhEbaY!NKQIx?l=q^cJf~}hC$Yxr2qzR2*+m#>@l-M1 zUlZ;~=!fe{QpX|u)et@PPj6pm%Ha@_$f65vexWucwA4$`#y0$#>NOtaugMNBF^E5s z4W_}ZBQg;xUTx2x?Cm)z&<~tz^N_YI;)pbMW8M0a7L~=*ftFeJ6LLbzpYTtK2y#4bCY#%Po0Z_c-V5f{zhC zu`cH>AaM+d$E^0R^`r?8Q5NSrWYlI^xQ#2Vsu*{SGjkF+vf5qGF^aaK05BU~=*A(r zpoz%4YI{JR#oU!c>WP4W<{1NM|4y-nb-SEdgMkyHBaTy`d__P-*n#koH?7dqQ&eK z@MfOyc0~`h5Z>vTJY3-y&}W|OBDXWAAK0C+k&j)1FlUA{XA@^T@r4Sn3BpD}>Zv;7 zql!P4TSkN{6&@6X>7p~|kRVJ0kfdQ)WaOn`SajsjFf2myxG*eAvTqoU67C#^D+zzY z&Y-PGJ>k`1Sk&aBVIGl_zsiT9CvVM%At-C}VJONu`Eb;kGbta2raWd1s6ptm(&iQ4 zsThU8z~l!1TD*l0(5P_}=riKEPCth7heYkg#ga@QrC>_LEsrgU*T7oj#TM@Hp719R zRLS)nRK?}1U@OM1*3M0et%w<0!4pQ8qU%buvK34H-QYCrTvjEMBKj~xWFZsTSaB?y zD3ZCP$e(*`!6z4GmdD&gQNo=9^S-{TdNGb04aXQISylcS?v=T-Cl|}r{H-o-)Y1cu zdV9gPXYEcgou&XET_{rSG4@w1JGw-4o*=T|Ls+tp#gdVl$PR@!;W1NB4U6PDt&=PlWopWbPpmU5%9`&4@q}OLulk zVwag&UgZu)WOXUHKB3DLkl6Y4``;JO9bJOw=6G&GS+3{D0=%W4b%Hve>fD88vHmOK z1smPbrB!YvPnZqIvznnoLo#!j;5JBRF`dQ4u8PP|a+2AP!AM+D#a3^Ff8y@P{;$Z* zGKzGJ`0Kyctbp0wTUqf@MgFxARPbda#sXyJ%-sM2$=%ec;mcj_w+J5meeL0#0k1X~ zQe4ra7BJkwXp>loxN8Hv`0oC#c+ro8;Bq%~Z1`f=jOKb;jk#aJ3)0Yx<^X|R&X@@s z0;>tahQLl#I7DCv2Vs8UM1yct;d{X1c?9+abQodUaOS)fglRx*rqI|;x06D);_$#l|Y{dC(c7eYeHmf=tk0!Dc*<_W)!*YESaiJ)8Vo@A0h!?zzO&O~K z2Z<;Cs_f}S$fOD?M)Y(?09%FdU+QZ5O&wv`o1-#E%q(GKZJ^>Y0X$oLoH3UyPQLR$ z%n)g|gI^O^Vky}5-C)Gns*3RhM~?GrjUMa#v$%|i!Bgjp1J1^avy-vbSzeX9vN?5i z0_hZt6^>oONfSX_Gssk(JqN@!*brAte9jcZYDxEO#&ULXtWj2nfD9ZA$nYu%i#j;< z8w>sK0L+T>i=3H-?ZJDUU=$AW=o1E*R6AanSdia~iQIf`m{?=XHe-D0o=yqp@0;mV z%!QYOrcvjd^r$wwG2vcCkFEmVYv@r;zDI1^63iSDxvR=@o!+E#k)@w@YFJuEe5p0k ze`&nHWB(CxOu~(^BbAAf45H%(F!O;q86;?LN#;c32(G;69zeFtl}_kwrI2AFe;Rg! z_>7UmnJP%u=;E`G-9Vnvw^Ye!QO1)+ddA!jVhBWQYIjz<|ADhyoWS5G3C^~)LR8HX zTn-_dQAe8*@=_LE)W+hel>kKz40!72>my22KX>MeDb?6JcRsd$bj-(Z}zIe z96FgvD+Au4k}f2V{$nWV|1yyD4}9As{h!>R$ymp)^_SxiKg%Rx1;%N@IT)xK)~nb1 zS+7|;VFG~(e}{wAA`IcMh_6@a**#Gv9mC>htMtyyc)@7n8Kugt)8F3>jfeFP90;JE?)F*Ki2}F^R9TLteR_ ziFwZuAatJfeOOy1P49h%=r@ z%W=N1wl_pS)+U)G>VS*5_gMlXvfx>c{6UefF%MylXGH-2Vm}h;6CP z^{4Drw^?T3GAHQ2d69Udg7>^%cM4k0EP4-X>_^pEcNKPtr5IL1u8odjc+T2FR9*zJ zXlUOZ!^IVo;{6R~E8A<+WeH9RHb-aRPU^1FRK*p$Q%@5)icCw!|5!}}O?Vj%P6xO1 zA*5mx{lR!ho*@%E$T>Fjy|zF+p5HYH(o27rX#WN3z5ku)_w5CBXNwi`zg5CQ%buo^MUg1ykx_LO8!bge zu2%I%1NxT)LDhL)5Tt;gP;h}}%D+x$p9I$}$l$&ykQc4UU>F?m;wYu6p!n4i(h|F#{g5j5+?l-^2L94t@WgyhThv?!AgR!5nL2eWDIazq&c>G^NVao z23VXXM3&EsWNhOfU?Gjov5&yj>Q*W*c<=(z9~OLQ1AeN)y*?E^9gHH{UG475CCqdF%#LTDl6iztEI%W@VZLru(e^rwBZa@?T1z4H zw=E*17jn}IlKq3qy@$hUKcu&L#e1SnwJ$MP|5ucbnXyzTxY9=T4-Li!0Q!|**f4=W z|Aa6Yjrd1}!J>$Na2UjFt!EhQ6!E)-!446B&*wo61rdJ>K}fPk2ZIwEPd8MCT|D%E zG}Q^UO{tK4-0e4u^bpT4!z;fC1Q=kD+~;+5ad*g7Dvl()Q_{T>=21H{+b>Dv0wHUr zeET>syW6i^`Lf4hk{@mE^*wP`ePBl~NkYSbeaI1LpTyN%KwGS6Bog(9hJB6{`KJ<0 zK&D33g{GO7q0sN2&(O&~C?D+L@1GAA_=Q&NtU`YgSf`aqvF@@%CU_m?v0W#9=ld&k zvEGJ}=S`e+3E%|%U~|M@z|1J@3H}8nB(vi*8%g)@izu5qFahahImMaymy*M%tKW-7 zR?OL|%-!Sv4w?*Ntdv4|GR(hM$3?4pY~-hGqJ?H-$>fEG$k}7z85;$ifkm<|!EfYg zt@oTeW+{5c%d-H-Hg_0gqg+YU^ZXz2uli6hztCc^1PV--uqwi4j}%!JSw1igmH8El z+ct9n+!N1ztXigKVKf#^I+BatQz4i*bThvrTC~j?>d(t%LfTj4sG1cy+LynH>;n?l z#IjF&L`xDQiAP?XgDecPH%5g)_C_)cvNvL3kiBtY7-Vl8t>8jy?Fn!aLACZ!5Y#z%cMufX z|78&DL~wc#6yi@QXt<~!#FXKp`?)N)SVm6Xf9Bxx-TS~s#QQ7$LSC6Yj38z!55JiJyU?$!K~2PFm< zOiK+To<@4C;j024SvcfPd;2Krml0r^{tV3>kEs*NRhD`}6*M5)igzRksj2<6%6)TK zuIC@6s@3+Km_+S5A@jAYM&KNyQ_ip+1@$=T4JL*dvgk7PXbr!nC80-yf*yS!$qOU( z58?D}dmm2nhKY1%9^E-B*NN$=Eat3@LI5Re*SL+yMIJyNLLU&vWSWI&5Sc`$jG}qC zX%)kT3Q|To1_eS%CgvpT#yR{Z*%}<5*Op8yWlo`vCl%TZ-A4&^N3WH%qyMDW9iD^} zokh*;$-Asy-Ft&4u-SM^lT=#mz89?8)?}{aIcXGRxE2o=j7H9nPPr26O>I0?gThDE zIO$EQ6OpI-S;>=HbanQn^0UUV-`wjD3aXdt?{JgERMP#p9^F=_(;Z)i({z{mKcXqg z(+5e3s*~-{0r^*O!NG-tU=t&zw1P=FFKh=bY(qVmbHE2l4(1SA2r{8ys!}hj$m1 zC6{2ql^%nd;2BDy%+MCzd<;7Eapg^_Mk(fkH)4zd=9a59uuc35L1lt4Tr4*Rm18Gq z0laaZ0Nm@{X8^1wtCjz4U! zqcl59DHbGk#P%tXg(hO4so>YJ0f_Et%Bx4Mx+0Z{sv)(GKb)uw;UNmEIVUk5+VUIy zZ!M;KuD_BV1L4zrLjQU5t81>^2Qu6CY*W-zs7BxZ$lwmyL2EXsc6d zrc+A&QfGxip+Y?|qnzon+)Y#;L@3DO)K(!B8l2fW)Jc6$su~JrCLPolsv=JR62}5W zw1V*16AA~?+(nrlAG>E$E%WPX%IG*%fMvh=FSW-Hw(%RVw?)QxwDsW*<3nI7syK+> z5WovI8OemZ?p0svcx9^3Q9lJBF;WTW(U#tRZ*tB(um*faQ=f*xogk4g{j~n3R?C;l z;G*pvh3=%O#6ikVf%q4AMm}W9S1pr072Pn{<8K`w`$!RT)M(hB5LB&JS^unV+T4E% zD0ToWLL>1V#k6a>L6+KAKMZL6ecDvl^TsPQ*%JIx7aC5RAuOt(u&57d-qge2I(^6L zU>kE1uhbjTZr$?#f2-e&P^-t#s$Y*fsG6G_@&WeY$in3vcc}f8U{*g3wcl>&nRWSl zL=peICe5|Z%m@5W#o|XBy=2eZP3trGl@(-xHyXjzmWTg~86oiZyx0^P%dZyEV*W4m z7Ethz^$d0_C2|?%PdDYeoAQ`Yg|yUo=g^?9SMr`SYW9P=7NeKZsh;;4&aX$Mk)6)u zDILRVf>oIL8YJvX;U|0G+%{?3Thf4E_oaY<4EtjCe~42c+q`OW>ArGTPNiRFM};?NIhhWXF(J zRHwIPnTFJONO+%^XSt8Gm4>$SDg1ipumitfDKXS$Y46b58Ee{vrRZGFdFQL9g>70p ztBl9>!AZ<#z>WLE9n7dmYM1xp_qnuhKcHMi0zP3Qoy284Rqw|G>`4kAR{8O&yeE~1 zD>S^(RCaier1N%oR|9XjVvWgt`7=Ab9%(jr1y3=e+_UwGRcuA@%8j+XnzQsyMXiXB zxh<0PCT~^YON%&w!1mWfHS~tFd(rv8(VwuTvBq-!n_{IOOdc~Zeci!A%xd;Uh+*6CWi(THHp_M$PQ~1iwg=ID zkLq@k`F^FBm`Z)yB30UtN|UD2fmFISR{HK_hq!O+3olBYyGBh%pD2TRDLLPiT*t5YO1^gn#Odu5>C36I2h}k{ zV>sTFx52A&fRpT9D_L=&aiKhd)jwE0xy@a%OjTPaxo|!NT)OM_qpg4Bl%~m5yKtHG z%1GygE6;GsVbY**NR@6khDL#)H-Eg|q$&c_qwM6of6}TQr!$Zr>{CaY_3jlRjsQ6A z&wBoY;9|9>K6HJKJFep%fUCx6DvkD{DAejSO=CuXKIlZ(?{H%Ab%3){em zx_{kZLwG*R$6lKS>NBTE#(&m(Tc}BGRcMQyxDLCSvA*lG zk(vvuhIt9K2;Do~Yy0`tay))E>>eYDyvAuS(K03XQ8FB#ln>n7c|_sF?d-XnXqd=a z|Dce6JH6~w{rGnQRiZd$GGcAMKxYJAw|;O7f^_ECXf9h(4?vMz{O zq*HU38pMh{xg?f3x3Rot6d}NG;b`wQkQl5!CJ;=&FrP0tqD_dr%t~-*z=U~oswv=J zbGOI^##hd9e-~5hq&&UMmws$Esli3n%H%)Wl^}OOduNd!#!hkUw+hM?&E)nn_pLZJmw;o1MoC0?2rvr? zue3LqDkrR8Zjswdj+)9nlU!r^q#G0)rIWNmIst){f7%vT0 zBz54j!GwPy{uUz@Ne>&18kv#eoY@m{D*EJg@6(}jfElP15z1;l74Kl2;s*xDGM&B& z*4!8fF6xbrO~T!u_-!>%3htL3DF2Sz;FZCv<{=Zt#x@cPrEy@U$FH24hp5xow5EAb z_YN{|Q++zP*L!}?ZX<)Pln^_cd&0VMPTD8mU9@^@6Bb|H>TvNyC)7W0(xWkgJhJ(U zja|V~PiNW=&Iiy#fJ}}6%hml0+jy7o;PZD&IzPG7kd7*M5=}57&SLWx_4(gX&IU_4 z(TWjJP6dvZYeT6D5caB8IKUd1Ico&42rNu`@&{x(aTiJ}OObyMI5d}w(zE1iv4J-PWTFnj?$;|^K32f!pDCLExuOuVNXY^^jRM zF27+>v|?XuY!l?yG>|Fg)cis%YySL%2Lil+r9K^qV!>N9#p#_fYnKts)|h&~k6$z0 z_8OT7fe6aHKtvX% zV+pELme2o%ge<+9&_;N-Tuo>3cUZ%nRYqTyoxdhtzm4EG)j-qkk}jNDqzTW3WFYR7U2|p^>BKN+2gi7?WSF4(P zD#|1)BA-SPAA-#xxR)yzA%stsk*a%tQ``YRo@G!?( z>cf%#b;*pmfUy_o__r(cG&dnu+MZMr#;uH*H0Wwn?7B4PqOftr_?@AY@itiIN4!MS zN0`aIL>cBLU!s-^GnqS^rrc@lrMgQL;~qKX65iAhm48XGu85O9QjupUWN!Uybzj19 zf-&9mlvH2H!Nc^ScGv;MN9?xUy}aQYE~50;7piVrq1zW9GcDiIH1%G;WrC2Q&JvGN znIR=6xGEfIp7X#{Z$c}#Kr7hI96bj5h1Tqi#Ozllji!RC6OgiT5o+?zrC2NZLtAcw zof2OBM-lqzbtYT&vr)45Q{KfLS&ACsRq-=whBLEo;R_7uJ6Z*rWdp`9wMxTRI;3dw z74gN0WKA`F*;!mxgf(As<&?|OIt1mojHLvF4}J0j;cypB#rNUNSyTC+%}qI{$Cu^y z_@guJTd0qS32S;c75#g3LuK>%1#zIjdaHSyT6_pU*R2}t_bQLl4ZcloOl?(PUwE)# zaqulQ9}27@s#)~i#_}9?j#7^V;r!*L*XKFYZ>Df+al`CTsxh#;xm4x4*5^+>My5Ws z4#=U*uxaQp0?xg!Q%l?(*P~5*Exd>L7Aa$*(jkQ6Ezey_f9XkiAXSfw>DJ0l{N5rp z9a}VRU2&3knPyG&TJA~khV$C3(YupB<*B*mo*A>l@}CFsa4!GK1R^1UkCZe28-i7M3gbu5761 z4@M{;8sEg7uqDp?LlN(;Dsz?){Xk zduXI-s*|{Y76ae40Gpf(9$IkSjyG?*lJ=^xhQ-}ha@N|`d3bL8i#A?&>IjbAe^8o? zzXzeqh8IGq4?I-h@>EFw5h|AXG+cMhVU30s@KxlqBkGnnT3)=T1O z3M^jdq^{9AlRj_%u`-jGGANp!GK>pwuEsK85KYQLV3_~+YV%iKlA1;mXp`TV2UZvP z`D1_aI<@E`lEhFzh}a`2<(=qIS`W zFCz6@+C}bJQ2oK5sfB%R%eM+&+k%I0s89yvHb(DO-i-GitMyK|<_*iye?n{iuI~V# zn7wO4kT4}LU|ZU1R)%T5IGmC3DZHq_t=jMn?5|wd6XJwGt?yhFF(_ZwaoGvIaZzRPTAT_+I|h83H5u7%Fcyl%UGCK-O$+wj=%Z1z0WiWoPL#xPcOGlG$# zk^3v3&Mjl?rp(I6?Pfpb{ZM|Th&W5|;S|>}7v#@DjB-$Gb+uKjnsqlrSJ@M;k`h1hV2Um-jzhsZVFeR2Q z3C_{>(&V-?xyJ}NWAi$jS~!nyXgCZ$-ErRY{NCV3GIvwwb9pqZV?9E>q-^G3i=55s z0^~S5VD3CRoWdy}#B(Z$Y}t1-Cr30Q+v-|LQ0_Gx+Ni3U`>86Dxfyf4xwY46x-h4% z!>m$L&Uo@_2m6WB(IYBx1c|Zq^(E$Fx1bRKbvZ&Jhx&mDyV}}nK5@F*^SBUa5YPMX z+4LE_yXznH!_Ov)OnRb$iupKSnR8n*&E_rf0-5DZtD0Fna2FbgIW-72IDc;He6pS- zB_@0uiU%o#OH&)_M_fSza<)u7p_ctOLR}tE~F4;JxD={wfv**7Ru-hJ}BRhN>Yz(kuw=d9= zUB{8quDdryE1oxP>oiS0E{EB$KFv0X7p2bHP|kHVxH~7;PWici9$c{sdyD-3nX@iI zIq^l~5mb30YbFb8sC4b!8?rTpE1oo!gffGv(Dsl(murky1px)EXT^Zbxd&)gmMB~F zca$^kyc0j|B10K85J>$4GL2Zs#a3A@ZCg zz{0CtIP?0k3EQbyINKu_TztXR>d(!yASrbw_H?+^48|D`ef}GB#k&5PbE)gA=DLodl-VBzmWBdL!||PY z<#@9PxypsmuE~6i1dL=9O%J@9^{jFfOf9tvBeOh0h7`jarUWCn2#Y(Rs)Ds$TmVm+ z%fQ9w7No~CHxuKe(wSMx`Ab>jB3R#f^2aSj+F615ce*`QSG|a~nmtZ3&GKcKj_#0& zb={_*u7zB>Vi=zEF!?e*%NvkBnOHM@@>sVX(9N^a%=6Y5jAfx3G{Ko`_`?-@94c}U zeI1;y)&4V9u?I!o?a}mYtOqBrOOI^^b>(rgeYp#F!KSK6H1(CdUFyAF(ZE;HibdQ+ z8ZE7N9ymyUVE1Z)Jy!of{T8A{EeM1k3$=g0ymV~dsMJlp3+-)wseKKCAspTJ1j4)*LrVPV&TB7_qvTP zb7LU&vRSM-{a)$)QnoM6_nV1EiO}PlRApux+H@D*|Gm*s{m(zy#*ir_hRLkf-$0}L zXFtC!`J70V$hY5!l^>ggDXq3(^GVTN&+fIeTF&6Mn8X1s7ox1AVp$O5crT#{KU@-! zq7ir^@%Ng%G_Qs;^*6#!Xn!#Q#C73hMx=le2Z0{?c@*JCzWX}j4>w0%M#uRxGNJ@^ z>9$glXHGP?MkasViRm}A;1Kzm2;hZb!aMpGkZ^3Ys-UuuK#LJ84(Mof!a1?@mG}@6 zp!cAWXz?ZYDgA*fV4-?}?w#o+kbO9?(&!JgYgykN6rcc;mMUL5r3$Mm!}TPR9$6Ai zPoP$;mX^IHw6@0LY*GvsPyUyWMTmnV1B13!c-&wTgh%3yNF@G%1aT(L4H1e4OAnz@ymhYVA{5~YY^Sp`eFc+|1?_gUWh?NI*%vAO%*kv~m$K*%BSp~? z=$?Nly8n25YjmGv(ftPX8FZJm^1qUoLo0ma`S1~D7XP3X;am>z^h7QHW-yplC(!7! zlInlaN#IqpD}&$?MgFFL$174LPR@6Cy@Z(A(oR5x7c+m{)G_l`$vKXp5@{ZKR`M+E#@2c{}l1N|C4Qngt3 zMF}Y$U(CBSr^zG)#}zQm)H3}_^ioiCB%Fbw3E-~cncq{q8O1l@S<0e@;(H#U&c@Tv zd(=%x`YT|-9hLJb2Jd=+?MA>8oJ`|^EI5%=bajE^L&pp#Kt%l$da8fkO~PhoaGP+3 zxKE`YPx&b=mT3+p3usXnkZNU&!Bp>``LcF;K7R~z6hcIj#Q8!p&qOLooXN9KzZV$# z?f#MyZt*WW1ld0`2{3_??3c|p3AOZr7geei@$RByGWHH*gKP$OJqbo5g3bfgpEyA* zwaAlZItvfjyCj;qbYF2KU@oA|^oH~zT&ZgK!Jf`~xzXnbL;XX1kas>K@dJL)oyGot z#Sh8_Wh}K{fQkvlmvOLYlgd9azZo1?P58=Tc8O9x0Y`-{{eub^-YEin2VPSVY^}jZ_<=yy>1vMg$Qv2 ze=|VX#8AdCv_feCq!KAHh}uGVh9NsiAiTdCoDf`!9VLY^Yzq~!6hKz#;bm+Mt0n~F zcZLG2&3A^&yVRxj5&dXa@SeIKNkyofE-T}kcA2NlYY*zXE}P>UIt1gJNu2+q9t_!L zWR4zrmF;^VjVug0<=+JH_Kz>iMS#rbwK16bDi~jq7vEOM+gI#xVPG*%vpDXQQV(UF zT~|YC;`HBd)?ax=l(-k~G8dm{u_$&Dx%5p2LWDTzlcfaiC2T}7AXgHSN1=1w=6=WJ z>CCW*4*T9yW@;1HNT9d;0=w=h^nfWx>!rdrN?lGO?kcDp6DBfCm=i%#h|-OJ+)yI- z<%eNyq+rB3p}4Xr^nTyhwZY&N{ zu78RLtq-x%4OQN#8M3Otg0Q^?g!(;Q0v$=Uuj(v=C^~UDdcF^I2xj`q{og!1WRSv8 zgMfioLuP}*>50Qa>1on|MR7rqyES|e?|OW&jPHmv3By9X_K=#P%t;irkbeWhi( z&oX&^n-%xTW7!0G4g4H3zp}E(&sb_Ci)1iRj^LGqeXkKlk0zZxQXaBswup|%Ddm1clSSt*kF#MP7gt*x|bbSMdQuo{&TaId;GdY zF{5=h1jemDFbDrlOd}aaMsa4(+2G^^FC%3b|BoJgS#T(S!@q*SD@mK}E z0P2}+PxHsN(exPlzc^RN8=^$H&Q(5027i{Qpy|nZC{v}45!YH`COU~-i07!YD>25? z0s7axvR+B?tmE87kt#sU#E$PwUUw^-o`}h+zV6Y?P|grpJ53~sA32GQri3qEQ}2&W z9C+eGjmtaaa*kUmm%W^Wjyy(3Smv^^BbS4G89z$!*N%dt+@6!q(joh!{Ngk@%XGZ; zF$DWP+}c`?PePj-26H3>f{g;ik(n~Bth$L~yjchw@g3vH#1`^1X47~ko*A-9Lg#pK zEd~#buiI$cXyuewZw3H+$iav&6vF%RRwwZb8sUj!K0a}hUrG;u5^1Am?EO>(s{^uE zz+y1)p?4*(spYBF@eLfd>7;FW*L|tg9JbZ(Y{LN@DZ#EEcHI{Y%s-?bk5MOm@Gj!> zR{QBtYI)b?sksfm=OFLldhT=Eq|Y1XXXOcGA_7PePq_4B=K+UsA;?7x920pNj;mVY zA_~HX)vR5N8Q;;Y63ggBX@;-c z67NwaVDK%GXS8&sGkvy@TfeD|r^v8GV%@u*km;Uvq(A|N+?c|!KZvEjmSc^%b@2CY zBY6h8KncFnrc#S&0t`#R))tAyXxI{+nD*Ysl(O`cEk8==ovqT+{DdnO>*OUN$2ae) z?NCI;V(&a&bjzQ24^F}ckQ`cMKWnx`i5uwvQXcv-w!tIy!ZDCQ^gh9;9lqDbt6(j} zX5Jo)d2f;&NiFd7Bz z>lG_q=S=TQo2XfTl~wGx%kQ+noJ~g9pE3dh0CGEcpF>ZYwhX7awa%G#{~s}{2`hOH zlM(-PH5Z?Mg!dA76$TGs$VUpTnM;cfdUMG}9QBS9p~dGP>Gk13#tn&nEHTE>x*I8o zVX4(f3$aqPt;=}OZKgbSd&-~f9r4D7e`9*VGQsW1O=DLcWaH|+Wt#u8t=GWAVft(n ztsD}Z{=GP4V2O7k)3jM(qc~0yk`(yGY|p$aIEOS_&+j0=L@wVX*BWz^JC2O(T^o)s zYwDejKGi8K#>y4n+Kc~+nqlluvFR|}HrjqJ0+(+0Cg6yZJi&0=?_eC==~HhCc7W00 ztA1*@eSIXgI0CbW`8mlQ0KeW%2R;S|( zPmK1B@c6}M4f%q~RyoOMR9R}Cya!ZY)ra&$*i6l&Pw>!GwF;DeN8BzR&}(BLOnf6o zSX*@OGI*HL#R(047;Qec_DTj1k@%7y;^9&%>Yc7^#zVOM*DM?n&_u9qRO@83Ed&n{ zKsXE!ikMZugDcZN##lj+Wd?%>Ev8rS);Im%@vtt>wEAck58?L9xI0~gWAHGCY~9Qb z{i(hdJj|z4n9w?@Kd6K()mBuolps3I*yy9mQmcMQ6^rSVdYn34a7l2~Kd>>+NghLzR^5S* z2^n(@eJp_QWDz362qDDSllcf)`a^^~Za_a|nzTm9U1VE?oJoB@KuF6pxrBl(2>Hl# z_`j1!k!`gVLJpZG?Nr%+nkIjy`#SAOeJ+H&Wzb;|!rWT!Bc%QjAw*iZJa0aW6uQJv z`YM)h4%nAODk%9^N|@|Fne3I#*(;Tu*vTyOZUe19{PKhBmm_cm?S`W{aUb`7!i66d zE1YD7^(ZsJ+G?VTaaIIk=hLheV@GRQA*al`!) z3kD)LG893M5R15Y&SZ|I4!7}OOXe|r2Bao)9io!^Nvq5Ppw4El048^~GV$=rR{c9r z=A8g2=13x5N5pR~-P%b#5)`ztNcQKYVS~}3oBYo(+=3%E=RXd(4I5I6i515v{64sM zUntW77lS%Zz>dWZRtIX~C*;;~_wj|@8W-kHY+4wa7~m+1`x8rdP2CY3vpm46A8MPG zFYK{hxjmx`tnh{LaB7#%)1Iago#i?AmNA;f;N=1k96~oXYpM^xTY3P3P^zw9rc;jd z%G_YrMSydZ4~~rTbb6<{0P7emT~~xN{o2$F4b(WeS+Pn7S>hgehdtH8(4d1kp_=HR zriN`+`g@zN5gA9(s<&+;L2Zo;>8CDcIJ}pdQ+-inu2MIW%6_B~d zcTu`W1NM2QcdAd?Typ~7tkS)Z>Y|#$&MT{^4!s1`^;SQPa2PFJ<4n)jbg19Z#(N4( z2H%pzXm$c)7!b1)a5c|T?|RFSuVQ0Y??W3jHxgK7&f^r6i*9`vOMPod-gawPGb=II zuRGJ<01g74sav0h1IuwIZd>9-BtX7t+gs{P-~U^`y(39id*hG_!}ln^m)JvC8iz9e z?;%Z}5vZN%Co$o|0j{rH6n0{ZjJQpVN%xy^R<^xZeLzVfpwV)^5#-)Rcg^( zA;cZuadXt>%^;;k+wNuf z&}K|LG^4UP<4Q8T@um;W?F}K<`^)d3Je}Wp-BsjKu~nUbc;7-7IU$B3Hx*uHRFn%r{;?jBsh z@aZsMzEksiL-}{1PoIiA*hDtToCv)Sc##UOo9y1NgOfO#)%mdf67EfMES-p7*)UVV zh!TSCFj4NJl79JwPTo~sGX}SWm*gK-p1KB?GLB_G;>Fj7mhhROe>APdtxTZpe&6;! z%9yJ6u0d1l^I>!(>d1NOh_tK5!RI7F!Wv(*fbX!%2BSBQMnYgcrBBbp2*VYVaUUq} z5M*&olrvle+{3f6oNoM9-(*gnipk`<;KE>Fc=|O9`j}jO{V?b=;2I}W>|rWN@S%8R zd21-1Vv&|Tb4@R5 zkf6Q)J4a04g;(_9eFIOF{YfbOoPmPfy@kR6a4Z1W@sx-BT=Aw%RY~~GtFF54`fICh zxGG%Ab>8>z1@khj@qFXEmYJ3VTsQm1j)a5;@EIYABE$vzSR{0P`aYo}m zSFZduYF=XnFdXKuJe129v=Oq$8T9wOW81|FxA8~n;%0NCfW3s z_MfMHD!JbAWsh(wx5zzhDe_0UQxP|09F0GcBXdT)f^wZ{Z}26E_-H(c2+kg%9)z(^ z^v2MtBBU&M@rx#m!r>$&xO@L5iDGAM|Jx^U4Ec5g;+m}G0y2eO`O1)euvJ5E<80oq$u@hol>Tq0c%Si(^T~SV}NrQ{iiSE z_*bz}=3hXlhP}-Wr`9fQhRI7$Ep+?53j#Dp?_`W4nJKUb>mA@m5OTy{$ZnA5{M zF|sfn{VloKj@}6B-K*^gnc)&Fd+rtMmQZ{5Fa zr;7Yeovg3%J5Waz6;2(^BP|HN;`=)~(|$Xhm()rTR~=oY*PPN{pQjKbi5Jnu5%0uF zeu_?9*u`Fpidq)=;4I16Z;s;UE&X^0uzxwk-maDe{4uALxUbdP-p+Go&hrGG;fz^$ zE8$>*?Iyq>{6aote+|}cKY-`@8R2tP3-3mE%O8V{$tgmDsZrq87F(ac>)yfU)^M!$&a^9G;=R*7{#3oc60H?fU9q}$ETG95bNn3p zX$_y+HaKTr9fGd3aHoGjox*lcsAi6Up&j0)32N0sO(R zhb|d*sYM@^?5oVFEl`2`D3I-H7a!tdO;@Y(jowc5Q21vBil+L7RKL)hK{9OwNxzx5n-UD_A1kpy-c=Z_c#c@6|OJgYYkjX4tnMY^De#=2Xm7Bc(UX}yoy7} zN79%jpBn^rEfx}h&FSb~_geUy5ItPg;6hf*JR&-Oo61w1dwYp6b)b-t>&pJzT3A$$ zll(b<46XH@t#6?N{-0Ur&7`UV1y)0f;0F25pczp4wvR3u2keupXEBMz`(V(Cf3z zG+Zc;a@@$)V#iSDJT#Zf&vbT!891TJHmg!h7V?Oylw56IsLj}j7|jUAhNa)#{SHN{ z+7Tn7>K9SA^E494z`DD7*usJ$>%TkvSsPA#Wm-pAtb#iEd54y?vtgdRe;+eeo1OVQ zSYqx=x3koTW4`I;gM6-`eM{6O{6G7gsrO;S4?6KhINr0}#{R+{GFak$rUs#xIGaa4 zzKWMc$d%HETPU3W0#LBkBc%wzM=6o>U z45d?Z1X*}|gHn#0E8E7>M}<{;`pOcNSIM=pRR2LvQg@08;z(-nFaf-R11{D3bNZ>- z5Fu7cV_BGJ07sExX3k(haF_T4djzTGC`liGvj~)M3rBiD39r%gH3Xf=Eeg2reetzS zO}H71($UmL6aglx%U-v)_cbfXSw*ihdNWqLY9JzYP`q&{pGu#2gr7F)R-ucIBzG7E~?Fe{a69|XDWjvQsjQy*3*W0MaF?Py z5h~_V1{>iLGaQ(2jwa$f=9X8E_WDtOZJ9997UIuNgx~q!-DmNeZ|(yTZh!x@od^bt zN9)^@^z97q-=I;jyQ1`uIHRt%%pGht%{%FN_F>dI*dp*|F z3?*CkKJ+%6<_ch=vcFf5Y2Ew-Ew~@gQlH?L_3+Dj?_TPvy--c}77!=u=>ne22byN? zmYEg_@1P!~??xoz%H(h)J-XPPwY^0odXfT0B--g-jND>Hq8p@N0f#kH$W^71{ftNy z%L0O>B}>u)OiwWQr21HX?bS4F2I1mj_u-vB^R}Cpk0>Vw|7M~4jNRo3u^ZOy}xpxXVM z1n(=0QbrVCG)=ou{YyP%1@UQsmi|>!(Vk(f{QpTn^PXgGu^g>8FgrfXM;g!uWJ&k( z(Xmto=0Mks_U@+y;+2;+gsa=W%qoDmTlqhmI+HRu1btMmR&S#t@GS1lUR zbo~{>$N-x;{5XX*%jWvCtjXQ?nysdq91)KktQc9I!%U(vOrp`F-T3Ra&G$kzgMKgVTI|^gA zCmXkXX)N<m!?tyepc6J-CYz>9VxVd0N~XhLysvxH<31>) z1Z?RBSmV?SbDj|z|eT~su3~Z0=4Xoa=1sB+3p1l zief?$a_+`F_j4pl0;BxR`!p`TaejP?=7I(@l)j+=ftTx8Hy?14V=QhBec>ly@cI`% zk?>m^@w+tBAMppsP?uWfgk~*my63L3i}p>F@aII6JJo(>MTD=Yd`{{+E^S!T#l#!p zs*81N`UBJ-AwcgOQ?*?ce(J+KpT1&swEJZ_cdz3@sbV=CEvama>9Jvs+61{ZK3zP` z2MTb(ttW8xIn{#wic9v`nbGb<1A7;8yonU74XWVEubE4|^t6~KXg2>Xbhcu9?ro3z zuv>1n38>~gs4ABfWYMvDwa}4EZ@eO^G#s%t_i>kfY_OaxRgnNiy!N1|+jb)eZH`tf zsLYL}I~2uA7f(Ksm1Vx|KNd8iz7_Yt2a!`(dfj>QhViA1j~BtB+k`Rt*hV42QyMY7goYNGH;R1-GV+yv z(@$yZg0vaNdeccfMsWnGd{g>LBowak!D)qmGAofnS*OZB_P?#rZc8W2I+c|DyYs-+ zroACh@vmv`1ta5dRha*w$DxY)`?JG7Y)ed&%*Ybm_zrxsw@Tl=FfZPVDi#Qc)In2) z{QV37&-nFh((cCqz~n0w6r4;lO*d54T5p@GqpR;09un)-1)X@01_k;Al?LbQ4-AF| z!ZK9*BL&>9|1j_+>%ga%r1IALe-ojrk^ZsNmqY`fN7HwX<`xI5Ip4|Wk&3DK%ns~O z`T>!_=!#WYm#4TLuI2(NLq(1EVW(xmg}noDt2z&+h8xwn?g%o{j#0EU>sZjrwCt~2 zhQc}$CI0~IwtLCn@o3H=yT8&q1DhRB*_jSD9$yya%~%Xs7zM4-Y`??iJpJN-Q1%B?H|Bd>{NBoc)3}qx ze+_Y5&tOI32iQ*c0yE8%XZk$t7qx@4Ev8R%}4rZ#fZH?yqfbn<@Px7^Rxr@puiqrb zO9}c~v;AA{ucI}m0|Z;{W|bp-byxk(V&Uh^s!06jfvTf$0u%pZ)$E_S^o*R^3|JLb z0-w5nwuSA&w1WXK>La;dMboFlV{)dRPN;MQZm)_={JvX;s}p(#?<##_Tyhk4@JR?b zmfFJZ-WbV8E53@2-GN$qJJf!5j#Kk66;XkcxSxjrTUM@W9f)3fGOs8TP$S>|y{Nl} zUn3`6XEV@06A-8$I_NJ@wa<-93q3H;>xG^mhGSvGkQIg`BC9r4C$+#ho(-J$0>uQ< zKLJ=nFiTQeB;Fl>PoRDu)p$FTZuq!BoPHjk`rPaWDv*k9x@J4vtJ}(2vpkM@*&4tNs*)2uuyAfK)R_eH-z`por7T6QZ($g@Cl7tIS+HK0S5d^h4Z z@FJgE%L@6J%o&*efz7pWuFqA3tYnInhq7Tsz;J^fvL<}i3sd{&yW0}6cbS4w~4)ty}|)w ztdMNf=~0NfID{7)iKc%ZNqwWW@Btl6g)>8SH(?Qva*8)((`~KMj}J_TzDMJB0Yb(o zS|^~fI@Z?*C`ytwJe!9D-p;BOcINabqGRm^Y>JR{+T3$AZY$@o!IdrmaB9V5O;58xUQ#(w95gkV%Tkcal#^1(Dk7Ug5WQMz%do zG__aJ(q3C5?pXZFVr3S?Xr!F^PGUPiD`aOd9m_GzKJmk5pCQR_cC4CB_eUA9)o|nO z9JuISYba>t=eFlhs76S}SG9fZtJ<2})1R{i?zBy!tVQb-HByV&S_Sne{R@@-NoxaW z96;F!J1>OXAKPq+CGNd`_AmTwWcIc;TXKnORu;a_C)=pe!WH`?-6!WbnSZmUpzb)J zMpB)M+@5|#TVYn|PDRMx4XX}0pOPh{tTYp+NG2ezUaCit`)CycOT6c}rTwW*p;wP! z;7oTqp8`Er+*RNvF7pGH18EOnWYZ!n~arMpLr$L_anW2wo-l|ME8qAMSw!@bZr^U7!1>>f%x6;*BV zwh}Vd}^E~ zU+yf(`XjEv?=hE74=u(YgjrU56BMmct@qVpzgA^&@vsLr8)9c%2J6UWK)P~2Nc|PJ zIN~fJgD-AwNY%x+os3s^Ax?~_;#aaOEyoTlQO}6W4(tW~R!=GU8G}e;#701S5@zeh z@vWG$d-NwpS;>JO3|!`fkPbYSfpVWl&af`rIO`b%oUTp?Uyo3@_GX|{Zy)ms{~i)0 zZxfu`D9>lY2F-DYdUwtz!e%f9y*vg;;@Z*D9z{5}F?)Rl*EUV;`<^ic#YldJWOJDP z2=N=`Q0pYGq;f^cu)L285>Vn@gZk$B(cW(9-*G%Pb_$I0nwR`h-hguB@KIj-tR3a~ z(l(h+b_V}mXUQ4Z`1l&Iz3%R(ZMi2YXDG}rknY>-ZF<6d4@XYiB5?~Iw z_$mq=YA?X4j^?V&|J?C@Ri(Bn4xsyfy#2FNr4;k%XYM7QO;sKWcZTZ zq{J|po&FZn)&{)Xi8iM(&ppQfYGfCQvI|)=zp47jdxtNx>yz|@X7GLqFLu|hvz?Pd zi;B!HI=PN866Qd~@c-ZV{P@9^VVfXG(zg&Tf}^Y7nsHL(;!o^H&_X|GPTcP)&T7rp zQAkMN8IHu;vJn~{*6dAQ&UxpY4<|5ti_478$eciSnF`A@!j_c;KKs~0IGU==X%Y9T zfs#2-kLSakz5EX$x(!qK5bnTKGa|%u{)dX3W5<1o=_JD7btvG&jvK3>$HSMs9FY+r^um-E{?+id-&(w9lU)RNa1<^7Y+gINaW|K3Ql_!$E zxUiLKkfu-Zi~oeC4LNGLl{W0UKiYn`ryjfdQ+m24EX2ebSowi}uJ$Fms@i`3S3mc^ zT1}!tm?J~0gR9@yQJY-7e`>%Yv^AW{;z6`|Num4DJd1-r@FkhJNDR(5dTV{Z_e%>* zHJNN?*dH+T1a{_3ltI*0M)yyrdm_awKhR7s{79b}kwFSVE!_v0D8#lYVbyWJYJOhi zZsA#VDgwnrbz(se)d%zNE9yv-X7``VgXXqXwNEk~-sWbWu#j!7_R(Dt93S8JBNT9x zziLuMF%fnBhFna=gQ+{lFDlcA;>OX`3)MWipRKhO{D}%`L!^k|ZF|xt&M>u(q|Mrq zHcOi6XzE7fhq3(K?{@UtA4N%ZU)W0dRbFD!`VjergKdso>mn6jRkme$jN%oRSuB-W zx^kC3F$dAcLh5Gp+L}4X^Q}3I4ySXAg4(vtX2#`NW@uLG9hBs#9$AUaiy0sG(wX{2)}f`c8%|!^Rjh!t&JM@sYr87J8hE`xv^5rJk#%!m9JK zq;lmawo*+?Uxms7Z6r@4cDjFi%ogZNk1^5JWnenfZ;Vwel2ZPd2=<+sQz0d^*$WNz zow?h7@gWmH+WZDCpuAFnvzWCy`mgv%#Mbpsk>=J;pg}3!9(>e- z`{mts=3@!)7>(3cl25I$+G2N3tz~M9DMPb%d0WB&8yc?F(x$3rJ#MRNZ`NQ1=Nif6 zo`A4XHQFb}YECOc>F{_Nf+T)*2W&8NaZ{|~Q!doZjRfYEr^ikTDlqG`9g~E1w3zV@ zX2LvJEqF3hZ3k*^&iKJlqcr$G?Jez4dhzA05m&jT+J&DP1l5&~?6R$V-wjn0E-ZK9r;|XPZuxli~_bB48&TUmcjX8UVoNsAhDHzn!HLZ zB(=^P%3ps!5s8-q+H$jvfKlAc&}T{QS-#d*(rW-(-FcB`4NTi_w400B^j!hnK+T^& zvZJsI?r5e#cGvp1mT`@7fJOWtzmoYIR7q7Av-y-Y(FAcL%nj8b4Ks38x-XJ&2a^lk ztrOv#ESCc|HX0NohE&s3FupTT^$wrpORp#%7OmK=Bdy7}J|A>4r@`xC1bfVU&Ylmw z3$-$L8(}$X6h;So-H!pULO~F_d+ay9tb@qW0%zh<21`g34=w>W0xq#JvK#!MzE~zCww(DX<;jD$u_OeIOHfBpm)=*`It;^OE26 zg~h=O%q-cvG_0&0##dSsH~Z+xkR=MX%p(}Td3?Z|z*$&)YH?udFQvhI9H$}?MTMp( zf>Ui@({Q8vjH$w`aY4SY{J&W}_!?W^!_mZTRpmYX%8$rao@KP5mdZEN ziwHU??_+c7G^o`U%YA32MWjMi7~r(O(gK{@^8NFCuY1|NbD)$t`&@hqhV08)F+~3* zlYEAYb2q{+`9h%eVR%^*XY0n>oUgm*ak(u>jn_(&9~{ zP$aIi+#8vg{@p3J?g*F*)=q=Ez3VAqY&BK)U;N{nK_p5B@P1A&f^m;1K;K5{x8+`x zx%2|$Wkqz{a5DsXqWs~8)BQ-r*Mh(b`|*WGLV?w^=B?);6B#PhxAKbSd-N8wG_l8{bX3-=ex3L*tz+ zF#nI!zUxqb+9N*g(Co7cujAge1G-j8{Q8%} zglO6?FdrJKNp1nEdnx6O9ZToA091mL0#y2b;e-sy3Qkd-NpzWP>Dw^Hn4p2g<@Tjx zPE6a!P>tM~xMrS}#yFn24_6yL$}xq?OXx%%ywQ@n6eGxl#qO?GEy;h&3@6$LiNIi2 z`T%vt*mz6n$#w6{Om7GRwzo{o;C(W^J~zQn%D7$5ee-nRo(vthlX%%w##TV%Wu=}4 z?vUo^Meaq-&-0Bw!7cR@jKb!u=G=vDA*L7vXB=d6@$me_oHbTNOv-~p=j8Y%aBF6cpxcHeH7S#{vGi$=T z&0UU(rRuuFd?uE^zxEDWC1(x@Cu0f_TV>qZIL($EXiB05&8p>YU?@zW{|&jd=jhXB zy_^-HxrM;$<*xJF>S$^>Oi(g1(x$F5ZmGl*yVpM6Xs*f7%Jw~H(=b5+n6#NAxK z;NMKa%cSDF#dalrqhu=RxSQXJ`%Dp?3K3Ig2$JEQ$Y4`Oo9XMyPg6L#o6lzDoLm_em6v~tI7 zuzfC|8nZE37EBY~ZE~Shtt&^{J@KzsYEKML!0?2RHD%pDgGoDg=ev*dEP-CSKrA;3 z=sQbtTk+NnS|H!P5pFP3KmX9r%li3?e(s}HZ@zxk=;uMDd3w5nA@CBWh@S4$Qx!it z=`m+1vf?57OgMga?%(=zE$JCKh#%=eh21+p?4tXRR|5j;cQr3uc61329${9&Xgaqv z*0tV5bZeV4@k;hUm6s33pdw!}>Cx4NQ>TVgGUfu z=J=>?+5QN8iz=&7 z5o5Ujvmi3|6G*!sV?;ck%*kCscnawRAc)c+)O`e@;lgnHJ_VuF2-v0E5QCU5RbIyl zL7`T?L&Rjh4?BtiO$p!NewUdI+)6OzVuRm)U$nxX%}R(*xglF3Cp{RuTGgxp0`=5 zj8x}1&kYZkIdTA@nYWJ;?{PC?38kz!|8KC&h8Hw zoK*k9rq18$X%S)-4aUztkrM3kX~djV$_keIe?P(=?Tnm{`&p0+73r`A0Sj^RMzN)G$VSy>qVFYOj9vy7JU)&!?}2lw zat&=I>U6$*fh@$zw1$T(&v&{KzS`*;ExOw2O2lHP>yt&*lytg2Z({m7U0*JG+PuGB z^s4zgyQq%8;Y^}vm-)+PCw$LAP(2lOy(TX6H@8Gtv;x*(t8=8WJH9>SU43VhGxcBZ{fJ(=N6^$l$^XPtyFvt3gUl~}$M>4`>iV`&2A#4&sz zIJjbhUzAt*W1VwCYM^>PJZ!PFyBO^p5>Fw0TXC@aZD&pVRgmyinJd=i#RAKdXa;+8 zLC|pSap3EmoXT3FiX)b-8;*@*s=ncs=KjRemlUWt5r3KHm504PEPB!=}-5pI`PS)ixpZ@Tw{soH^7Z`S( z;5V9%uc-enmuN-An+v5bXC$u910=lU4Zvp^SZD+`HwJDg;Wp+&lDfPIHW!*{aBWs{cbPVh+S<0ejwa0Nj$WIahAD+11GR?z2Kig4?s?s5l?#;% z?Pq5TvSfx9y;WogtX}+WWe=Zhtm-TU{U0fRqzqY5*~M&7QH5=CN8SoQFc*=!mr(WaXexW1 zb0qcehFw~hPH}49Lf4>D>7LuymE~M+4`G_l*vE_aXYyLx|EIq8TlD_HzITS@?=v@R zJy^~!Tm;^Ns{tspd5@dCm-)5wf|8w@>y=M@bCWsMWLB$NhLd^6PdSnc!4Jb~vi_s7Q+_KKZNuRJ0PT{%8SE`f`#gy2@K!I7@qa?+vp`fu z^zR+o8P&qP%vVjr>~PGhRo(8(M;*`-=*PpL7o}e~(7;lo4x zH*C+&d)(()`yT`~@%edtT`d5KhLBouWjMuc9-DU!x-_z=ZbqmAaiG4?{8>~OiZSI5 zcJ7t)jcIT9yq3A3@x5%;=$p8~yr=n1ZK*tAmTHACD?5&yqr|2S<~y?_0dK9+E(_nY z!~Y;$e-ICVUBt!h6%H&UuySE7_k_oxrr);!Xh(3)`JQN?@eL z$L_<{8xCEHpxi9smpgL60D!zm>b7-g3iulGh z-1teD_HkRA8t1a7Px6phGV2wPR27(4y(xFrOde}r6VjaWg$-Xe+aJZ-jc#dZ)C`&$ zcG!FPkoR;yj&18I3&V^0!F5GJ#eu5h3~3V_kmCw8Fx~2gOE@v}D?JtV&BVq&FbGgA zcTF2w&)-)0Z~TY+X8GVdqQp?s9+7W*)$);!?;vv#w3E1a{MIJozi=ApvZyz0@OqN~ zrW$GwT^|Q?0V{JnQZ@2;AD8MQNd3sX zuKHVfxtTMAb%~Ph5B4EwNghh_B_tcWxynH>mEsNZmgvndvjG&X9}!OfqYReOgo>6< zX%*U{zT3`d^tq%M%f+jxO2MQ|RaI|zuTaQ)k)IYChp+6`69 zLA3h~g<%5YRb3EHUsXa>ipfJbkVMY)IR$ER!}uy$1#x?0Aq;Bt%<@;YTCpg?@dLf4 ztcj(cFUmvC_Iy-JOk^sPcj|^bev8 zhm(|lRbiNLn3>*M1G~V`AJ zu=iLqT*7nf`NMvM1m6IHETIPnw9hu|q#z91+HW zZUi#_GOu)G-qfQPl}lR4VbNe~IT>4Km|2fSIh9AI*16SiN1cR!+^RpKD|ccO_R#)h z=x8Rxk-90PX^>_co7X1pBGD8f)ih5kMA9mCV4j(o(l@Oi5l!E#$rco+&oT9%VCz?Z zvX`B-HC-I+&(8bI?A(|wzwMxbhuv6H6_jpRPUR5>OS~RFr3KliKD-SpvKU%z*JsoI zqqaW7xsngtnco_i$83_?Yw78K?Gvk3%Xpgl&$soPDw{F&f5u;dJGW88c~_zPrg=E5 zSK0A3^{+l)@bRDPSFc*2&W?}iOFMVuf2zARJvaREaDELv++f=?_~)`}Lx@$}Zgm)p zh9hw6KRe(ii-awJo6$ma+A^IVgEeoOr=Bat0{1G3+X zxNW;NA|AF$W|sM-ZnsG#>Z_kL#3r#uP1jTr5W%MA`SP#t48F_<$FOipWxyf?Q#nc{ zo6Z=uNo%1UnC(Bnj{?kfdcja-P^ZHN6HNiDr+urI*KQ20_*`D zc{LI%br^7?t%q0^RWG=I7)fM3mP&44OFk+j0#T%;p@-z*m7JpfrRLegH1|gPN!3_- zNFdmY$t2j?_NRwd=%Af2Ojz_TG-tC_$4c7IqtPIdehAu9d8~YQdzXnqD9#*q<}~_l1PRStO{BMH3~|vsFbTh zTO`di-AgwLrKPkDYu{)Rv}k)p^c(5ziRfoXmKO4T*sSpO-Z`1h1>v}lB7+-B*|c;-L?=}NA#s7cp#G$Q5S<0iPveR(@lHTg zLAPW>qCWwbD~oxbMfZ3g4#=iiE6hZyo=(=E(zYwuvsP*oUAKd~0-LMn>5l5rGquHI zUHILXcOdPXQAqvTxONA6WE%~BP6KVfO4dIt44D}YxPa4H{B?67@~zDXB4RNWyc1p{ zUj(}PH0z;E0EQN^Xx0h5eE-bIRt!LZf@L2Y(jUUl- ziKC`TAwJFcF7Dg5BpY9s{El!0ET;S4$SnByzK-)1W(J5KHx3p8%#rrufLBQ%O^MQ; zM3*@-#UkmRB|8r}2wQbBd}9&Jg~-&a2dFeWQN$9%y|Tq^6pYQEe)^Vg=QZ_x@L{&> zWG?vYf$VrlpEwiQGZ=xwjJTtSnn+lSl&WK*X6y*fkL9)z$zx;dNVS)TyeV6i{&x~|v2-?}I ziK-^4wnaY0^AsTHwlGLtl$)MLYX@2(!$?&p;(QCmQo}-cYi{OtDEctZor^y(T^U!5 zo8iShc^xY1)v2N^8i#na;l23tnH>(FJc$mXq*rF1=F(-yKlz3`OHC`wc3;r5JX+iK zeX*vSrkV6^R+-J6G+n6f_BlPv&ZXMt7cP+IX3nF(0Aq0X7o*>}hZl@yj{b1#b5MWA z9=)@IH@OF?+lt5Xiqb(e;gmS+@+))K=w!6!QA$<+pe%1RcN+ldI3IBx$1NFw+9p!k zo~QH0;$qu#6K(!{U}y}IHx`E9yuxp+_eGwyjC>;F!PW7#3JcPgzMJ2-vzhNv9VyPJ=0&6#o z`w~Wi-RiOC>7O1#&nMFJ@X;r&+tHda)~zyBqujpD!tffc6<1e$vqc=r|Fvbc{VRjX zLp-&uOFS}L=duPq?9$qaULQ_MACqC34OSta)rU*W9Gjti$TNQS}uaUf<@! z>bu?5xA(*A>!$kV{n5JFPT!it>ie{-Pmd3$@6w?%=m%xc?{`81bdW*UQojkwXSrlr zLNZ^KYN10x@48RIz1X4fR}Wd!CM}aK!`W9XxsaDivzZg=WeiSt#F?JHq#Ry7Ty`M#ub3Uy z2lLR$|7w1LJ`lw>O}KO@dZErf=sIhT3**ajsCD+-`L459(`?f%PQ#@a`QfAUck`a5 z7|3L0w#l5@Ei}uT?XUU4J*ccB?ny-6 z4X^mIdsE6)JdX2%j64_)z`Cv2j|eBb%My`8;a4sfJ*RUK4n7UjwT{&Y_URSQxSWBb z;wp|}k1Z4A96#`jM@4JrYGF+6?Yo1DNeYMOAE1TL>75RvkLKbJW;Sj^AnrT2&}8!! z#o-<}iVZi0aNQwIC z`crXeg?L}{I^SUyizgL_Ugn9(?~`H^!g}PB!W4E)eJPJ>n_1n5#twFmIhC{Vzp(UZ z?N8K%CTgnQMq#`?=~(>`U;X62K&fx%OA=3b)O0 zt$x;8Wjtu1fF%=KNjV9_Xl?fBxQYV6(`>Et_;QoX(AetmcT@-S23(y#_DjSIEVNtS zW2Uwle2VwMTlhmq2JU*vVjp!=kr`fTO%RySZ*9hfe$$}5U|kmFS!0LsGyIaZW76{* zN)evEGIQeV+4BqVll#Uj%iM4r=~{d0K<}kPn|85vXh!2t9~STP!z;V`ovpus9xs(I zH|;(&J+GMU3Fs7SfWMV-SIlX4xbePsIE3*>3=6*(*izb z6kq;mUf7tGD7{_d7FEv-OBazUpHRtv_{zSlwEA9kFI=^rP3M&3_A zNoRi1F|P+trt3-5#l&$$TXna>)#v3!!qq89-~fbUM)5SJu80SUw!dzzWAF}Do$e4kX-Rm|E=PG z^~FD};;lDZ@h2DyW9FQ*9Akd3;!13~KUX|uV^QUcKTnPsjkjCzGnzc>?)AmLt>Q{- z>hn;Rbw@p?*3b6EZ&mT(cQF=2eVNazjGi=|n`8ISjNK7mW)E=;jx5J!U&y-p$7cNE zAI!>Y5Bj)hw^Mk`{JJadw)))be4hIeh47kOp23!9A9jE|*Z4fQ(?jm-$<}kB-q&GuGv~(dYTuO`MxqmdkUw<+;@5 ziTJiEYPehV&$&EpmgfwYr{C4@xjgH5%xjxmo(f;j7e&v({n@^s zZuQt=2=5i}d5#FEXH_oG7OUqZSI;uv)=QG-zvuEiYk4-~hM;+o&vW13$@Ak}o@Xr2 zY?o(%&-1dz;>KK_PgJ^?< zT}ooU74D_UOL*|WJASNpC^<&*GAsKj5?hb*Q~z#FJd4&`&YJ36LN21gtz5TlwS5_x zb4khc*GE5nd`=&I^iish)AaE%ee}{tp+1h*M|XWh^l^ZYb!Lw~w(Db)K0y3fxD}ibzJ8C{-`X!) zVljzPOI#Pu^C_oV%5YLn@+p7uDP1gOJSnI7lm~rEhTcrq{>7%x_>{YR$`VUyB;`MR z%5b0ZcS~s|<%>S$t3KsnQn>cA+&}&g|G36Ij{C<&{_&0O@z?$1h<|*URSz6(y27Wd zpWwPa&{8n9P1pLAMLy*dmV&}Ieb=Y_)u-g=%G~Nxe&JI#GZ@n)9Zh%nlyN>qqc$CG zoQ?BzV)0I-LlzN|Xp-*X4O0#PFsZWXdlpp5WdDy3%}%i=`RZY>QmkSEUHZH?{bbhkVKg796Gv`8O@}DL?Qj zOO-;HIJh&)V+d-eQ&ZlUR)KPF$+#%c9KILOdvHtY*DNp#6Jf#>9KJHU~>{GO=>iG6q zpK^y!d0r`bM19Ig zmr|J5be&JxHP-RqYc8cYujxO1%4(m|mlRZOjDI}KKR#InjM23|<&Qq)5DT$xaPIdh z6Mf2CO2LUEx<2K0pR!OXHq?*!l&gHoQ%cd%;HF1?%2#~K&y~W}1jKHxcY{;rQ^qL8 zMCy;e%&|UYgi>tS{_0b9j&Tf#D}{s9c}@TDDX;jH{~*OrYdfrGGT$_dI&?2i;orG_i&y+5~FZg>ksWGClD>Qv6_|o6T2OJ>_}zO>Y*|XA8(mBOyjB;V?Rgw zpRM1wpG4PO6}Q{ZDo)y*c+5YjD0*VA=j_j^P4?$gGwjcq&GzT)wEl2JqEJU9igiSy zZ?w-?$Egxn%(&%Ku#g1I$zdV+4|?WlA|eyo2t zP=eodu#%3ABrAW9(O+gkzxcy>d73ju`~0JHJS8imeQHW4x-a*aHu5F>?_J&-E&48u zZn%MKep9oa6&E#??Aga5_9;qa(ZWuAvI8zZ+&@5YnUI6-B2cJfefZ1|@Y?lP6GdA+ zn)f!%YNq}~s?|@oD?9BUa{e&ydi-JEECoYpgc+1tZV7)`=34$T52x#4(;x22g8enW z)wD05xf#vZk$rBrGM=>7KAIPf@WqZ)F(o!dFUihiyEm%XaTJ@LH|Ej2rl%(Ib`hK7 zp79K^fpE`VR9HL`l1}xtq_3wIJ!#r8G+RsYuT{%JPgdVC&J8~ zFL^|He?wjq;STX7;=ROo6=q_yqQXoI5Mu4k2pTF&M`^U{_|Z6cgbu@8Mcj!k`!%KG zd8U7ojytnoZqXMW43j-j$|$Yu3?YQWYUl8ar;TUM95g&qI-X=U;r+=3;L-%gZyI@0 z!R`O|m)7Xp#rh^1l-A7OaP}NziF((9 zorFckiAG<=sf2;LMvJiMC8fpoa)CtsW7acX77w{e?oB0zJKPS;w(uZcJ!3o#gX$i) zU%zIqCQ|t zw0ai3688qWMqaZ74V*8*d(XZ&R4%F8Q?)_zu@?=#^LY%bR`{@P{REV}Wv(m(p3LCJiZ z@|CGwy0<0JMH97ufho42(d*l=6~Vujns{$Ug45xHQd{P9_angT8+znbzF)OP*;`?j5YHz z*`^4SRf}eYPqMU;6@9x2*zPmEj^lz-jNks%-^#&))DL*3Wx=K)(s}InV?VK?(VA;W zu^9$$oDav2V+IAu1fR7j@fD@n{(o5l@dsY_gJsKTJ!KP@<6K)90HEtGk$~?|D%2hqz)YsFpSIZHyBrlEZK+E>A`&`%A zffKLp!$zM|A%c6{*x2*6zQKfjTPI(FWPOZbt)wl^tS&k9lX4UV1Jk$qAZu^mqdEwy zyOF=V4@~6U%{U?y&+B`YNPV|bBUDkahmFM$hNM_zja3~A#hOzYTv$_tcj$&+;eC-% zX&dp*5TUlbzKL%PeW6~+@hBA}>siBkBhFR}j&dba-L(*Oky{92U2DQDSy7pM!rEG2 z);f!1GHX=$Yogsj)Xge6=`W{nM^h9}Ey&!+F*3*4i|_?#<{i;mnFrMfGx9Qzb1aD; zrbL-v@2VO(*+VI1)S0`;qhT@kIRqpNHt={OUiPtLr&JS#)*s2y)nw-CWbR(lq2<$~{vY%H-QMtdlYhd^?>?{Y5Nn z*L@=O=MI{B0SMvsrpqSszFtig6fdWA&W3-utuW4fiMDd& z^@qGfYAL$Mam=}Srz2WBIEX7A6-xOk2c?!*RKLONS=gL;JBlH#?>Q*4ud+*`w8x-G zhWkuV@V=%prr-sGYPiPaZ2tfacMndd2VTY9gT7+s2kQ93hISp-n|mF5CqSBX{JAIF zb^PZ%>!jn&4|p9PLrPA^fBAz>I=)+JrsJX1wkKPgnTB(^E1;3xgbEBMag9SAuNLag681^H_1Rb1h0<1@(sb$@m;>1&f7Ym z_e11I!ty=D_yrBu+euTy=X83kHL8Z)6wmRl2y`D-F4Hri;DVlr@8W+o0mE+&t*dCm=YoNc#Y^6GZ>7re^j zwgrmZ$#~jgUO2NEOC_(hLiJMOxJSK|&*lNUUfp>ofPCx)?NW)S4%luA&^?tDH7V|z z0Mok}orWp=4flMh#?@3%fg5874^vOMu;b}O#cqbBYqVyk+H)P`O}qLb=hL7sw$i&U ze1_MUun8et_a7D=j@JH>#PG+raqDwxR`~rhQ7G=&**sT`=7rz*tl1Ls->gfY(erDq zt_~Xl+Rw`m)n;R@VQUX1{TR|T4jytoGTMh5IQrOZmbZTC8?#yLa=2i!>(t-r0&Be5 zL%E5syU*_luzgX3BNMADufioazbk(ezI=xI@(xb>VWk6Cb{(n1O-z4jsznzjtPk(G z66;nyYlxdbbvPfg2bk0ILi~nK0kP9VQ+&1rb+wtZ_4uSeh$M*$lXd)mSN3s?{xs+5 zFX~5g8iA+eW=syg_cj(5A6V`7u(gDrb$LdgfSc<6F!!{5g0{j-F5G#j?G;y~zbn$V z(B#uiXq)T7UAF$qR(xwBkYjM6-Ip7A#`Pou2YJQ(pFw1ao({?nUu`id<2%-*mx|2o z_Ufb{Z+zxTGME&1+7CQl?|7*O6LI{y{PX(`5f9M`u;OsUaoj7WuAK~u5|h7z7_bsw zB${W3HE(%G!oG-N%Q3TQEFBZ`_m=FnHR#oVRSy8#gj?&!6vMNxbtw6^Fg6R$5BQQz zzT^+vOMcIlETd#$hmwEtC4cQp*7%Yo?IpXrl6@(;;>~tyZ}lao_>y1qC7%U4dukhn zs_Vz}57**AVS-_}FZpsaeYxX(xnb?)2D)nb`ZN!Y&24Aqv7rf3FENw5C?+acW zuH4pM@Dg8ei!XSFFF1ofcv>G*cWCkJ;cq$=JjEA$#~0jjn(O41?FGwy!J*-|I~06f z_y!p$NI2=4?hEdrLf_)6s+$%s3D4|M@V|V)B42QVFZk2;f_M6YmxepHw)gQCU+~ku zVBiaWuD#&#zTjoyvmFY4(HA`17mWIX^Lg$`{j;(_>gC}*t{}=1t$7z9q&`;of-64m zm@`tj-Nvf8zG8N;J)GcRLqB^{m#plbhYHrsP;snYQPb}{cOUW zH=pqapYgXoW1-9VL;o{BdChsZf`#y3e} zN>M%fokL9{teoXKLAk1D4Y#0Vdpyo>-^ptrpx4;yP4`Xes@qWZJQjs8{CBOQb>X?x z;==FW_fJmO6Xs)iO)3B6WIeG}l3)2JN9qaln7pQ^{gYkae&e1UcKA2*ySdk_~uVI;vdeS)O6)*T7RiizH@mpx7$$a5iT=VnVEuQ zw(qx}as4y6uUZH)@9;~BE#9H$Df-L#767T6>E269*zg&TC~j50>TW%z=k`vy{lbb^ z$^q{bX?iOvmu>{VaR}gOv8}#$sq=Grd0WqGQseT=g}P={Uy2|TI)M;seetJk^Low0 zlx&J6U7x1;hj-{B7LY@6xx8gmz;<^(;n<$V8{}T9*!;@dK-L7o%AeUd>w(;SKU%5F|K zzc6(puxC??ray@dfbzrU6&Kv$6!1;S0D`WGQncn7{c0d~#hHqJ!A);{ zc#f;x^1|E1)^saJ1LyFb&_7c$FB~`3e5DzIE#$U4-B;QD6LZ5Oq7o-__5po1 z-$c#%;hKFuv`VXm|-tXPl99We%R;|@Y@We@wh2R(RD9DdUMU}}eA zo#=jWuiyE7!vgmsk01TR18-AF>iqKhK}Alho4ZSmN9+$@SIUSny-5wM`ep7xF%O1> zv-E?jA)6Mc% z8z|#nzq1_wG75Pa|CW)Fap}yz?0Brt)wjV*{xcK|7oFO%Qa@pz+|O10P_F9RvsF)& zKH8km&Y=^>9jjyK#iJf&TDaFHm3zXl%YN+2=bEGUUCH2Xj~<8r#i?Kkwnx8l>h{_r z^LS>z3Pchd?#E?xQUifCDj4l8flJ}5f#-R}IpWC^tl+s3!c z<`{Kq9kk4MA_aVhHYhoD3Ux&9`5DnQo*AWuXFjHSX*7DzSoa)RR`Y8WB&oZIF-kOy zEG@P$m3D_;b&Mg5+EL^dmMsouWbaXoPi? zJVoL$HQW1OdVBA~V8GJoy%V@?GPr(?^+C*xh{#UNjP`KMJViM_jG4Qy{y=7aAPbX@ zg^3&sgJ-jB7bk-~Z*<@!8vr$4BY4BGaq+UW+vSLE(c=A?oFn-X<^DC-f zFR!S6?dgi@^c}nB=2zB%AXs^&?uzRDWLV9*%-^}5_Rh+>t4a$}t5R#Js`|BJ-a~rw z3)OEIR=@si^~_tXC0?AFPvb{buYbCFE|qmvb4PPU2OQ3|_8OI?sf=}x-y@n%xgu*gFrqC;ztyF7^_>Ia^?<1Q9$Y^&zv`2A ztXnVnt{)KI_MaZvw3>C$dEu*|MWw4Z<+s^E;c#s(j)`eZ}uqD}=AMk93X4T=3-P>y|o_LAnytL3?8onibu!|il zjx+OSz2oCbPW3KL;(mxQbzw1^h5pUz`H0c5gVR>2l?@j~Qc0kE>2_OpkVt0%aC`iO zgJK=;E6__+2h1GJbqa%vNh*pp&xl>b?E{yNVAs?a`Nr)DalYr`6J+Ed{pE#VWXihC zWn{?OuePt;>I|_AA4cIvgiZn2vYF|yfQ_` zgX-=q7M=C7UP7G3&o&U8Oc!9U*Ucz*7KXzPm}pe>i?fQ0%bv*wlM!ozbG}g+ZMe%S ztXzdiH1l?7{jx(@m9G?W?_ArWUKPhe@SH;v~t!Zigq)G5W zU3bh8S3(p|z_{=$4Q|5linXY@1g~XC)L&beIOiH}7+PSD2bMDVbW^ zMFJ7Cv1dB)T7UPtqVTd+U;+rP`;#Tkjz=%zMT(;ltgdTyWVLOvs^OJR1J;f0&!y0) z%-t)C!qc+F)X!+mKt45@>hlU?9z+K(g(BF~bCp#wBP@Q$tJG(dk(ZnoIf|T2Wh$-!smz#f`r&$(`6Se51V}r}drp4nK?nIs zk&*s$i_c}uzuv)?L~G^A;S2Y-ChD)@9o-wbgofMg25cG2>!R=8R1^+**-OEA5jJ2J zQZP$b@5EDG+pLdE!mG3Mz00h!AC%ESDxhP$E|Ht9csKaw!S$ESW89A5Rlk>nu5Snr zH;^#xvjOa?ven(1f1e#dZn@F+7)6fUbs+VF%VaY!B^Uv0hK*mzw={lz8NY3qD-<)f ziP<#kl1suld$S`}H3){&DPuVE&ia92IJwP_*z;!QvLn`k;kGq(#&TzmrhOAm|COxb zbmn{5?vDD(e$5=ui$qR>i$N0gchD5~EpjVmk~7E++pOF(FucmOk z{;ai$0dH4TChJG;A$WEZCECW|$WsDV>aL{>#K@J@rY&Aas1j-PO0!Ej&2d|k z@NR97iNMi&oQeA+m!TVR%aRyo?%Wu#Wek^jMW`~dmnwPJ+D6_Uqnki6m+zdN-q$-0Mxr^9$d?21;gVv2C=z6EJ1R{3c zh4puDDGLAeA~MPh#mr3|Un$6eK+dq$?)b>TqQoh7@4b6gC2M#6J z^jy97h|x#8cgfTpN1AR<=Dhxcr5X&3c@;0TGq2F2R5xV>sUcW`fHBJ%OUZXGo(E|V zxo6rfA}_UK`aV&|LUIECQz#nU6&sAR3*hTZxOl9iQwCjo7w~#)O#qxy#kz3#T)V}& zW}DdxZEw(KgRUa4{(SH25XojeAp5cxvO|mU|svnEo*krEb zVdjgXsEKcf%Rgqi8NoU@ZHNih9?4eGV3REqD`5F+;ScY2a@0dTX58|_n#)XE2`BP) z1r!!TUK-x)9-3ob#zSpo*mCG0FYxRxQO49TMrpX@++F?F*)KqT-Sge>{ z3PqhIy-?UZ-1GxS*rP@QQV_OX+D=%*`_S+c%gM~1_>QWG*50Hi*^3oY!$et`R$Yu! zcAd>T({ADX1KI~ELYmY2896|6d&Nc9QlsS>Ps?E6>bgTe^*uK(^>@t_Gt@}7dyN2p z``T{@*}#Yvi)HDsG}{esqpazwqVNmr?QV@|$MaeHjU#g=To*9gbtKt)NZKz6nO$`i zFTADWhZ?zAgLfdPTDOYAW-pAUg4lCdi~Y_w+Icu%#*|6gi0?AXVJRswVsEtO_dMh% zfNrMNr5Gpj{rf+QZMwp4%W2<9i*!o>F6*mVfuBG5o21}koc%+^V4QJi-wL&&3qU8f ziaoLz2v##sW!nq0ge@NC3Bv-d^@J_BUW91@Z4w6#^bnx@!2SB-Sq69ky7>0n@qyc? z)`4G>)wUVwmmCFE-wLY76h}r!=~$;N!f-K5(m9SK^LLMWlD-H@+Kg$u8plIBHgUa? zq{X-)?$P&u8e84=*x~YTo=8`kl`%Ft(!`rjQ!8eihscG0`GgbqyQrXD9awE5*67|% z*i>jM&AdPGDrK$uiZin>eZ8G==Tcaj*)E^lLMPg^1ESp(jmj!QrU!{x{&`O+`Ye#m z2`p~jg}$WdJJ#sq&OmJEwXVsk6TU%H$Q9Qne(O;z(OXwyiCXzE{pwJk`rAA<+uuu7 zUsH+e?=xiofd0mPe|KEjvA=I!+}_{2D13N-Z{*nr_BU?C<>ZwCF&wKY=7dA#wOI=9 z5QV)xg%8+>U=gx+G~vJUnjZATUFL|p+S$&a196vWFb;*E>S42Avz%3WblCWOfoB1} z%`B&X6-d^GWDRNNC^EI*PvtBEh@sFUhH=o#u(5K>j5VHWm3z&XDmwU^p{hdn_`{JNEYvdeXVS_v?}R zd(AI>f6X_H=5ZSxIBSQy(~+K!+xFhBo@q_Et}^tnHQUtz8-Uzp(ch$_Pp|6S$ByfZ zOk)8@KE5;#wA;Z)abMGfJM)XBL3pd$$E_*n8P%~)go>fvNVLLk3FZ*|J zMk|LyWl_U}TP*BHeO280G^kK-Z_&X=-5Yd%Av+?nS5Jmreyck*-*f-JtFQcfzP>-V z*H@f<`9qcg>~(b)V2&yb|K6CZ?LGcTbUl&X8BQ3Q0y})thKdh!L23zT0Btuhi5;qfErOU3<^SO!!`!zp(Mx z11f7O?h$t zxav;V*$E;>oelSBlbCGiP5x1#-ZHM6YOCKJ5dG2ZYJ0%eXoH-O0=gH~_efuqN;H=# za$pfXUX9@VpX7Rj4!@Ea!S7D-2`I>#*$zPGJV#8K7-JL_hFgX@P8^?| z6NYQzezYOu0FxItE4^Tj%}NckU1k$m*xEGwT9gLS4*QSpl4rkW=%g}|9)6l9GMI%; zg*$cr=071kWVggY_dt!V93&6s#qq)=?M=1Kh;fUWq0O{50< z8DsJ2b21O|By2jwUDj^9Ozl+P2~dBAvt8O0bm-KswqNxG(QLM5AIw)sbP&reS<%wK z$uKqljO#>42K54R2M<+UVKf9O%--6t*T;Fiq8gf8bzdR{*q9rBVxVUgJI>GU&^GaN zm8j0PO_JZM+6Kv)Dk(Hd(eHM_aQMn)iw|WQNQz5^N0-DlaaM;_5LPC(=v`Zo&p{3BSU- zDx^~_dX`$Jm+K1Sh5KLVmYcAATWR2vZf05I9FywnhK^aqp`Ri!y zxhjzJu7*C^=XSEhLH&`P_V*aRd!fBM6E>Df7#aqi7%sDssOj0L@voi|BoHtdAs1dI!E3&9(gCx-V;0~4`V;{7<}sDe6N5s$4*_Tx~B3hK;pke*o_ zkGvdDHy0;(vpX-?N-rr&#&*$GJiVxh;%X(mppb%GMSoH}J+Cl6W7`)_{nnRu4gS6I z$C#s^#qtNcpeYwDn;Ty?J097d=<;A`vnXRo3ggdxzhvwQCogKfG7(!Er~M)E$oxc? z`%9N92RY}76i8~-Uua3j7A5=LKo`lgQqLl@gUCBUY;%xaTog~whUV?b$QEi##P$Wy z6r|@Dk%?-_MCoAJ9Oy43Pdv6p1<03(Yzmg8gV+|e6jH00Vxc+uEGq2G2_28@pinZl zQt5lir<%l}cw_-}s7FPE8_qZ~5qm+U@+A&2Xo0wy#W28VjI5xVL~I+?h&JO}WWnHu zySwG7oSkigt%=yX39bRi7rl`c>TV&`C5Y{aNc$e!COVqMg=OhvB$J5EQ@$cKYedaW z#tv$*T$;EMkJz(ivl%=FPF1O&>H|Zj;nmn$nh5jHG;T=PgN`?hJjGfmrq-;JbkBxU z)E7x=80Od^20=ojg6%ZH#QBT|@}t2JYY-uZ!STjQrUsU}(g_p;2EaGQk%49aBU@mI zhK!~qBkF+@*ZDN$WS$mOw;L~wwHvT0WOu`^LK;$&7rO35AQ_qKqyW~7Zc*ebk)$jt z%nq>|Bcx>+%tRI*G+7Wul2*sJx!Lj4h#?+OZKGgYJ;XiyN*IOs%U z5zJiR%PIc?#94#bA>XnzYNZZI9>oE5Oe0A5-2k^*Yp-aGU5k!Oj4dO@ki%<@x(!vf zoUDVGPK)jN+_)% zF_H<8B%seGds|FS_E~n6Sc;&5)lhtZ`fAi@#I%FIVyxO1zfn3WX1t`Uq)B+3akC+j z3`qcF^)`lyq<7P**ewU&7 zAGuzyyG}N<=IlWy0f*_Xv)!`Wrn{}s_kXOrW=Ue(I_au;K6v6p*bR)ytMjoRrn}ir zcpv*u{ca;Y6yl;a8z#h6o&Ip$bs8>v@)2~`*>^!Fjl7A*`}$omL&DH(BsjmjlJD(0 z3{H|7JHIQ%Z1=n3+P}^3ItO#VA%LvzdffDWe%GOz$9#LC_qnY;1DWkS-Fln@rhtBk2 zG3L{rcfFD**;4~y!hHW@zbhe-j7ke+IK<$?{jP+^%$U>NDg69D*4%PmXnt3O zcGBg&dhpTxuChCS^5K}-0_AA>2)g@G{jP>2E0KmV-{0>xS_eOp z-!&cl0KeO8)o5<35t902R+ccm)c?@EZA?g{~mZLK8!JN>SPL98$>L3bs6hwHA?ri1P_ z^Yi~$cQwRdv(b-;nbpycs=Mm2_q)yd3g5+-5BIxEE!V%3hO2Da2;z8etg2mSZN9si*{paaO_5c1AqS_P7K`@uBY%U)nxNjznF3tNEdc=}CU`av=69ewYKON^hov&!1SVLvw)xx+yJ|EUYe__w z2a$ydwn4?!l2atfYBI9c8NNqK$MaLyWZoHX7)StkcYGP)-hFy9#0*nI@1tclp}4OF zts*Z6sR!*2)1cnRbaC~=gV+*UR6fQTW?pGx(P@rqXJ=&_z z_P2mw%3aHwi0sv##!*3RYp{&*(h3NX92+}`N z39Bdbe-h#NDLPo+7+Kims?t`r%Koh~vZ>1rr7Lw^-eVP!<&``SIfccaH!CJ=Rj|LZ z-vy-=Y-OLYO~L)jeuIlC@M=Z6xo}X!R7L(P(rLavrGS5BY+rhQk3q3rk%blMMLjBF zE2+OCJukl^mN~!StRpMZ^YaHq7RR>q8WcNN8CzSC zo?Vz;oIj}HIfeTxB0H&}GDevr)AM>z)u7l*v<4+xDq`yX0Tm#_pvcDbydx`PuhEIf zBBk{%Rg3w`t+oouAp$3oC$hXE(gML1u~ma&Vpvx(LVQt?9v3v65ginnQyJS@8QVa! z5KR8aa`IBbcw)?$b3w!1$8gJvdL7$p&F`;7;_lZ4mvxXlD6#<(A#a5!=tDUT2PQP8+pvYXYR09ypbUCBchAFbxahkhL_1KSx=RTuH?R!Q30XU%M zdidd>%M2-9hI)oVES?8PxN8+!Xh|G}&Cp#(En+v+->(|Bs^c0DIE8%0*1~mYgxeH= zFK%$v&)7>6Eb3h82Zub7MQ}vTYM78B7&p6+EUm6L8wW*}Fcg)s{m@H8kwuo*@-1T2 zByDcMd`8D+awBIDNVB4Gqk6)-TcMt2x{9BX7SHfE88GqNkLyk`H!{cMY^&H$7jpTP z74}QsJLf{~{6L6q8q230#4S4-k%cxMk|LyoVQHp85kHqaFq8qJgBnh9NP@w`Q`H~HDvilG+&AUPX%38R*PK@wDpQ>O(uW0NaEIJti|cuNrtDCP$r?kaF*}U{ zr#0;wlQT>jG>vI&#Rq7NnFTCcZje4$WnNWBdw7-U`e7=Q-$`ZA7N<4sDpUBcsSLVc zwk)eIZhYYBY%^Ew)=c?qAfOh_L113%Fdng0SUaay=+u5`6MBcjNe=bI*lY~;YSUBQ z4w2*oIStTY@9nHH7>s|1#>ncgGy!fOkq&BuUM@GaiDk^jVEg8a(NdnsVwoEAOXz_~ zz>#7xHq$v9G$yM}+2N4+l9f;oE4%b8rFCp>2aW0ZFKY}w^TRZztJ=fKU4rg-H`8H+ zA}u+MK?mA321C-W4F6M&@#d}v9c_hgqQm(Sq(&AFUgKcAfx|qR|LN>wWT7FeeSAJh zW1LrA=@n*g`zXA>kLlV;Vcy5by!o#wOi1T;9;P&sb@>>iBI{!|y3YKYe2m$Mo>?D* zN_Frt2RdtvG53G(V_u~@5WiS5#l|iHEWkp}(e%tZ8YzzX8dDs(8}ZwDoQU`&r-MiL ze#dz2T#r{4uO|i=!gl{d^8yQ5C)2akV8iS}d^*?+>?K^bSDs1e2z2lsTt?#`rZI*H z5185c=Nj{7M~!LycW8{HMUvz-M^fsv;$QJG1{yzHV;DgVW4>1zvksu-4}@i}c2b$F zQR@K94*Y8>gD$*}j{$@HGath(+wb);nqQca_=rvhyaFbL*IPTNOwZEJ8e^vFf3Gox zG-FN;2>3qG?7;t>j{z!OQo54nL5?|%!Il2YP6jaWVJc%V5Oah={!<@=_O<(%@ZX^^ zUQ;$Q8$mubuK&7=@yI_rJcqlON}E{{W4T|33tJ}fF$}7iMJWAg_xUy-Q3m8^rWw7L z{Vq+3bxTh*ah*GS?<9YpGrZ7o(P#F9)*yJVx_0rj=5f&6Mgik3r{W z7vg8gB82AD0lWK}sEchUudo+nPO6M;q6#7vk5tAWY-4(1K965S@87J5tgTFqENxbY zXH~?Wuh8`Gd1ly)0l^8TVUabIo2NW~ip*B7DHSn+HGFh);rR_cBC&b&qT#A;d32Gi zjeE9j=7dcY+K&(MD(~LqQ`x$@T>Jbe)!c` zk9)K~IbOXtfAr>9bBo=tHLZ|Bb`iwEp{eE78;G229Ky!euAfqE3eE(&py4fcaqf7c zdfuV&`_GHsd%V3UhBGHSqcz?6&XpZQI1G5IVqp`W8_u8c6izmb9)5d*H+z?}do`%u zFg~c>KQ5lSw7fj}vpJmHoRjP_C}0C^GBqd&hp*rmOMQdN#vA_LN^x$4iZ@(5KAw6= z55x18zQs;ht9($5v*-JhT`n!Ji2kG{8M!*B82{WTGUX+yJz6`4m$%r<@Q8EG9W+Ge zKY~8{6OldPUCnRlek2+Vx4fjiw}gl|@OMle0V4Kx&gHnt9NV)yC(esHQt5bVX59sQ ztiV zt*QIUNB=JR^g{Np2C23G-3v5j_eGclM6@!wg1Br(34UhLZkYG3EfVXZRMlZRsBK*Rt zx7etAet9DDsPfspfa`+lkm1-nj`~o?L?oqqE9afA{PeXi!Z{OhQDeMrWNx6 z$9DWasIFG=@ohh38?+d>b|v*jp3uW9I!S15|9LR?UKTRSPE?k<1j?n0Jce-JK3ta1s8A~);mW=e|YdLL>${(PB67cqW(r0IEI~CH^7J(VTlCi zbU3TSj=f5_!be~3N`b4_l_g@Az?9g?(nj6!!W-B62eB#w$uT%oz5nRwy+2hG`wOD? z?nH~K_vcp?a3xE55KEL!*8c2?LBG4?Icw{R6CaU4nhiq;0j$+S=_*3k*OI z3j_8u&m#a0=lQl&-&*6b{i<$q5L+ActD=9T6ed$7R+UnqM`?UnbAqj<)VNa5_F^_z zu8S|@bDf@+#baCJF}8283zKKd60wC`wTJBvmd#Z7JheT+$!LAwAEX!cjK}71mtH)z zF&=xFm4jaK*utQCcO+i$YCPT2E0H>sOuZdXy&9zF9;-P1o);;t;VMotE(Px<$yf4j zyktW>Mh$C4JvZ~w$!3XF-(>1Vv1DpOciu2i+%Tcuu@P;tDnVmd*x=j^+ol%>>6R|> z^vs^|^qk&F>`rWUyxv6!1c` zyGxtnEJtXA&w6D=k~rg&EFozm%Lnx%OQ*!O-vyW#)SporkL}RjmpVz*a7HN}NS&c*!~m!lYzugXE+!DA*N8Kxmh>o42&jhivLyiJx2H)ltdRmSo8u^{y;n!#)zUE`cP42}urI^qWn~g7oZY z5+@gXK3;(QNN)GMB<`i3&zF=L z<0UH+vHcuuK?sutbAyt3tTx4CFDCkpEM@c25-ny?u5U8-PBOJB!K#gxqgnE?9E}VI z!mR@g#ahhMk`~*JUrWT++qxK=0_HHpCXC4#o8MQOaIkZ_`Pg`RK`;2xD_{^)i0V8R zka`AZ-!mQ~#%_+(PI%BIS@5DnA{8b|OqwT3n%NbVTEIZd95qY7M2z=2ql7HO z*c0M340$EZNw!v+G^JJ~W39m+^skbELgu(K*d#Vy!27a9MIyB*S@K#?@KPMbuP+5m zarYFaMRs+o=;&+Ofs`a;==7YEC1PQ~(T-GWoP$g0=I+=I29o8`G{_`bGBYT^U@VHq zW+otW&(Z|)T9THu;URcGqQ(k3XD3;}rQdr^-DR1vG&e|%W+qZSSaGdH`b*H`l|gJf zwt|*U5x*MI0|ujaJT@<`&8f|Z^9q?U*8bKcOXegP|63%vh=^ptTm>VK*6l+86Dhbk zAGEZjKoVUjGr;MOGUS}YO^Je~$$}+`l11#xji>gZx2#y69N&XY+=Z<}STWfe$f-#% z6C^Ui&r22Rk|nFqwUdH$`iMkqMI0rGt+KH+L!Cg)u)7$Fb%_FY6NBsZyb;M0WAI7% zw7B}YU+9nAlYL~B_lNk|JN2u0#>v5w>+ta5WufTHh*2+WBPunwWjmfi0HEoeYn z61hhD3wFdywk8TzCUKRqwnPaBXeggdfiaj?Nf@aLPq{UbYLSGEN?>vdOyjYF96RR- z2{Q?u?9yQD)t*QQf(*H&)NEQi8J#;mDNS3EEP$Ri5k@Oz0VJen<|AOH6eY`pJ)FH^ z#uZ2&S`4^jk)?iha6q1BGPe@xl-6DtktkUhFF`5xLbx4CXg)>i2j*BT<1BlFC4WP_ zn1Z7{N^ZG?d(Y4)2{NLD-T4$)LpOv6OOF_`c=tvZ%W`9 zmc|QaOXiyOW3ohpky(>4VQGmM01ld^gC$(Mh@{6;j0J9O9tX4*93e%DrQcXXknt{wM5BYK?Lk}YMBgH|3txS;t$-% zn&Ueb#Y^@laY*#CNZzR|8G9Yu9*==jPQy3^YwAk8Y>@`C*&oV`nf{n*q^bAyN0d?`-LrFiI z8iIm#IQe72P$mPfONA$*t4R$!z-Yk<0h-Qs1bH^;J&eJYu0!&YCG(PCu!7}Eo062_ z6~MrEF}Ov-Q^-a$gWOYAm?Lr@_u$s$K%zv+nqaZb9q!3=AWu3X>Kp=4L zWciX52VQo7D9M~iEf5#$AhbJboCIaz2@0^u>3l4w1R4pTi*?*2kw`6+u9dV%yHItG zUaboX@HOaVg8hf};8f};K~r%8k~nE9{@mocQm?l)n;;a9AS`8!dINvV_JZ$V%Tag) zgdUG@O1uQCbrtqc_B$PwSQjQ@dqoQqtSy*$+&shqd@xpE8SZ^n;$-kfJiYjcBx8%= zOMxd>ibpa~;-4@9TGq8R3D8R~HV@J&_knHSYT}QHQJ1Eet(cFkSaec6wNPT8EWk)@ z2}%}eLkxXcDS4ixkIBgr%(XNkwhuQXR})((I90M6^NU>v_=^PUHQB}kGG^Ps7N`;q zLfSNyfen_mfC3YsFYTR~BP*|QnkndR4YGfRIwmrVNwgK-#FlA`OL|E!ISK%GdLA}4 z-3wEdG~jw{yx`sVgkAOM0TwEm0;ZWMf7hTZR*juB>yibF69sgDg#%3uu=j4{%o1TB z-%U#UE1fMLt{Pfpe1M~%ZxkJC$(&-X8S~i7ar%*-i+A6ZEZ6~tgM%laoxmM1B?^Eb zA#%yoHbxu-ox%UcQ}c0SCTq+~c_67Al`Pnp1d*o>1SQ}k&53%jC!J?d zO*0zf1qIQHq zt@9T`ZS;B~2=NHHD@^Y!CNhG8a!!8kf{lAcjzZ|4S64d^4{i87`udVI3Gjcnrno&z zRd7iU8&bxQQj-r)fueelOX14%T8!kprv$9WR)Z zEaAXu8Ua@;7)Jq0zTwZ!XCW6jRP(+Vc6qodL5v&h)4eqzLTuA>5Pj5UKdzLiY%??0 zcM_?sOc1e4CnO4*1y}blgJO2DHd(MHQLrpovW+>98i=hzKBQTVsu}$9s+4fAs2~D3 z3)^omnAOZ0nubZtz(2x4oJExC<1&bCE@I5Oqw)wi_G(VPOj#o%F+h(_s1Q6tEnQbgQ zvu66)o0c)&L<9B{B7pK!@O4p}gd?O}$Z94Kw6%=MJ7zauJ;Z51CJ_#xgA{ABj6Akj zaj1fA5+XoQMuhcG##X6B9Wy~gPm^vW~W<)O&3pz5hmqIkusu)jtVNbj$Q|dU5 zJJpP3VJZYL4?r_W*hEb-nTnL`#TMzoq(HMyGoH=Nhb3EuNzHU;#sS;3TV^1e&38f| zWoTM&OyE^KLNyzzXR(9L}ZBEfF+I(;FV;F2vnkkfC`}~!6WXr08kh3 z0KCoAe#mwn8#$ec$&xoPQL+V-04JbY;S{VC0FvO$ z9-$k-1_1Y#_;Uq<+L&aZjkMhW4Cn=zBO5QI<1h?{9uv<_V8q{SnFBKp$pC2pGKOLV zW|kO`(NqOU1CUA2I<_6fOc5|q0PZ~~24CY)j5HJrGmo5jNHg-_3yD&w=iru_*xN!dB$(e5_r+izLIh6Zbspn2}S~1)+t6) zkVf*c@;H$BNd~s$pymoR!0d&H$6E>q0c2=)D)NJSQ!^{$1#O9x!ZHbkOqqcZw6d^0 z@ncLe?GlI4?QhDB;4%MPD}sj!gyE@(YQ$bPATu9(510YTK*uSH6d95+I4r8bF@nDb z!52`Ym`1@811X23PMAU9V?qcUu)t6Wv&f|O7sweUQLZy-H{78Qx^*|#f}~#7kEsS( zvKU8pUCUB{9IQTeV2$E*Kp4WYvNsGY24DlI2fU-WtOG7(z?p#Fkc@;VSSK%K}SA~3%v!_RnoagYEqNf==F*@WQZp#1S;}Dp+OkhTGIdywq)W zcc{RI!)TmGbH0?1;#i2HWwd0m%xpbgH4!q#{z%PO= z1ZROTIq(8<5u!5iB0wcDgR}#veDvi#7)IL1P#TbF{bxWXR73`ySSm2(aE!1@XBd;k zFgg6vXsm6=FO!JCNKYDF3`QM8J=^gMh(!Spp%|Qrgaql#SiD~NrN1bIh^eynX!L?a zKbC&UHQDfs%>9Ss7i7ZlOaBkRFGTdS_+?@{eqrw9W}SyY7_5i8MhJM#^pmAiG%$-= zraE&i$l^jU^sd#cp`tLtD*`Jn27?E!5E>efEfi>pEd#R{f&sqB;!GBB!D;ScLd4{S zDd<~RSQm;>`cwsDZrIdCESatc z)F?uP27_gQE{1GSbio%xEI=0_7NWHpIt76MFTfRrh?%tmHYCP%fEbTp=1BsE8-mfw z8gvwydlPEGX98R(BIh-$yF4F&#Zb&^R1IJO76`KdSZsYX3s~v|t{i9qv4CX+T^wGq z{-ZJ0!AuA6GDQ1p z2z>BL23A-BAlPvW%qpaj0;#d;WB#9DB5Y??sy;Ah#GuIp^N{E)_z3$|re9NhltoMz zm;uCqTgX1uu!;p%nuTMqmjnhBt>Fk9E2TEM#WsOo47p?>OHXze5OirV@S+7+3<>hE zTWCdQdk+{zZ{iv+++u-rhFRFfVHqQyklo^VfngVrjc|*CFS;^mvyZ&t)vLFEaEkm3BbS>?7UV10WcDDTQemV16b*Z zZV2j7$)dCQH zb_GgcJ(~9M8?2Ox0%l*P0wMUsffh5?TSa?coq%*eWvUOoSfF**DL|Eff>IQE5w}7i z6Y6P{$*ogN25uwe4wWFxsF7p}qr?~q$_R#thb|y9%*i+c3!Z6@$PigkECyZzsumcU z;g}{7rxXWN!73$S4hy18R#XPXqPUh$3)Uu6Y$+iW!>TRzh6Pih6GTTg5J&>JBMb_{ z(Eu`vntKVeSYRedorMUq?&cAWLdIYb2V)dtQLx1#Ej~7r1u&o&MOk2h0T@Fp7ICSY zO1yl0C-`DP7DF%-g;xY%n2Uj7KrF&ATJ0i?$sAh27eNr5w}3{cAWYriL6|I-LFW+= z3&Kzl!jlcc2)_6@jDs&O3}XS9e;Kl1Ll8OU-b*a%qT{tvECj}IkRVH=APdxNl`syM z9HKu=tZb4Fpe24_=*6NuF8tDtT?Aw-_L2>}FhRB0OJf$iyf^kD3MP5n0yMDzOnq;* zfw5rZ<1eE$i|cC<8L&$Zws4(LJ8WSI$gLk?5KbZdVu(Yr7ffcMAr5tDk~)NVTd;8? zlB8gXi^&iz(V`L)6)pH+SPk4LFyf(&9!yev#uh+3EiEay0=RK8LiX2aqD@Rj_=cd1 zhd8!mWROMCvIVjUI8d}(K*>j3IwKZ9PzTt8iAFQt6M6a9V2j4_J+Q?lfvW{xo~ySQ z4lAY#CKGe9fQwKJ$ihWl9G>tX=6$0t=&g&sXzGo=!h;UcmqtS{dT!ulxZrrE{KzFRR;TN{R5f)}{!v-*iVH9w&JzoyDxRA6%F7XolqD5L-0V{;m zHRH9ZSt=KFk%)ORt1bz!5JSNYRQC zW@uOr^|+u*XRwlmI3BcMh6Gw%e1(V$2z9rDF2EDBxE}M++d{@OXiAMYDaL?n#Sv7_ z1aPK6jt{wbh~seAWHa6SgludTiS;Dhi*QQ_qH#Ee0Exma78v>Pg(R>{XYj&+W8tJS zS`iW&F|#X!2H?pExv;mwv`~{n3&Qw?Bf=!9r7RrDnZ#Jy1Y}b=K3l@vU&~3U%>p_C z4``I(8g><6Q9w7+w5f{MfXaa=+NGEc(-2%S3CGo9&siNp#MxQKo;21!*TxH2Dq?C? zsb#QN;y@NwP9@QRDWWVTp`@=&t6H?s2(vW1o|}0NP*^5Nl>cUUGPa?&5^B z8mE{GS|@iw>%@Lwy=>-+n;x)LmF3?Ogb4S{=E=_BzX{)!~s%_d@1*~C0fCNz4 zL~$jqydf+B1R@Cee}CtB-*>{Iz1L4mW_ix@KFfK|`JLrCgV!ZtFvf5SoK0{Ee4-R| zLnm*6PJCaBGNQmKDL}J<9lWTo%P+?7TH}NiWLc=m7FLn;lJ~i-I(XUP zFC?!G&iB?uDPbXQiQ8_)>cUT|KvWAJ{QSLuJD^=tO=Z@e!V8u^? znQ8b1TUjuJ>=(xA=f2>J(W87PiY2=!Dr_Leu#3SP2VUex(M}52K+}Xv1`!Cd0k!~Z zfHPrM3<=mSF($U1yyGq~3@D7VM?`gz94ktbQLenwIKVT)fGOM%tPqJ1vcJUEhHdmu zlNy&K@;($qEZSyqq_<2-p_UWm$SI$jFp!}knKqI+IK5buW_c}GRJj^ShCw^=EG<+$ z92`S@;Q^Kk2Sn_M&lwO1ciE=oezE-)S3*Aa$PWW@uq+GbjUf$&1RQVqAjh4PsChJzSUgF zFgYayEngUuhBO!ji^y;kmo33)T}Co6o>XyrBJWe;Hpm$=+~P`mCu?A$G&M;kAX7b& zH6;_z0zCL?+Vn{H7+37OJ{y6SEP(@oIuBOnq+u>ANa36>WkIlbA>bb>= zlpTZOB7Ou5U<$P^!b2_z1Z1%jQ6gNTbDq&a>tilR)JQ-~xudkg?I64|!0^e!Bk`mP zW};P7WFp|4(QJ{roHuC;c9{qjm?h@I)Y@LBHV{g9E#+{Dr55QU@_R`z#dIbQ7H=)d zlTtBxxDU6Gt|uWQKjK!>W+l2{e8NR$Pj9e@5j+74^C1QnAQLN+EQ2NPhJi*jE-dj-3g!zEMtPdp$aj80D$G>^I3{GMPs6K<1)|zHxfhYxK|_v>K6Dw4!iIq zkLMs-teUhKPNK6-Er))gRHI;w0zh}Np^HNMkhhjWK+F_dV``_wMS|DUM_A(msdi2fX1#ia#PcK)!9R+in9orRZuwaCvH+IxWFQlT z);q}V!n3?sY_5D>`Su8q=}N~ErASQMd=N(lxr6VKb;1z&AXa3)je6y@0A<;J(t6{0 zo?#5A0TIen%>#eg*Npfdfc@ zh7)HPX1L^UM&o0-$ha`CXpfmRYrzl(V_5BKhhy6Md1T~B+bN_JA{m@(JnU`hegF>hpHfHd5HCa=(qfj&bhlZ98n zI6^_=$b1u!VR)YMcnz4~H{@_3uenHQD5!`q6^LfNGO%4Hj1(wlEFKvG01OYStO}ki zBFt|%r?)DPlm^g`kUWe$ldC)y8L|AJ61!;tLP6@{Mj?wAsZ27!l`N`Ij)!2<5~G~_ z#9n#N@s+XS8mZ;+;!a;Ol>BPpmzi?6NBBR8L5@tFkWX1;z=ZS35K)Nd?Gk|V+14~vXwXpB;%?r{mPQn3;h6Qqdc6f5;mmP9v=kP zGjtV>Rq+fRfLL`=qeGZNGAILzUvijEB-n%~lYVwd;P3Nz9@j8nB9wuWaku+Y2+fgt zM@pFi%#7!Kt_KONaM>`H!t=~hOxAoH-(y1Pw_)HyAb^=4?WC3Ao>9s`TdpRMVv{^$ z`8*iPlrN7!Qj;o)qdH#n4$qdQ2z-&7lhsGxaC1?Kio3NmC=qZC!c%gRv6w;86fa_P z?I^C2!Y5PL4v1C{e1w4JvJu`0MbJPzY%?Og^&kvFusq2xSU$S1VJes^0+RW|wH_QI z5~!5nVz@_qw3G{m;2z1r0#bfWuFLyv$_}p%*8nyO->_;zebQN2Zm*E>B6AF13kr>R z6WK0OxStyWlKY%lH438i8UPYwm$FoPGc#7y0}|59CXll^zgBCOw1zbZ#%ld%=)3@l zP?IY(!5+a<>1vFkrE#w4fVD{{m2}%}a0Kuuf0S|aF!JN%nIWc&IKg2VCoar6BPE&~ zY)Nwg9XlBYYZ|#)W3og^t+T>3$JSTfabR1Pv7$reiZPf&=udakfW-Jw@oT{aoGq9= zfh^bUMr=y*V%BrDFp)=mhG-8Gi(hD?S))YSOuG;&Py=tU`$%9V^TR=~m!e2a7fXmt z80GgO(S=Mbzc-=GE1@5lc3FbcR<>RqV}Tra+E4ZAQ4&(wt3Y24o;ar(=|Th_$jn_T z^14^zp;1JqStBYmb`p-^nYyJQ_Q62`IBmlbxeG2Q+yr#d_&Q@LRp4yRmD(wQp{t4( zG5`xVb%5g(aZ+|KCJ>Mc!O{^g;yx6v7(p~>dIUU5e5VXYR1fbpwsFkC+ZlizZO3ro zSc!poBsRJXUk$<2#bV`kZ6dHGP8VM&3B~uc@N~ul%i|96QH$;>N$!is5Ju$EfSlw{ zmEla_>tkI!E&`SlssXR-nxrN6D$-}ky!kpHz;M8m4l08D9rHet3$x@Xv;pB(CI&QF z8Dqm+=MONn@<}XB3VIPh#;{F3yjlg+RaP$-em-@68qODwWx6N}VHVUjk3oi#t3Vd6 z@19wu0hEALB}65DN|(!5K0H<(|{ey;&c`iBz7lHj17RZ|kKht_;s$c{ zQh|KB#QBzoZM78eB2R}5X54WoLa=ESE*xY}kMcfL5CITF90b1O97w7tbDT>_l1>bG zoInu#!U|xef@1K(09`;hLhd?J)p)$(r1GZb3+v=@k(&9!d;F{97>)?Z0|wdAwYq36 z0rj?BZUEZYHCPa+UB2efGe)Ty(}6nhd?9x{U`ne2-yuVtB+>@cdw4&ok)_e)B#FgI z+Gxf8?2?ks0g4KMW3b*K8=&JxKbYiFdxd4>gAsVd)K^}NT(m+NxL6bo!rKBrb(kg) z1S)YcD+yEs5{iE2Tb_#~vk;IlkDuQw$YWtA!5G=o;T0t&Mfe)gY&IPS6&Y^1y-nHN z7z871Wx2h*dqtSQI4-?cmz98`WC_5@=;;2rF_=6`2Qc_gHjLd+s&{cFbhw|+D|BPO zd=I9fvI+-gnGlRF4Yk7Z8yNY)=5sa}^96amz+pv}aOQBn#AwyxYIwA*OX;YP*CaucJoh z@?+32pc!Ru0vbPqG3+!OGR6u36vFG4xWk-Ka4-g5Q2`oHvRd9Fk@dt< zI^Kv<6GB*+8UsgW$pG!roz#xfVvXT&;jbj(C!b^M%SYm^<4PVVbATL_DS#O_a`>4@ z{l+G7sj8Ezierf)A}b(kpbE>i()=tdVtH^WmJ5d*BS3*9BtX7610L4N;c2nh2p$=I z;Isi$t+~5+$k1r=d@jkcXhUjuMx*yH;fK2g_{!tyDUo(rSI4hpMxiFr-rzA!lokrEsX-cF=^Xcf}s-uHGffp0h-AbgdiK&jx4As$@$?wRH zQTdz7WV>rb+440hT5Ll$n`%fEp92Q{$;yaz%%o%>k0GY0$bhB~tg&2Gc{tGvcXB$0Sl0 zR_iexPL!n1Er_Si<#G3xCsMb>=m%MIZ+<*=dr3TX;czI%K`}`^dWqEInph(BXp{Z< zZ&jI+?C8;eN;IIQRcTT?=$;<#$=a@I^YomcURuTX_V|5Y0_S5fBvK&mC9NL}^hQ1i+wRP{{fOF~9O*H+HD9gW znahj(=mTAF+<3~ZRYv;NTZ^ZbO}~`7ZR-kBJ+(V>V(F3X(fha3l1hBhL~B?Rha(o{#Qoma4TJ+bVs52v<*3@PMR zw>(aE%jDagL9_Jdx2dw~3xipyg;Ys(g9=iXICvupRN zS4KXMU$3loU3ENt?zlwy-bsn{g_EgH24h@TSe3>iQ=o_uH=1@yq+6!4sEPDXv?b8o z$A5EIU}CF-`F7CV*8l> zNfR9k4viDe#od79lwt%!142m^!RAyC9EKKcIYSUT$OZ+T=m0{SD>pZ?v{22_!vb^I zFX+j~p|iJ!ZVtFb?4) zqy(-SL3U#HT$jMlSoWGB4#h0Yae&oG)Dxgh$P-6C-hINVJve>9M`-hoq4C-+ITWfe z^993@1oR9BBUS|7s<{Wt&CfhKtMHM@iKk27IF$fOZTRh_?SOFVn0TyB7S)E22Uh{? zXujQg%rr_($j!%TYQ{q@3BUsN;{UcN&=$}k;DQvbvJbeU4(vM&qeu_~qfwf2xB*il zDF#vGq{MTCK}ci_LkvH>oNnsdg-GyT;2Lj*uek8?2F#3PF%_f1Ohe8fw9IGTAV2~(v4oMd8sp%7)g?9{+H zF3l}7(s{;7W|PraMp7{5BM~9E1e^gTRSauC_T%2ZaQUO%^@>7qSSi+|xRI1z^WiL# zKNWStiUVNwG8o;3P}!91i5Zv~Jcv3j%&x(|R#6I^mqF=FM|Fo^Y?W_6dV&3jvkz~B zKqN-w-WMzS+mA4`Oh{}+(UDTM<88QLo_k>k*7&1{T-n#)S+-pf;CAb(aIHQE_yxRgmq&)UmH5N*X9lf#X8A zL{kLTxDHwjbj0+(Qf?T$GEUy0Ct-PR&&fMt3QxDF!n>dx7(9+JE>Gz&hspe08IhQj zGF#ps=FB(QB_M(G_OY3vR{ACuZj2He@>aURk?U~V;(v1mOiRSd?lBtrO2!Y7e z&48PPmpKH$53OR}yDFC@=M=bvv!H9B`r4DMCv#z|-k>Ecn2rd*5pGvOk=ntniW%-I zg)AYvO5vv@qN+^#17l6v+SN~H&QHeMMT%Za+S~@uV<=k25P69~wJ#2(bD3yF_`?|- z1Gl@Hz(K4itmuWvbG96_QkOtIyC;g1By+H=Ncq%NY2j4_2f<8S%}P)7Yg{y10sub7 ztO03hv#nA+sOOtBeM0L3W}V~+D65~BGo=UNZ#YcqN`6_|@dVu9a=>#})KU{Ea$zMW z%ueKn#Y){0Ewjs^G8p;ayULy63BUmP1f1E%nPQ@*IkBC1vH&8g0QUj|;#etrPj{Ax zp%Teg3?G-0IGtI~I~4QHZjFMANsq_Hn`^*bLU{(6D5NAR85=_9O!CO<9GxCa+e;706%{ z>9v!~6zU4iaua8>hz*&m>H@?PFfGkQ1Z8miR>rwgAr~z-Mo9sX9a>5eHK};6VaXwk zFrZRKxAGK~$BP1$FURy1aWFPR;zu_;JG2z}nxI!z1meI(yjx}=gTfoC$Q0v7`r@U2 zOD`LgqXkPqz{*&;ixQn>)AX|GtvV!WN@P!WnDZMagFp`02B|N9FWAO~z-JN_5|%>f zG#aqU*6i}jT*y&?%x@?5vxx9NC*ggiFM?gwa8S}7#U=5B-KpW<28Ae8NX2c)>bKq*723 zqnU#aiyhz&56#fPhBr8lxVRRkj z^#yAwc7gv8qd1P&6Yg4SzOsxSjNn2K0G&9P&gXF@W0b^@M91>j`MRkki5$Zg; z6g;C$Muo4iY^*pJEkG`>DoVvT;q-}!a3+uLkPHT}Ft!3@sZ6;-d1}kvL2sky4#HPQ za_*8`i`tTSh)bF~7cec6AaD>;ma`8PE(@eKXXHb>Jj$eW3>6>cqJ_%oayvpvLw%B2 z;2hx^0Tzi-9mW|dT)~hyzkOow5_1ch3l){DkUs3*B*5bb?dt_We057=6eSCvSF8}JV!$D6wSre@g zKmLxF{e8WZxUnmu0x}BCNvwz0DiH6^8-yo4DA)ynVHd4tmk^90n}tJxFf1%_eiB(c z0U5hCYG8)_ZqPkZWi#s9D0l|2QpHtK1-JN+a4JjhU#&m@3u~~V`PyqQmR6Dya1tOR z_#zl#0emz4}229QRyy~C1+lMY^!$xFv?rWDK$5^g>>rutD(J0yQ72` z0&2MQBk%{4lE@-JfmK7AqwmPLLk|*P*#KAL{3dHf#kYvI%sZ4RBRHjQ`KN$lzc3TP z$71}Tc#NXCIJ+&7FEHVtjH2x{&t&lodu7qe4riDn);RAL>|LjEG)t{F$e2_FpK+F$ zq{$qlMJo}qVFf@oGAc9+12RH3%D+-NAsC(XYZhLrgtcrGwgI)&hj0cZWJm@U-7k_c z{PL+fXht0Bn07c1IZjf;KQOo--2`#yAO?uW)x5w5Zq+X2o9a%GF@$0xsTGqeMgH1n zpc~+W=8QHb%R^qxVMEvlBK&wMEb5QmXft1ra1E!fS>T2<&p|K*gWfZ{d!i5zffH~F z_4?`8a80j*4d56~rXd-y5>6X)*9gow3{#J2_c07A4WViHMxOc)l=Gr%r4G8pUksC5 z48d@TRQDNteDl8nGn`<78L6-a&3ma2YYKcs(<4>M?7%T?q^%(GNzqW?lK?&^*P@3U zzr(8X9H^l}sJsX`j({-&#R0C748fzK@H)XMff@;f8G9p}9!XG7(1Z?HSd=In%QCXr zIN{_?XtXPDGO8Ib+wUhU5;-Dk&kB-C7q3zZ0vU0H_=RWoLNbk(s4O3z!5N2TI5!{} zKS8g=1dZWDU|=jft9()D0~pksMN>GGu6P$RLLM1|GGXNl&Jio) zoHBwf90NI#^b)Q%1e58HV9Y6l%LVLWm<8QtNSTw) z4x$m75vmcQ!2?W=nJQk8cx6BaCQ2c~NXHP2FXSs?9 zKGdI?=r#~@)AaVoGXgQH-UU9vV}~q9B^ac6U38_&SVV$hJ^*P9%!Igx3l(k7OXE9X zkgs@d$O6E#NE#{_2kQ&?VkbaBeCII2D#Pz>jv61w_#noT2M_LFw~I*l7r`01U7CGB zBVW4s4z~Q zU#v@R8EzbqYsH4-wHb;b!6tr(C4YFHRtxLZgAV`DcI2dUvNMi@YBXlNbE;l6eaLa6( zx`h*O*GUQGSnjusK81!Bqd2)xs_Y}ANCTgVXzy#J+#J<@gJ|GHMUA<3D$K^_aTd7% z_6iOfP&VVhM72b7CJ4wC|8K7YcAW``w&g2~*e}zB7pm$HS}ywE}f0#wz!nB%DU768A{l%O3-ZNs$jvDkB$3 zg`?5ptw0)P3oc#Ec{x=4rb|f(d~WZPGEVe_1PcjX)cSmoO;sLWBMk9KV`%XsND@PQ z9W!KOcm|)Gxp8z}>V-yTYP_UfI~I9T%3>IO5=eB{GVDGQh{a(X z?b0y3n=08yTDbhUoC3}r9(8bz!!LRK+zfKdB{T}TfO-UC062<6k&CUwvY_%P=RgVS zN>0=%#%*H=M*lRbU(gjILh&`}Fxh7KjFiMk1sr(}I|QVZ&df!uc2PCx_<7_KRjGb4 z;6+gs$;3}oF%PLyYF9GsD(O=BfdMrrPkimFrGtx5Ipxf58IRSqQaNAXW`R(BA^78% z*y2$c;y<8(iWU|1QXopGejW}<0#S;pa*R-&h(C#HVi$-!{Z`2dtp%Eilm1-{^G z`Ht{Fhyb>>SQAJBaUtj;=7;IIJ5793o7+SjSCU6}8Vyl#YrBKtA>luV>Ex(kIEPEm zGY%C9TymKB*F(Fb&Xo)-OW7m{*p9S1;;N(+QmNV4gH^AOuB&N%@8}fw)~2%U4w4W(7kfbX$xX0B9`Gysoc+D%7J3Smv5) zK`u+Yn^yf*P-Gq%oZnq2e1u~8NMl1CMD;Wz6Dzd7-(E96?}=i4kV}0qjJ&N z`f^PbHS?ie-dd@UmhSw%f_Ps-Ks%8Kn;>?~k1<^6WsI0SU!)y^X1JA={C%as)J9#( zkZ3djBTnTur*^2`APyXVq*kO!@?T7w2Vy3R&m1%)Y*Fl(t{cSAWSjAFrc^Y1M>aRh z0h8Lb^$ZtDU093rv0PpQ{fG(vB~-5uXzZjhUDRL(m{V26rJzN2`;#1fgs-lcAkKOO zZ@5mH;97=24(C-jGsgLx=TU>W1YL4mP|Ql; zRBN*vglxnitCXrIgNJB~=~HDd%1NVJ7+bN6cs39ShFZog8q8SZT$6QngB6E?WGhB6 z&|2xe@G*?u&4bMzGY=?6p+pE{g^A@a=yd`F!BCEZ)c%4>NIB;Qscw~iD!ijB9MU7K z?OOmCOzNYM-f~aD;=;60H^z{Hibin%f^H&4U%@BPY+80)md^oBz!(Ib>2)fSGv8DId4AFp* z#nAHI1YR37i(SH~Hw|OgPFr8W6DgmKg@hIn5`w2UlS5kZqUwPKj+%HLY(V6h(W3W1 z)JaC{bNrVK)SW}v6=6k0O5Q#pa>XpkLnU9F%|R;@sVTzC*rBy7l*fYuhY&%Xp%}$R z90H^W`vZK?uigP|B#JoXcrJu`0E%E7JUjw8BTw{4O2qzN#P&wugHgHw$T)09ilJYn*0XgD%B@xL> zzyZhB2bg8ZohJaV|M*t%Tq{h;n;9Ar=K<)B z2Sy4Qmg%*TBe$JTM+ingDC0_Hs13q<2?uXLqTlTewqAMqRKc*y8Av6|D02BhN}gc_ zQS#s~5)3K@At^Wy&u}45I#7XIvK`cWBic(40SKdld{^R2BWU2vTl}<0%5-((`ddMS*Zfg{?&^mLvii+P8$kpAeZ+AI57$aSTJa>#2Q$ApTru;I7K_~3+T6F@IfmI#TlL~$>VGK+Li6qIYY2Ca%3lfwp?&cnEzD+3}R`A zt6!jGV9K<~qr%=I0HiR3YMCN9GCJpU4)_#*1IkU53%)QaP^ln~IL>Ze+u3iDwoyu* zIdOOx5}cCipdEQ(B(PDK?@3mpJ@H8CG74|_1}q`xCro8PrqrBDJOx*j-H(x!_iM2` zM~uQ#f+>~+Bb;Nd9k3tafD>mHO!09qg_U$ZEzN`sj4b}P#U(dfJ}C5CN)G{6{;uG$d`K=Ui` zv~0d!HmIfxiw6vH@g_+z12*QT>G9DGQp>U^T@-4m@33K=1!nxxr_g^4VWhCr13&^UNF#{d{1BZ5UPv&NEOm~H)+WY?5vIoKg%MB{{f@lC$rsdgT| zSBj0{cRvJW74~s`xe#Gk;yi=M049|chXKjIx}=0}&yr^R zs8opo9K#>1g>VdBTwFJnHzNlQhKqbS776W83;`ip^ro)%TMkV&?gZ~NNe;pB=obq< zaqZP5&Io{&`*Eik7I#8%>1^b3u%!BD3b_c#C0)%?C5DW*G11=Xok49BA zXXkVyS<@;5{>i z_m@wjG-2cfTLGTIzLJh$ZCPtA2Y$97pXQ~YB$z`n0zS%{>~JYH*hiA%x@7vAMWPJW zI6p7?0%MZM(ta?Fd^E%(vX}-ggQWo+qR2@8=8FS+vY9oAUc3?#z4p70yxM;V3TUIP zPT^=UK+}ZCRki@Ok?1U=94QC3Lp2_ z3RIG-XcT9T&tocUng=LRwvB>Pub5kA4JkF^wFU&K9L{2A!5Iw_O^Y2yRw8~e01Q{_ z7|cw;7S7Nix3OwnQ&GWRyyG*T?Z9BK_h@Q%qE)QoIA?5!2mND z!v#c38D_dc$}mbG$g0UWaATl`vu3!aB=pWmLHM`^7$d~al<`qw-)(a~8u_Vk(6fgw zCwNB8?#^%pWvY&`ff^sm%;X%p%o=42gK30-SmL1$+u(T+EdsztxR!3PljS{QhxNSRe9zW=|snvr$&AaEifdFJc@-xxbIYoj*iD8K%$-Y^RtQVtlTCDoz6R4_reaD1KG=eLFi+ z9>fb&qJ59F8hmQ7fCM%Tc%q+F!~SDJfNTU=G`JEoHB6+*7wYhgl7(HKFzCd}T2L;4 zaapEtkWV8yj2Pz{tHMeM<9gpglW`EpM?1~pJ%l+X0|_$DQv-rgn2F_dC`R0EOsl>~ zgX^)Vl;Dd3Q;G)$ZW?@Bh;@<-+6RzELrRSbvU93E<<%&P;{-a4Vl__Xf)TUs)>3d+ z3cnqZeDJKRol#&(HpHMfb}%t6AAuUW!`|yKrC|4$mg=AahtObprQc(g!-AJc8uUpg zfhu{?WyMkjj8rntRw4R<`F4N z$f8{gH&?MI!kOGcQ5`VF5+u*`Q+Vd@5zi$C3&J3=?aEX9rLe9S_x@m0!#3br z2^ALCKx}8$aU)?W^+fd5FZ%_8N7^K0k-ZC;aVSPon91(rmGKdbf>%Y>H9A`&UI!YN z9|FYc_Doa^POfkST8FT{9CtVf;a*fXXA?cX4S|b^N?rC8NkIr)GFumM(ptInBoHMD z#gAAkI)EO-d1pQnc1=%0AmI;ZyL2Hc!Hop2Ls1?Wp@M3$@&V;lDY=%7hum!@im+=? zXjPJOIW)WEyT#>B%A-WgaEEP{SssJ(-Kp{5@t%jjDafza4c1n#}Q7c(j_VUCju>YF$E`-`(a*j6zb zxIwT-xuHl?#9fSE(+1R7$?A=QG^lkyHMk3BnE?_r1aQx=Y=Sg8lbm>@37InPcYMLI z=8);o6)c2ii8MkFeqLql$fqxe!(3f_snPuLYvV;^Hxc>4Ppr}at!*Tc0qTTlxZ_C& zGYkTO8RU-<_K_+<3-!uf9M&uKGi88CO0E%10p4?y(l5_G6YVR9&oX2yAy_nprDx#E zB&v$Z`iA^AE}D-SI~T|zyOdEhsj8B$iLh<>geeRxI}-#!@*h>H@w3bc6D3>Q5b_%p zLd?TqAQVF!VRe$Fe~dy2bS;my9a+_NcZx;aDnaCHNgW6pYRQa)CN;s4ej$z(vx7#S{nA zdpTYbK&VVB_J>8q>*>YwG-HBo8bqg@jN)08!~!xw-aRO}J(#uvGTBK!K8U z6aqa|SsOfShJHgN#psz3Iv7z8Us0|Z=EnH0q8Lh^xf^>-Gp?jUmmFrKcJn4qeL6s5&*eaiWZ4Zgj}! zBjD4lLx)U8EwdX`s(H--Pzt-bZ9sxBgfiSnE(2W_QDtWpzIyQp%h4fsN`Z>#;oV7- z*QDQL-w`V!2OeR8aU%s%Xhw#~b0qQI*mkUP2`2*XQVle7rbwVOlty1uz)2)4;<&*K zQxXJ!@mXQ35PHHHiS}BlR4KfYbcmpzE0-51oQ1)DVIOdps?-;_5Z}=5Y~e608qmZ7 zT<@Fh{95Xycoe`^Monp$j!ZHYxl)J~b&h#~)_#@vs@M-LLOugk-w-B%Yg+?KcS+Y4 za@a)NOejYj;mP|Xj#U&+!6f|dIAo=?K{M<;cR{)o9x=5^$}kRT+@FLW-i;Lj=$A`^ zq3SU}xb&ftxPTo(^DzvoJcPjp0SUAjo-5Mj35X$$2`*76S6MrFFEw5yzZsNBF+hWs zhqbW~0+JceI6+A?fhl+eIWU}10;UVva$|W|t?bZZyrjrnWiins{qVtOTK9TA1~~VA zRUX#idt&MssK`#6LZC&MuLyan$PmdBo^KGFg6@|b8%uGonKy_kTsq`dasBMVY}Y>#vR{pT}Zv*zcKn+&W*Q*cZ`*(kd>7BlH8`h@^N6h3NXX%cxm zRc{J~C>8mRIH^D&sZ>WN<5CPw19%eL*tBLEFgZcz)($cbxO$7^STsOtkf5t13nlR4 zMW}bABa#^)k7`a>Hj1!A5%D2A9%$wb7Ai3F9w(4iZIz{3N=N8SZ{ma+MEs00waOll z(6E}2jglOkZPF*X*bJ!WUw)mIz{w6%3FJ?53{>PA2aJOEEHFH0IVY&fMMG!m2i&Ra zi<~)oSw0IzBs^_>c=shR0Ife65t;) zG~g^<$z$q(Xxm0=8zA=83H`xl;x*QgAfjLnhKPLR%E6O6yp7VP)V))%f0fRKFb;L4 zbd3Zl#E5j=8?lHlP6I(T<#j06Up^}9xkryi$>56tbF)y*L~g{YJi6W-3qTAd&9}~l zy-}H@wooHU*W#Jrr;H#Mwo6bTsI`@2g_BwK1krOInX68k<7lBG3L39aW`L?Syc|O# zF-GQv#z6Hu=ZuB3jpxDq!Vh%D(o!3lvWGhT)JL*H@f=UUPmh*sCQpsVQiE_L;ozn$Gbg?s>5zm`Pyv|g}dpe-fkFp+d;qzeZLKw_I z9ctL3C9u1O+@whvo`*L`j^qRkmja0CrabzE87kREX$Oe(dXoI~w;9lkMvyv)>qjJB z&ZDpw{FIP>A#;aQs~@i*?HXC+krktWFfS1b{Ir+_VaO2!_b96ci7RcTRm#`VVF>6i z2`V`|@#3#h(hEC9a+lHwa57Ca+q7!fDOT~6jyi~ZTT~q54)e9$HzeWW<L~mIB=*Z!tQsLEQs5RAK}F8oD1_Mq36@#m<(c$hyr?5CB}n5&&3U zCP@boDQkgPlT1`gi`cb#2V8H?_!*>{dclv2E!Ann|1?vf{!Nx)r)#_$M%Il^AxncFuuM)cX06Ga_dI5dQWN8WOs_}J$b7CxnAs6A9W;e;WLlolr#IS_{V4x!b zK`<)ry{&rEIEoah&M583bD?%K1&hp1U?aFJMGPpBx;9^-O;?_{2R61#v+q-qsE|@b z@Tf(jn9W3a3K2n@I=Da@Ha}HyG33TB-+k#8Q_7dGNHXmlC3rPI;+O zQK`$zb%mStXX*K7B5O{G-qiS*q*t%yNPmLvr9U)oRq8h8fTX)|j79?FCs(gqh@)tw zWi8^6L(*aXQ1zC^lk{+eGYCL%kEG+&In`Bo*HYsrgD{nVL~T4WpM}+Lyb}YfD)o>` z^B{7#Xr)agY)yt4)h5y^w4+Og(%_(yr>VR_J7gmY`5`ODQv{CjWD}=qRWZjZk1n&{ zK}0<^}j97mAF_qKD4X7BgB6@$r;*a}AERFv7X#Tc!9ml_2kMU3R`0{@BmPXfQ zYObib_!4x;*wiZ($OEJ-hD$UB(Fi=(Ph*&+^t3H))8ENkH zA?x))C55V2P-1c97Dk(|(YCc!Tvl-@9?!7k5@wLqTbgoOMQVLT>w0P}t@XaGT1#sy zQeN3Ym0GIpJWz#}Hdm%LWT)J95sfNRZ={x0yrjohv~C<&`~HF5->igtQncND63e@0 z#JjQRx$jogw&zf>>7;k#Iq!K#L0Go1ZaoE~7Jb~;y(D^kzxiJ>_9fIT%eyW&{fiD> zwXPjlp4?Vbnf~)q-a%FOAynxHUgllx+8mary!5mKX%ek}jW4DSI&3PHhP*+~Qy**= zZ6elPDy{Y@?~3tPQQ@lJ^W1uDckA)`C1c%k7gVPIpodqqt{Yf8M-PrflMm57f&39$ z|ML)4u`0`C7o#m*tNtrTbVif+(`KtH zOzmLQ2h@H*p)4>E`4rnEA1jg2$Lb`b$E!wk-!>)vh#ptBe9Bj)L33j{?^TW1aQm&J zQ|l^DdgtuvBTuLt(HD#yG`g*l9|FhepF=nd4C+0%tFNyzJzaeWSLKh+c|Vb}VDyO3 zDpU61lwZ->yO-Iu*Qt^I>%O0sgIK$gek-Q{^-1qgxvn4*t^4~zwzj62%!17%wy1{( zuVa03+TuA2x<fHTRL8l1?TOZ{XUA~0 zdIh_gBOK*cWl#PTLlOw7ZO@-wt_P(DU$OqoNZ-=f^dF7k^Yq{gcsqMC3&LmV7c;zw z)%8W|T3=S*tH*bp(Z0K{A3qs`r|0yjFSYwq(C#qWaWdQqn6_>e9Zig-2c1}A(@Pe2 z@Bu(F{eUB7`UkAiBR-DRWn$BB%bzve8gAV3RJ3l4zM1}9ai{ypdw~gR!3z02{kMGXftw-k5t@;2^3Y&~pGm`Ey(J(3x`K_}DZX&`oJoqX*YFD|(D)Ii=MD#x;*Xqj_! zw@rPTuJfaHhrJ1D+V(g`DY@irdSCnRoZ;(vrJumr8B1-Cr9LTJ@1<|p*;kv%sksUk zEY6Ak^dxKhqGlPHa&c@Lj@7;cIsQN0rb#&r2uhy*qx{(P!(UM=+rQL&iKf5WlB{_t z^2qNaUh9ACREW) zn+-eptyA;8V{hFBBwFJ=xo}fo_k-6qIQg|%Y=&`p$=KP4LpPd09q|Vor_1_ zf3^2$&30a%=6_VGzY^n;bEUEAT#f{5Zh2alc2XPdFZ0;)^jHjAzO1YmTZLj9Q*l|< zbbgbpVoYrM#l?4CG`s1A#~5~H@l9i3J{sJ4S;fVKEiTcN9@Z14KUh42zuq}*TXcxV zz-P&~7%gjAD)c#~Dz&{5rAYnFs^Zfs0e8c-i?K?+8>yO{l_0iafz|vngxuZ5gDR1c zg_Q`+A(ECz&MT#Ffs6DquA=YJQmrIRpK6OHXTvRN{EqEYb@KFI)%3~vtl6x5UaR{- z_I#wS9zCRT`VELp%$O}tSJdu0EBe3*#%}*8o+;Y;u`ur^;vtxE67ukQURO-(?c=-X z0}tuV^zZgn)}M3ev>m(cv&;F6g`s(Vq_X~k!=iN&wMxyeNVV3Vb2th;zoNA(x791C ztiSOH@r6lRnhvc$=g4SX1Bc9D96oXkN}S=?B3`W31FUxC$67ZO#9B9EbFBq^d!_VI z5N};Sykgo84XOT|qv|g>y1f3jW6JA)bZq_D;~3f3Xmfn@ffMPsqIPF_W&PN~=mQ_U zt||SaI9F>_SwFrgT9@Kg)$|+L9Sr`B-pAD@A?mvreP#4{c4X?04x#DaWOPUC?&9Nw z#MNqEggs5UN-u5YqIGfm#w}Z^UQ-HG9F0Ud%@<;;qIHMpn`!fODEjH3Dk_xb^PoiC z!f0JFgYEi0Qbtg!#M^oG&c5znWaatAm$Ymh7>SIXQwV2zH?Q5=2QNgE)$HS(segxA zaX+;WzWn1eBZZeC1YSOFt3+RYIp5FL_bu~ooIsFBGv3tPmg(0|;C!v|65rTv-F@_y*5PCz;bLAHx!2l{?lFB2-4j0D zP@nF)knTd!mGf9H)sOCLKHcAZx_3`>&s%G3s^=}!M2+sd{pfzH?|EK_Pxq8hcT-3= zmRGYi&6YaaNVRYJ!4ChEU-+M_)+g$_bG)wwtXlTP~b@oxjT0()~FOPT+ZOg9muf-MpR(VaaoAq_ZQ<`;x zS4QrQ??-p6PZzB6pMAPdq`GW(Ugp)DLLTdVy&qkZzUO(tD&OJLO%CZU4e7eKX2ImSHt{= z(kREf=jI*8&u?mdGk>9n_Q6-Z=aV=1yzIja(&tI(~$gP8s&I>H@T;e7x~mb8Tk`$`Q(TC$_H4GkY?&OAKT4w+x+}6Zt-tJ});m zN_!Jc{+)TmMrom=$+zvbRxO&GZ?Clk(d1+HTJwn}e{ZifxM*^^UZd?>+L5Dku4g1( zWOOJ@t=|MKDcj*G-O1S7r<-qJa5CydS){Mck1* zkv@ev3d=IHgm2`R!21AtkQ`a~Gh;)OmlsLiOxtC=*gmyKz3^W&`CpQ2({{PJ#oZe> zxm@?g&92>%+w|(@KpC4pDSx)0Q%m_^-tn{_ZIPy$a!7lvaIF4YQ0wvU@rk`lyTNTerE%T*8P|-q#7<7C%8Fpvi263S#edx)oo1Kwx{lBQQKV5 zd@bdJ++6;=+2QgEwB0`Q={i|R8zX_+%F$$v6j5y?XK(w6lN@V2PXKpt=Su+HnS#D; zS$QG)cC0fV*v_ND)H!Xj+WQJ3Q+i|5?#nHo_&e157}IiRQZu>KjFQuNFPBPX#O#r+ zVk~`;yiN_L_30V0)Xr$~G9$z%^M*GtA=Zx8U!ad_2jUpG3N*Wqy&tO`HTf6kp}(Q8 zxinVycFn)V(&rSSZ);A9rN>q4lfqc~g4}J>Y!_>|ntJ+KQ0VwP5#Pq%-!}-;A1C?g zh5pC&_HlXii3R1+=NEK;IOo>ZYa-r&|Nhje@xc+=)hwP<`U4Kdx~GCqKX~*!IN=$w zUwY`fyouEgU>PGhUDvYkfqjERuqrc<3GS7a_RM+Kt+t>C4C#`JZ zG^q0A~k~^_cDzEal*#{+n)+ z=my)m@=fbwMmO zsW6rrR|2oOW2X}A!Tw3!VTd8{xWh2ErG(xs0RCF)mC96`H_Gp`pj|?Sud?0JYie9^ z&?o0^Dh(pm(dTe4PKhNgg?tiAt?;&e(+%y=pquJkMwQQ~%&E}tJYF(3wJWuS17kxm z?wREi4{47aNq_FS?% z|2O*FEIp#}pU`6%<1M~qtZrnc+HKZ&V%XQzVsFkj+_D|s9+8M*L)p~o{BQ-doqNqE zyMDu=u=Tsk?}ha{iqBG$N>k%b3)XKx?c>?@Qgi>b{ZZNWZh!jszsLG&NbHYyqMH`` zGn7x<`ijV~+?VW+Pd_6|pWWa81O22d{h|N#`R0%Acm6a6cm67|q}Zp*;QSrpcYADm z#LT7Co$S_Rj^HG)Ky_ibj^QEHOx?lG?!Qej-2dWm|D!h0VE_FU-p~GjX@5V+_U9P; zf6<==!{=k&`S91j#P5dv19be~_s{!!xc?~nFQ=Ct1ctR}MZG`!ga@@pq^l7hx%xqf z{^!}eZB7|akkuh-M9~|rgIoL#4veKF7ITABki`T2=+D@f{?z|9J#gwUqu)i^N%;H? zC%BpOd;-Vg_Vax0U%xS|S!r{yVnFRJ1x&gkg=qGk@;f@1iAXF|npim87xDe%>0bT) zS^d?KxV|Nte9`*eWkMR!15;O|UiL2VdnR6OL!@{7Mb!mC*L(f`2Czq46iwDyZ`-Xm z?*P9OHVR)vxKZGx?0AGYCqabtQ(~PHeQtK`MIqmR4RTE|HBO`85ETalarkS`{z~`X z-yPZhj{9HtXMpYmI;`8K)l%1lD|`*vUg1{jIKSti?U7?_qW(xH;h?JyhuY5{Os`V8 z+T>{R)7Sjn*b2AkNy}3!qRDN1%9#svaYgFY(KuHBR%mMyO)ll@_Q=sT52r@aqLr!1 zJaJNgb)2LHOW*%_bNfB-6JERL&D-zu&T-GHIm&4b32CY9{XMJy@0sX%Hn(+pR%)k3 z2$%S3&D(IiKZ(_R+a5VW1LPR^JL`*oxFmZX!~UMzUw@Cg{%Q_!nq=R;Z2mT$-u=;E zou!v1_%eDe`#$seT9*EhFQyOo`$^Y_l}2@I;tm~}#9Q$-$MdYWWSxc*Xper&V^-7N z>mBxg<(Kq-Teg4clK)HpwtfZsoxk5H>woYU&)?{KR_tf}-aF1s8u}sor_Y{mI3b#x z>w59!q41uQ7?1cJaSp!{&dvl^f004_Xpi&opnCJAVWagNoNrPhFXv=XTmqcJO_7y)_`(n@am>WD1iTbKu?;}wc zALCZ$i1vuUL9pDxQU}sMv|qyh#U2m!>;4H|@6-Fue($Wi6qCP~dw2dt@_Hg&q77KB z|FQ?U)w-6~`>xhN|4E!@VHF2*zhJTYJukc8n$H=U1Npe*C-v8le>mE$5q5#uu@V*g zFuT)_q5RC%h(meoV5WDq-x24ppDZp-O$wlRKYeZI@2zFli$5au;?Cbtza!Q)5QP4a z)LC}Z_B?-22E7quS<<53vhuL)C^tveFAxp=^c#7xpiE zJiAA>CQW*ZFGZfQCsGI`9I%kDZH!+ z4qD?q@awJ0aUc=GzEq&-3P*z__x6;*FPcNuCyMw)7X?IThD1m3iu6GrM^0rrS^Ou? zN@I8Js_h*RP5z8`wY>wUjEkj5U9a&L_Zx4am_2<@uGhB;Pi9@lJoi0%3Nf+FrEbhC z9`nb%Kwnre?HOJLkFWJ|Y6g!k`>30={ZU8i33Ct5u1Je$^n~B^d%{orCqyoBPq;OB z!o=_i&n_{#eD9imbeH;cofkX05dqyPAzjkZ6?p&JkM3(eUB;)&3FtmmYn#z{UUi*> z!#3o%aKGP?$DWg#9uW4=eAV)+xO6~{PmlsFYIYg z>y=jJfqrxr^kLo0eY)`h-Gd?BL|z5!9*$4J3OBx4vl(Ayzws@#=NLcMTo>?Sr@yZ| zf9a3w>ahPA)}C=~d_6m#?^yp?erOBmz7f(X`5_pWv2gd#6|Zpi(Jnh|TE8NV@5v$A z^_ykS^UurgtUJXE-f9WPcv{JsFbS%&TBUh{#;{ zBoUd4f9P~~dwb!Pe^_T)pS)SDPx33-^|5KC?}@ZDZM-t#UGZ9WQx5b8Uha?JR7PNe zMKMe_@_BkCCi_oiwfTp8i9Kv?OQBD_1AiJ`0#almA)!}U*R8Uj7tKdKZZmzjOd<%mg<$P zapm&t1|{?jeA(lRkb;2t=8*Vey_&!pAG9$W8S(^`l4J5$Kj1$d>m|M^fx{ zy%vx}lkb|BD0>8+^~s(K$$rJFU}3xd#+yC;m!W*PakU0*^5J>$e{ObJ7waqd-}_#_ zNj_%n=eA7s_jDLfHrBsYU)YGpIl5f$oBik}_;l4i-Oh)7x)CAWA&xHJG1A(l*_Hi< zPh9R3w*uh_`h4s=(I)n^iPbiG$Mcx&OIy9;-Fp0wJg1Dzclx*^et2GlK6j z{2>4HC$Pw3wKqoqLmo}a7M3k<(Ie(Ob2ri3ny-?hDOoW1SFlGkc?U|mY`IF3w0o;u zI%{$QpAiPWiw2gFJiC!2H|Ocegn3U7$$wt`d2kQC~R78O~2}zem!hj zucj?(x_U@3sN<~Z2NJRA(|i9O3}C97E>zR!!lobaZ8WJA-0T!nAJ#;?pM_2SY)u}f z$!uZdmdSLZiEea>&dDFT=hW*ta!t%G*K=OebE?8l{=+)?j%#{V*fgT1OVqR|Z2B#0 zTI`zsTi7(yLDNn(-S(AWqMtvf(SK$+u%{oWrecZNGu5<9O&5nv7h2O-UDJ1X7B0W{c0-5#_XwTx?N4r51W=+(}Zg} zUQOj;nO&`>Ik(dE_^|1&ziC=0xTd0WP0Q6ZUrj$fC|H3-)^z*lw$+2friE(y6*XNL zHvNS)ec3gAi#KkpJ?%6-TumPjn@+T*zjaOj95!95rbla9w}nm1tm*BpX;MvXu`+6U zyn2m=O?UrQ)4ISly*zB%Y`v=KabeTN*0j(yJvD6Fq^8Acx;Zacfktb(b*HVsKsB{> zovNn)qNeR((`&5hBG+^kZ`@d`)$~*~{dL&%->m5quIaOCYMeDrO;1=9-=oHZ4)p3)QqIH&}sd zt?8B>wgNd}(?T`9Oiky9O@~?24%hT`-ssfNxl)aq!bS&Jqu;wme+e3WUyXhgHhQyJ zv%c3gdN62oof=&lHhRVyT~4E{bcuY7bQu;lnPyG?A5ENe$!FA(E9^F>wxDwXP47_Cwy7Ufp2GFFY531?eVbe+0bhK+)8}{0urZXE@ zn^` zrqk5ard6V*FRAI!u<1Z+THu;q8a6Fd(>66-J2+T@rO#?w>$lqqoE$bSP}7BKIwx%U z8*4h(HI1mL?N&rhSE%X3VbdF|=`UQ9S`uts`91i`CS|+N`FX8h|$_Sb@i_Y4!$zx~)`Uj8Mzvvo_3Cez`a3dg`jj<2+BF@grZ)GjnmM z|4(bWajWD1u;~~zJxWbm!=`6h(|NAx05vsEEmza8tLdX*(;?OryIpeS4c_=nt)@@@ zfTlNwP2c>Zrge*J`b^lgP)$!(ujOIW|F)**xTe#>ruk}Gs-{E3rngzs0-9z8=>Job z%>#m&$E?ZLPif*K&`WtOEdD-!8TU77U>kA12xo&D<^v*IAhfO=x^!|z0MZB3| z(+z*npkAbDcHGygw@1PzZPuhwP5g0xw#hM9(mmmKG%)7+wFs{a34d&a-%}$Ny7IGN zmu|R8&pgi&UlS1jRK&-J#G{P(1fTf8koZI+K8Vk=1HSuy?6Hsfe5-iyj{jEwYZzoO z;Fv$)75rsM-lTyIc$S{|bVztP91~6cNsSorL%qR(TkV;TI^tgk#4RGeB_uxFh;Q|Y zFAa(BHsZ@2@%IAaTSZ(J5-+hGJIyCPDkT245g+S_PY8%_5%H(HgZciK5pVBt!+r-t zz#ZbvH)=Yo^?CaAkDv1A{FI1a2#H4<@ob;?iIDhNBmSKuo)Hk=F5(}C#1SLD$0z=e zka&_2U*m{x42XXy;!z>-i?+k%KJkem@z;&G#1Wqw5Z^1}NJxCU5fAiA9{*xnqE+BqT#P^59>)3^8GUXHB5)xl* z#J4))I|AaLi#Q$<|G|i>eB!c@IBLYFIpTj0h<_>KAtCX97;)4m{&Z_F=SA0RMB6vm zoOk`+pL3IlmwX<~`8Xq9u13uHg^;+;h-dS8_B{QMNFNSKe@B5FJ&V&EkaKN%AL+=&0+6F(Rd&o<(p z@_BZt=8E+Ckn}r7dXt*?OZCb+w^ZZYGfxekxmbjyA>qMBILv=$LHNu+*)xxE#G8KW z54c0bTXqDqUC8HTt??wy_U$dfY_B)s_w;%C^ydQNS4I4MNSrj{Sw8XOA#t%0|JD)T z5fCpE@m(SDSw?)fPyGFmc=fd!(L_i5?*Z{j5swUscQmQdSw3-bNc<}!{-z_|MI+m! zRU+>DESU4(jd*}hyk>JS=Sz%uZMV%i6A-^6;<+L5WFwxhMl9GLL*jfRe%2A!2E?mH zTo)3bY{d0G@y#Le;%hXW$&UEkfY=jpEF}Kq2{pRFCoT<%?>FLMjyNwM{#e9c35kDe z#0UGtTQ&uAt}x}kZwJRO>J1icoOSRD4FmQ(mDj?Fv-DZ$;Oy3O z9}3BiGO|Z$;_UNg`q#p3>T<+)^9>xf`SAe1Gze*YrcN#lJ9(LJqsi~mbe0kbW><%U zJTDhWa$?x6?&0r_Vrj;+H+QNSB4g`62OF zMSOBdJk5wt?MM7mpZI7#Yae{v1nyC>cINc%I)Kl*PXA=@_yspqmf~$!!`%OmVf*XX~cc%_OL3{*-74AJ- zm!}^57mF59jWn9PM@_k+Pa+0)-?#JJc?I5McWv#9D=eTE8Cuk>zcU@HrBzP%Up1WM z59Oc_o}e3xxvEt_;Rc>WQFkx(JKYkC){Td_tCGf6DyQpa-d@{4NM%!5X7)G6a4WMx z8>!gJH!osPskYh{tyQq}m4q@W?nhkU0>i6DWt-Vpo$n(~hUr1<Gj+*USAM9E`tJdTDwI1ZRK1JWR51yvhdcI$y!_9qlzdPICW)M|r zZhNIiRo{DN#8%t8mk>tWN<&O2aO5c6yBy}H&X0Xrm7Y-GU0@_s z%t;S!xaIta$~ygY{YS7_rsbO2n#gS1#c1Vbp3_86MsuX=t)BPl%{|J#*<}%g3kvjc zq3Xnp+{6<7f&OB(3%Gf=d+?O*Sn9ZztF_E;b^V5p=IAlr#G8YAh(G7MXq{qOT|bA; zJ9_0de@~~{Hx2scPQK~7P5<1&KmFr{VSXqnSXE;XOexoy-!io6hs~yc0(x;#C%SvXr(HmRAEo6z{mpGYZS4EQ*c0@-OQ(uJesU((n>UVtUxgeS} zsXT#_Evk?k^UnFZzXv3wZPkHQSrpZA+fbI7Bd4DCv$uWX_Gog2jdy+Yk+%4>U7Any zkxXG*{guU+)f}&j(G*SI=rzIIHl$qk-iCBP9hGgHBLU%^twSN%!_7sRoq>JB?cJi-y4~izg&)0EPUl|;&yTqDuGd*5As5mFijt-BL z6IqzxRY`)HGo^|2XflZ@AZV2>xjgGGiYLd4OPpFYUK3_~2P z%4=uxB1W~73x$KTRM zyy-qpK2BE>LH{T&;ZdEQHBl$co?)yq2eHr`QSAo9vGYlSL_=&oYYQ7S$J%uV$$!A$0tDzWA zQ;Rdj|7+JXQ0k(e!sAD?cZs@foa5S4t-EvSZhJ-F7|H?6lMtX}PjDv!+~YG!wC;H5 zx(;C#_ua;>(>N|u?=HS9Qd2N{>I1*03p-;Y-*zJMY|YcQ+7$cX^W9b-F8Gq*yEwpu zL9Ag6UFQe@)ei2tCtQH8LHbB2s;YRLS3oEOHq^n)>y*~y!>&_JQ?WT-YUlvcM!Bkg z5!o%#5Bpg7vLRs`2i_-5++<({8&=%C=TH^5UZf+W;R=6%{N!hUU;HQr{pTje$Ao`ODYv~Fxcl{hQA?kh&kHl)b zncNwArDM9;H6d54)cf&c15v5-THfWTNV%PTf)C-C+Nnkw$!U4b|MEnAIZ7u*O7Upp z;HWxF$AZcR(d6zfF|5=;YIVyFD7_6uexGdJPptXm+->*!QtBQ)n0jYnB$^tzP9tCK z%{gp9WS?DI4S%w0vFW$PY6kJIc5UFjhuf~@c5BxT`25rW%MZ+{xaCE=%9cMzV(g zBR#<~4`^|g+An$E{k}KsWnZJSe52F{xFJ~DHSZYrr=F#0*9H&n7(9X*L^ zanX~iimRh1U0ggldeX0pr_wTd(v!sv_V=0MCj0xG)ufA_^pD~U?`2RG#-=BWJ9!gN zb*f*kIZ!liGizJc*FMOK!=TLvm8v;U%=NyZ;ZZA)5B8d`CaNMcv#RHsu~njCa#=7S zRG_OH*Z}Bk{#uziH2g)ghtyDVOM_8Cx)N{8rLvf>xSZ;8b}-QMpr>6w1w9EGXp!=V z`w(g-Eu?tTr@zbh(c}}NFw1V*PMyh`BXxSdf4bFu!2-BFVfE*_sX%hvhfkf!q*i<9 zgx^N*|AC{oMx^fB^JR7##ClIhr@*U~*t61_ZCz*4!mk(6@2>L|#)m&ZtL{`?7^}Q8 z)IK{WKUO;&^Zr8KfwBA71M#t^q@pSXrDrVFVsWm1aeQ)Ir@l9xb#V;YU&>EO=ysuZ`H_JT_0UK{+I?dVY)`Qs%t6w zzY(vhx^Ahih*q5M$T0s^W7T&U>RZRUg&LMMT#G8Q&RW4*MY$nDy|qhGXJ{d)r@tM| z7tWX$1c}8cfx50|4!#(pQP0CnuLXw+ z_Ao!fiUcoL$6~{NZ+2c{Qe)s?)eJ*{uHIM`Y$Ox<1Ts zSC)UN8V^Qyj>mKL#li*3wFD&KZcAO3cWV z0*~ki4k0FJ8=eH!jTvJ(u50I5{<6q*-ME2{c<1l&SM-PL1TkPNf_j%0s8c`-Vi%X2 zE$jhe|J!d*Gl8ACx-qc~lqtn>H5I&>q4)Tbq73%NgM(&tjOrZHBf;X-2`il2pAz8yiH(%V&5q3Ud&PGOv44#Did*o(yf?`#^Y%4)M&53qG9W@ED#{-00@1-T~Fi zVEM*u9YJFA8nt_-;1#R3V%@k6L4v+z2L zez2cfhTe(<3BfcZA8)D#@wB-v@UISX=^%_Z@CnAnt!c|(fye5;Oot4GLGrI4BgC8# ztROr9Yuq6qSP2N0*Fg(@fy0?Ci1v9FiB^)~30&FT8|j~lK<6B}ovA1LjLLLvUaP;7oc&YdnXATrf=RQ_Y$x{Fu?>J^Q#^sHt&H1Ky@bo>*3jMFIY1&0S#nLVl(hL2nbRY zx^?5N29#q>fLZ8mGLFbS_$m}9yhK6fe z=yZOPw_Kb1DL~rW(0JbyZ6UC_J(WSI_f);Y?K92OuilH%t{d$$86wvSt_2#K(D;sY zjC~{(9GC7fM&N@r;3FSo#`=S_@XxP4m+Us8y*F|@&W~cM4)0>lc!o~Ig3xM|u>lAF zWtrLbY}RztSYMDv6g7&nE+ z$pef|23Ih_r$7z#q>wIf_%zT;XogKcBusWQ+F*AxJ6)UmZdYNbj3JTKD~(F4pV_0n zu=F*f6cidA!WHgek)HQaYlx+j2oUe@-jedlk|tLMNMSLb2*GiCz&B2?eBUTv~7v1&uKv!vKp7 zNN?qfbb8GfF3E^BK<&hU&w$+!wf*bEeUyvRiac`2! z{w(YDe~<}fJzbKk1?#2Dy6DE8PVi_c(_x6Ddn40R3XF-6*2{}};F2Pahv_a~-nZI4 zAK?pZF9qW9@{{zu<67hyGJBs9;Hrm(?I9S#2=(W87ljbQejIvjdiI==LnEEGP%;+f zt<~nOW92X!k*aubq%T%88*DOh9RdSLr%dzEwja?6xNL?sOM#pvKQ$wkelcKygKf3B z^QF&cV|WkAMPHYBjhUE5`kvu4CZIi|N+CrEcN9e`okcwk`@*x!cs*F)@E|=rI$fK4 z^eiPFQVu5Mg3p+mOECfQ017*bj3Ot*gEz3ey)Ue1#J&MBJsAJV{y~%(w5c+8h*5Cm zYkGK4IvR%>mt^UIU!55A6vA4_N84g(!<<6IG~Y;iKr=0t;VJ`H@3BeeSzZpSBU`Cd zmEbCZpkmJHdT=pb`t2&;=06!dwv;5k$d& z?%|aB(|MMP#wTYodnJHkOW}Wv=>#1Np5CcmFj3>a76{nzxb)Z;07@iZAq%q-(wI#* z9EY52fb>9Do*>TxnH=-uGIT@Q#2SJ8rM_@B`Y#=|NA<^|T9EDGPy=2$NFX>kIglhG zICh<<=zw|qk8=d|S5k(uW2`MZJ{OPj%3K-Y!o(sSS#2nkXpt0Wp3TZjkF{js7~)HT z9)}?C5Ox445Vn!FM%{pbXVt&>Cr z7m5xpRzrl8*!SokPWvnpcRuq6}u8(=nNQT24Af@8{Ni8q~^_V)yNAS=Pj8mCNWe&wEa5c8!aMJT`WDf?1 z%++d3*fxXeW{W!bQkpo^26sxgPtO8LtZ4#sg$ve2KUAm*ZnPUJ)EH;rF!uEKoNlQP z6oZfz=@5TP^g&8sy1WZ`%Hlui6*c-9EXaceG{s+}{5?zs(;)v;1A`H$C$aGfHiTdx zwVy?%+S~nFDhe`0Eb6Mc5qFGYrt?OorJ6Sv|Mw};CrucFHsL-P%!x&jzL>ZxGh+W1 z_vS(j>ebd@#%5Cp^^s18LGS_2nN*#2A))k@6MYrq(K!Ks32pKNu%1{pqhhBGJ`Vtf_A6}u7Z~#+C zVcbgRap>;vygg1Ghbpa1TI?=c&*9`!Xk3I&8xraJl8z`Cu`Kw$@6&EANuQ#9-uWn2 zqgscO^wg+_TXoG@>(zLfK+zbD)txSGUT9u{MzAFi9z4mKZDJa4Vv=Rvtp()_+c zqcF8Fyxdc>4fmwP{Vp9h;G8w3An#;20P2`n2=!@m>sDRhSxQ zVokC_PuZYHdY;zw@{EaM{TPOIQsA&w6!AO#=kn7JwYQ;Qy_-pu7Y1$fFGI;X z-v$o1Du2?O*E4f^CvH7qr(}njPWNXVW_`@R-AjE!n$Q#p9L~@}2QQ?O>rV|IsM#)c z&OjMjfJaWJPjz)R@Mi*VW6I?= za3g^i5%`G>Y#`82;6@wxGJ%&6xWxuOMBrZu+-?JF2+Sw&7aMpJfeZjx_qz=oL*NAj z9tO90EHMILQWfC6G#P-QR6sTLP*5*WGFZ_rlwH*);_EZQvFHuOo1d4O~ND zZvqV)xR}6c1m0%@pCqu9z{hN0n85J_zF-5(38YG2_ofY;NFc2^b#*pyFo8t`uC{@_ z3G@>9u?=()cq4%uZQ#iSUP0g%8@L}{*UN4q@JAc?9f3Uw{M812L|`$2zuUmK33L;9 z%mzL~U@rnwUrzF8gh1LV>e|`B3IcTk({11+0wq|$RvS2!z#OLRVgvIC97o`}HZYUG zt^{6U12qDvLDcoKfrsHhz3g@Z``W;t2%Jn{p$%L|;2i`GwSn&tNF~2+v<-Zoz-$61 z*ueV;97*708#s$VM#-+5Y6EW|&`02O8#sbMs@iq4Y+yct=MZ?84a_3&asubsz|#o4 zmB4##;BmNBFJp}Fy2or_jKB#5K4SwvCy>E@>)x<|^#o2LaH$P^iNK2qTx|pYLEu0F zKeB<<1Qrsw!3Itxa3+CY*}%~RUPj;#Hqb-hU;=-(fjtRinDe^5Ht-ArM-X_(2DT!w z8-XeRPV(n3@U~tyfIz1W{F1;a1g6`-6$IWwU>6(s3V~SfIO;NO;3EWfAn;-v7$opc z0{>zIZzZrVfq6FY8UphOblbo}0&@w}ZD2Nm!w4+4foBoO;IDOKZD1P$84$T{q7B@$ zAHeenyxsBz~KZ=CvdI}>`P!9 z0`Iqh7ZT_p@L?O+k-$mr8iohU&ZC*)oh?~F@>v=JO!ZxScDNiTx z#DY=?Jh7midvR7q-1UFG3=4X-O>4*dR{lkZnP0PW5$dBG{lxpgTrvB%c=-LChR}v` zY*@p#8`{iE8`JAKWx*dyk4$r6yRa8l4r8$#gD0A}3(6*S!rc~*+J3B!wwf1=gKA&1 zk_B)9jbkT%l$0MY!O@eSuS;<>eQ*0OjKaMr*o-zeAS6WK*yC6s`14`NbD7`0iB%o0 z$=zYTJ$et0VfZ_alT!*O5d(HRn z8C_NuC?G`rw)-A;l$bB#1dFUahM{qAmoqb-7uPT^y=(gbhDcMPo`bMO_9M=-fgE1T zlf^$FmV>vJ{#D$N(`n%ft`xe(pxDEA)9m!Hi2~ z6G`y>W^C1}8f{o2t@ID}Ca+FK2S3dOHI>eWhn{u7uaK)r^yl-rAQAj1wcrBD0Ik9a z5ouVTg;v965Fv~=OrE4+z46$*VWA6=p*PS5TLF8c-@m~-4R@I{lds5JLqt+E-zED$Hrgat0|(M};|*gKwm6!xZM= zajU^wfk88`R^aaxcnv?0D*sJk8WrZ1WL8rZ=06JaATbWqEPA`bJfJXlCNY%?GgDzo z1p|6U=PJxZg&8OqtY)I~6{b*OdRmxtM|7dWT&yr1lbELzrh~#9%x2xtpy=}obKsao zfNzO$lbo+A%oc@NNlY~{Z!63Sg?UMG13jZRt+Bf8MTJ=a49FQ(AKb6NGvxz^%Mo3x zFck_j(ZYBf(e(;*t-=&qS#4I}K?-~+Kaid=73LC!=|qfl@?M2GO<@j041>*_j_6T^ zIds%&{WfA+vyE*OYi?DT)x-#+rz^}Vh52{#n=T6TvclXi<+zYrro!B(FcpGv1JhGs zW+=?Hg5eP8tuPZ5roh6q!li-=GeBW3vM{NRs83;fC`>vqp#NwE?x?_rE=6Ndx+6MX zVGbTq{7;OBnClhhTZLIgOn+jgDa=ZRd6}32#8fKGOA2!zF$Khg6lQ_K%pivAl<0hg zxkF(l5W{6n^ht#ouP_6Mq17Y$lEU;?m>$IF#4J{rEQQgC;UYfzp2D1}Fuz{{43|35 zwF>jwVT%Tvi5Wu7XA1MR!Yn6-i^%9!g=tWje-T3qLbOR?o>!O%F;p+3zbni=3NxJ; zVcodG+^#TJ6C3rTt1 z>gQ<+Glm${I3;?L!i-j!{A3{=6sE7joJWjQtc${&t1u@KBh5TtVVnxH3qDm=GqV-u zS8N`0>fcBVR{_z!3iG+byhDtXGgx8j6y|ASgaE@8W|6|o0|o@RT7km~JdGbn#jaDB zTNP%s^+A~ek5%A){6NYsSD335=6qtL>?(!HRG5>Kh14ocJB8T;UoVR>9#oj!`xXBa zgT}j~PbthMg?Wz{slj4}c~@bcB}Qt{pfJxUOxVf|Lj4nksa2R;leukCm|GNPR5G_6 z3Nun+`bci5LUgynT&XbU00Sx?Rp9d!xSf2!LDp93cPA;#ZtR#@-QQVZcKxpSpBND* z=P1lZg?X14Y35}L^NzwiLyVB7kHS2yFgK%*ad@HbXTYO0&DFc_!B#{oxup{qg)6j| zXxdQftM3N-2i?+R2P0p8J%;GHM7!<+dZj{N3^Yz3_lBpf9EyW}DyNU%{Ou6b-~8Wt zVb1WkH#a^4F9_5^8KhzZmK^ofRnNimJng2!evS$hV=ny6+GP6#J9${m z=z#l-&K>X*U4-;VdJdlNK~i6M%rswkVKwT7p9NCAS=go~N7qIcr!aM~bzf-k$` z=Rd6Pjty3Q&&DTF2NQ0qkYet?bdY1m^Z|&+rBWQd0GXD~2LV?sV&Gn__GdyGB7nTE zAd5klI+7$hN2jkwRO?%F%U*m_&2Jj+l5Z;T zO+CN)VZB9zE@)33k>K$tz?PGSnQysKQn+l8; z{2b0sIF^6QQUS}#b2&hscS|=3~1t?~e`91Mq6VsTnwsY|_JPm$|CY-M3%0FJWM4 z&%I0BPHUbz6Yb?GsO0`N_A3AQ{kA#y{x8kHN8Z|!qvj_SCw?#XjRPMyF|Ni zCop>Ap_mUy(*AKIDK2wuoQSX^a$?GyinAdWfbd?J9ACn zJG57=EET^2oWJ}-{T+W&{~zALc=*3r|J8l|SpN|cz3IgI-&5DJ{`5C!(E*@+*|O@2 z#~p}8lI(zw{%g|+U0sSvCcIP$o^Kh1X8=5tTOHimF9yUc3_kj4D{z+Pwf z2YXp3niCOCtX_J4nY0p4d^mRuYaULBhqu=8;w^K?VrJCz7J)iOz*%mLfHp&6hJ)#C z=>nmL#fpk8Yj!RL-&oX;gLtLyDQc7*f=pt+PD`*@h4m23tmXs$H3lGVYQ87oIv*}I5kIsdP@9p5^eb3G3&b{#H5V3`|zP0ML^Ng0Qs zFLIAm)4V+oQ6B;;voYS!hNqqrCtPG?lzNs@zQUYlPP~)8Bda(>O7+N_(hM0T7c2$+ zBh%e_q%zk$lP@(ZNkywan%g)38@-dq9!p>Tzf0{z_WwUo+wothotm4Vwidh*>+%*9 z$0g?^_wI`SLhiShG$Z#*d}&VZmhm}wURUND%r=U{G2%&XoL_{9tyJW8C1h<&rem61 z@*{rT30d1x#4^cPm84S~yn^?1;l7*(VL5VN=I~|i8Jt)UX2NWHg*4s;eJePYjlT)( z#<}j6UAtl7UI{Zh!aV>XvH+C0fP+{}?Y@4T?<#si8l+zZX<%Iq)lwQf{1zypWVU65 zw}!r}FNXffgE{n9G<|5ze>}(p0+B6cI$Ff}IIz zYx)?0nz!dsFx1}3!)ZF^LC%M6{^InF55MNazwVBQzvcA3%lzmenYnS`->kW64})D) zoQ1X&?OVJo?Q*fkv;{8)sb4jKCbzghDNjYm)$s#a}--CtNjzDiwnX( zGY*S6^jQjPs)>{HDfKJH=IpQg@}b8ZP&%HuCJpCOD=PF!N6b5JJwQG=VXj`Z*y?w+ zt0bzR%moGESor6H@D7yF6{-t*|8a94R4CDmDq$K;Ob*BMz#*|gDYy^pMa$zYI1*@_ zP-}W1HW^QHzo+m^4vxrfp6G}M7lYQ&o5&jyXbY!5zB7BftoUV5V9TQbAv73EgDjqE ze)xiNrF#k}bN0^NaWo!6)fe85Mjm@fG%N1%{H^aE_(FrHN|BJ;3^lh{%B1D;sr=_y zH0lF^fiZw^1`yoQJ*bkoxVuu`&cnp##GIOHuEU%vSHkqm6>aU)E0fwao)h1Xp;6`59&9wP*~mCJ^I?^-2Dd>FuB+J=gI1q(5QlfP;14Wq%IDJN ztQDkJR+L5?9s7XVlOXWH)>^2x-}d-kEgezU>MwX}l4B_o;2oWVzp0t#b}Y0&GklNs zp$AR>&tP4s@bFn&6_r8q*ZUJX_SIK%C}^SQkSQl+_GkTHkS*Bx2`i(Fq(5d-p5-(| zuS6Q@53mMU(+3uKqFb^P$8bnuT!Jwv=SVj5*BGlol{mZ#Y>6Rbe)vqH9_#aDNM6M6 z+H(}{o_Zi&e+3I+s2ZdAN+`D0QYMfWax zceo>3%r* zGP)??q-HpGfr*nf<3qYsv7oCp;BSx$N$>@rWRKJrxgOKWSQmGSCtwKbtoUn4hau02 z{_FZOlwkHRNVU!}tVFN@<`SuJng3a2wewoZHvjVT5d0~OpclWI=RIiIgRTTd1?}n1 zM1iz}AaaVe6OEQLT1=wl2w)~tDxw!AVeb)!U_`PHj`)95v|XqZ`XoBnYWFmD1{yFj zv#T7`;h${&aq|x%XcT0YnuTXs&7bD6hKvqI%@%JmidOX3s5G!52P4iGlp&G%?5rk~ zi?C4WxD}`%nBQeyx=zN`G_~5oZVAU%v+>zTN*z?R?le%1&o4@lyBeQu05nJcU4}Wv zm%ZLj&XqiGY$^FkEvT$U&6v{?Dt?94y|!jgwY`=={KMk{{3NvehXqJ(Xs+1@Ghax; z!7hmsTnQ~di&!#HcH$wI4*>jc^emOs(zDdsmK_B>tD*AG75w`yNvNFVH!=!VHS^%K zT#ks1>iyeI}^1qFTXIw zfq)`fus7Z?oN6;zw@F9F#m3)opryWq^XlLqODt~UY_e8g%7#;~ORo6XQ=}eP4cyF5 zDekN|Vr)V$F5_1iuRu=YBYrCq98gUF{xxS3K9fuM4~o*AR;T2OqEu?8_T+$JxRwJt zO`?-Y)|)c3Bz&8G;4Z~GZP3KQloUJ6?>8w=3Mk~-y@Yag-1q8KiSBpEi+4zF917iG zruKv9e+a`Ee5VB;LIJvwU40eoc;_)0KKtjCUlJ*tTJ7~rftgsZXM^xh)AJ5$^Lj|0 zeOIvs=4ZXtIYNjvEqJQR=i}+N(AvjbkoQK!u14t+PR)&UMfBED!Q^n#=rn+Q2=kP) z*|WdqWn>LlTxfvl(i`ddbqo_AdILH;qm_Pmwb*5Y&r6c>Oq?a1la7|?gCO@JbIuVF zYoSP=?~!PkDc3N?j1bR(2P3#T9g^#nu$VMr9!vzZak!GJO= zQcO?&&t$YfB$=LY=pAD`D)k9ay+*H!?d$W578 zhl#5`HELN^fZcr7?7n&5%Lt`~#8wmlD~^#CdYe6S=JUgsZG9zX)l`H21voL}EUifb$gD)Yf zq8xc-{I_hz!W_%6ilsc=SH@6q(

x?$AQL@EMmxh>?e<0^@O+JkXz5AR?emV_|6X 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%0DG^J%9M#2l@P?mcK0Y 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 + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + diff --git a/venv/lib/python3.6/site-packages/pexpect-4.7.0.dist-info/METADATA b/venv/lib/python3.6/site-packages/pexpect-4.7.0.dist-info/METADATA new file mode 100644 index 0000000..d110eb9 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pexpect-4.7.0.dist-info/METADATA @@ -0,0 +1,49 @@ +Metadata-Version: 2.1 +Name: pexpect +Version: 4.7.0 +Summary: Pexpect allows easy control of interactive console applications. +Home-page: https://pexpect.readthedocs.io/ +Author: Noah Spurrier; Thomas Kluyver; Jeff Quast +Author-email: noah@noah.org, thomas@kluyver.me.uk, contact@jeffquast.com +License: ISC license +Platform: UNIX +Classifier: Development Status :: 5 - Production/Stable +Classifier: Environment :: Console +Classifier: Intended Audience :: Developers +Classifier: Intended Audience :: System Administrators +Classifier: License :: OSI Approved :: ISC License (ISCL) +Classifier: Operating System :: POSIX +Classifier: Operating System :: MacOS :: MacOS X +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3 +Classifier: Topic :: Software Development +Classifier: Topic :: Software Development :: Libraries :: Python Modules +Classifier: Topic :: Software Development :: Quality Assurance +Classifier: Topic :: Software Development :: Testing +Classifier: Topic :: System +Classifier: Topic :: System :: Archiving :: Packaging +Classifier: Topic :: System :: Installation/Setup +Classifier: Topic :: System :: Shells +Classifier: Topic :: System :: Software Distribution +Classifier: Topic :: Terminals +Requires-Dist: ptyprocess (>=0.5) + + +Pexpect is a pure Python module for spawning child applications; controlling +them; and responding to expected patterns in their output. Pexpect works like +Don Libes' Expect. Pexpect allows your script to spawn a child application and +control it as if a human were typing commands. + +Pexpect can be used for automating interactive applications such as ssh, ftp, +passwd, telnet, etc. It can be used to a automate setup scripts for duplicating +software package installations on different servers. It can be used for +automated software testing. Pexpect is in the spirit of Don Libes' Expect, but +Pexpect is pure Python. + +The main features of Pexpect require the pty module in the Python standard +library, which is only available on Unix-like systems. Some features—waiting +for patterns from file descriptors or subprocesses—are also available on +Windows. + + diff --git a/venv/lib/python3.6/site-packages/pexpect-4.7.0.dist-info/RECORD b/venv/lib/python3.6/site-packages/pexpect-4.7.0.dist-info/RECORD new file mode 100644 index 0000000..e2e046b --- /dev/null +++ b/venv/lib/python3.6/site-packages/pexpect-4.7.0.dist-info/RECORD @@ -0,0 +1,37 @@ +pexpect-4.7.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +pexpect-4.7.0.dist-info/LICENSE,sha256=Skg64cTcc4psi3P-tJB04YNdoCq1qmhvJnUCmQb6Nk0,987 +pexpect-4.7.0.dist-info/METADATA,sha256=uFn-yQJFlWw7o9tU0oqvzwMMdjh9ZGrRgvUdNkgcYrQ,2180 +pexpect-4.7.0.dist-info/RECORD,, +pexpect-4.7.0.dist-info/WHEEL,sha256=HX-v9-noUkyUoxyZ1PMSuS7auUxDAR4VBdoYLqD0xws,110 +pexpect-4.7.0.dist-info/top_level.txt,sha256=O-b3UY9VQZkW3yDAeFNatUOKO4GojVWO4TTHoI9-E7k,8 +pexpect/ANSI.py,sha256=aA-3tdXz_FZ4G7PAqFZi5g1KBGQ6PzJzS0gm3ALZKZw,12177 +pexpect/FSM.py,sha256=tluiyUGMyIH3q_wLG6Ak1NZVuXUAGNDjq6k6BK1q8RY,13419 +pexpect/__init__.py,sha256=N7atAMzeTCxNKr2ZyA02q8c9kM1Up-EIWCZIqRE_N-w,3902 +pexpect/__pycache__/ANSI.cpython-36.pyc,, +pexpect/__pycache__/FSM.cpython-36.pyc,, +pexpect/__pycache__/__init__.cpython-36.pyc,, +pexpect/__pycache__/_async.cpython-36.pyc,, +pexpect/__pycache__/exceptions.cpython-36.pyc,, +pexpect/__pycache__/expect.cpython-36.pyc,, +pexpect/__pycache__/fdpexpect.cpython-36.pyc,, +pexpect/__pycache__/popen_spawn.cpython-36.pyc,, +pexpect/__pycache__/pty_spawn.cpython-36.pyc,, +pexpect/__pycache__/pxssh.cpython-36.pyc,, +pexpect/__pycache__/replwrap.cpython-36.pyc,, +pexpect/__pycache__/run.cpython-36.pyc,, +pexpect/__pycache__/screen.cpython-36.pyc,, +pexpect/__pycache__/spawnbase.cpython-36.pyc,, +pexpect/__pycache__/utils.cpython-36.pyc,, +pexpect/_async.py,sha256=NG99qvu4mbu5LBYoxvSm4T67CJxUSc_JwuVdzhlWZDc,3439 +pexpect/bashrc.sh,sha256=CHK8qDg_HtDVdfyDULOV8MZDRDr4pOaIbo31XV58nQs,380 +pexpect/exceptions.py,sha256=A9C1PWbBc2j9AKvnv7UkPCawhFTEGYmeULW0vwbMvXQ,1068 +pexpect/expect.py,sha256=qbwIYKkbB2HZYpPbNjDl7oUqyCifDIRi9qjcaaKtghM,11013 +pexpect/fdpexpect.py,sha256=ugTrwveFi-zfl_nOPjbRyLUER1Wmhu8YxczCWtZgZWc,5828 +pexpect/popen_spawn.py,sha256=hVHOqr22jD2Pr-yVgsfwgqGAtULLi6kJLKQRrTBPvEg,6161 +pexpect/pty_spawn.py,sha256=SIMR7qoIw4c5L-kUZsj6Dz1L0aP1bZJ8SOJZqxxEMRs,37057 +pexpect/pxssh.py,sha256=bZHwFDOn1gC8U_Sl07eFFRlYfCjGCwEoC9WaZCHQo5Y,24279 +pexpect/replwrap.py,sha256=Raq9XgYfIlF-rH_CALgFbzK1H_A4o0NqmK9q45anmVA,5633 +pexpect/run.py,sha256=0QkC-tYvIL7fK_UBMc1THP5IzqUub5ogb68zrF9ZKfc,6632 +pexpect/screen.py,sha256=UhWy544cw9oYiEdmmuSdHgNtUtPEQy-sFuX7FYZpYJU,13716 +pexpect/spawnbase.py,sha256=v6T_teBR4UifDLESaMQPNvs5PAqvT8Jhtv-dYWJ3PBo,21067 +pexpect/utils.py,sha256=1jIhzU7eBvY3pbW3LZoJhCOU2KWqgty5HgQ6VBYIp5U,6019 diff --git a/venv/lib/python3.6/site-packages/pexpect-4.7.0.dist-info/WHEEL b/venv/lib/python3.6/site-packages/pexpect-4.7.0.dist-info/WHEEL new file mode 100644 index 0000000..c8240f0 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pexpect-4.7.0.dist-info/WHEEL @@ -0,0 +1,6 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.33.1) +Root-Is-Purelib: true +Tag: py2-none-any +Tag: py3-none-any + diff --git a/venv/lib/python3.6/site-packages/pexpect-4.7.0.dist-info/top_level.txt b/venv/lib/python3.6/site-packages/pexpect-4.7.0.dist-info/top_level.txt new file mode 100644 index 0000000..808fb07 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pexpect-4.7.0.dist-info/top_level.txt @@ -0,0 +1 @@ +pexpect diff --git a/venv/lib/python3.6/site-packages/pexpect/ANSI.py b/venv/lib/python3.6/site-packages/pexpect/ANSI.py new file mode 100644 index 0000000..1cd2e90 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pexpect/ANSI.py @@ -0,0 +1,351 @@ +'''This implements an ANSI (VT100) terminal emulator as a subclass of screen. + +PEXPECT LICENSE + + This license is approved by the OSI and FSF as GPL-compatible. + http://opensource.org/licenses/isc-license.txt + + Copyright (c) 2012, Noah Spurrier + PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY + PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE + COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES. + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +''' + +# references: +# http://en.wikipedia.org/wiki/ANSI_escape_code +# http://www.retards.org/terminals/vt102.html +# http://vt100.net/docs/vt102-ug/contents.html +# http://vt100.net/docs/vt220-rm/ +# http://www.termsys.demon.co.uk/vtansi.htm + +from . import screen +from . import FSM +import string + +# +# The 'Do.*' functions are helper functions for the ANSI class. +# +def DoEmit (fsm): + + screen = fsm.memory[0] + screen.write_ch(fsm.input_symbol) + +def DoStartNumber (fsm): + + fsm.memory.append (fsm.input_symbol) + +def DoBuildNumber (fsm): + + ns = fsm.memory.pop() + ns = ns + fsm.input_symbol + fsm.memory.append (ns) + +def DoBackOne (fsm): + + screen = fsm.memory[0] + screen.cursor_back () + +def DoBack (fsm): + + count = int(fsm.memory.pop()) + screen = fsm.memory[0] + screen.cursor_back (count) + +def DoDownOne (fsm): + + screen = fsm.memory[0] + screen.cursor_down () + +def DoDown (fsm): + + count = int(fsm.memory.pop()) + screen = fsm.memory[0] + screen.cursor_down (count) + +def DoForwardOne (fsm): + + screen = fsm.memory[0] + screen.cursor_forward () + +def DoForward (fsm): + + count = int(fsm.memory.pop()) + screen = fsm.memory[0] + screen.cursor_forward (count) + +def DoUpReverse (fsm): + + screen = fsm.memory[0] + screen.cursor_up_reverse() + +def DoUpOne (fsm): + + screen = fsm.memory[0] + screen.cursor_up () + +def DoUp (fsm): + + count = int(fsm.memory.pop()) + screen = fsm.memory[0] + screen.cursor_up (count) + +def DoHome (fsm): + + c = int(fsm.memory.pop()) + r = int(fsm.memory.pop()) + screen = fsm.memory[0] + screen.cursor_home (r,c) + +def DoHomeOrigin (fsm): + + c = 1 + r = 1 + screen = fsm.memory[0] + screen.cursor_home (r,c) + +def DoEraseDown (fsm): + + screen = fsm.memory[0] + screen.erase_down() + +def DoErase (fsm): + + arg = int(fsm.memory.pop()) + screen = fsm.memory[0] + if arg == 0: + screen.erase_down() + elif arg == 1: + screen.erase_up() + elif arg == 2: + screen.erase_screen() + +def DoEraseEndOfLine (fsm): + + screen = fsm.memory[0] + screen.erase_end_of_line() + +def DoEraseLine (fsm): + + arg = int(fsm.memory.pop()) + screen = fsm.memory[0] + if arg == 0: + screen.erase_end_of_line() + elif arg == 1: + screen.erase_start_of_line() + elif arg == 2: + screen.erase_line() + +def DoEnableScroll (fsm): + + screen = fsm.memory[0] + screen.scroll_screen() + +def DoCursorSave (fsm): + + screen = fsm.memory[0] + screen.cursor_save_attrs() + +def DoCursorRestore (fsm): + + screen = fsm.memory[0] + screen.cursor_restore_attrs() + +def DoScrollRegion (fsm): + + screen = fsm.memory[0] + r2 = int(fsm.memory.pop()) + r1 = int(fsm.memory.pop()) + screen.scroll_screen_rows (r1,r2) + +def DoMode (fsm): + + screen = fsm.memory[0] + mode = fsm.memory.pop() # Should be 4 + # screen.setReplaceMode () + +def DoLog (fsm): + + screen = fsm.memory[0] + fsm.memory = [screen] + fout = open ('log', 'a') + fout.write (fsm.input_symbol + ',' + fsm.current_state + '\n') + fout.close() + +class term (screen.screen): + + '''This class is an abstract, generic terminal. + This does nothing. This is a placeholder that + provides a common base class for other terminals + such as an ANSI terminal. ''' + + def __init__ (self, r=24, c=80, *args, **kwargs): + + screen.screen.__init__(self, r,c,*args,**kwargs) + +class ANSI (term): + '''This class implements an ANSI (VT100) terminal. + It is a stream filter that recognizes ANSI terminal + escape sequences and maintains the state of a screen object. ''' + + def __init__ (self, r=24,c=80,*args,**kwargs): + + term.__init__(self,r,c,*args,**kwargs) + + #self.screen = screen (24,80) + self.state = FSM.FSM ('INIT',[self]) + self.state.set_default_transition (DoLog, 'INIT') + self.state.add_transition_any ('INIT', DoEmit, 'INIT') + self.state.add_transition ('\x1b', 'INIT', None, 'ESC') + self.state.add_transition_any ('ESC', DoLog, 'INIT') + self.state.add_transition ('(', 'ESC', None, 'G0SCS') + self.state.add_transition (')', 'ESC', None, 'G1SCS') + self.state.add_transition_list ('AB012', 'G0SCS', None, 'INIT') + self.state.add_transition_list ('AB012', 'G1SCS', None, 'INIT') + self.state.add_transition ('7', 'ESC', DoCursorSave, 'INIT') + self.state.add_transition ('8', 'ESC', DoCursorRestore, 'INIT') + self.state.add_transition ('M', 'ESC', DoUpReverse, 'INIT') + self.state.add_transition ('>', 'ESC', DoUpReverse, 'INIT') + self.state.add_transition ('<', 'ESC', DoUpReverse, 'INIT') + self.state.add_transition ('=', 'ESC', None, 'INIT') # Selects application keypad. + self.state.add_transition ('#', 'ESC', None, 'GRAPHICS_POUND') + self.state.add_transition_any ('GRAPHICS_POUND', None, 'INIT') + self.state.add_transition ('[', 'ESC', None, 'ELB') + # ELB means Escape Left Bracket. That is ^[[ + self.state.add_transition ('H', 'ELB', DoHomeOrigin, 'INIT') + self.state.add_transition ('D', 'ELB', DoBackOne, 'INIT') + self.state.add_transition ('B', 'ELB', DoDownOne, 'INIT') + self.state.add_transition ('C', 'ELB', DoForwardOne, 'INIT') + self.state.add_transition ('A', 'ELB', DoUpOne, 'INIT') + self.state.add_transition ('J', 'ELB', DoEraseDown, 'INIT') + self.state.add_transition ('K', 'ELB', DoEraseEndOfLine, 'INIT') + self.state.add_transition ('r', 'ELB', DoEnableScroll, 'INIT') + self.state.add_transition ('m', 'ELB', self.do_sgr, 'INIT') + self.state.add_transition ('?', 'ELB', None, 'MODECRAP') + self.state.add_transition_list (string.digits, 'ELB', DoStartNumber, 'NUMBER_1') + self.state.add_transition_list (string.digits, 'NUMBER_1', DoBuildNumber, 'NUMBER_1') + self.state.add_transition ('D', 'NUMBER_1', DoBack, 'INIT') + self.state.add_transition ('B', 'NUMBER_1', DoDown, 'INIT') + self.state.add_transition ('C', 'NUMBER_1', DoForward, 'INIT') + self.state.add_transition ('A', 'NUMBER_1', DoUp, 'INIT') + self.state.add_transition ('J', 'NUMBER_1', DoErase, 'INIT') + self.state.add_transition ('K', 'NUMBER_1', DoEraseLine, 'INIT') + self.state.add_transition ('l', 'NUMBER_1', DoMode, 'INIT') + ### It gets worse... the 'm' code can have infinite number of + ### number;number;number before it. I've never seen more than two, + ### but the specs say it's allowed. crap! + self.state.add_transition ('m', 'NUMBER_1', self.do_sgr, 'INIT') + ### LED control. Same implementation problem as 'm' code. + self.state.add_transition ('q', 'NUMBER_1', self.do_decsca, 'INIT') + + # \E[?47h switch to alternate screen + # \E[?47l restores to normal screen from alternate screen. + self.state.add_transition_list (string.digits, 'MODECRAP', DoStartNumber, 'MODECRAP_NUM') + self.state.add_transition_list (string.digits, 'MODECRAP_NUM', DoBuildNumber, 'MODECRAP_NUM') + self.state.add_transition ('l', 'MODECRAP_NUM', self.do_modecrap, 'INIT') + self.state.add_transition ('h', 'MODECRAP_NUM', self.do_modecrap, 'INIT') + +#RM Reset Mode Esc [ Ps l none + self.state.add_transition (';', 'NUMBER_1', None, 'SEMICOLON') + self.state.add_transition_any ('SEMICOLON', DoLog, 'INIT') + self.state.add_transition_list (string.digits, 'SEMICOLON', DoStartNumber, 'NUMBER_2') + self.state.add_transition_list (string.digits, 'NUMBER_2', DoBuildNumber, 'NUMBER_2') + self.state.add_transition_any ('NUMBER_2', DoLog, 'INIT') + self.state.add_transition ('H', 'NUMBER_2', DoHome, 'INIT') + self.state.add_transition ('f', 'NUMBER_2', DoHome, 'INIT') + self.state.add_transition ('r', 'NUMBER_2', DoScrollRegion, 'INIT') + ### It gets worse... the 'm' code can have infinite number of + ### number;number;number before it. I've never seen more than two, + ### but the specs say it's allowed. crap! + self.state.add_transition ('m', 'NUMBER_2', self.do_sgr, 'INIT') + ### LED control. Same problem as 'm' code. + self.state.add_transition ('q', 'NUMBER_2', self.do_decsca, 'INIT') + self.state.add_transition (';', 'NUMBER_2', None, 'SEMICOLON_X') + + # Create a state for 'q' and 'm' which allows an infinite number of ignored numbers + self.state.add_transition_any ('SEMICOLON_X', DoLog, 'INIT') + self.state.add_transition_list (string.digits, 'SEMICOLON_X', DoStartNumber, 'NUMBER_X') + self.state.add_transition_list (string.digits, 'NUMBER_X', DoBuildNumber, 'NUMBER_X') + self.state.add_transition_any ('NUMBER_X', DoLog, 'INIT') + self.state.add_transition ('m', 'NUMBER_X', self.do_sgr, 'INIT') + self.state.add_transition ('q', 'NUMBER_X', self.do_decsca, 'INIT') + self.state.add_transition (';', 'NUMBER_X', None, 'SEMICOLON_X') + + def process (self, c): + """Process a single character. Called by :meth:`write`.""" + if isinstance(c, bytes): + c = self._decode(c) + self.state.process(c) + + def process_list (self, l): + + self.write(l) + + def write (self, s): + """Process text, writing it to the virtual screen while handling + ANSI escape codes. + """ + if isinstance(s, bytes): + s = self._decode(s) + for c in s: + self.process(c) + + def flush (self): + pass + + def write_ch (self, ch): + '''This puts a character at the current cursor position. The cursor + position is moved forward with wrap-around, but no scrolling is done if + the cursor hits the lower-right corner of the screen. ''' + + if isinstance(ch, bytes): + ch = self._decode(ch) + + #\r and \n both produce a call to cr() and lf(), respectively. + ch = ch[0] + + if ch == u'\r': + self.cr() + return + if ch == u'\n': + self.crlf() + return + if ch == chr(screen.BS): + self.cursor_back() + return + self.put_abs(self.cur_r, self.cur_c, ch) + old_r = self.cur_r + old_c = self.cur_c + self.cursor_forward() + if old_c == self.cur_c: + self.cursor_down() + if old_r != self.cur_r: + self.cursor_home (self.cur_r, 1) + else: + self.scroll_up () + self.cursor_home (self.cur_r, 1) + self.erase_line() + + def do_sgr (self, fsm): + '''Select Graphic Rendition, e.g. color. ''' + screen = fsm.memory[0] + fsm.memory = [screen] + + def do_decsca (self, fsm): + '''Select character protection attribute. ''' + screen = fsm.memory[0] + fsm.memory = [screen] + + def do_modecrap (self, fsm): + '''Handler for \x1b[?h and \x1b[?l. If anyone + wanted to actually use these, they'd need to add more states to the + FSM rather than just improve or override this method. ''' + screen = fsm.memory[0] + fsm.memory = [screen] diff --git a/venv/lib/python3.6/site-packages/pexpect/FSM.py b/venv/lib/python3.6/site-packages/pexpect/FSM.py new file mode 100644 index 0000000..46b392e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pexpect/FSM.py @@ -0,0 +1,334 @@ +#!/usr/bin/env python + +'''This module implements a Finite State Machine (FSM). In addition to state +this FSM also maintains a user defined "memory". So this FSM can be used as a +Push-down Automata (PDA) since a PDA is a FSM + memory. + +The following describes how the FSM works, but you will probably also need to +see the example function to understand how the FSM is used in practice. + +You define an FSM by building tables of transitions. For a given input symbol +the process() method uses these tables to decide what action to call and what +the next state will be. The FSM has a table of transitions that associate: + + (input_symbol, current_state) --> (action, next_state) + +Where "action" is a function you define. The symbols and states can be any +objects. You use the add_transition() and add_transition_list() methods to add +to the transition table. The FSM also has a table of transitions that +associate: + + (current_state) --> (action, next_state) + +You use the add_transition_any() method to add to this transition table. The +FSM also has one default transition that is not associated with any specific +input_symbol or state. You use the set_default_transition() method to set the +default transition. + +When an action function is called it is passed a reference to the FSM. The +action function may then access attributes of the FSM such as input_symbol, +current_state, or "memory". The "memory" attribute can be any object that you +want to pass along to the action functions. It is not used by the FSM itself. +For parsing you would typically pass a list to be used as a stack. + +The processing sequence is as follows. The process() method is given an +input_symbol to process. The FSM will search the table of transitions that +associate: + + (input_symbol, current_state) --> (action, next_state) + +If the pair (input_symbol, current_state) is found then process() will call the +associated action function and then set the current state to the next_state. + +If the FSM cannot find a match for (input_symbol, current_state) it will then +search the table of transitions that associate: + + (current_state) --> (action, next_state) + +If the current_state is found then the process() method will call the +associated action function and then set the current state to the next_state. +Notice that this table lacks an input_symbol. It lets you define transitions +for a current_state and ANY input_symbol. Hence, it is called the "any" table. +Remember, it is always checked after first searching the table for a specific +(input_symbol, current_state). + +For the case where the FSM did not match either of the previous two cases the +FSM will try to use the default transition. If the default transition is +defined then the process() method will call the associated action function and +then set the current state to the next_state. This lets you define a default +transition as a catch-all case. You can think of it as an exception handler. +There can be only one default transition. + +Finally, if none of the previous cases are defined for an input_symbol and +current_state then the FSM will raise an exception. This may be desirable, but +you can always prevent this just by defining a default transition. + +Noah Spurrier 20020822 + +PEXPECT LICENSE + + This license is approved by the OSI and FSF as GPL-compatible. + http://opensource.org/licenses/isc-license.txt + + Copyright (c) 2012, Noah Spurrier + PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY + PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE + COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES. + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +''' + +class ExceptionFSM(Exception): + + '''This is the FSM Exception class.''' + + def __init__(self, value): + self.value = value + + def __str__(self): + return 'ExceptionFSM: ' + str(self.value) + +class FSM: + + '''This is a Finite State Machine (FSM). + ''' + + def __init__(self, initial_state, memory=None): + + '''This creates the FSM. You set the initial state here. The "memory" + attribute is any object that you want to pass along to the action + functions. It is not used by the FSM. For parsing you would typically + pass a list to be used as a stack. ''' + + # Map (input_symbol, current_state) --> (action, next_state). + self.state_transitions = {} + # Map (current_state) --> (action, next_state). + self.state_transitions_any = {} + self.default_transition = None + + self.input_symbol = None + self.initial_state = initial_state + self.current_state = self.initial_state + self.next_state = None + self.action = None + self.memory = memory + + def reset (self): + + '''This sets the current_state to the initial_state and sets + input_symbol to None. The initial state was set by the constructor + __init__(). ''' + + self.current_state = self.initial_state + self.input_symbol = None + + def add_transition (self, input_symbol, state, action=None, next_state=None): + + '''This adds a transition that associates: + + (input_symbol, current_state) --> (action, next_state) + + The action may be set to None in which case the process() method will + ignore the action and only set the next_state. The next_state may be + set to None in which case the current state will be unchanged. + + You can also set transitions for a list of symbols by using + add_transition_list(). ''' + + if next_state is None: + next_state = state + self.state_transitions[(input_symbol, state)] = (action, next_state) + + def add_transition_list (self, list_input_symbols, state, action=None, next_state=None): + + '''This adds the same transition for a list of input symbols. + You can pass a list or a string. Note that it is handy to use + string.digits, string.whitespace, string.letters, etc. to add + transitions that match character classes. + + The action may be set to None in which case the process() method will + ignore the action and only set the next_state. The next_state may be + set to None in which case the current state will be unchanged. ''' + + if next_state is None: + next_state = state + for input_symbol in list_input_symbols: + self.add_transition (input_symbol, state, action, next_state) + + def add_transition_any (self, state, action=None, next_state=None): + + '''This adds a transition that associates: + + (current_state) --> (action, next_state) + + That is, any input symbol will match the current state. + The process() method checks the "any" state associations after it first + checks for an exact match of (input_symbol, current_state). + + The action may be set to None in which case the process() method will + ignore the action and only set the next_state. The next_state may be + set to None in which case the current state will be unchanged. ''' + + if next_state is None: + next_state = state + self.state_transitions_any [state] = (action, next_state) + + def set_default_transition (self, action, next_state): + + '''This sets the default transition. This defines an action and + next_state if the FSM cannot find the input symbol and the current + state in the transition list and if the FSM cannot find the + current_state in the transition_any list. This is useful as a final + fall-through state for catching errors and undefined states. + + The default transition can be removed by setting the attribute + default_transition to None. ''' + + self.default_transition = (action, next_state) + + def get_transition (self, input_symbol, state): + + '''This returns (action, next state) given an input_symbol and state. + This does not modify the FSM state, so calling this method has no side + effects. Normally you do not call this method directly. It is called by + process(). + + The sequence of steps to check for a defined transition goes from the + most specific to the least specific. + + 1. Check state_transitions[] that match exactly the tuple, + (input_symbol, state) + + 2. Check state_transitions_any[] that match (state) + In other words, match a specific state and ANY input_symbol. + + 3. Check if the default_transition is defined. + This catches any input_symbol and any state. + This is a handler for errors, undefined states, or defaults. + + 4. No transition was defined. If we get here then raise an exception. + ''' + + if (input_symbol, state) in self.state_transitions: + return self.state_transitions[(input_symbol, state)] + elif state in self.state_transitions_any: + return self.state_transitions_any[state] + elif self.default_transition is not None: + return self.default_transition + else: + raise ExceptionFSM ('Transition is undefined: (%s, %s).' % + (str(input_symbol), str(state)) ) + + def process (self, input_symbol): + + '''This is the main method that you call to process input. This may + cause the FSM to change state and call an action. This method calls + get_transition() to find the action and next_state associated with the + input_symbol and current_state. If the action is None then the action + is not called and only the current state is changed. This method + processes one complete input symbol. You can process a list of symbols + (or a string) by calling process_list(). ''' + + self.input_symbol = input_symbol + (self.action, self.next_state) = self.get_transition (self.input_symbol, self.current_state) + if self.action is not None: + self.action (self) + self.current_state = self.next_state + self.next_state = None + + def process_list (self, input_symbols): + + '''This takes a list and sends each element to process(). The list may + be a string or any iterable object. ''' + + for s in input_symbols: + self.process (s) + +############################################################################## +# The following is an example that demonstrates the use of the FSM class to +# process an RPN expression. Run this module from the command line. You will +# get a prompt > for input. Enter an RPN Expression. Numbers may be integers. +# Operators are * / + - Use the = sign to evaluate and print the expression. +# For example: +# +# 167 3 2 2 * * * 1 - = +# +# will print: +# +# 2003 +############################################################################## + +import sys +import string + +PY3 = (sys.version_info[0] >= 3) + +# +# These define the actions. +# Note that "memory" is a list being used as a stack. +# + +def BeginBuildNumber (fsm): + fsm.memory.append (fsm.input_symbol) + +def BuildNumber (fsm): + s = fsm.memory.pop () + s = s + fsm.input_symbol + fsm.memory.append (s) + +def EndBuildNumber (fsm): + s = fsm.memory.pop () + fsm.memory.append (int(s)) + +def DoOperator (fsm): + ar = fsm.memory.pop() + al = fsm.memory.pop() + if fsm.input_symbol == '+': + fsm.memory.append (al + ar) + elif fsm.input_symbol == '-': + fsm.memory.append (al - ar) + elif fsm.input_symbol == '*': + fsm.memory.append (al * ar) + elif fsm.input_symbol == '/': + fsm.memory.append (al / ar) + +def DoEqual (fsm): + print(str(fsm.memory.pop())) + +def Error (fsm): + print('That does not compute.') + print(str(fsm.input_symbol)) + +def main(): + + '''This is where the example starts and the FSM state transitions are + defined. Note that states are strings (such as 'INIT'). This is not + necessary, but it makes the example easier to read. ''' + + f = FSM ('INIT', []) + f.set_default_transition (Error, 'INIT') + f.add_transition_any ('INIT', None, 'INIT') + f.add_transition ('=', 'INIT', DoEqual, 'INIT') + f.add_transition_list (string.digits, 'INIT', BeginBuildNumber, 'BUILDING_NUMBER') + f.add_transition_list (string.digits, 'BUILDING_NUMBER', BuildNumber, 'BUILDING_NUMBER') + f.add_transition_list (string.whitespace, 'BUILDING_NUMBER', EndBuildNumber, 'INIT') + f.add_transition_list ('+-*/', 'INIT', DoOperator, 'INIT') + + print() + print('Enter an RPN Expression.') + print('Numbers may be integers. Operators are * / + -') + print('Use the = sign to evaluate and print the expression.') + print('For example: ') + print(' 167 3 2 2 * * * 1 - =') + inputstr = (input if PY3 else raw_input)('> ') # analysis:ignore + f.process_list(inputstr) + + +if __name__ == '__main__': + main() diff --git a/venv/lib/python3.6/site-packages/pexpect/__init__.py b/venv/lib/python3.6/site-packages/pexpect/__init__.py new file mode 100644 index 0000000..cf7a70d --- /dev/null +++ b/venv/lib/python3.6/site-packages/pexpect/__init__.py @@ -0,0 +1,85 @@ +'''Pexpect is a Python module for spawning child applications and controlling +them automatically. Pexpect can be used for automating interactive applications +such as ssh, ftp, passwd, telnet, etc. It can be used to a automate setup +scripts for duplicating software package installations on different servers. It +can be used for automated software testing. Pexpect is in the spirit of Don +Libes' Expect, but Pexpect is pure Python. Other Expect-like modules for Python +require TCL and Expect or require C extensions to be compiled. Pexpect does not +use C, Expect, or TCL extensions. It should work on any platform that supports +the standard Python pty module. The Pexpect interface focuses on ease of use so +that simple tasks are easy. + +There are two main interfaces to the Pexpect system; these are the function, +run() and the class, spawn. The spawn class is more powerful. The run() +function is simpler than spawn, and is good for quickly calling program. When +you call the run() function it executes a given program and then returns the +output. This is a handy replacement for os.system(). + +For example:: + + pexpect.run('ls -la') + +The spawn class is the more powerful interface to the Pexpect system. You can +use this to spawn a child program then interact with it by sending input and +expecting responses (waiting for patterns in the child's output). + +For example:: + + child = pexpect.spawn('scp foo user@example.com:.') + child.expect('Password:') + child.sendline(mypassword) + +This works even for commands that ask for passwords or other input outside of +the normal stdio streams. For example, ssh reads input directly from the TTY +device which bypasses stdin. + +Credits: Noah Spurrier, Richard Holden, Marco Molteni, Kimberley Burchett, +Robert Stone, Hartmut Goebel, Chad Schroeder, Erick Tryzelaar, Dave Kirby, Ids +vander Molen, George Todd, Noel Taylor, Nicolas D. Cesar, Alexander Gattin, +Jacques-Etienne Baudoux, Geoffrey Marshall, Francisco Lourenco, Glen Mabey, +Karthik Gurusamy, Fernando Perez, Corey Minyard, Jon Cohen, Guillaume +Chazarain, Andrew Ryan, Nick Craig-Wood, Andrew Stone, Jorgen Grahn, John +Spiegel, Jan Grant, and Shane Kerr. Let me know if I forgot anyone. + +Pexpect is free, open source, and all that good stuff. +http://pexpect.sourceforge.net/ + +PEXPECT LICENSE + + This license is approved by the OSI and FSF as GPL-compatible. + http://opensource.org/licenses/isc-license.txt + + Copyright (c) 2012, Noah Spurrier + PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY + PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE + COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES. + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +''' + +import sys +PY3 = (sys.version_info[0] >= 3) + +from .exceptions import ExceptionPexpect, EOF, TIMEOUT +from .utils import split_command_line, which, is_executable_file +from .expect import Expecter, searcher_re, searcher_string + +if sys.platform != 'win32': + # On Unix, these are available at the top level for backwards compatibility + from .pty_spawn import spawn, spawnu + from .run import run, runu + +__version__ = '4.7.0' +__revision__ = '' +__all__ = ['ExceptionPexpect', 'EOF', 'TIMEOUT', 'spawn', 'spawnu', 'run', 'runu', + 'which', 'split_command_line', '__version__', '__revision__'] + + + +# vim: set shiftround expandtab tabstop=4 shiftwidth=4 ft=python autoindent : diff --git a/venv/lib/python3.6/site-packages/pexpect/__pycache__/ANSI.cpython-36.pyc b/venv/lib/python3.6/site-packages/pexpect/__pycache__/ANSI.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..48cf42f8e1f16d870e5e409c1bc5cfd17e748714 GIT binary patch literal 10273 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 H%uf6-dyPPT literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pexpect/__pycache__/FSM.cpython-36.pyc b/venv/lib/python3.6/site-packages/pexpect/__pycache__/FSM.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2f79a5f6316869f682391a9d835b41a3656b410d GIT binary patch literal 12690 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pexpect/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pexpect/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2136c2b9e3940f421cbd1b3f9971caa6249cd0dc GIT binary patch literal 3958 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pexpect/__pycache__/_async.cpython-36.pyc b/venv/lib/python3.6/site-packages/pexpect/__pycache__/_async.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..459eccce251c0d8d1c455c2e3db0522306c73c01 GIT binary patch literal 3305 zcmb_e&2JpH6(>0#JGYr+_Ahqn=c4@qN)@7#O!AC{?U#q#_C+Z06`3<}Lzgqf#-8j+N4lqc&O_h! z`_h*k+wVMNGLYROFb7ouMu;8;xvwA2VH%yadz94esx-R=Ik5xH4bmsoO4!p$Gtflul$LP zxa3ltVtmZzVjI`|ggp}{E=f1;$etPb`J47M|C#uPowyhKH14=RXPg~xV#fi-R~vq| z%Pw>2oVA0V{x@eQ9%r)+$gh(;cDvSia~MHl<}2?h%f(Z)VH9U4!IjT{9IaPSDssx# zB*1t6!L)-O>?X=X+x+j{JN2ZzQ>NvuG_UG7%WlQ--Gf;Da(1UwN2N;Y^KTSa$9ZzQ zJT}4mSv>hd#`k|f2cWRoo2~Fd=KZWl;;g!V`%G}SVZ5r04|C&xF&&MR4p-W5R3Deh zbfU#58fsK%WrAECMl!DBaKj!Om4{KS zZLKjhDC22$A=|0j$)Rt8v%~cUj1jJtT0KvTX_Xz@osE;qBh$UmpR0u)^0m;64>WEfN` zmsy$v1Pkm$?H0z5%Mx>;zrdn3tSwQ`I8F9T#a19JpGQ zSr{Y}yK!aJH4ZRlTzgWlJs|=dECAZdy8k*Yjr25+pzS2iWgALABInWVnQ-|!T)hb} ztUH@L5UXgz@o!^pDe{R9KR~HIL8TZmFIbm{4q5(`g|2j^hp%UOmW6)Hv0(>Hyn^vS z_T>QIu3VLC`1UO4uIm+Sw{uRmbPAP^P^wK-4R2V)YCg6^8-YwM=L}sEzY8ahK^+)8DmcA7wYVGZ3!_dOKLUJR(8-CPR!+m|E$TEiDi9_XJK~_5*39VLu~f>?3HDm zt<3*RS^ZN|XVBUqQ6dJ|(8c^tXa(v&y$ z=L{KLj62BS4mqE6K7Pxt1>Inc+qgFGhZyTMmeiiG{5|C06=dMQEHdy-yTaydv<8%e zIeWrB$9~_*#A1htAeO_`7TZMTCWxd;3W@yWw+-VWEA3n0SzqcdiFt>bQX1J<|C|Q8 z+eZuUh8^n^CG{;#4E+|6E+t8AkKmQ@(p;(|eVvwHalwEDf$K!2&y{=#iRvaQ1`g@- zz97K5LZBvQSqFe;KU{Xq()xsGnSOK%J-V!0_Ru(fO@ayN;T5$HFK5n9I86EuOzOg< z4`5QbXSNP0`}DeGNbwb(GkO0hIoEHa)q+gy>AszzMYz@FY}K!Y_< zi4;iGW637pK&qt|=DYUdmWs|I$Tz*TvM;ba!E@;GZktyqRP!QqwjVv#L@ur8TPo7; z&;Xr(!JFoCoMlB-OH5Y*D#owF#liPQ8_5q>0Msat@g#~&FN!9GoMzPSN70wlIBRFx z5GR{id$*RqP2FEpWi`D|tqbjJixQnpBX`lL2sL=rh`r$wU8!R=@1$9*6*g96dG?dWODlmvI#K^KGj8CBt>R-e3>G6#kRM*Pf%WH P69D~vWZM1>lxzP3yEXQ% literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pexpect/__pycache__/exceptions.cpython-36.pyc b/venv/lib/python3.6/site-packages/pexpect/__pycache__/exceptions.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a45d792f14937dcf4370da5c827607382ed47438 GIT binary patch literal 1838 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 JT4TTA{T+T8sHFe^ literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pexpect/__pycache__/fdpexpect.cpython-36.pyc b/venv/lib/python3.6/site-packages/pexpect/__pycache__/fdpexpect.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e41b954c32f676df1a004e48b0638510b5ae39ef GIT binary patch literal 5767 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pexpect/__pycache__/popen_spawn.cpython-36.pyc b/venv/lib/python3.6/site-packages/pexpect/__pycache__/popen_spawn.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b3cd2613c07902c6b4007aee840bd2c1a816f276 GIT binary patch literal 5066 zcmZ`-%X1t@8K0il&d#n@D_efW#!Q?Pc!Q$^oRE|&ggCaGn1G~6>nNTI8IQJmty#^^ ztb1lHX=_AL$dHpcP{oZCCn#m+<>~q?N2xM(X$T`+d*e>oYU% zU!Hya+1zvj6XAM`7O*cxgF0A z+kRWsYw_Ihlz)n8A86d+^(PvyiaF9wj$HV5f_;kCSH`}LiWR+@ZxAo zcq6eh61{vO8-?4)2gg~IJoK{h#z>|;k!1@j=}08*Ghm=Cb@bBucr3=Ev=)b>eD@hc zFFNaMw9ETpCQ4)F{`C$kjm70VD4JO=v0sqyjzrd@Jr2M6K_!b(5gJg{fat|9v_9h& zx1ZF3YYmtxx`3(68&5P~+T=4RYrMs0Q98WM=TO%9C4QREKViPh&+xP8Y4CIWJjy1& zz+XT)^Mz(=ehavKr*suf>dwzD z=!ISwg;`jIQ`9+oYBQ~HxVGiUH*#ZO4lJ(kV`g9{twI~rsIO}04ma}pz(s0MS=fbJ z)VTSyw%5p;gBfmZ>GBU4Y3*x!&7x^)gIToN%bKnQvqiILaQht%J#(nlP&-wy{Peyq zzdTrNpf*1^gI;5BmOEQIuRqoI7*?DsSf3S*-_yO$<5uSf7f`#vUF0v&E%!ClF6Nh1 z`JMdo;JfJcc;hLpcoFp%2UmD=pMh4YzqC(cs{zoNrH)p#pmaS?$0{4dK_nTF_npoB|k>3u*FimhYq2HM)%}m67aB9dUsgrC`HcMHX zGT2;AzChU=Wv3{+fULB)w!xB2UP1#5ss}+Y4znx>{;K`&?bq_*=(SNadR37f$FGLr z^{r66IeG2CsvVVNyaHw87Dl`BMeKG4DSI86X0({e+`7ZsdP{eh!(G{)-G+qU{;TnS8r2>0k~G;)%62w6+tYX3QZbquzSZ;ER!Eo??*I|i4*LRZ=stbWoMCTKv{== z>(JdcyR4gNoBHI!G2EXwW<9ci^ifGkp-%RSP%oH5he5pc$%oy|DD&{2MZ+i#C6Swn zgkSA=Vy7oYIS>jd6H?H$B=w}o$1?FAhw)e}xZc6H1SNolOn67HB$8z(h=MzlQ7*=~ zMy4)kOxnjtP=nK(8<<5&-JC4v&e?+9)_&RA(-jRBM{RJlqT}C+j$RnYnWuIF0q{#6 zshuZcF%(Ho90wtw5A1}8S#YPf?;h*+dI&K$1Om-n5BHVf2J}AN7$C&-;Bxr52X*l( zSD9V&5D!Ll?yeV3w~M1J_tO61qyI6!k12Ubxzl$|}8_yJ5a zXUa@!1ARd5K<5U+Gd(xqBD8@uum?5LJEeou7SnR2jc^puPH3XP29fc2m_rrQiaXPI z{rkWVKKmG(R+Z>wYF;uPZU{*zZ|vp(mdMNnW*wr8$rSmsrEbSk;!&F9pM94m zB1+81ncvK!hX@1?S}x27qRTKBQ?rQ3pC+CFNe0;WPlOLSNs=80ZrC9QjPg0@p(CfV zLpV)kr;A1oSphz}d=Kv?C?=BmP~WoU6{_vA@AP%?S3o8b5~mMNqcXY03^t`3f>ToYWog8oB$y-KDPIywzR(d2lOO{A3X= z2fgp(jq#D+R{g48jg>Wwbr)BEp&WH-Zbfli>G}_`@1gTDu>DCEag6^BX{z27T_fqX z{v3m7$EhHbyimGD3yHU+&{f=n2&M8}Ke$D&m&&Rsi&q66DhMIa$g+`+g9QsqP`0UM zDlPTyfr+CS@Wg$~8fg`x%rEI^<#6@MsS{=h!w6zrT1`I{EYT&K$gjdLoX4 z;D`Vm{u7!+p{jbn&ZCl%ZFE%7-@1x;^d)D`u^iW#b8F75Gppux=F3_T@U(~BuF&E) zDf=E}N_K8jEu`!kveHs8OaJ+?ORQ;@W13Au$5%1&Vs9^jb@ w-%D$pM{%ZJtLh3zR8%z;ZaeQ(z`aX+$mp$ZLU@k-={lQ7XnhtQqY1z9f7CAuW&i*H literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pexpect/__pycache__/pty_spawn.cpython-36.pyc b/venv/lib/python3.6/site-packages/pexpect/__pycache__/pty_spawn.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ccba47bfb424052cf5b615016af7c9f0a00a32b1 GIT binary patch literal 32124 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pexpect/__pycache__/pxssh.cpython-36.pyc b/venv/lib/python3.6/site-packages/pexpect/__pycache__/pxssh.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8a43a4da274751dd3ceb3f110638a0bf63c3886a GIT binary patch literal 16735 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 Z(MjO6Mu#=|pO#Baz$+ftMz!3?e*(^pCvX4& literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pexpect/__pycache__/replwrap.cpython-36.pyc b/venv/lib/python3.6/site-packages/pexpect/__pycache__/replwrap.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..df703cbd872332b165107fe7af5da9060258166b GIT binary patch literal 4561 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 PtPLa*M?af?_MQI$3ZUjd literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pexpect/__pycache__/run.cpython-36.pyc b/venv/lib/python3.6/site-packages/pexpect/__pycache__/run.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fadac54426ad7df30fe0b60c2a1f1c137a38143b GIT binary patch literal 5768 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pexpect/__pycache__/screen.cpython-36.pyc b/venv/lib/python3.6/site-packages/pexpect/__pycache__/screen.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d8a7bb60dc9e8adf255e6101b9fa16f0d807a78c GIT binary patch literal 14656 zcmbtbTWlNId7c?wMa%MiZLhuF*{j7}nZE6A631~?mMNQwOlnElUNgI)DV~uk zBU@&uB&Zx@TcAK%1Snecr6^joeJc7;6n)H7-wX6%(6>Gred|+U6iC1CoSEUplD*l; z;5lZF*g?iG8hQ(~&R zPwcDi7yGLR#DVHTaj<$w9I74`hpR`#k?L#WwdzqPwsuUI#|?4xL85xxIWB+Yyk0#a zj)~(>jq1tkhIn0^cxs3f+g9}rVO5Om$@+hQ^rh9NYd6=sEoa?nd#+u#A2p@7QE%C9 zLpn}7XX_EJz2Q2-_Byt^(d~AmXU`TZ1>1Avdb3?`Wt{bmR^4lM)B{fNuq~agbX-iV zZrSy=uw5KG_VA*Zw%N8l64GeZT{oAx*>OF)vw~}mz3zCc9Rb25o@%?@ro{N=Cwh5J zquuDVJ=tlY7miDcoy;XQ)unqs?K+!Xr{U#Du4?Y-RcvR|bK01AurRr+3t@Nb(rvcy zlL9`Kaok3|>jblBGK=}o7xQyV_CjGUU##Ra85@5}O08zYX}gNMdbcY(k2I-dqXc1* z{rSqgU3cy4iwkEOo%Jr{vfOfVY6?!X>UrHuXU}%Jn5VNL8&0kx@1G6kbA6n#iEQ3q_3Y_J*1mA={Dm32*r~7DmF|X=O-I_7+c^D{4X3-JR$I)MZx$+* zLaAskmF!!U{ER(UTD&`B-z;4#%%h(zUOQVV+t&(}rE=lwt);xZbfZwQE2a6RJG14y zJ&&8S#k+d4Tjj-4C2!v;EZwkioqg%nl0Bc#+j!NSF+W?j3q^Z&VS(fq@)a#h z&KXe(3ZfO?o~?kQw}V+R`z=taxSU&T}8lrVX2s}RC45?ShDlC^Tj2* za)Zn$p=jE!=3#2HR~MAX)m#v}U4ac2W*26lpfap+26Kc*;AgG`%lzyX=EE5K+U(8Q z>-h>b!$*Tt%^NgODPiTZUCvi-Ei93f`Eu!|y-=#)iFs`r*JhVy`8ebVqAN4@of~f0bBtXG{89k$Pn`akh`Ru)`i!0pLCl!j9&!`(rtN;#&e!o zASY}38Gv8oLCbmMw4Nn!=~;?Rn#}~844XY{CfV#|GsR{fn*(ePu{p-(bv7s1{0z-= z(|#61-(bT(_FQ%jKldb>zR@=y7;>_2R(NbZh|6Pr1cJVSU|{w>RR|^>Z$q{j2HG3z z%Z{9}+eBB_ll5j>X!ze(|ig z-aXrGcFzF9y?U#4re44JpzeI!I~(XD>VvS;ed13<3tuJ=6pj&3n{ksrNzNO*6#hkV z_%BSua16v>gRvKJcUdGw>Zw_ci?oXlq~tj#SxvVm(N2g-u@_gp;zRVu#f&(E{&mq1XT>?JbV3MmUR=P@ zN#Tf#;v*crAy&l4;u9R568FWo#J6$urudGygePtBU2z%xTjG1-3i`Lj_r<5^-x0Io zD*AWDoVbSmJ&_ml=-(ID#SQeQMM3-k{j~U@SU{f@H$@Ts2cjev(SImD6J_)>q9T^i zpAomjZS*;DM|_U{thg(x=+B8Ci7(Kf7hj4WqrV_(;vV{oq7GAA^^;o1^^akr%IZ4H zYY5S>rY154ScnSzI#ECj9;755Vs@BXAc)o#?!aNadiy@o4~Zl})}I6^%V4&_1dR>p zcBI|yxJ~9N%7#~A$SucJbAhlyukVnlv>gW{ z)qKcP>TO`I%9JA7b9TA&SgqaYv^Lh;$ZLeN>F8z7pINRm)0%E~JiF(}jy|7J^R=1} zfIwu@%>w3_G0crp8D(6U0@8FOlC##60LwPoO{PdW`(}_-d8>8Lt~VM^*He=<+uaRs zi18Ww@v75CLgbR9)62jz_q09zc(vJBWzx2&z|OwFe9n2e(R@^IA=v|5s@YBhHcn?} z2q2FfWQ;(Lb$dm2)|GypHfW)!UF2uYm8K$C-8miJI<2NbI#x#(h&%=`O!U#Xu+i{3 za*P!XU!jR$98x?awfeG}ED!Ho&Fxd1~H9eaY1FZr!SF2$_tu~#t0d811WHe_l zLKb*ZO?K~INa^>AowjrDp51D$H?bh8oLxkE+_5`th+m5sb1C^lauD;3?RJ!8!`YN{ zDb>f#R?7z9B9px2Y&I_4TYA!U@=|u>J)Pai{Q$jZi)fywT1X+=XU_X6Xuef%I1L6C z{;`LHsh``&LErq!r~&xVn*A7Bs~<-j>tko~U_xH-urKMyw#|Ngn`@>aAvv=58;y z>g@-ix`KrNe)ADbPBamNU1-D26`ujnjRqV3F{lyi83|oR!utqeU+&*BJ>x#sTQd(E ze_}n1S9IvfT7IIkI6Ig3<8U??r&jKqZ`KfvmRxA zKyBDzao1IE;To<>KNTJ%fK)Zz`5vh=rEfOmG!A8!4Wo3{RQDw1;HN`QZ{bX(4n{0#>VIkTpcNjoPn*4c zWAbTGZv11<-yD7}1=ELFC{uflM{8!^+=gj*maw+XKfrbwW)kap%1i>taEIUm+ckn2 zykDcn6W0TrOarI`cnVO5pg4vS*$_EGM1)s5_H^Km*_>VMEofXKM^@_)(Vv14zeRH^;As{UZu2> zXpC6KoV0q>C->pO?Z^%24s>rNUFuMnkgg?SPbp{Re3WiB-usPWZIIb@fqY&a+s^Ur zdEkJ0K}NuOh*%2kC|C`fK?Il?1;>lI%^3y)3f~1{a|Rs(7&RT6IW?AW>W$UGd|KcL zxoX!86|<$N;}F;0`B|5xyH$++_WsV(GtYrwc|Q+q!goGEvFthEBn{Dci38F;;XAE%G-d%@kqV7ZgKTk;BL`3OzuI-}FViGt@JhI1Q;2>#DRfu~k^HGsDkQ|~RP{0!q);LN(TEC>Sw8fO#WlqMUTTM&}7bjF-vhf5 zZ(rMn)nhO*n%k?a_$!PFt@zCVHN?hxcgKMBY736@+3j#nSnr;pIY&5QrlBmC`!rTL zX}yPyqlSnbHDJM}h_9IziH>nz#G~z6GBm(a5WdneJ>K@r3Ap6saWxJpZu4f&}6di;dj zZ8g2XU8^at)2%Icys_2%q@MPVxS;ab#6h#ScVx+tc+bG4Od*E@4;*^twj~e4AOK+7 z8qQb z1UzBex@LU&!B%qfU0lP+=-R=p6jn&}ll@d5>zKyFU*9nv{`}6U0Mqh^U_dUgq1;rh zWFRkj5!d__wjj0ovYSoojKo5AY9TYVq=Vj(MLvjk9Xm(Oo4E1k_^DuJD7j9V`d`}2 zAT7+8hw-m>Fff%N#YLVm0`Lbh8CX-fi-66*CUmg-p#p?;)Y5fk5p3aut>7|jq21;# zavJHqeLfrFK88tdMUfZ}s_V+Wir51%hejcww%S>DoI5QQL$A@ce-#r_o#62Cf)uG4?9mwR#tKW>0h;b03JUDVEeFi2)nM zY+Ml?vBA+kiNna+M%T|c5;cSx;Ujd8M5l$#!?=G~t(AWyf4a8Dbe_74_-w62d{SBb zDLxMed3dx~qVtYuOmQ<;UYNJ>W~7UHKogmA1l3Fs1J$bSFKM?Q%X(MU zNmNRyfqT9FB#_DAVW?Ez22JuuXm(L$ydhgF|BCwoj)BcEpz+SmjIs<%1r9Ozo>CaH z21Fa|W0B*oprXVnrcsh%KE=NxsQ6-cVp2h3`y0|j^MP@NiGFaaq2QKxf}fK7=Qts( zDr_+o3SmdD&a41;VqP4O`w7TayLn+9H@0H!G>}Cd0fUS+AdN7O8OPPL$BfH})M~5n zW(+~hdIk_F|Hl7TO9I*p;D%=$5``|lW|BT`&Nq)dP-xD~0LNfm>VV$s6^Sd0w? zBot~?&>0O#Lm_DM9D)ap0DHpi7y`o=6lwpW`g+~Da8+=xdi z7>Jl~fOo+|wa5_I6)<3$7AmiU@fz8m{T6@OiE-udRl!*JQ#R+PP=!%3P?tuA!X3@D zYBieUfSEyF0zvSh|HKe?3XPGZ5^1%E%~NLYK%mUQ$lu#+nH`zM>XMq8 z|0c~U<*UIsa^8kH6e;Naa=RSdn@GQ*Ms`Nh<*73*D5{ynG;v8G91 zqo1*I9(=$--)0on$@iG!>0N4aT+f&v+CSrsGMfsUB{aSTw^3o@ zIxl^~W`|heXQ+Km#Q$N8YojsZI`feHADiiFz2 zh}uW3TwT%XM5d1`h@?t%pD58iaGdT7iH`c91!b@>oI3R}krh#nRk+0LQ-c#Dhu+Za zY?u3kq*YfY@t*7e0a74dRSv^kE^-(}og(Z$ z#-iZE67mpEj=GLy#rPPh(ip=EakK>p=wiw}0*Is3a0`H-q-di13{hjL*eVqvK^ZmC zz`p*4O>3ClFXLtVsYpiFpdX<;?M*?D@uZB|# z^V9E;U<%5J^-hkGIyx|tEFKu_>2}!ayivg`r(M%wkQ<4O@1|;X&y(&hyRXnCIq=F5 zp<#U>;E1=sHhE{tj*C~oh*J9Lq1XCIF!3>ft?1VxrgZ(o!7_M;55AP*y}{UxHi?=W zqWSQsaP@!@sv~n9WFs0}0VN0|$_`#7T)oAYXQ3mFd*^Vpvvg$}w{DO^MlvIYjnkN| zk_FA}2%V9w4(J@pnlzoitCVBPhBe(UA-M}ei$g*^F)Gv%4UNzo$(F&I{)IP+rrgh> zvxaHH07`4`vd1;Nl!mvlZwI-q#jog{jgIJIWNyuLfZ%kDJ@@~GZ-s9jtVcnh8ZRPbjZOj#B)c$DiS)t@s9>Zg-9M6{>YFK@QakQYi6O1>g+GMXs>2q+QJo@f+=BBC%U*(q5F}M9sj|p1L?^Ng7~ui^l=x=ggaDLVqj_fZUG;|r3KPV9_g2kK_Yeu6#3@(I|84DE%MH}S0kobYZ#%=d+)Z*y4@0pq#P=5l?ab}#cqrsn?@MuJDPFZze)c=^s+=?| z$?V8&1UsWF@51dN&4`*dE(nwllgw2n6Q#gwa~4Uk`$=ypd^y4RK#+M*0*!#CnGU1rOifnL?^ANJ-zR zII1L$kAqm;9Rji_wayh42Jb>n%0+PoPygi*C1D9axb8#(#doxot{ih9>7s1okqI{ zclY6HG96DJNvAT&OhW&|wS@YYM9YzQQuRDfg?H6@*;Dc<*XGMAmFD;{_lfJLQIz59 zYuAtS$d46oEmULq;%9#BYJQ<=U9D8D8%tGdVZLhJMn6CATXSXKs+6i$rBIE1UMg1O zpO@z6tFgJ+Vl`H|brp|S=Blx4`30p!f0E@4d@zB}SFt$`iL4p7gatRP52VI=+`>P)_ zvrAG&a>!Cs{i^=!ufP6x{jIb6_BHXqm3#I6RBNi=Xf^uNt!cblQkC9Je_v}~ zf3`K--{0DA72L||0aduKpsH(?)nYX1 zbwjR?sp8c_bNX}OSZEgG`qfB#{_>^Eaqabu$PF)DUi{qRqf&g}!p)95h`hkR;@%v% zohU9{xO_3LUAy%43zy%yh930`a^KbQ{?K)FXT{a+P~gSW*$wS}UIM@l2TcDmQqALz zTWDFT&?+jcRdUO!P7>U*cC1zfS5vB@s&Z9TH6Y%I8|}qmulGivT)p|w6(@i1uh>Jsv*P&6u3EU*DJBE*$XUICU&z6?3V>xT{){BBmf}j+^PQgFhbPi}@%-ti zKR7+`2B$nfjGSKYl;fOTbKK`PPY(<+vST=K*8L?XbQcC2an|b2XlNE z%+tG~B{(#TdY1SQR*soIfXle5Tn=;3ZH6&V7n{~a{#T3Z?Y8gq-F6$qYxe^+?D2f2 z-Tr9k^pYpFc3TA<-o|_*uhVy<{^@@5} zJ%Y2t>b$bmqc}UF-cZNYV>mmiE~v-V6F57jo>V6Q<6iYuHK&@mbDuh?p2D5`)x0`| z;{$3zoyPG&bw)jn<3s8hbr#2mMaq6Pp1Mlzcpcoa`SbHOxy0`D$g=|--0&164}9z5 zL1%5<(JDOE3Hk$&f2rr%!dUkCE0^qUpzTBk7a9#4f7e#L&<aV+5o1&Fq+_zcPqEmR-cnzVIkrxf34 z$oaIiGtz5K6tU zRaiZ-!x?==Q5)`Gym(DhH!lC=5BT@9SCf;!cy;;I8xQ{bKROLX8lV3Hf6a5+28_4@sGhGMR1~VQVG?9H1jt9ENw}dS}J!sdiVzwaDwcn46~3 zji;2`^ZFo@j%&SOx$E`ZcqTb%Yu8cvRp|P7yYJkT+XoEZ>p&)054}wns@3f|8wPRq zO>W2xI=vutp;*~NZe++qH)l5m@KhLdBPf=R8<(-bIxf=$#Z>{J;<^|~XvTPkHm=hK z5d$5HO@SpdCKP0C8!HFeiT#JiA)ZG&+8DT+swkc|Y$A8!a!2>Nap}tYXTeL6jt|4A z2kWj%92V&m#>F56nLOVOftc97CkUxQ&28Z8$7FE@wJ<)i>_(p7(Qe=M;U=WWP25f~ zor>I>kwK8ofiP<8kP~kBo%Ue89cjl82Z4^_THB!BtjFch?RE7Tc7Kk|^K71B^CFv< z*bv7_7Xdcka4(rL^wAWGbqoKBRcqp3v6|lF8UK~!UzPn1SvbeBQJl@*Yd}=$)w;l& zDIKs5Bv0z5U$Frgn}>D_QisdJKdKp0K&%D)XlS8Ti2mA?ws{820sqgEyQ{?=D2pw4 zhigT>fTtxNT79*=UD|>z!5fQPrL2F+^cE#jTqNy$)vOqD$+}g#y_%(}03j#&1G_*%(Onk@Hui}QVC!9p$uSvs6 zRFAYffvY=i+c>NVqkoE?AvHt6I!c@$8Nqq4{{QPqY*vO*_tXo?H1s>f^h@D?Pl`WR zF~RJKp%uBUM|wS#bZs{{dPZ2qJ8xwIOgt(?fQyE^EL$4onBD>v+D zZx97Kaf>t87~ZjChhBexUebzwW-M!mLoagZU(>60Z0#-&dycjVaKXMhToPXy@#GNV zwrmfgjS!BqjZhHx5|2B$0h{D0fR4rncJ0LU+5<$+ z%D&vSFLEw(h^?Cob{2EnVYGqU@P8s8+Fw}wPrOsuJiXUDePD_H4CE(YLj))hBu%ZO znlt($py&_ToJJGZE?*U=DK0yDIgBfqm>;xC7myIBcYDrq+YP$nNa$Di4w*$?Lj$cU zinC15z?diMptuA8lRSEWL%03FUxFXC1|J3Ob<~F(DsRod>ALoK<&esZA3{#`A5Z%%2$mZ$FjYN=SWW!7tX{b2dg`-jlO8S z)bqlK@!~6gg`T2}s@CS|oNny|d+|8vM&*ud{%*6>swLBJRn6pEQ`zL2m3ZnJC}Vh} zN=|g5xJ+Wj<<$Vb?ghcpFheaFa01o%;4V!5oETFP7c4p-MJlWZ?tpo=!gg`FuwAx1HUdAovl5%;auc8Xf#SZBnwU4d^gh4&hGCLxMd_~^B*N;HiTzbntC>8HrO8QlAc z+?z4?2r=5nw-Mf8EI|HCJ||>(r?5Jkp1*4}Udj1s37UbyJr@>wfqE>V>ZwG+MQw5I z!H5&j!d%B(F`OG_oa@+EMMH2o=WSutghl7=t8ZUuCojxX+c|auUjl!sEF^=F;j(k6 z&W4Q`Bw*%YkwUS);&oP_O~YX?g39x4$G2TkOaf|dBN%4D`rh(NWUByBsUExby5qr( zUN$P(CvwChK@X(x6`n(PuY15_7-fKrXTvuger7*a_7I)k45vQ3wLAz8qT z^#%H%*UX^F3)+o_8b*n4Bz~H71fcoUnl$r4E_H1X(snSuu}}GgKpIlr?ghaBhRN<@ zg|IlpH5=0HcD;^=P{oddl*7cF4pMIEdK!%7z%U^%WhgX3o(!0O`Xn?`+_?1B#mjGBc;o!l3-Ofe5Bsi05HFfi{{}l$oxuP; zZCp!u#28pwGQG;CkEU5QI<=lIO>1AuQMAhlJ(Ek75=i(rE_v!^Yz-z=@Zt331e|pK zImQX+&=l@v^0twNdN@Cn#Wgdq%rmgfGY9}TAI^33UI06EDEY^^@ce7|h4dVda;vOW z^`Wf_0zD|h?ebPdKOWIW7pVjjhpoC$#B@|xMA2G_6$u) z6QS>htsM_3W;fj{3Pp*JYjE@qGQ^C=AU5NjMnO1AO+Gc#OJ|TlGt;}a;zWjS9ft{T zBiSUJZ~(|Y2`F#N}_}Z%;RU4GQ|wH$VsV%02!f!ncQmXm;A*ldv$z5@7cmXm}xqQ>~6sA0?~&4K)VXN91<>eR)+o> zl)?W!xe}@-6uT{*&Ip}I$|ij#_%1*)SsCYsjU#pbB?Q zR1#Sed1YIc4=x7jVE16Ta(cf@pTJ3k3Z(1?Lohp{0^yToyx^yDV0h4McBOf%3@3OS zCSh-%6h=OYMS;4bx9bDVg|Aa!E-$Te&5TRAVB1&Cc9)Um4Ah99m@>G4l<|#N$u%S; z9Wzz1fV2xUp#*4{=`*umhvBb@{`4fsHaT#SbV+ubP8m)q)O<`#3@ZGF=dNeOmV5>n ztOFJk2bP3nP8wGkBx(ggpIwsq0hi0Zz3lp8qB2AgX3EZDHqQ*mNrUc5ktJ}AjLd0JZwkU|v zsi*BZ<#rv!4b5cHQpcYQl?`m{j3GB+Chypi7Q<$#+wr=d@$&iD5F;5U1CkME!4~8g zy3A*RhA>95ohrlSZh@pOGBDJ65EksJ^fnT|Lssca&3$rTv?bqX*wp&<890zvnMos$fn?Mr{vItt`~USgm^E%Y@gX3(6Ecb?j@8Z zF!Gn@#;qzJW4~_%#?yC)(RO>Gdsjfu+!0V4p)sm|z8p?x?+8j@AgH55LIGA{}X&yRo%yXPVb9=ABlVkWKx3=n85xtV^058OtaEI9 zE)EwA9*iA?j>)4m;z?6jIUslnS2o~N`}Wy|XC)ZTF3(Cj4Own%KYM|3g?c?#L1iJb z!I+t>UB7Pjs9(OOhwk<3wo$`HoqOXkqPG<0y~FI z2E>OWWX^eobv9U{&4=Fc*Zg4J-{nn(*pApnroJ=?26_d_7VWXwL=#VsB)OV3Nh#?b zpGrjmiwTg8k^+RdxVEm>`DlEj0X26vNjLoDIwD_O9HX3 zhPxe-1Y%+fyZGEOL>1R6^6=OVWJ(A%R;w%kGAW^FqM|CHEGS6{McC_)DzcqZ+9@G1 zRMsD$T&Ucu_G{ZU>=V|QCfY$s>sA#xdnqDP6(o#mP9K{s*T|jB=rD*BHv|eG%d4bY ze?S{SMu-G6y*swPyh@^4>`g<17j0qwvrt zQ6Vs1AR5OZRq`6ZTS50sI9bRN|jck9j zZc@cFiHedX%mrM3iy(fJZ3$6C_G#)L`766eAg5f0>TuZS*Sx`^}+WFcn{U%x9|oxfw3>x_|%G~$F$1d zK&#YQWWP(R%qCi83R-2_`Ri1xjLVoI$Q%M#CR)I{*gEb}v`rwD$MAauK$8MaPS5la zK%5v|))PjbjNi++Gl}fd`0d3^>uDoha1}lpqDYN<*a>Rki=$g@qme$e(ntg;s+5vu zo83DksJqyeMuh_`H1vSj2uPhnVXaX3YiOLW)fmbm(o|^2KNd!*LB-fOpiLqkLZOg78eG?V;TF@I-n74$%so!n3MT}|9@&Kt6E^SN(sMv zDA_EXgH0|(mdGZmu(9usJ@!vgnTH+jCvk+$W)U0Cu%k{nOiP=pTK2fOe=i$o`Iea3 z^0LG=8LPg+u1_J}4|zbM(oJ`|KBK0hPAot(iFO*Rdq}hsa@w6JFL{`NkahQmyUPkkW#Ewv_h0T+b&Jl|7#;_VG#IQs&C&pm^ zp2k3m=U8!(6EZHdwpZw<#a2x5@h5D)!)6CfVj%P_-pCxk+%D+f%DQtZn4(NeYT#r6 zQgbE9hn(LW`V|h1+KCygMYT9n!zUmp4?SQVLLEhl{GNOWadfPEsZ-&)Ew2viqU zvXkn>^fM+nU&t({Zzk1;^GTJ1sXJSOlE$2scvqB7-wwF*DqIto32 zYgE@rJq{KWPm0U*`dP=z+TQE9QwKbG7aP8Brc2H8FF59?Xy9hnaTc5%PrmsYF9)1M zxeOdaqx|`ny@I0oY;EXeCyD!DiGDY=HlZ0{@SzcPbE)KBmZ}D)`R+2l$$zL>G` z7oesdmHAvI3?vB*7ATrcXby$<@Cf^UX8Sq8m|neESTL)TBj==^0*cSzg)i9W)AE_b zgAj0J2)rj|Dj9<%=NJ_Ev78INejl3(*tzL#ESO@$&C0^ZPpED9n6HsZzRl)oHczn` zuo<#pd4m3k%{-cvrT4h$#_jS9Sj2D{{~0ZYnG8aAsDcR9rOLhG!EHxi6h$By+Qe!^E8b25&v0q5^>}-sfb`<|$bOO0r~KH)n2KFeos{LK zN*(iNxJz50@F`wKlyti|p)VKrld zj_c%9GTPr#h!{i_X85JXA(q~ZeMyma%)A%8kP8rPHBD!ti3`k&G_B27GK&erG#u~? z6L{AwO2T(FQUe24*)^|>06_nH0IYwT&1-1J9JI{$;a8@F+HU_7X8|DuW)ok5$m2}- zX;;`yg#SsLpfa;~6W`>~vd}Jshp!-t#B5Nqi;BrAsw8Db&JQrch=}J(*A&I2RDxxt z-AtGkla#DQl64tPa8hbXe{u?H|Mc2infFUeHY*Rkg-j|C?hz&4P~)S>a9rhVLpz+vf;LTxhB?%p^6^T z!N3?vNE7%OAY?uz6D6aeM~DI`h~dx|(?{hr0ubqCNSKHj!DT=au#y>(6lXFG#An=H z4G|12z#9?nh_Hz1CpGnyVsS-C%W64nSx>P3RJvB-zmjWa0iaOlcf{svVw9ZSlRJ-D z-!b;52nY*RaYE)1rvJ)?n}{6~Wt@K~uuF=uq^|DbW3+6-U~iVj--gSp6cj)BuMr*} z$$*-Nd!t8oSMp)c=DWhYX^M^ecvwz}caZ{WEuv%rH(lCcl{ zT!#|FcbL(JKF)iJO`i>SC5(||&QX8LW`_-(NTWr5hiAXb<})_rTm2(8KW6j$Y;rA< z*&lr`9vs6j#iY}19z?b&-I9hw-b|k(b-;j@w zNY zvUpJ}3SR`D@_0$qLQ4!DY;uOBesZaJtoN~iFK3nzH3 z)JsS5N|dW8iS*uhlxAB|k?$l*=qS%*yU~d7+#g^({wkmL2cx~{@#9>#=XS}!WvaI@ zgNX1U>2{^oRtL+v{jjt4e(Uk$wl(z&xsAMv-wIJ1G)p)u{ z3RBZXXPgUZT)n4FI2k2HFIQvJz*kl1ofKn(zAUDxFy50qADP-_XXW9Cn;TW-mmBL< zW$pf56I9L_&pPEQA6~?M&ra*nEPrL{Rp_4m;A%0RT%DwoH`5FgjYe-K$+fLSzP*2S zB6laUTReYHi*$tT*fS?n-FdOa9a_UF*wQ3e&~%!PhtlNDz~c?xbQGY^x(BpUY?2KW?ZHMbpJHMH+l$R^M{DS+c2X@dhM+pPxJoECY}I({Kfiys)ljs>_Sj8L zq>Aj?V=%S3|HcKD@J&{r@bzSrqD=_Va$>w;o@TAUgmk(z+PD~K_yovAmr<&V%DU6* zStM2BG-fsa&LHg$-a=Ks4#9#m+~Xk+00s}TiT4uPAy*gi^*NI?&>%LkOcEk)`fSDp z4qG@gSGY4zcr#!4vp@v1TItTh-LFfA3k^Hv=#Q3h3O$PSqLY(Dbo_U{2QUV@c4C>ijo*CYD;)}e-*N?xJo2F=;%y|Su^kqz_LvB+ z-F!SIY=Funpa~2msOuuidr_kLQ^KciM=M2iG~`HW@s(%LCm^sZ(UWNr4Pa^nxXbYq zDTEZ!_B1c(qsXVA(W90HqwXdXDXf+5AW=!Tkjl<<3FJAR#hThtn9#1FC@`8RQAXpWJD~N!)+A9D^YS|@Z%673AY)nfkf`>M zXhxAZqzHJ%A3fujp7HZ7$JA17mke^8Ok^fnjkr1A#SZPF39)ae>B6|E#S7Ml&XYu^ z-MC&gr0&MAR8^g3{rS!usg7+{yj=A{C}1CHr*R?Bnhfv094{yB33ZP9atFTadl0PV zanD7epF^d=mwD&}$4clp&?2-P3Ni|;xrElXz{U*(ow^2lUD_6Uh=(Z$xs9SfgD73V zudYskI}sA43&4B3lfC7F1B_r|K-oR;HbLHngN){nirzLs12>^6Ep=d`RBx#0J!QveHsYdVsuGM$)XD7|N18d|m z0%e@SKSY8~_hqXct*T4d`6@{WjaQ@~+Mx2zEU#o3pr(^TiaX?~B8D^}{OzP!FE<`g zs*R66S#EsmY%7Spbf*xpms=?zO^wXv(*i>?(Xn&581ym>&s6hvD%UZ^e0Kc_A;dCy zJp_9@_$`CMn|#@&Hj1ZiqR;ayK1Aa=wElqxuJPm0;>4wZm2&_<>|U`feqrX7?$8BP z_>hW^+>Z|fD{HrKjdQkr{sG(l&E6GjEmX1KS%A88ilFBr=fowC+rcKbW$>QO83EQ1 zVEx-1to307VD$mkT3H(|hyY-14i^E|FXujfh3xYPtVlRS0I+`5M=COh={>;o-W;a2 z{k2Un9_Z>Nj81ag?LYw-4|D?T(k&VZu!l+~MXrFstYXj?II*~0P5@4{Z{NIJz;p~g{Dj0$NxTEm3XR(nT3si_4Tw0P8Kg2!PsEKmnmc1{Y6zt1 zsL<+N>PiW1C2SgU`u{KNPw1sDKrj!;1!Xq)1&1(w%H}1Bay6 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pexpect/_async.py b/venv/lib/python3.6/site-packages/pexpect/_async.py new file mode 100644 index 0000000..ca2044e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pexpect/_async.py @@ -0,0 +1,105 @@ +import asyncio +import errno +import signal + +from pexpect import EOF + +@asyncio.coroutine +def expect_async(expecter, timeout=None): + # First process data that was previously read - if it maches, we don't need + # async stuff. + previously_read = expecter.spawn.buffer + expecter.spawn._buffer = expecter.spawn.buffer_type() + expecter.spawn._before = expecter.spawn.buffer_type() + idx = expecter.new_data(previously_read) + if idx is not None: + return idx + if not expecter.spawn.async_pw_transport: + pw = PatternWaiter() + pw.set_expecter(expecter) + transport, pw = yield from asyncio.get_event_loop()\ + .connect_read_pipe(lambda: pw, expecter.spawn) + expecter.spawn.async_pw_transport = pw, transport + else: + pw, transport = expecter.spawn.async_pw_transport + pw.set_expecter(expecter) + transport.resume_reading() + try: + return (yield from asyncio.wait_for(pw.fut, timeout)) + except asyncio.TimeoutError as e: + transport.pause_reading() + return expecter.timeout(e) + +@asyncio.coroutine +def repl_run_command_async(repl, cmdlines, timeout=-1): + res = [] + repl.child.sendline(cmdlines[0]) + for line in cmdlines[1:]: + yield from repl._expect_prompt(timeout=timeout, async_=True) + res.append(repl.child.before) + repl.child.sendline(line) + + # Command was fully submitted, now wait for the next prompt + prompt_idx = yield from repl._expect_prompt(timeout=timeout, async_=True) + if prompt_idx == 1: + # We got the continuation prompt - command was incomplete + repl.child.kill(signal.SIGINT) + yield from repl._expect_prompt(timeout=1, async_=True) + raise ValueError("Continuation prompt found - input was incomplete:") + return u''.join(res + [repl.child.before]) + +class PatternWaiter(asyncio.Protocol): + transport = None + + def set_expecter(self, expecter): + self.expecter = expecter + self.fut = asyncio.Future() + + def found(self, result): + if not self.fut.done(): + self.fut.set_result(result) + self.transport.pause_reading() + + def error(self, exc): + if not self.fut.done(): + self.fut.set_exception(exc) + self.transport.pause_reading() + + def connection_made(self, transport): + self.transport = transport + + def data_received(self, data): + spawn = self.expecter.spawn + s = spawn._decoder.decode(data) + spawn._log(s, 'read') + + if self.fut.done(): + spawn._buffer.write(s) + return + + try: + index = self.expecter.new_data(s) + if index is not None: + # Found a match + self.found(index) + except Exception as e: + self.expecter.errored() + self.error(e) + + def eof_received(self): + # N.B. If this gets called, async will close the pipe (the spawn object) + # for us + try: + self.expecter.spawn.flag_eof = True + index = self.expecter.eof() + except EOF as e: + self.error(e) + else: + self.found(index) + + def connection_lost(self, exc): + if isinstance(exc, OSError) and exc.errno == errno.EIO: + # We may get here without eof_received being called, e.g on Linux + self.eof_received() + elif exc is not None: + self.error(exc) diff --git a/venv/lib/python3.6/site-packages/pexpect/bashrc.sh b/venv/lib/python3.6/site-packages/pexpect/bashrc.sh new file mode 100644 index 0000000..c734ac9 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pexpect/bashrc.sh @@ -0,0 +1,16 @@ +# Different platforms have different names for the systemwide bashrc +if [[ -f /etc/bashrc ]]; then + source /etc/bashrc +fi +if [[ -f /etc/bash.bashrc ]]; then + source /etc/bash.bashrc +fi +if [[ -f ~/.bashrc ]]; then + source ~/.bashrc +fi + +# Reset PS1 so pexpect can find it +PS1="$" + +# Unset PROMPT_COMMAND, so that it can't change PS1 to something unexpected. +unset PROMPT_COMMAND diff --git a/venv/lib/python3.6/site-packages/pexpect/exceptions.py b/venv/lib/python3.6/site-packages/pexpect/exceptions.py new file mode 100644 index 0000000..cb360f0 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pexpect/exceptions.py @@ -0,0 +1,35 @@ +"""Exception classes used by Pexpect""" + +import traceback +import sys + +class ExceptionPexpect(Exception): + '''Base class for all exceptions raised by this module. + ''' + + def __init__(self, value): + super(ExceptionPexpect, self).__init__(value) + self.value = value + + def __str__(self): + return str(self.value) + + def get_trace(self): + '''This returns an abbreviated stack trace with lines that only concern + the caller. In other words, the stack trace inside the Pexpect module + is not included. ''' + + tblist = traceback.extract_tb(sys.exc_info()[2]) + tblist = [item for item in tblist if ('pexpect/__init__' not in item[0]) + and ('pexpect/expect' not in item[0])] + tblist = traceback.format_list(tblist) + return ''.join(tblist) + + +class EOF(ExceptionPexpect): + '''Raised when EOF is read from a child. + This usually means the child has exited.''' + + +class TIMEOUT(ExceptionPexpect): + '''Raised when a read time exceeds the timeout. ''' diff --git a/venv/lib/python3.6/site-packages/pexpect/expect.py b/venv/lib/python3.6/site-packages/pexpect/expect.py new file mode 100644 index 0000000..db376d5 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pexpect/expect.py @@ -0,0 +1,306 @@ +import time + +from .exceptions import EOF, TIMEOUT + +class Expecter(object): + def __init__(self, spawn, searcher, searchwindowsize=-1): + self.spawn = spawn + self.searcher = searcher + if searchwindowsize == -1: + searchwindowsize = spawn.searchwindowsize + self.searchwindowsize = searchwindowsize + + def new_data(self, data): + spawn = self.spawn + searcher = self.searcher + + pos = spawn._buffer.tell() + spawn._buffer.write(data) + spawn._before.write(data) + + # determine which chunk of data to search; if a windowsize is + # specified, this is the *new* data + the preceding bytes + if self.searchwindowsize: + spawn._buffer.seek(max(0, pos - self.searchwindowsize)) + window = spawn._buffer.read(self.searchwindowsize + len(data)) + else: + # otherwise, search the whole buffer (really slow for large datasets) + window = spawn.buffer + index = searcher.search(window, len(data)) + if index >= 0: + spawn._buffer = spawn.buffer_type() + spawn._buffer.write(window[searcher.end:]) + spawn.before = spawn._before.getvalue()[0:-(len(window) - searcher.start)] + spawn._before = spawn.buffer_type() + spawn.after = window[searcher.start: searcher.end] + spawn.match = searcher.match + spawn.match_index = index + # Found a match + return index + elif self.searchwindowsize: + spawn._buffer = spawn.buffer_type() + spawn._buffer.write(window) + + def eof(self, err=None): + spawn = self.spawn + + spawn.before = spawn.buffer + spawn._buffer = spawn.buffer_type() + spawn._before = spawn.buffer_type() + spawn.after = EOF + index = self.searcher.eof_index + if index >= 0: + spawn.match = EOF + spawn.match_index = index + return index + else: + spawn.match = None + spawn.match_index = None + msg = str(spawn) + msg += '\nsearcher: %s' % self.searcher + if err is not None: + msg = str(err) + '\n' + msg + raise EOF(msg) + + def timeout(self, err=None): + spawn = self.spawn + + spawn.before = spawn.buffer + spawn.after = TIMEOUT + index = self.searcher.timeout_index + if index >= 0: + spawn.match = TIMEOUT + spawn.match_index = index + return index + else: + spawn.match = None + spawn.match_index = None + msg = str(spawn) + msg += '\nsearcher: %s' % self.searcher + if err is not None: + msg = str(err) + '\n' + msg + raise TIMEOUT(msg) + + def errored(self): + spawn = self.spawn + spawn.before = spawn.buffer + spawn.after = None + spawn.match = None + spawn.match_index = None + + def expect_loop(self, timeout=-1): + """Blocking expect""" + spawn = self.spawn + + if timeout is not None: + end_time = time.time() + timeout + + try: + incoming = spawn.buffer + spawn._buffer = spawn.buffer_type() + spawn._before = spawn.buffer_type() + while True: + idx = self.new_data(incoming) + # Keep reading until exception or return. + if idx is not None: + return idx + # No match at this point + if (timeout is not None) and (timeout < 0): + return self.timeout() + # Still have time left, so read more data + incoming = spawn.read_nonblocking(spawn.maxread, timeout) + if self.spawn.delayafterread is not None: + time.sleep(self.spawn.delayafterread) + if timeout is not None: + timeout = end_time - time.time() + except EOF as e: + return self.eof(e) + except TIMEOUT as e: + return self.timeout(e) + except: + self.errored() + raise + + +class searcher_string(object): + '''This is a plain string search helper for the spawn.expect_any() method. + This helper class is for speed. For more powerful regex patterns + see the helper class, searcher_re. + + Attributes: + + eof_index - index of EOF, or -1 + timeout_index - index of TIMEOUT, or -1 + + After a successful match by the search() method the following attributes + are available: + + start - index into the buffer, first byte of match + end - index into the buffer, first byte after match + match - the matching string itself + + ''' + + def __init__(self, strings): + '''This creates an instance of searcher_string. This argument 'strings' + may be a list; a sequence of strings; or the EOF or TIMEOUT types. ''' + + self.eof_index = -1 + self.timeout_index = -1 + self._strings = [] + for n, s in enumerate(strings): + if s is EOF: + self.eof_index = n + continue + if s is TIMEOUT: + self.timeout_index = n + continue + self._strings.append((n, s)) + + def __str__(self): + '''This returns a human-readable string that represents the state of + the object.''' + + ss = [(ns[0], ' %d: %r' % ns) for ns in self._strings] + ss.append((-1, 'searcher_string:')) + if self.eof_index >= 0: + ss.append((self.eof_index, ' %d: EOF' % self.eof_index)) + if self.timeout_index >= 0: + ss.append((self.timeout_index, + ' %d: TIMEOUT' % self.timeout_index)) + ss.sort() + ss = list(zip(*ss))[1] + return '\n'.join(ss) + + def search(self, buffer, freshlen, searchwindowsize=None): + '''This searches 'buffer' for the first occurrence of one of the search + strings. 'freshlen' must indicate the number of bytes at the end of + 'buffer' which have not been searched before. It helps to avoid + searching the same, possibly big, buffer over and over again. + + See class spawn for the 'searchwindowsize' argument. + + If there is a match this returns the index of that string, and sets + 'start', 'end' and 'match'. Otherwise, this returns -1. ''' + + first_match = None + + # 'freshlen' helps a lot here. Further optimizations could + # possibly include: + # + # using something like the Boyer-Moore Fast String Searching + # Algorithm; pre-compiling the search through a list of + # strings into something that can scan the input once to + # search for all N strings; realize that if we search for + # ['bar', 'baz'] and the input is '...foo' we need not bother + # rescanning until we've read three more bytes. + # + # Sadly, I don't know enough about this interesting topic. /grahn + + for index, s in self._strings: + if searchwindowsize is None: + # the match, if any, can only be in the fresh data, + # or at the very end of the old data + offset = -(freshlen + len(s)) + else: + # better obey searchwindowsize + offset = -searchwindowsize + n = buffer.find(s, offset) + if n >= 0 and (first_match is None or n < first_match): + first_match = n + best_index, best_match = index, s + if first_match is None: + return -1 + self.match = best_match + self.start = first_match + self.end = self.start + len(self.match) + return best_index + + +class searcher_re(object): + '''This is regular expression string search helper for the + spawn.expect_any() method. This helper class is for powerful + pattern matching. For speed, see the helper class, searcher_string. + + Attributes: + + eof_index - index of EOF, or -1 + timeout_index - index of TIMEOUT, or -1 + + After a successful match by the search() method the following attributes + are available: + + start - index into the buffer, first byte of match + end - index into the buffer, first byte after match + match - the re.match object returned by a successful re.search + + ''' + + def __init__(self, patterns): + '''This creates an instance that searches for 'patterns' Where + 'patterns' may be a list or other sequence of compiled regular + expressions, or the EOF or TIMEOUT types.''' + + self.eof_index = -1 + self.timeout_index = -1 + self._searches = [] + for n, s in enumerate(patterns): + if s is EOF: + self.eof_index = n + continue + if s is TIMEOUT: + self.timeout_index = n + continue + self._searches.append((n, s)) + + def __str__(self): + '''This returns a human-readable string that represents the state of + the object.''' + + #ss = [(n, ' %d: re.compile("%s")' % + # (n, repr(s.pattern))) for n, s in self._searches] + ss = list() + for n, s in self._searches: + ss.append((n, ' %d: re.compile(%r)' % (n, s.pattern))) + ss.append((-1, 'searcher_re:')) + if self.eof_index >= 0: + ss.append((self.eof_index, ' %d: EOF' % self.eof_index)) + if self.timeout_index >= 0: + ss.append((self.timeout_index, ' %d: TIMEOUT' % + self.timeout_index)) + ss.sort() + ss = list(zip(*ss))[1] + return '\n'.join(ss) + + def search(self, buffer, freshlen, searchwindowsize=None): + '''This searches 'buffer' for the first occurrence of one of the regular + expressions. 'freshlen' must indicate the number of bytes at the end of + 'buffer' which have not been searched before. + + See class spawn for the 'searchwindowsize' argument. + + If there is a match this returns the index of that string, and sets + 'start', 'end' and 'match'. Otherwise, returns -1.''' + + first_match = None + # 'freshlen' doesn't help here -- we cannot predict the + # length of a match, and the re module provides no help. + if searchwindowsize is None: + searchstart = 0 + else: + searchstart = max(0, len(buffer) - searchwindowsize) + for index, s in self._searches: + match = s.search(buffer, searchstart) + if match is None: + continue + n = match.start() + if first_match is None or n < first_match: + first_match = n + the_match = match + best_index = index + if first_match is None: + return -1 + self.start = first_match + self.match = the_match + self.end = self.match.end() + return best_index diff --git a/venv/lib/python3.6/site-packages/pexpect/fdpexpect.py b/venv/lib/python3.6/site-packages/pexpect/fdpexpect.py new file mode 100644 index 0000000..cddd50e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pexpect/fdpexpect.py @@ -0,0 +1,148 @@ +'''This is like pexpect, but it will work with any file descriptor that you +pass it. You are responsible for opening and close the file descriptor. +This allows you to use Pexpect with sockets and named pipes (FIFOs). + +PEXPECT LICENSE + + This license is approved by the OSI and FSF as GPL-compatible. + http://opensource.org/licenses/isc-license.txt + + Copyright (c) 2012, Noah Spurrier + PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY + PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE + COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES. + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +''' + +from .spawnbase import SpawnBase +from .exceptions import ExceptionPexpect, TIMEOUT +from .utils import select_ignore_interrupts, poll_ignore_interrupts +import os + +__all__ = ['fdspawn'] + +class fdspawn(SpawnBase): + '''This is like pexpect.spawn but allows you to supply your own open file + descriptor. For example, you could use it to read through a file looking + for patterns, or to control a modem or serial device. ''' + + def __init__ (self, fd, args=None, timeout=30, maxread=2000, searchwindowsize=None, + logfile=None, encoding=None, codec_errors='strict', use_poll=False): + '''This takes a file descriptor (an int) or an object that support the + fileno() method (returning an int). All Python file-like objects + support fileno(). ''' + + if type(fd) != type(0) and hasattr(fd, 'fileno'): + fd = fd.fileno() + + if type(fd) != type(0): + raise ExceptionPexpect('The fd argument is not an int. If this is a command string then maybe you want to use pexpect.spawn.') + + try: # make sure fd is a valid file descriptor + os.fstat(fd) + except OSError: + raise ExceptionPexpect('The fd argument is not a valid file descriptor.') + + self.args = None + self.command = None + SpawnBase.__init__(self, timeout, maxread, searchwindowsize, logfile, + encoding=encoding, codec_errors=codec_errors) + self.child_fd = fd + self.own_fd = False + self.closed = False + self.name = '' % fd + self.use_poll = use_poll + + def close (self): + """Close the file descriptor. + + Calling this method a second time does nothing, but if the file + descriptor was closed elsewhere, :class:`OSError` will be raised. + """ + if self.child_fd == -1: + return + + self.flush() + os.close(self.child_fd) + self.child_fd = -1 + self.closed = True + + def isalive (self): + '''This checks if the file descriptor is still valid. If :func:`os.fstat` + does not raise an exception then we assume it is alive. ''' + + if self.child_fd == -1: + return False + try: + os.fstat(self.child_fd) + return True + except: + return False + + def terminate (self, force=False): # pragma: no cover + '''Deprecated and invalid. Just raises an exception.''' + raise ExceptionPexpect('This method is not valid for file descriptors.') + + # These four methods are left around for backwards compatibility, but not + # documented as part of fdpexpect. You're encouraged to use os.write + # directly. + def send(self, s): + "Write to fd, return number of bytes written" + s = self._coerce_send_string(s) + self._log(s, 'send') + + b = self._encoder.encode(s, final=False) + return os.write(self.child_fd, b) + + def sendline(self, s): + "Write to fd with trailing newline, return number of bytes written" + s = self._coerce_send_string(s) + return self.send(s + self.linesep) + + def write(self, s): + "Write to fd, return None" + self.send(s) + + def writelines(self, sequence): + "Call self.write() for each item in sequence" + for s in sequence: + self.write(s) + + def read_nonblocking(self, size=1, timeout=-1): + """ + Read from the file descriptor and return the result as a string. + + The read_nonblocking method of :class:`SpawnBase` assumes that a call + to os.read will not block (timeout parameter is ignored). This is not + the case for POSIX file-like objects such as sockets and serial ports. + + Use :func:`select.select`, timeout is implemented conditionally for + POSIX systems. + + :param int size: Read at most *size* bytes. + :param int timeout: Wait timeout seconds for file descriptor to be + ready to read. When -1 (default), use self.timeout. When 0, poll. + :return: String containing the bytes read + """ + if os.name == 'posix': + if timeout == -1: + timeout = self.timeout + rlist = [self.child_fd] + wlist = [] + xlist = [] + if self.use_poll: + rlist = poll_ignore_interrupts(rlist, timeout) + else: + rlist, wlist, xlist = select_ignore_interrupts( + rlist, wlist, xlist, timeout + ) + if self.child_fd not in rlist: + raise TIMEOUT('Timeout exceeded.') + return super(fdspawn, self).read_nonblocking(size) diff --git a/venv/lib/python3.6/site-packages/pexpect/popen_spawn.py b/venv/lib/python3.6/site-packages/pexpect/popen_spawn.py new file mode 100644 index 0000000..4bb58cf --- /dev/null +++ b/venv/lib/python3.6/site-packages/pexpect/popen_spawn.py @@ -0,0 +1,188 @@ +"""Provides an interface like pexpect.spawn interface using subprocess.Popen +""" +import os +import threading +import subprocess +import sys +import time +import signal +import shlex + +try: + from queue import Queue, Empty # Python 3 +except ImportError: + from Queue import Queue, Empty # Python 2 + +from .spawnbase import SpawnBase, PY3 +from .exceptions import EOF +from .utils import string_types + +class PopenSpawn(SpawnBase): + def __init__(self, cmd, timeout=30, maxread=2000, searchwindowsize=None, + logfile=None, cwd=None, env=None, encoding=None, + codec_errors='strict', preexec_fn=None): + super(PopenSpawn, self).__init__(timeout=timeout, maxread=maxread, + searchwindowsize=searchwindowsize, logfile=logfile, + encoding=encoding, codec_errors=codec_errors) + + # Note that `SpawnBase` initializes `self.crlf` to `\r\n` + # because the default behaviour for a PTY is to convert + # incoming LF to `\r\n` (see the `onlcr` flag and + # https://stackoverflow.com/a/35887657/5397009). Here we set + # it to `os.linesep` because that is what the spawned + # application outputs by default and `popen` doesn't translate + # anything. + if encoding is None: + self.crlf = os.linesep.encode ("ascii") + else: + self.crlf = self.string_type (os.linesep) + + kwargs = dict(bufsize=0, stdin=subprocess.PIPE, + stderr=subprocess.STDOUT, stdout=subprocess.PIPE, + cwd=cwd, preexec_fn=preexec_fn, env=env) + + if sys.platform == 'win32': + startupinfo = subprocess.STARTUPINFO() + startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW + kwargs['startupinfo'] = startupinfo + kwargs['creationflags'] = subprocess.CREATE_NEW_PROCESS_GROUP + + if isinstance(cmd, string_types) and sys.platform != 'win32': + cmd = shlex.split(cmd, posix=os.name == 'posix') + + self.proc = subprocess.Popen(cmd, **kwargs) + self.pid = self.proc.pid + self.closed = False + self._buf = self.string_type() + + self._read_queue = Queue() + self._read_thread = threading.Thread(target=self._read_incoming) + self._read_thread.setDaemon(True) + self._read_thread.start() + + _read_reached_eof = False + + def read_nonblocking(self, size, timeout): + buf = self._buf + if self._read_reached_eof: + # We have already finished reading. Use up any buffered data, + # then raise EOF + if buf: + self._buf = buf[size:] + return buf[:size] + else: + self.flag_eof = True + raise EOF('End Of File (EOF).') + + if timeout == -1: + timeout = self.timeout + elif timeout is None: + timeout = 1e6 + + t0 = time.time() + while (time.time() - t0) < timeout and size and len(buf) < size: + try: + incoming = self._read_queue.get_nowait() + except Empty: + break + else: + if incoming is None: + self._read_reached_eof = True + break + + buf += self._decoder.decode(incoming, final=False) + + r, self._buf = buf[:size], buf[size:] + + self._log(r, 'read') + return r + + def _read_incoming(self): + """Run in a thread to move output from a pipe to a queue.""" + fileno = self.proc.stdout.fileno() + while 1: + buf = b'' + try: + buf = os.read(fileno, 1024) + except OSError as e: + self._log(e, 'read') + + if not buf: + # This indicates we have reached EOF + self._read_queue.put(None) + return + + self._read_queue.put(buf) + + def write(self, s): + '''This is similar to send() except that there is no return value. + ''' + self.send(s) + + def writelines(self, sequence): + '''This calls write() for each element in the sequence. + + The sequence can be any iterable object producing strings, typically a + list of strings. This does not add line separators. There is no return + value. + ''' + for s in sequence: + self.send(s) + + def send(self, s): + '''Send data to the subprocess' stdin. + + Returns the number of bytes written. + ''' + s = self._coerce_send_string(s) + self._log(s, 'send') + + b = self._encoder.encode(s, final=False) + if PY3: + return self.proc.stdin.write(b) + else: + # On Python 2, .write() returns None, so we return the length of + # bytes written ourselves. This assumes they all got written. + self.proc.stdin.write(b) + return len(b) + + def sendline(self, s=''): + '''Wraps send(), sending string ``s`` to child process, with os.linesep + automatically appended. Returns number of bytes written. ''' + + n = self.send(s) + return n + self.send(self.linesep) + + def wait(self): + '''Wait for the subprocess to finish. + + Returns the exit code. + ''' + status = self.proc.wait() + if status >= 0: + self.exitstatus = status + self.signalstatus = None + else: + self.exitstatus = None + self.signalstatus = -status + self.terminated = True + return status + + def kill(self, sig): + '''Sends a Unix signal to the subprocess. + + Use constants from the :mod:`signal` module to specify which signal. + ''' + if sys.platform == 'win32': + if sig in [signal.SIGINT, signal.CTRL_C_EVENT]: + sig = signal.CTRL_C_EVENT + elif sig in [signal.SIGBREAK, signal.CTRL_BREAK_EVENT]: + sig = signal.CTRL_BREAK_EVENT + else: + sig = signal.SIGTERM + + os.kill(self.proc.pid, sig) + + def sendeof(self): + '''Closes the stdin pipe from the writing end.''' + self.proc.stdin.close() diff --git a/venv/lib/python3.6/site-packages/pexpect/pty_spawn.py b/venv/lib/python3.6/site-packages/pexpect/pty_spawn.py new file mode 100644 index 0000000..691c2c6 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pexpect/pty_spawn.py @@ -0,0 +1,855 @@ +import os +import sys +import time +import pty +import tty +import errno +import signal +from contextlib import contextmanager + +import ptyprocess +from ptyprocess.ptyprocess import use_native_pty_fork + +from .exceptions import ExceptionPexpect, EOF, TIMEOUT +from .spawnbase import SpawnBase +from .utils import ( + which, split_command_line, select_ignore_interrupts, poll_ignore_interrupts +) + +@contextmanager +def _wrap_ptyprocess_err(): + """Turn ptyprocess errors into our own ExceptionPexpect errors""" + try: + yield + except ptyprocess.PtyProcessError as e: + raise ExceptionPexpect(*e.args) + +PY3 = (sys.version_info[0] >= 3) + +class spawn(SpawnBase): + '''This is the main class interface for Pexpect. Use this class to start + and control child applications. ''' + + # This is purely informational now - changing it has no effect + use_native_pty_fork = use_native_pty_fork + + def __init__(self, command, args=[], timeout=30, maxread=2000, + searchwindowsize=None, logfile=None, cwd=None, env=None, + ignore_sighup=False, echo=True, preexec_fn=None, + encoding=None, codec_errors='strict', dimensions=None, + use_poll=False): + '''This is the constructor. The command parameter may be a string that + includes a command and any arguments to the command. For example:: + + child = pexpect.spawn('/usr/bin/ftp') + child = pexpect.spawn('/usr/bin/ssh user@example.com') + child = pexpect.spawn('ls -latr /tmp') + + You may also construct it with a list of arguments like so:: + + child = pexpect.spawn('/usr/bin/ftp', []) + child = pexpect.spawn('/usr/bin/ssh', ['user@example.com']) + child = pexpect.spawn('ls', ['-latr', '/tmp']) + + After this the child application will be created and will be ready to + talk to. For normal use, see expect() and send() and sendline(). + + Remember that Pexpect does NOT interpret shell meta characters such as + redirect, pipe, or wild cards (``>``, ``|``, or ``*``). This is a + common mistake. If you want to run a command and pipe it through + another command then you must also start a shell. For example:: + + child = pexpect.spawn('/bin/bash -c "ls -l | grep LOG > logs.txt"') + child.expect(pexpect.EOF) + + The second form of spawn (where you pass a list of arguments) is useful + in situations where you wish to spawn a command and pass it its own + argument list. This can make syntax more clear. For example, the + following is equivalent to the previous example:: + + shell_cmd = 'ls -l | grep LOG > logs.txt' + child = pexpect.spawn('/bin/bash', ['-c', shell_cmd]) + child.expect(pexpect.EOF) + + The maxread attribute sets the read buffer size. This is maximum number + of bytes that Pexpect will try to read from a TTY at one time. Setting + the maxread size to 1 will turn off buffering. Setting the maxread + value higher may help performance in cases where large amounts of + output are read back from the child. This feature is useful in + conjunction with searchwindowsize. + + When the keyword argument *searchwindowsize* is None (default), the + full buffer is searched at each iteration of receiving incoming data. + The default number of bytes scanned at each iteration is very large + and may be reduced to collaterally reduce search cost. After + :meth:`~.expect` returns, the full buffer attribute remains up to + size *maxread* irrespective of *searchwindowsize* value. + + When the keyword argument ``timeout`` is specified as a number, + (default: *30*), then :class:`TIMEOUT` will be raised after the value + specified has elapsed, in seconds, for any of the :meth:`~.expect` + family of method calls. When None, TIMEOUT will not be raised, and + :meth:`~.expect` may block indefinitely until match. + + + The logfile member turns on or off logging. All input and output will + be copied to the given file object. Set logfile to None to stop + logging. This is the default. Set logfile to sys.stdout to echo + everything to standard output. The logfile is flushed after each write. + + Example log input and output to a file:: + + child = pexpect.spawn('some_command') + fout = open('mylog.txt','wb') + child.logfile = fout + + Example log to stdout:: + + # In Python 2: + child = pexpect.spawn('some_command') + child.logfile = sys.stdout + + # In Python 3, we'll use the ``encoding`` argument to decode data + # from the subprocess and handle it as unicode: + child = pexpect.spawn('some_command', encoding='utf-8') + child.logfile = sys.stdout + + The logfile_read and logfile_send members can be used to separately log + the input from the child and output sent to the child. Sometimes you + don't want to see everything you write to the child. You only want to + log what the child sends back. For example:: + + child = pexpect.spawn('some_command') + child.logfile_read = sys.stdout + + You will need to pass an encoding to spawn in the above code if you are + using Python 3. + + To separately log output sent to the child use logfile_send:: + + child.logfile_send = fout + + If ``ignore_sighup`` is True, the child process will ignore SIGHUP + signals. The default is False from Pexpect 4.0, meaning that SIGHUP + will be handled normally by the child. + + The delaybeforesend helps overcome a weird behavior that many users + were experiencing. The typical problem was that a user would expect() a + "Password:" prompt and then immediately call sendline() to send the + password. The user would then see that their password was echoed back + to them. Passwords don't normally echo. The problem is caused by the + fact that most applications print out the "Password" prompt and then + turn off stdin echo, but if you send your password before the + application turned off echo, then you get your password echoed. + Normally this wouldn't be a problem when interacting with a human at a + real keyboard. If you introduce a slight delay just before writing then + this seems to clear up the problem. This was such a common problem for + many users that I decided that the default pexpect behavior should be + to sleep just before writing to the child application. 1/20th of a + second (50 ms) seems to be enough to clear up the problem. You can set + delaybeforesend to None to return to the old behavior. + + Note that spawn is clever about finding commands on your path. + It uses the same logic that "which" uses to find executables. + + If you wish to get the exit status of the child you must call the + close() method. The exit or signal status of the child will be stored + in self.exitstatus or self.signalstatus. If the child exited normally + then exitstatus will store the exit return code and signalstatus will + be None. If the child was terminated abnormally with a signal then + signalstatus will store the signal value and exitstatus will be None:: + + child = pexpect.spawn('some_command') + child.close() + print(child.exitstatus, child.signalstatus) + + If you need more detail you can also read the self.status member which + stores the status returned by os.waitpid. You can interpret this using + os.WIFEXITED/os.WEXITSTATUS or os.WIFSIGNALED/os.TERMSIG. + + The echo attribute may be set to False to disable echoing of input. + As a pseudo-terminal, all input echoed by the "keyboard" (send() + or sendline()) will be repeated to output. For many cases, it is + not desirable to have echo enabled, and it may be later disabled + using setecho(False) followed by waitnoecho(). However, for some + platforms such as Solaris, this is not possible, and should be + disabled immediately on spawn. + + If preexec_fn is given, it will be called in the child process before + launching the given command. This is useful to e.g. reset inherited + signal handlers. + + The dimensions attribute specifies the size of the pseudo-terminal as + seen by the subprocess, and is specified as a two-entry tuple (rows, + columns). If this is unspecified, the defaults in ptyprocess will apply. + + The use_poll attribute enables using select.poll() over select.select() + for socket handling. This is handy if your system could have > 1024 fds + ''' + super(spawn, self).__init__(timeout=timeout, maxread=maxread, searchwindowsize=searchwindowsize, + logfile=logfile, encoding=encoding, codec_errors=codec_errors) + self.STDIN_FILENO = pty.STDIN_FILENO + self.STDOUT_FILENO = pty.STDOUT_FILENO + self.STDERR_FILENO = pty.STDERR_FILENO + self.cwd = cwd + self.env = env + self.echo = echo + self.ignore_sighup = ignore_sighup + self.__irix_hack = sys.platform.lower().startswith('irix') + if command is None: + self.command = None + self.args = None + self.name = '' + else: + self._spawn(command, args, preexec_fn, dimensions) + self.use_poll = use_poll + + def __str__(self): + '''This returns a human-readable string that represents the state of + the object. ''' + + s = [] + s.append(repr(self)) + s.append('command: ' + str(self.command)) + s.append('args: %r' % (self.args,)) + s.append('buffer (last 100 chars): %r' % self.buffer[-100:]) + s.append('before (last 100 chars): %r' % self.before[-100:] if self.before else '') + s.append('after: %r' % (self.after,)) + s.append('match: %r' % (self.match,)) + s.append('match_index: ' + str(self.match_index)) + s.append('exitstatus: ' + str(self.exitstatus)) + if hasattr(self, 'ptyproc'): + s.append('flag_eof: ' + str(self.flag_eof)) + s.append('pid: ' + str(self.pid)) + s.append('child_fd: ' + str(self.child_fd)) + s.append('closed: ' + str(self.closed)) + s.append('timeout: ' + str(self.timeout)) + s.append('delimiter: ' + str(self.delimiter)) + s.append('logfile: ' + str(self.logfile)) + s.append('logfile_read: ' + str(self.logfile_read)) + s.append('logfile_send: ' + str(self.logfile_send)) + s.append('maxread: ' + str(self.maxread)) + s.append('ignorecase: ' + str(self.ignorecase)) + s.append('searchwindowsize: ' + str(self.searchwindowsize)) + s.append('delaybeforesend: ' + str(self.delaybeforesend)) + s.append('delayafterclose: ' + str(self.delayafterclose)) + s.append('delayafterterminate: ' + str(self.delayafterterminate)) + return '\n'.join(s) + + def _spawn(self, command, args=[], preexec_fn=None, dimensions=None): + '''This starts the given command in a child process. This does all the + fork/exec type of stuff for a pty. This is called by __init__. If args + is empty then command will be parsed (split on spaces) and args will be + set to parsed arguments. ''' + + # The pid and child_fd of this object get set by this method. + # Note that it is difficult for this method to fail. + # You cannot detect if the child process cannot start. + # So the only way you can tell if the child process started + # or not is to try to read from the file descriptor. If you get + # EOF immediately then it means that the child is already dead. + # That may not necessarily be bad because you may have spawned a child + # that performs some task; creates no stdout output; and then dies. + + # If command is an int type then it may represent a file descriptor. + if isinstance(command, type(0)): + raise ExceptionPexpect('Command is an int type. ' + + 'If this is a file descriptor then maybe you want to ' + + 'use fdpexpect.fdspawn which takes an existing ' + + 'file descriptor instead of a command string.') + + if not isinstance(args, type([])): + raise TypeError('The argument, args, must be a list.') + + if args == []: + self.args = split_command_line(command) + self.command = self.args[0] + else: + # Make a shallow copy of the args list. + self.args = args[:] + self.args.insert(0, command) + self.command = command + + command_with_path = which(self.command, env=self.env) + if command_with_path is None: + raise ExceptionPexpect('The command was not found or was not ' + + 'executable: %s.' % self.command) + self.command = command_with_path + self.args[0] = self.command + + self.name = '<' + ' '.join(self.args) + '>' + + assert self.pid is None, 'The pid member must be None.' + assert self.command is not None, 'The command member must not be None.' + + kwargs = {'echo': self.echo, 'preexec_fn': preexec_fn} + if self.ignore_sighup: + def preexec_wrapper(): + "Set SIGHUP to be ignored, then call the real preexec_fn" + signal.signal(signal.SIGHUP, signal.SIG_IGN) + if preexec_fn is not None: + preexec_fn() + kwargs['preexec_fn'] = preexec_wrapper + + if dimensions is not None: + kwargs['dimensions'] = dimensions + + if self.encoding is not None: + # Encode command line using the specified encoding + self.args = [a if isinstance(a, bytes) else a.encode(self.encoding) + for a in self.args] + + self.ptyproc = self._spawnpty(self.args, env=self.env, + cwd=self.cwd, **kwargs) + + self.pid = self.ptyproc.pid + self.child_fd = self.ptyproc.fd + + + self.terminated = False + self.closed = False + + def _spawnpty(self, args, **kwargs): + '''Spawn a pty and return an instance of PtyProcess.''' + return ptyprocess.PtyProcess.spawn(args, **kwargs) + + def close(self, force=True): + '''This closes the connection with the child application. Note that + calling close() more than once is valid. This emulates standard Python + behavior with files. Set force to True if you want to make sure that + the child is terminated (SIGKILL is sent if the child ignores SIGHUP + and SIGINT). ''' + + self.flush() + with _wrap_ptyprocess_err(): + # PtyProcessError may be raised if it is not possible to terminate + # the child. + self.ptyproc.close(force=force) + self.isalive() # Update exit status from ptyproc + self.child_fd = -1 + self.closed = True + + def isatty(self): + '''This returns True if the file descriptor is open and connected to a + tty(-like) device, else False. + + On SVR4-style platforms implementing streams, such as SunOS and HP-UX, + the child pty may not appear as a terminal device. This means + methods such as setecho(), setwinsize(), getwinsize() may raise an + IOError. ''' + + return os.isatty(self.child_fd) + + def waitnoecho(self, timeout=-1): + '''This waits until the terminal ECHO flag is set False. This returns + True if the echo mode is off. This returns False if the ECHO flag was + not set False before the timeout. This can be used to detect when the + child is waiting for a password. Usually a child application will turn + off echo mode when it is waiting for the user to enter a password. For + example, instead of expecting the "password:" prompt you can wait for + the child to set ECHO off:: + + p = pexpect.spawn('ssh user@example.com') + p.waitnoecho() + p.sendline(mypassword) + + If timeout==-1 then this method will use the value in self.timeout. + If timeout==None then this method to block until ECHO flag is False. + ''' + + if timeout == -1: + timeout = self.timeout + if timeout is not None: + end_time = time.time() + timeout + while True: + if not self.getecho(): + return True + if timeout < 0 and timeout is not None: + return False + if timeout is not None: + timeout = end_time - time.time() + time.sleep(0.1) + + def getecho(self): + '''This returns the terminal echo mode. This returns True if echo is + on or False if echo is off. Child applications that are expecting you + to enter a password often set ECHO False. See waitnoecho(). + + Not supported on platforms where ``isatty()`` returns False. ''' + return self.ptyproc.getecho() + + def setecho(self, state): + '''This sets the terminal echo mode on or off. Note that anything the + child sent before the echo will be lost, so you should be sure that + your input buffer is empty before you call setecho(). For example, the + following will work as expected:: + + p = pexpect.spawn('cat') # Echo is on by default. + p.sendline('1234') # We expect see this twice from the child... + p.expect(['1234']) # ... once from the tty echo... + p.expect(['1234']) # ... and again from cat itself. + p.setecho(False) # Turn off tty echo + p.sendline('abcd') # We will set this only once (echoed by cat). + p.sendline('wxyz') # We will set this only once (echoed by cat) + p.expect(['abcd']) + p.expect(['wxyz']) + + The following WILL NOT WORK because the lines sent before the setecho + will be lost:: + + p = pexpect.spawn('cat') + p.sendline('1234') + p.setecho(False) # Turn off tty echo + p.sendline('abcd') # We will set this only once (echoed by cat). + p.sendline('wxyz') # We will set this only once (echoed by cat) + p.expect(['1234']) + p.expect(['1234']) + p.expect(['abcd']) + p.expect(['wxyz']) + + + Not supported on platforms where ``isatty()`` returns False. + ''' + return self.ptyproc.setecho(state) + + def read_nonblocking(self, size=1, timeout=-1): + '''This reads at most size characters from the child application. It + includes a timeout. If the read does not complete within the timeout + period then a TIMEOUT exception is raised. If the end of file is read + then an EOF exception will be raised. If a logfile is specified, a + copy is written to that log. + + If timeout is None then the read may block indefinitely. + If timeout is -1 then the self.timeout value is used. If timeout is 0 + then the child is polled and if there is no data immediately ready + then this will raise a TIMEOUT exception. + + The timeout refers only to the amount of time to read at least one + character. This is not affected by the 'size' parameter, so if you call + read_nonblocking(size=100, timeout=30) and only one character is + available right away then one character will be returned immediately. + It will not wait for 30 seconds for another 99 characters to come in. + + On the other hand, if there are bytes available to read immediately, + all those bytes will be read (up to the buffer size). So, if the + buffer size is 1 megabyte and there is 1 megabyte of data available + to read, the buffer will be filled, regardless of timeout. + + This is a wrapper around os.read(). It uses select.select() or + select.poll() to implement the timeout. ''' + + if self.closed: + raise ValueError('I/O operation on closed file.') + + if self.use_poll: + def select(timeout): + return poll_ignore_interrupts([self.child_fd], timeout) + else: + def select(timeout): + return select_ignore_interrupts([self.child_fd], [], [], timeout)[0] + + # If there is data available to read right now, read as much as + # we can. We do this to increase performance if there are a lot + # of bytes to be read. This also avoids calling isalive() too + # often. See also: + # * https://github.com/pexpect/pexpect/pull/304 + # * http://trac.sagemath.org/ticket/10295 + if select(0): + try: + incoming = super(spawn, self).read_nonblocking(size) + except EOF: + # Maybe the child is dead: update some attributes in that case + self.isalive() + raise + while len(incoming) < size and select(0): + try: + incoming += super(spawn, self).read_nonblocking(size - len(incoming)) + except EOF: + # Maybe the child is dead: update some attributes in that case + self.isalive() + # Don't raise EOF, just return what we read so far. + return incoming + return incoming + + if timeout == -1: + timeout = self.timeout + + if not self.isalive(): + # The process is dead, but there may or may not be data + # available to read. Note that some systems such as Solaris + # do not give an EOF when the child dies. In fact, you can + # still try to read from the child_fd -- it will block + # forever or until TIMEOUT. For that reason, it's important + # to do this check before calling select() with timeout. + if select(0): + return super(spawn, self).read_nonblocking(size) + self.flag_eof = True + raise EOF('End Of File (EOF). Braindead platform.') + elif self.__irix_hack: + # Irix takes a long time before it realizes a child was terminated. + # Make sure that the timeout is at least 2 seconds. + # FIXME So does this mean Irix systems are forced to always have + # FIXME a 2 second delay when calling read_nonblocking? That sucks. + if timeout is not None and timeout < 2: + timeout = 2 + + # Because of the select(0) check above, we know that no data + # is available right now. But if a non-zero timeout is given + # (possibly timeout=None), we call select() with a timeout. + if (timeout != 0) and select(timeout): + return super(spawn, self).read_nonblocking(size) + + if not self.isalive(): + # Some platforms, such as Irix, will claim that their + # processes are alive; timeout on the select; and + # then finally admit that they are not alive. + self.flag_eof = True + raise EOF('End of File (EOF). Very slow platform.') + else: + raise TIMEOUT('Timeout exceeded.') + + def write(self, s): + '''This is similar to send() except that there is no return value. + ''' + + self.send(s) + + def writelines(self, sequence): + '''This calls write() for each element in the sequence. The sequence + can be any iterable object producing strings, typically a list of + strings. This does not add line separators. There is no return value. + ''' + + for s in sequence: + self.write(s) + + def send(self, s): + '''Sends string ``s`` to the child process, returning the number of + bytes written. If a logfile is specified, a copy is written to that + log. + + The default terminal input mode is canonical processing unless set + otherwise by the child process. This allows backspace and other line + processing to be performed prior to transmitting to the receiving + program. As this is buffered, there is a limited size of such buffer. + + On Linux systems, this is 4096 (defined by N_TTY_BUF_SIZE). All + other systems honor the POSIX.1 definition PC_MAX_CANON -- 1024 + on OSX, 256 on OpenSolaris, and 1920 on FreeBSD. + + This value may be discovered using fpathconf(3):: + + >>> from os import fpathconf + >>> print(fpathconf(0, 'PC_MAX_CANON')) + 256 + + On such a system, only 256 bytes may be received per line. Any + subsequent bytes received will be discarded. BEL (``'\a'``) is then + sent to output if IMAXBEL (termios.h) is set by the tty driver. + This is usually enabled by default. Linux does not honor this as + an option -- it behaves as though it is always set on. + + Canonical input processing may be disabled altogether by executing + a shell, then stty(1), before executing the final program:: + + >>> bash = pexpect.spawn('/bin/bash', echo=False) + >>> bash.sendline('stty -icanon') + >>> bash.sendline('base64') + >>> bash.sendline('x' * 5000) + ''' + + if self.delaybeforesend is not None: + time.sleep(self.delaybeforesend) + + s = self._coerce_send_string(s) + self._log(s, 'send') + + b = self._encoder.encode(s, final=False) + return os.write(self.child_fd, b) + + def sendline(self, s=''): + '''Wraps send(), sending string ``s`` to child process, with + ``os.linesep`` automatically appended. Returns number of bytes + written. Only a limited number of bytes may be sent for each + line in the default terminal mode, see docstring of :meth:`send`. + ''' + s = self._coerce_send_string(s) + return self.send(s + self.linesep) + + def _log_control(self, s): + """Write control characters to the appropriate log files""" + if self.encoding is not None: + s = s.decode(self.encoding, 'replace') + self._log(s, 'send') + + def sendcontrol(self, char): + '''Helper method that wraps send() with mnemonic access for sending control + character to the child (such as Ctrl-C or Ctrl-D). For example, to send + Ctrl-G (ASCII 7, bell, '\a'):: + + child.sendcontrol('g') + + See also, sendintr() and sendeof(). + ''' + n, byte = self.ptyproc.sendcontrol(char) + self._log_control(byte) + return n + + def sendeof(self): + '''This sends an EOF to the child. This sends a character which causes + the pending parent output buffer to be sent to the waiting child + program without waiting for end-of-line. If it is the first character + of the line, the read() in the user program returns 0, which signifies + end-of-file. This means to work as expected a sendeof() has to be + called at the beginning of a line. This method does not send a newline. + It is the responsibility of the caller to ensure the eof is sent at the + beginning of a line. ''' + + n, byte = self.ptyproc.sendeof() + self._log_control(byte) + + def sendintr(self): + '''This sends a SIGINT to the child. It does not require + the SIGINT to be the first character on a line. ''' + + n, byte = self.ptyproc.sendintr() + self._log_control(byte) + + @property + def flag_eof(self): + return self.ptyproc.flag_eof + + @flag_eof.setter + def flag_eof(self, value): + self.ptyproc.flag_eof = value + + def eof(self): + '''This returns True if the EOF exception was ever raised. + ''' + return self.flag_eof + + def terminate(self, force=False): + '''This forces a child process to terminate. It starts nicely with + SIGHUP and SIGINT. If "force" is True then moves onto SIGKILL. This + returns True if the child was terminated. This returns False if the + child could not be terminated. ''' + + if not self.isalive(): + return True + try: + self.kill(signal.SIGHUP) + time.sleep(self.delayafterterminate) + if not self.isalive(): + return True + self.kill(signal.SIGCONT) + time.sleep(self.delayafterterminate) + if not self.isalive(): + return True + self.kill(signal.SIGINT) + time.sleep(self.delayafterterminate) + if not self.isalive(): + return True + if force: + self.kill(signal.SIGKILL) + time.sleep(self.delayafterterminate) + if not self.isalive(): + return True + else: + return False + return False + except OSError: + # I think there are kernel timing issues that sometimes cause + # this to happen. I think isalive() reports True, but the + # process is dead to the kernel. + # Make one last attempt to see if the kernel is up to date. + time.sleep(self.delayafterterminate) + if not self.isalive(): + return True + else: + return False + + def wait(self): + '''This waits until the child exits. This is a blocking call. This will + not read any data from the child, so this will block forever if the + child has unread output and has terminated. In other words, the child + may have printed output then called exit(), but, the child is + technically still alive until its output is read by the parent. + + This method is non-blocking if :meth:`wait` has already been called + previously or :meth:`isalive` method returns False. It simply returns + the previously determined exit status. + ''' + + ptyproc = self.ptyproc + with _wrap_ptyprocess_err(): + # exception may occur if "Is some other process attempting + # "job control with our child pid?" + exitstatus = ptyproc.wait() + self.status = ptyproc.status + self.exitstatus = ptyproc.exitstatus + self.signalstatus = ptyproc.signalstatus + self.terminated = True + + return exitstatus + + def isalive(self): + '''This tests if the child process is running or not. This is + non-blocking. If the child was terminated then this will read the + exitstatus or signalstatus of the child. This returns True if the child + process appears to be running or False if not. It can take literally + SECONDS for Solaris to return the right status. ''' + + ptyproc = self.ptyproc + with _wrap_ptyprocess_err(): + alive = ptyproc.isalive() + + if not alive: + self.status = ptyproc.status + self.exitstatus = ptyproc.exitstatus + self.signalstatus = ptyproc.signalstatus + self.terminated = True + + return alive + + def kill(self, sig): + + '''This sends the given signal to the child application. In keeping + with UNIX tradition it has a misleading name. It does not necessarily + kill the child unless you send the right signal. ''' + + # Same as os.kill, but the pid is given for you. + if self.isalive(): + os.kill(self.pid, sig) + + def getwinsize(self): + '''This returns the terminal window size of the child tty. The return + value is a tuple of (rows, cols). ''' + return self.ptyproc.getwinsize() + + def setwinsize(self, rows, cols): + '''This sets the terminal window size of the child tty. This will cause + a SIGWINCH signal to be sent to the child. This does not change the + physical window size. It changes the size reported to TTY-aware + applications like vi or curses -- applications that respond to the + SIGWINCH signal. ''' + return self.ptyproc.setwinsize(rows, cols) + + + def interact(self, escape_character=chr(29), + input_filter=None, output_filter=None): + + '''This gives control of the child process to the interactive user (the + human at the keyboard). Keystrokes are sent to the child process, and + the stdout and stderr output of the child process is printed. This + simply echos the child stdout and child stderr to the real stdout and + it echos the real stdin to the child stdin. When the user types the + escape_character this method will return None. The escape_character + will not be transmitted. The default for escape_character is + entered as ``Ctrl - ]``, the very same as BSD telnet. To prevent + escaping, escape_character may be set to None. + + If a logfile is specified, then the data sent and received from the + child process in interact mode is duplicated to the given log. + + You may pass in optional input and output filter functions. These + functions should take a string and return a string. The output_filter + will be passed all the output from the child process. The input_filter + will be passed all the keyboard input from the user. The input_filter + is run BEFORE the check for the escape_character. + + Note that if you change the window size of the parent the SIGWINCH + signal will not be passed through to the child. If you want the child + window size to change when the parent's window size changes then do + something like the following example:: + + import pexpect, struct, fcntl, termios, signal, sys + def sigwinch_passthrough (sig, data): + s = struct.pack("HHHH", 0, 0, 0, 0) + a = struct.unpack('hhhh', fcntl.ioctl(sys.stdout.fileno(), + termios.TIOCGWINSZ , s)) + if not p.closed: + p.setwinsize(a[0],a[1]) + + # Note this 'p' is global and used in sigwinch_passthrough. + p = pexpect.spawn('/bin/bash') + signal.signal(signal.SIGWINCH, sigwinch_passthrough) + p.interact() + ''' + + # Flush the buffer. + self.write_to_stdout(self.buffer) + self.stdout.flush() + self._buffer = self.buffer_type() + mode = tty.tcgetattr(self.STDIN_FILENO) + tty.setraw(self.STDIN_FILENO) + if escape_character is not None and PY3: + escape_character = escape_character.encode('latin-1') + try: + self.__interact_copy(escape_character, input_filter, output_filter) + finally: + tty.tcsetattr(self.STDIN_FILENO, tty.TCSAFLUSH, mode) + + def __interact_writen(self, fd, data): + '''This is used by the interact() method. + ''' + + while data != b'' and self.isalive(): + n = os.write(fd, data) + data = data[n:] + + def __interact_read(self, fd): + '''This is used by the interact() method. + ''' + + return os.read(fd, 1000) + + def __interact_copy( + self, escape_character=None, input_filter=None, output_filter=None + ): + + '''This is used by the interact() method. + ''' + + while self.isalive(): + if self.use_poll: + r = poll_ignore_interrupts([self.child_fd, self.STDIN_FILENO]) + else: + r, w, e = select_ignore_interrupts( + [self.child_fd, self.STDIN_FILENO], [], [] + ) + if self.child_fd in r: + try: + data = self.__interact_read(self.child_fd) + except OSError as err: + if err.args[0] == errno.EIO: + # Linux-style EOF + break + raise + if data == b'': + # BSD-style EOF + break + if output_filter: + data = output_filter(data) + self._log(data, 'read') + os.write(self.STDOUT_FILENO, data) + if self.STDIN_FILENO in r: + data = self.__interact_read(self.STDIN_FILENO) + if input_filter: + data = input_filter(data) + i = -1 + if escape_character is not None: + i = data.rfind(escape_character) + if i != -1: + data = data[:i] + if data: + self._log(data, 'send') + self.__interact_writen(self.child_fd, data) + break + self._log(data, 'send') + self.__interact_writen(self.child_fd, data) + + +def spawnu(*args, **kwargs): + """Deprecated: pass encoding to spawn() instead.""" + kwargs.setdefault('encoding', 'utf-8') + return spawn(*args, **kwargs) diff --git a/venv/lib/python3.6/site-packages/pexpect/pxssh.py b/venv/lib/python3.6/site-packages/pexpect/pxssh.py new file mode 100644 index 0000000..3d53bd9 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pexpect/pxssh.py @@ -0,0 +1,537 @@ +'''This class extends pexpect.spawn to specialize setting up SSH connections. +This adds methods for login, logout, and expecting the shell prompt. + +PEXPECT LICENSE + + This license is approved by the OSI and FSF as GPL-compatible. + http://opensource.org/licenses/isc-license.txt + + Copyright (c) 2012, Noah Spurrier + PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY + PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE + COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES. + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +''' + +from pexpect import ExceptionPexpect, TIMEOUT, EOF, spawn +import time +import os +import sys +import re + +__all__ = ['ExceptionPxssh', 'pxssh'] + +# Exception classes used by this module. +class ExceptionPxssh(ExceptionPexpect): + '''Raised for pxssh exceptions. + ''' + +if sys.version_info > (3, 0): + from shlex import quote +else: + _find_unsafe = re.compile(r'[^\w@%+=:,./-]').search + + def quote(s): + """Return a shell-escaped version of the string *s*.""" + if not s: + return "''" + if _find_unsafe(s) is None: + return s + + # use single quotes, and put single quotes into double quotes + # the string $'b is then quoted as '$'"'"'b' + return "'" + s.replace("'", "'\"'\"'") + "'" + +class pxssh (spawn): + '''This class extends pexpect.spawn to specialize setting up SSH + connections. This adds methods for login, logout, and expecting the shell + prompt. It does various tricky things to handle many situations in the SSH + login process. For example, if the session is your first login, then pxssh + automatically accepts the remote certificate; or if you have public key + authentication setup then pxssh won't wait for the password prompt. + + pxssh uses the shell prompt to synchronize output from the remote host. In + order to make this more robust it sets the shell prompt to something more + unique than just $ or #. This should work on most Borne/Bash or Csh style + shells. + + Example that runs a few commands on a remote server and prints the result:: + + from pexpect import pxssh + import getpass + try: + s = pxssh.pxssh() + hostname = raw_input('hostname: ') + username = raw_input('username: ') + password = getpass.getpass('password: ') + s.login(hostname, username, password) + s.sendline('uptime') # run a command + s.prompt() # match the prompt + print(s.before) # print everything before the prompt. + s.sendline('ls -l') + s.prompt() + print(s.before) + s.sendline('df') + s.prompt() + print(s.before) + s.logout() + except pxssh.ExceptionPxssh as e: + print("pxssh failed on login.") + print(e) + + Example showing how to specify SSH options:: + + from pexpect import pxssh + s = pxssh.pxssh(options={ + "StrictHostKeyChecking": "no", + "UserKnownHostsFile": "/dev/null"}) + ... + + Note that if you have ssh-agent running while doing development with pxssh + then this can lead to a lot of confusion. Many X display managers (xdm, + gdm, kdm, etc.) will automatically start a GUI agent. You may see a GUI + dialog box popup asking for a password during development. You should turn + off any key agents during testing. The 'force_password' attribute will turn + off public key authentication. This will only work if the remote SSH server + is configured to allow password logins. Example of using 'force_password' + attribute:: + + s = pxssh.pxssh() + s.force_password = True + hostname = raw_input('hostname: ') + username = raw_input('username: ') + password = getpass.getpass('password: ') + s.login (hostname, username, password) + + `debug_command_string` is only for the test suite to confirm that the string + generated for SSH is correct, using this will not allow you to do + anything other than get a string back from `pxssh.pxssh.login()`. + ''' + + def __init__ (self, timeout=30, maxread=2000, searchwindowsize=None, + logfile=None, cwd=None, env=None, ignore_sighup=True, echo=True, + options={}, encoding=None, codec_errors='strict', + debug_command_string=False, use_poll=False): + + spawn.__init__(self, None, timeout=timeout, maxread=maxread, + searchwindowsize=searchwindowsize, logfile=logfile, + cwd=cwd, env=env, ignore_sighup=ignore_sighup, echo=echo, + encoding=encoding, codec_errors=codec_errors, use_poll=use_poll) + + self.name = '' + + #SUBTLE HACK ALERT! Note that the command that SETS the prompt uses a + #slightly different string than the regular expression to match it. This + #is because when you set the prompt the command will echo back, but we + #don't want to match the echoed command. So if we make the set command + #slightly different than the regex we eliminate the problem. To make the + #set command different we add a backslash in front of $. The $ doesn't + #need to be escaped, but it doesn't hurt and serves to make the set + #prompt command different than the regex. + + # used to match the command-line prompt + self.UNIQUE_PROMPT = r"\[PEXPECT\][\$\#] " + self.PROMPT = self.UNIQUE_PROMPT + + # used to set shell command-line prompt to UNIQUE_PROMPT. + self.PROMPT_SET_SH = r"PS1='[PEXPECT]\$ '" + self.PROMPT_SET_CSH = r"set prompt='[PEXPECT]\$ '" + self.SSH_OPTS = ("-o'RSAAuthentication=no'" + + " -o 'PubkeyAuthentication=no'") +# Disabling host key checking, makes you vulnerable to MITM attacks. +# + " -o 'StrictHostKeyChecking=no'" +# + " -o 'UserKnownHostsFile /dev/null' ") + # Disabling X11 forwarding gets rid of the annoying SSH_ASKPASS from + # displaying a GUI password dialog. I have not figured out how to + # disable only SSH_ASKPASS without also disabling X11 forwarding. + # Unsetting SSH_ASKPASS on the remote side doesn't disable it! Annoying! + #self.SSH_OPTS = "-x -o'RSAAuthentication=no' -o 'PubkeyAuthentication=no'" + self.force_password = False + + self.debug_command_string = debug_command_string + + # User defined SSH options, eg, + # ssh.otions = dict(StrictHostKeyChecking="no",UserKnownHostsFile="/dev/null") + self.options = options + + def levenshtein_distance(self, a, b): + '''This calculates the Levenshtein distance between a and b. + ''' + + n, m = len(a), len(b) + if n > m: + a,b = b,a + n,m = m,n + current = range(n+1) + for i in range(1,m+1): + previous, current = current, [i]+[0]*n + for j in range(1,n+1): + add, delete = previous[j]+1, current[j-1]+1 + change = previous[j-1] + if a[j-1] != b[i-1]: + change = change + 1 + current[j] = min(add, delete, change) + return current[n] + + def try_read_prompt(self, timeout_multiplier): + '''This facilitates using communication timeouts to perform + synchronization as quickly as possible, while supporting high latency + connections with a tunable worst case performance. Fast connections + should be read almost immediately. Worst case performance for this + method is timeout_multiplier * 3 seconds. + ''' + + # maximum time allowed to read the first response + first_char_timeout = timeout_multiplier * 0.5 + + # maximum time allowed between subsequent characters + inter_char_timeout = timeout_multiplier * 0.1 + + # maximum time for reading the entire prompt + total_timeout = timeout_multiplier * 3.0 + + prompt = self.string_type() + begin = time.time() + expired = 0.0 + timeout = first_char_timeout + + while expired < total_timeout: + try: + prompt += self.read_nonblocking(size=1, timeout=timeout) + expired = time.time() - begin # updated total time expired + timeout = inter_char_timeout + except TIMEOUT: + break + + return prompt + + def sync_original_prompt (self, sync_multiplier=1.0): + '''This attempts to find the prompt. Basically, press enter and record + the response; press enter again and record the response; if the two + responses are similar then assume we are at the original prompt. + This can be a slow function. Worst case with the default sync_multiplier + can take 12 seconds. Low latency connections are more likely to fail + with a low sync_multiplier. Best case sync time gets worse with a + high sync multiplier (500 ms with default). ''' + + # All of these timing pace values are magic. + # I came up with these based on what seemed reliable for + # connecting to a heavily loaded machine I have. + self.sendline() + time.sleep(0.1) + + try: + # Clear the buffer before getting the prompt. + self.try_read_prompt(sync_multiplier) + except TIMEOUT: + pass + + self.sendline() + x = self.try_read_prompt(sync_multiplier) + + self.sendline() + a = self.try_read_prompt(sync_multiplier) + + self.sendline() + b = self.try_read_prompt(sync_multiplier) + + ld = self.levenshtein_distance(a,b) + len_a = len(a) + if len_a == 0: + return False + if float(ld)/len_a < 0.4: + return True + return False + + ### TODO: This is getting messy and I'm pretty sure this isn't perfect. + ### TODO: I need to draw a flow chart for this. + ### TODO: Unit tests for SSH tunnels, remote SSH command exec, disabling original prompt sync + def login (self, server, username=None, password='', terminal_type='ansi', + original_prompt=r"[#$]", login_timeout=10, port=None, + auto_prompt_reset=True, ssh_key=None, quiet=True, + sync_multiplier=1, check_local_ip=True, + password_regex=r'(?i)(?:password:)|(?:passphrase for key)', + ssh_tunnels={}, spawn_local_ssh=True, + sync_original_prompt=True, ssh_config=None, cmd='ssh'): + '''This logs the user into the given server. + + It uses 'original_prompt' to try to find the prompt right after login. + When it finds the prompt it immediately tries to reset the prompt to + something more easily matched. The default 'original_prompt' is very + optimistic and is easily fooled. It's more reliable to try to match the original + prompt as exactly as possible to prevent false matches by server + strings such as the "Message Of The Day". On many systems you can + disable the MOTD on the remote server by creating a zero-length file + called :file:`~/.hushlogin` on the remote server. If a prompt cannot be found + then this will not necessarily cause the login to fail. In the case of + a timeout when looking for the prompt we assume that the original + prompt was so weird that we could not match it, so we use a few tricks + to guess when we have reached the prompt. Then we hope for the best and + blindly try to reset the prompt to something more unique. If that fails + then login() raises an :class:`ExceptionPxssh` exception. + + In some situations it is not possible or desirable to reset the + original prompt. In this case, pass ``auto_prompt_reset=False`` to + inhibit setting the prompt to the UNIQUE_PROMPT. Remember that pxssh + uses a unique prompt in the :meth:`prompt` method. If the original prompt is + not reset then this will disable the :meth:`prompt` method unless you + manually set the :attr:`PROMPT` attribute. + + Set ``password_regex`` if there is a MOTD message with `password` in it. + Changing this is like playing in traffic, don't (p)expect it to match straight + away. + + If you require to connect to another SSH server from the your original SSH + connection set ``spawn_local_ssh`` to `False` and this will use your current + session to do so. Setting this option to `False` and not having an active session + will trigger an error. + + Set ``ssh_key`` to a file path to an SSH private key to use that SSH key + for the session authentication. + Set ``ssh_key`` to `True` to force passing the current SSH authentication socket + to the desired ``hostname``. + + Set ``ssh_config`` to a file path string of an SSH client config file to pass that + file to the client to handle itself. You may set any options you wish in here, however + doing so will require you to post extra information that you may not want to if you + run into issues. + + Alter the ``cmd`` to change the ssh client used, or to prepend it with network + namespaces. For example ```cmd="ip netns exec vlan2 ssh"``` to execute the ssh in + network namespace named ```vlan```. + ''' + + session_regex_array = ["(?i)are you sure you want to continue connecting", original_prompt, password_regex, "(?i)permission denied", "(?i)terminal type", TIMEOUT] + session_init_regex_array = [] + session_init_regex_array.extend(session_regex_array) + session_init_regex_array.extend(["(?i)connection closed by remote host", EOF]) + + ssh_options = ''.join([" -o '%s=%s'" % (o, v) for (o, v) in self.options.items()]) + if quiet: + ssh_options = ssh_options + ' -q' + if not check_local_ip: + ssh_options = ssh_options + " -o'NoHostAuthenticationForLocalhost=yes'" + if self.force_password: + ssh_options = ssh_options + ' ' + self.SSH_OPTS + if ssh_config is not None: + if spawn_local_ssh and not os.path.isfile(ssh_config): + raise ExceptionPxssh('SSH config does not exist or is not a file.') + ssh_options = ssh_options + ' -F ' + ssh_config + if port is not None: + ssh_options = ssh_options + ' -p %s'%(str(port)) + if ssh_key is not None: + # Allow forwarding our SSH key to the current session + if ssh_key==True: + ssh_options = ssh_options + ' -A' + else: + if spawn_local_ssh and not os.path.isfile(ssh_key): + raise ExceptionPxssh('private ssh key does not exist or is not a file.') + ssh_options = ssh_options + ' -i %s' % (ssh_key) + + # SSH tunnels, make sure you know what you're putting into the lists + # under each heading. Do not expect these to open 100% of the time, + # The port you're requesting might be bound. + # + # The structure should be like this: + # { 'local': ['2424:localhost:22'], # Local SSH tunnels + # 'remote': ['2525:localhost:22'], # Remote SSH tunnels + # 'dynamic': [8888] } # Dynamic/SOCKS tunnels + if ssh_tunnels!={} and isinstance({},type(ssh_tunnels)): + tunnel_types = { + 'local':'L', + 'remote':'R', + 'dynamic':'D' + } + for tunnel_type in tunnel_types: + cmd_type = tunnel_types[tunnel_type] + if tunnel_type in ssh_tunnels: + tunnels = ssh_tunnels[tunnel_type] + for tunnel in tunnels: + if spawn_local_ssh==False: + tunnel = quote(str(tunnel)) + ssh_options = ssh_options + ' -' + cmd_type + ' ' + str(tunnel) + + if username is not None: + ssh_options = ssh_options + ' -l ' + username + elif ssh_config is None: + raise TypeError('login() needs either a username or an ssh_config') + else: # make sure ssh_config has an entry for the server with a username + with open(ssh_config, 'rt') as f: + lines = [l.strip() for l in f.readlines()] + + server_regex = r'^Host\s+%s\s*$' % server + user_regex = r'^User\s+\w+\s*$' + config_has_server = False + server_has_username = False + for line in lines: + if not config_has_server and re.match(server_regex, line, re.IGNORECASE): + config_has_server = True + elif config_has_server and 'hostname' in line.lower(): + pass + elif config_has_server and 'host' in line.lower(): + server_has_username = False # insurance + break # we have left the relevant section + elif config_has_server and re.match(user_regex, line, re.IGNORECASE): + server_has_username = True + break + + if lines: + del line + + del lines + + if not config_has_server: + raise TypeError('login() ssh_config has no Host entry for %s' % server) + elif not server_has_username: + raise TypeError('login() ssh_config has no user entry for %s' % server) + + cmd += " %s %s" % (ssh_options, server) + if self.debug_command_string: + return(cmd) + + # Are we asking for a local ssh command or to spawn one in another session? + if spawn_local_ssh: + spawn._spawn(self, cmd) + else: + self.sendline(cmd) + + # This does not distinguish between a remote server 'password' prompt + # and a local ssh 'passphrase' prompt (for unlocking a private key). + i = self.expect(session_init_regex_array, timeout=login_timeout) + + # First phase + if i==0: + # New certificate -- always accept it. + # This is what you get if SSH does not have the remote host's + # public key stored in the 'known_hosts' cache. + self.sendline("yes") + i = self.expect(session_regex_array) + if i==2: # password or passphrase + self.sendline(password) + i = self.expect(session_regex_array) + if i==4: + self.sendline(terminal_type) + i = self.expect(session_regex_array) + if i==7: + self.close() + raise ExceptionPxssh('Could not establish connection to host') + + # Second phase + if i==0: + # This is weird. This should not happen twice in a row. + self.close() + raise ExceptionPxssh('Weird error. Got "are you sure" prompt twice.') + elif i==1: # can occur if you have a public key pair set to authenticate. + ### TODO: May NOT be OK if expect() got tricked and matched a false prompt. + pass + elif i==2: # password prompt again + # For incorrect passwords, some ssh servers will + # ask for the password again, others return 'denied' right away. + # If we get the password prompt again then this means + # we didn't get the password right the first time. + self.close() + raise ExceptionPxssh('password refused') + elif i==3: # permission denied -- password was bad. + self.close() + raise ExceptionPxssh('permission denied') + elif i==4: # terminal type again? WTF? + self.close() + raise ExceptionPxssh('Weird error. Got "terminal type" prompt twice.') + elif i==5: # Timeout + #This is tricky... I presume that we are at the command-line prompt. + #It may be that the shell prompt was so weird that we couldn't match + #it. Or it may be that we couldn't log in for some other reason. I + #can't be sure, but it's safe to guess that we did login because if + #I presume wrong and we are not logged in then this should be caught + #later when I try to set the shell prompt. + pass + elif i==6: # Connection closed by remote host + self.close() + raise ExceptionPxssh('connection closed') + else: # Unexpected + self.close() + raise ExceptionPxssh('unexpected login response') + if sync_original_prompt: + if not self.sync_original_prompt(sync_multiplier): + self.close() + raise ExceptionPxssh('could not synchronize with original prompt') + # We appear to be in. + # set shell prompt to something unique. + if auto_prompt_reset: + if not self.set_unique_prompt(): + self.close() + raise ExceptionPxssh('could not set shell prompt ' + '(received: %r, expected: %r).' % ( + self.before, self.PROMPT,)) + return True + + def logout (self): + '''Sends exit to the remote shell. + + If there are stopped jobs then this automatically sends exit twice. + ''' + self.sendline("exit") + index = self.expect([EOF, "(?i)there are stopped jobs"]) + if index==1: + self.sendline("exit") + self.expect(EOF) + self.close() + + def prompt(self, timeout=-1): + '''Match the next shell prompt. + + This is little more than a short-cut to the :meth:`~pexpect.spawn.expect` + method. Note that if you called :meth:`login` with + ``auto_prompt_reset=False``, then before calling :meth:`prompt` you must + set the :attr:`PROMPT` attribute to a regex that it will use for + matching the prompt. + + Calling :meth:`prompt` will erase the contents of the :attr:`before` + attribute even if no prompt is ever matched. If timeout is not given or + it is set to -1 then self.timeout is used. + + :return: True if the shell prompt was matched, False if the timeout was + reached. + ''' + + if timeout == -1: + timeout = self.timeout + i = self.expect([self.PROMPT, TIMEOUT], timeout=timeout) + if i==1: + return False + return True + + def set_unique_prompt(self): + '''This sets the remote prompt to something more unique than ``#`` or ``$``. + This makes it easier for the :meth:`prompt` method to match the shell prompt + unambiguously. This method is called automatically by the :meth:`login` + method, but you may want to call it manually if you somehow reset the + shell prompt. For example, if you 'su' to a different user then you + will need to manually reset the prompt. This sends shell commands to + the remote host to set the prompt, so this assumes the remote host is + ready to receive commands. + + Alternatively, you may use your own prompt pattern. In this case you + should call :meth:`login` with ``auto_prompt_reset=False``; then set the + :attr:`PROMPT` attribute to a regular expression. After that, the + :meth:`prompt` method will try to match your prompt pattern. + ''' + + self.sendline("unset PROMPT_COMMAND") + self.sendline(self.PROMPT_SET_SH) # sh-style + i = self.expect ([TIMEOUT, self.PROMPT], timeout=10) + if i == 0: # csh-style + self.sendline(self.PROMPT_SET_CSH) + i = self.expect([TIMEOUT, self.PROMPT], timeout=10) + if i == 0: + return False + return True + +# vi:ts=4:sw=4:expandtab:ft=python: diff --git a/venv/lib/python3.6/site-packages/pexpect/replwrap.py b/venv/lib/python3.6/site-packages/pexpect/replwrap.py new file mode 100644 index 0000000..c930f1e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pexpect/replwrap.py @@ -0,0 +1,130 @@ +"""Generic wrapper for read-eval-print-loops, a.k.a. interactive shells +""" +import os.path +import signal +import sys + +import pexpect + +PY3 = (sys.version_info[0] >= 3) + +if PY3: + basestring = str + +PEXPECT_PROMPT = u'[PEXPECT_PROMPT>' +PEXPECT_CONTINUATION_PROMPT = u'[PEXPECT_PROMPT+' + +class REPLWrapper(object): + """Wrapper for a REPL. + + :param cmd_or_spawn: This can either be an instance of :class:`pexpect.spawn` + in which a REPL has already been started, or a str command to start a new + REPL process. + :param str orig_prompt: The prompt to expect at first. + :param str prompt_change: A command to change the prompt to something more + unique. If this is ``None``, the prompt will not be changed. This will + be formatted with the new and continuation prompts as positional + parameters, so you can use ``{}`` style formatting to insert them into + the command. + :param str new_prompt: The more unique prompt to expect after the change. + :param str extra_init_cmd: Commands to do extra initialisation, such as + disabling pagers. + """ + def __init__(self, cmd_or_spawn, orig_prompt, prompt_change, + new_prompt=PEXPECT_PROMPT, + continuation_prompt=PEXPECT_CONTINUATION_PROMPT, + extra_init_cmd=None): + if isinstance(cmd_or_spawn, basestring): + self.child = pexpect.spawn(cmd_or_spawn, echo=False, encoding='utf-8') + else: + self.child = cmd_or_spawn + if self.child.echo: + # Existing spawn instance has echo enabled, disable it + # to prevent our input from being repeated to output. + self.child.setecho(False) + self.child.waitnoecho() + + if prompt_change is None: + self.prompt = orig_prompt + else: + self.set_prompt(orig_prompt, + prompt_change.format(new_prompt, continuation_prompt)) + self.prompt = new_prompt + self.continuation_prompt = continuation_prompt + + self._expect_prompt() + + if extra_init_cmd is not None: + self.run_command(extra_init_cmd) + + def set_prompt(self, orig_prompt, prompt_change): + self.child.expect(orig_prompt) + self.child.sendline(prompt_change) + + def _expect_prompt(self, timeout=-1, async_=False): + return self.child.expect_exact([self.prompt, self.continuation_prompt], + timeout=timeout, async_=async_) + + def run_command(self, command, timeout=-1, async_=False): + """Send a command to the REPL, wait for and return output. + + :param str command: The command to send. Trailing newlines are not needed. + This should be a complete block of input that will trigger execution; + if a continuation prompt is found after sending input, :exc:`ValueError` + will be raised. + :param int timeout: How long to wait for the next prompt. -1 means the + default from the :class:`pexpect.spawn` object (default 30 seconds). + None means to wait indefinitely. + :param bool async_: On Python 3.4, or Python 3.3 with asyncio + installed, passing ``async_=True`` will make this return an + :mod:`asyncio` Future, which you can yield from to get the same + result that this method would normally give directly. + """ + # Split up multiline commands and feed them in bit-by-bit + cmdlines = command.splitlines() + # splitlines ignores trailing newlines - add it back in manually + if command.endswith('\n'): + cmdlines.append('') + if not cmdlines: + raise ValueError("No command was given") + + if async_: + from ._async import repl_run_command_async + return repl_run_command_async(self, cmdlines, timeout) + + res = [] + self.child.sendline(cmdlines[0]) + for line in cmdlines[1:]: + self._expect_prompt(timeout=timeout) + res.append(self.child.before) + self.child.sendline(line) + + # Command was fully submitted, now wait for the next prompt + if self._expect_prompt(timeout=timeout) == 1: + # We got the continuation prompt - command was incomplete + self.child.kill(signal.SIGINT) + self._expect_prompt(timeout=1) + raise ValueError("Continuation prompt found - input was incomplete:\n" + + command) + return u''.join(res + [self.child.before]) + +def python(command="python"): + """Start a Python shell and return a :class:`REPLWrapper` object.""" + return REPLWrapper(command, u">>> ", u"import sys; sys.ps1={0!r}; sys.ps2={1!r}") + +def bash(command="bash"): + """Start a bash shell and return a :class:`REPLWrapper` object.""" + bashrc = os.path.join(os.path.dirname(__file__), 'bashrc.sh') + child = pexpect.spawn(command, ['--rcfile', bashrc], echo=False, + encoding='utf-8') + + # If the user runs 'env', the value of PS1 will be in the output. To avoid + # replwrap seeing that as the next prompt, we'll embed the marker characters + # for invisible characters in the prompt; these show up when inspecting the + # environment variable, but not when bash displays the prompt. + ps1 = PEXPECT_PROMPT[:5] + u'\\[\\]' + PEXPECT_PROMPT[5:] + ps2 = PEXPECT_CONTINUATION_PROMPT[:5] + u'\\[\\]' + PEXPECT_CONTINUATION_PROMPT[5:] + prompt_change = u"PS1='{0}' PS2='{1}' PROMPT_COMMAND=''".format(ps1, ps2) + + return REPLWrapper(child, u'\\$', prompt_change, + extra_init_cmd="export PAGER=cat") diff --git a/venv/lib/python3.6/site-packages/pexpect/run.py b/venv/lib/python3.6/site-packages/pexpect/run.py new file mode 100644 index 0000000..d9dfe76 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pexpect/run.py @@ -0,0 +1,157 @@ +import sys +import types + +from .exceptions import EOF, TIMEOUT +from .pty_spawn import spawn + +def run(command, timeout=30, withexitstatus=False, events=None, + extra_args=None, logfile=None, cwd=None, env=None, **kwargs): + + ''' + This function runs the given command; waits for it to finish; then + returns all output as a string. STDERR is included in output. If the full + path to the command is not given then the path is searched. + + Note that lines are terminated by CR/LF (\\r\\n) combination even on + UNIX-like systems because this is the standard for pseudottys. If you set + 'withexitstatus' to true, then run will return a tuple of (command_output, + exitstatus). If 'withexitstatus' is false then this returns just + command_output. + + The run() function can often be used instead of creating a spawn instance. + For example, the following code uses spawn:: + + from pexpect import * + child = spawn('scp foo user@example.com:.') + child.expect('(?i)password') + child.sendline(mypassword) + + The previous code can be replace with the following:: + + from pexpect import * + run('scp foo user@example.com:.', events={'(?i)password': mypassword}) + + **Examples** + + Start the apache daemon on the local machine:: + + from pexpect import * + run("/usr/local/apache/bin/apachectl start") + + Check in a file using SVN:: + + from pexpect import * + run("svn ci -m 'automatic commit' my_file.py") + + Run a command and capture exit status:: + + from pexpect import * + (command_output, exitstatus) = run('ls -l /bin', withexitstatus=1) + + The following will run SSH and execute 'ls -l' on the remote machine. The + password 'secret' will be sent if the '(?i)password' pattern is ever seen:: + + run("ssh username@machine.example.com 'ls -l'", + events={'(?i)password':'secret\\n'}) + + This will start mencoder to rip a video from DVD. This will also display + progress ticks every 5 seconds as it runs. For example:: + + from pexpect import * + def print_ticks(d): + print d['event_count'], + run("mencoder dvd://1 -o video.avi -oac copy -ovc copy", + events={TIMEOUT:print_ticks}, timeout=5) + + The 'events' argument should be either a dictionary or a tuple list that + contains patterns and responses. Whenever one of the patterns is seen + in the command output, run() will send the associated response string. + So, run() in the above example can be also written as: + + run("mencoder dvd://1 -o video.avi -oac copy -ovc copy", + events=[(TIMEOUT,print_ticks)], timeout=5) + + Use a tuple list for events if the command output requires a delicate + control over what pattern should be matched, since the tuple list is passed + to pexpect() as its pattern list, with the order of patterns preserved. + + Note that you should put newlines in your string if Enter is necessary. + + Like the example above, the responses may also contain a callback, either + a function or method. It should accept a dictionary value as an argument. + The dictionary contains all the locals from the run() function, so you can + access the child spawn object or any other variable defined in run() + (event_count, child, and extra_args are the most useful). A callback may + return True to stop the current run process. Otherwise run() continues + until the next event. A callback may also return a string which will be + sent to the child. 'extra_args' is not used by directly run(). It provides + a way to pass data to a callback function through run() through the locals + dictionary passed to a callback. + + Like :class:`spawn`, passing *encoding* will make it work with unicode + instead of bytes. You can pass *codec_errors* to control how errors in + encoding and decoding are handled. + ''' + if timeout == -1: + child = spawn(command, maxread=2000, logfile=logfile, cwd=cwd, env=env, + **kwargs) + else: + child = spawn(command, timeout=timeout, maxread=2000, logfile=logfile, + cwd=cwd, env=env, **kwargs) + if isinstance(events, list): + patterns= [x for x,y in events] + responses = [y for x,y in events] + elif isinstance(events, dict): + patterns = list(events.keys()) + responses = list(events.values()) + else: + # This assumes EOF or TIMEOUT will eventually cause run to terminate. + patterns = None + responses = None + child_result_list = [] + event_count = 0 + while True: + try: + index = child.expect(patterns) + if isinstance(child.after, child.allowed_string_types): + child_result_list.append(child.before + child.after) + else: + # child.after may have been a TIMEOUT or EOF, + # which we don't want appended to the list. + child_result_list.append(child.before) + if isinstance(responses[index], child.allowed_string_types): + child.send(responses[index]) + elif (isinstance(responses[index], types.FunctionType) or + isinstance(responses[index], types.MethodType)): + callback_result = responses[index](locals()) + sys.stdout.flush() + if isinstance(callback_result, child.allowed_string_types): + child.send(callback_result) + elif callback_result: + break + else: + raise TypeError("parameter `event' at index {index} must be " + "a string, method, or function: {value!r}" + .format(index=index, value=responses[index])) + event_count = event_count + 1 + except TIMEOUT: + child_result_list.append(child.before) + break + except EOF: + child_result_list.append(child.before) + break + child_result = child.string_type().join(child_result_list) + if withexitstatus: + child.close() + return (child_result, child.exitstatus) + else: + return child_result + +def runu(command, timeout=30, withexitstatus=False, events=None, + extra_args=None, logfile=None, cwd=None, env=None, **kwargs): + """Deprecated: pass encoding to run() instead. + """ + kwargs.setdefault('encoding', 'utf-8') + return run(command, timeout=timeout, withexitstatus=withexitstatus, + events=events, extra_args=extra_args, logfile=logfile, cwd=cwd, + env=env, **kwargs) diff --git a/venv/lib/python3.6/site-packages/pexpect/screen.py b/venv/lib/python3.6/site-packages/pexpect/screen.py new file mode 100644 index 0000000..5ab45b9 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pexpect/screen.py @@ -0,0 +1,431 @@ +'''This implements a virtual screen. This is used to support ANSI terminal +emulation. The screen representation and state is implemented in this class. +Most of the methods are inspired by ANSI screen control codes. The +:class:`~pexpect.ANSI.ANSI` class extends this class to add parsing of ANSI +escape codes. + +PEXPECT LICENSE + + This license is approved by the OSI and FSF as GPL-compatible. + http://opensource.org/licenses/isc-license.txt + + Copyright (c) 2012, Noah Spurrier + PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY + PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE + COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES. + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +''' + +import codecs +import copy +import sys + +import warnings + +warnings.warn(("pexpect.screen and pexpect.ANSI are deprecated. " + "We recommend using pyte to emulate a terminal screen: " + "https://pypi.python.org/pypi/pyte"), + stacklevel=2) + +NUL = 0 # Fill character; ignored on input. +ENQ = 5 # Transmit answerback message. +BEL = 7 # Ring the bell. +BS = 8 # Move cursor left. +HT = 9 # Move cursor to next tab stop. +LF = 10 # Line feed. +VT = 11 # Same as LF. +FF = 12 # Same as LF. +CR = 13 # Move cursor to left margin or newline. +SO = 14 # Invoke G1 character set. +SI = 15 # Invoke G0 character set. +XON = 17 # Resume transmission. +XOFF = 19 # Halt transmission. +CAN = 24 # Cancel escape sequence. +SUB = 26 # Same as CAN. +ESC = 27 # Introduce a control sequence. +DEL = 127 # Fill character; ignored on input. +SPACE = u' ' # Space or blank character. + +PY3 = (sys.version_info[0] >= 3) +if PY3: + unicode = str + +def constrain (n, min, max): + + '''This returns a number, n constrained to the min and max bounds. ''' + + if n < min: + return min + if n > max: + return max + return n + +class screen: + '''This object maintains the state of a virtual text screen as a + rectangular array. This maintains a virtual cursor position and handles + scrolling as characters are added. This supports most of the methods needed + by an ANSI text screen. Row and column indexes are 1-based (not zero-based, + like arrays). + + Characters are represented internally using unicode. Methods that accept + input characters, when passed 'bytes' (which in Python 2 is equivalent to + 'str'), convert them from the encoding specified in the 'encoding' + parameter to the constructor. Methods that return screen contents return + unicode strings, with the exception of __str__() under Python 2. Passing + ``encoding=None`` limits the API to only accept unicode input, so passing + bytes in will raise :exc:`TypeError`. + ''' + def __init__(self, r=24, c=80, encoding='latin-1', encoding_errors='replace'): + '''This initializes a blank screen of the given dimensions.''' + + self.rows = r + self.cols = c + self.encoding = encoding + self.encoding_errors = encoding_errors + if encoding is not None: + self.decoder = codecs.getincrementaldecoder(encoding)(encoding_errors) + else: + self.decoder = None + self.cur_r = 1 + self.cur_c = 1 + self.cur_saved_r = 1 + self.cur_saved_c = 1 + self.scroll_row_start = 1 + self.scroll_row_end = self.rows + self.w = [ [SPACE] * self.cols for _ in range(self.rows)] + + def _decode(self, s): + '''This converts from the external coding system (as passed to + the constructor) to the internal one (unicode). ''' + if self.decoder is not None: + return self.decoder.decode(s) + else: + raise TypeError("This screen was constructed with encoding=None, " + "so it does not handle bytes.") + + def _unicode(self): + '''This returns a printable representation of the screen as a unicode + string (which, under Python 3.x, is the same as 'str'). The end of each + screen line is terminated by a newline.''' + + return u'\n'.join ([ u''.join(c) for c in self.w ]) + + if PY3: + __str__ = _unicode + else: + __unicode__ = _unicode + + def __str__(self): + '''This returns a printable representation of the screen. The end of + each screen line is terminated by a newline. ''' + encoding = self.encoding or 'ascii' + return self._unicode().encode(encoding, 'replace') + + def dump (self): + '''This returns a copy of the screen as a unicode string. This is similar to + __str__/__unicode__ except that lines are not terminated with line + feeds.''' + + return u''.join ([ u''.join(c) for c in self.w ]) + + def pretty (self): + '''This returns a copy of the screen as a unicode string with an ASCII + text box around the screen border. This is similar to + __str__/__unicode__ except that it adds a box.''' + + top_bot = u'+' + u'-'*self.cols + u'+\n' + return top_bot + u'\n'.join([u'|'+line+u'|' for line in unicode(self).split(u'\n')]) + u'\n' + top_bot + + def fill (self, ch=SPACE): + + if isinstance(ch, bytes): + ch = self._decode(ch) + + self.fill_region (1,1,self.rows,self.cols, ch) + + def fill_region (self, rs,cs, re,ce, ch=SPACE): + + if isinstance(ch, bytes): + ch = self._decode(ch) + + rs = constrain (rs, 1, self.rows) + re = constrain (re, 1, self.rows) + cs = constrain (cs, 1, self.cols) + ce = constrain (ce, 1, self.cols) + if rs > re: + rs, re = re, rs + if cs > ce: + cs, ce = ce, cs + for r in range (rs, re+1): + for c in range (cs, ce + 1): + self.put_abs (r,c,ch) + + def cr (self): + '''This moves the cursor to the beginning (col 1) of the current row. + ''' + + self.cursor_home (self.cur_r, 1) + + def lf (self): + '''This moves the cursor down with scrolling. + ''' + + old_r = self.cur_r + self.cursor_down() + if old_r == self.cur_r: + self.scroll_up () + self.erase_line() + + def crlf (self): + '''This advances the cursor with CRLF properties. + The cursor will line wrap and the screen may scroll. + ''' + + self.cr () + self.lf () + + def newline (self): + '''This is an alias for crlf(). + ''' + + self.crlf() + + def put_abs (self, r, c, ch): + '''Screen array starts at 1 index.''' + + r = constrain (r, 1, self.rows) + c = constrain (c, 1, self.cols) + if isinstance(ch, bytes): + ch = self._decode(ch)[0] + else: + ch = ch[0] + self.w[r-1][c-1] = ch + + def put (self, ch): + '''This puts a characters at the current cursor position. + ''' + + if isinstance(ch, bytes): + ch = self._decode(ch) + + self.put_abs (self.cur_r, self.cur_c, ch) + + def insert_abs (self, r, c, ch): + '''This inserts a character at (r,c). Everything under + and to the right is shifted right one character. + The last character of the line is lost. + ''' + + if isinstance(ch, bytes): + ch = self._decode(ch) + + r = constrain (r, 1, self.rows) + c = constrain (c, 1, self.cols) + for ci in range (self.cols, c, -1): + self.put_abs (r,ci, self.get_abs(r,ci-1)) + self.put_abs (r,c,ch) + + def insert (self, ch): + + if isinstance(ch, bytes): + ch = self._decode(ch) + + self.insert_abs (self.cur_r, self.cur_c, ch) + + def get_abs (self, r, c): + + r = constrain (r, 1, self.rows) + c = constrain (c, 1, self.cols) + return self.w[r-1][c-1] + + def get (self): + + self.get_abs (self.cur_r, self.cur_c) + + def get_region (self, rs,cs, re,ce): + '''This returns a list of lines representing the region. + ''' + + rs = constrain (rs, 1, self.rows) + re = constrain (re, 1, self.rows) + cs = constrain (cs, 1, self.cols) + ce = constrain (ce, 1, self.cols) + if rs > re: + rs, re = re, rs + if cs > ce: + cs, ce = ce, cs + sc = [] + for r in range (rs, re+1): + line = u'' + for c in range (cs, ce + 1): + ch = self.get_abs (r,c) + line = line + ch + sc.append (line) + return sc + + def cursor_constrain (self): + '''This keeps the cursor within the screen area. + ''' + + self.cur_r = constrain (self.cur_r, 1, self.rows) + self.cur_c = constrain (self.cur_c, 1, self.cols) + + def cursor_home (self, r=1, c=1): # [{ROW};{COLUMN}H + + self.cur_r = r + self.cur_c = c + self.cursor_constrain () + + def cursor_back (self,count=1): # [{COUNT}D (not confused with down) + + self.cur_c = self.cur_c - count + self.cursor_constrain () + + def cursor_down (self,count=1): # [{COUNT}B (not confused with back) + + self.cur_r = self.cur_r + count + self.cursor_constrain () + + def cursor_forward (self,count=1): # [{COUNT}C + + self.cur_c = self.cur_c + count + self.cursor_constrain () + + def cursor_up (self,count=1): # [{COUNT}A + + self.cur_r = self.cur_r - count + self.cursor_constrain () + + def cursor_up_reverse (self): # M (called RI -- Reverse Index) + + old_r = self.cur_r + self.cursor_up() + if old_r == self.cur_r: + self.scroll_up() + + def cursor_force_position (self, r, c): # [{ROW};{COLUMN}f + '''Identical to Cursor Home.''' + + self.cursor_home (r, c) + + def cursor_save (self): # [s + '''Save current cursor position.''' + + self.cursor_save_attrs() + + def cursor_unsave (self): # [u + '''Restores cursor position after a Save Cursor.''' + + self.cursor_restore_attrs() + + def cursor_save_attrs (self): # 7 + '''Save current cursor position.''' + + self.cur_saved_r = self.cur_r + self.cur_saved_c = self.cur_c + + def cursor_restore_attrs (self): # 8 + '''Restores cursor position after a Save Cursor.''' + + self.cursor_home (self.cur_saved_r, self.cur_saved_c) + + def scroll_constrain (self): + '''This keeps the scroll region within the screen region.''' + + if self.scroll_row_start <= 0: + self.scroll_row_start = 1 + if self.scroll_row_end > self.rows: + self.scroll_row_end = self.rows + + def scroll_screen (self): # [r + '''Enable scrolling for entire display.''' + + self.scroll_row_start = 1 + self.scroll_row_end = self.rows + + def scroll_screen_rows (self, rs, re): # [{start};{end}r + '''Enable scrolling from row {start} to row {end}.''' + + self.scroll_row_start = rs + self.scroll_row_end = re + self.scroll_constrain() + + def scroll_down (self): # D + '''Scroll display down one line.''' + + # Screen is indexed from 1, but arrays are indexed from 0. + s = self.scroll_row_start - 1 + e = self.scroll_row_end - 1 + self.w[s+1:e+1] = copy.deepcopy(self.w[s:e]) + + def scroll_up (self): # M + '''Scroll display up one line.''' + + # Screen is indexed from 1, but arrays are indexed from 0. + s = self.scroll_row_start - 1 + e = self.scroll_row_end - 1 + self.w[s:e] = copy.deepcopy(self.w[s+1:e+1]) + + def erase_end_of_line (self): # [0K -or- [K + '''Erases from the current cursor position to the end of the current + line.''' + + self.fill_region (self.cur_r, self.cur_c, self.cur_r, self.cols) + + def erase_start_of_line (self): # [1K + '''Erases from the current cursor position to the start of the current + line.''' + + self.fill_region (self.cur_r, 1, self.cur_r, self.cur_c) + + def erase_line (self): # [2K + '''Erases the entire current line.''' + + self.fill_region (self.cur_r, 1, self.cur_r, self.cols) + + def erase_down (self): # [0J -or- [J + '''Erases the screen from the current line down to the bottom of the + screen.''' + + self.erase_end_of_line () + self.fill_region (self.cur_r + 1, 1, self.rows, self.cols) + + def erase_up (self): # [1J + '''Erases the screen from the current line up to the top of the + screen.''' + + self.erase_start_of_line () + self.fill_region (self.cur_r-1, 1, 1, self.cols) + + def erase_screen (self): # [2J + '''Erases the screen with the background color.''' + + self.fill () + + def set_tab (self): # H + '''Sets a tab at the current position.''' + + pass + + def clear_tab (self): # [g + '''Clears tab at the current position.''' + + pass + + def clear_all_tabs (self): # [3g + '''Clears all tabs.''' + + pass + +# Insert line Esc [ Pn L +# Delete line Esc [ Pn M +# Delete character Esc [ Pn P +# Scrolling region Esc [ Pn(top);Pn(bot) r + diff --git a/venv/lib/python3.6/site-packages/pexpect/spawnbase.py b/venv/lib/python3.6/site-packages/pexpect/spawnbase.py new file mode 100644 index 0000000..63c0b42 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pexpect/spawnbase.py @@ -0,0 +1,522 @@ +from io import StringIO, BytesIO +import codecs +import os +import sys +import re +import errno +from .exceptions import ExceptionPexpect, EOF, TIMEOUT +from .expect import Expecter, searcher_string, searcher_re + +PY3 = (sys.version_info[0] >= 3) +text_type = str if PY3 else unicode + +class _NullCoder(object): + """Pass bytes through unchanged.""" + @staticmethod + def encode(b, final=False): + return b + + @staticmethod + def decode(b, final=False): + return b + +class SpawnBase(object): + """A base class providing the backwards-compatible spawn API for Pexpect. + + This should not be instantiated directly: use :class:`pexpect.spawn` or + :class:`pexpect.fdpexpect.fdspawn`. + """ + encoding = None + pid = None + flag_eof = False + + def __init__(self, timeout=30, maxread=2000, searchwindowsize=None, + logfile=None, encoding=None, codec_errors='strict'): + self.stdin = sys.stdin + self.stdout = sys.stdout + self.stderr = sys.stderr + + self.searcher = None + self.ignorecase = False + self.before = None + self.after = None + self.match = None + self.match_index = None + self.terminated = True + self.exitstatus = None + self.signalstatus = None + # status returned by os.waitpid + self.status = None + # the child file descriptor is initially closed + self.child_fd = -1 + self.timeout = timeout + self.delimiter = EOF + self.logfile = logfile + # input from child (read_nonblocking) + self.logfile_read = None + # output to send (send, sendline) + self.logfile_send = None + # max bytes to read at one time into buffer + self.maxread = maxread + # Data before searchwindowsize point is preserved, but not searched. + self.searchwindowsize = searchwindowsize + # Delay used before sending data to child. Time in seconds. + # Set this to None to skip the time.sleep() call completely. + self.delaybeforesend = 0.05 + # Used by close() to give kernel time to update process status. + # Time in seconds. + self.delayafterclose = 0.1 + # Used by terminate() to give kernel time to update process status. + # Time in seconds. + self.delayafterterminate = 0.1 + # Delay in seconds to sleep after each call to read_nonblocking(). + # Set this to None to skip the time.sleep() call completely: that + # would restore the behavior from pexpect-2.0 (for performance + # reasons or because you don't want to release Python's global + # interpreter lock). + self.delayafterread = 0.0001 + self.softspace = False + self.name = '<' + repr(self) + '>' + self.closed = True + + # Unicode interface + self.encoding = encoding + self.codec_errors = codec_errors + if encoding is None: + # bytes mode (accepts some unicode for backwards compatibility) + self._encoder = self._decoder = _NullCoder() + self.string_type = bytes + self.buffer_type = BytesIO + self.crlf = b'\r\n' + if PY3: + self.allowed_string_types = (bytes, str) + self.linesep = os.linesep.encode('ascii') + def write_to_stdout(b): + try: + return sys.stdout.buffer.write(b) + except AttributeError: + # If stdout has been replaced, it may not have .buffer + return sys.stdout.write(b.decode('ascii', 'replace')) + self.write_to_stdout = write_to_stdout + else: + self.allowed_string_types = (basestring,) # analysis:ignore + self.linesep = os.linesep + self.write_to_stdout = sys.stdout.write + else: + # unicode mode + self._encoder = codecs.getincrementalencoder(encoding)(codec_errors) + self._decoder = codecs.getincrementaldecoder(encoding)(codec_errors) + self.string_type = text_type + self.buffer_type = StringIO + self.crlf = u'\r\n' + self.allowed_string_types = (text_type, ) + if PY3: + self.linesep = os.linesep + else: + self.linesep = os.linesep.decode('ascii') + # This can handle unicode in both Python 2 and 3 + self.write_to_stdout = sys.stdout.write + # storage for async transport + self.async_pw_transport = None + # This is the read buffer. See maxread. + self._buffer = self.buffer_type() + + def _log(self, s, direction): + if self.logfile is not None: + self.logfile.write(s) + self.logfile.flush() + second_log = self.logfile_send if (direction=='send') else self.logfile_read + if second_log is not None: + second_log.write(s) + second_log.flush() + + # For backwards compatibility, in bytes mode (when encoding is None) + # unicode is accepted for send and expect. Unicode mode is strictly unicode + # only. + def _coerce_expect_string(self, s): + if self.encoding is None and not isinstance(s, bytes): + return s.encode('ascii') + return s + + def _coerce_send_string(self, s): + if self.encoding is None and not isinstance(s, bytes): + return s.encode('utf-8') + return s + + def _get_buffer(self): + return self._buffer.getvalue() + + def _set_buffer(self, value): + self._buffer = self.buffer_type() + self._buffer.write(value) + + # This property is provided for backwards compatability (self.buffer used + # to be a string/bytes object) + buffer = property(_get_buffer, _set_buffer) + + def read_nonblocking(self, size=1, timeout=None): + """This reads data from the file descriptor. + + This is a simple implementation suitable for a regular file. Subclasses using ptys or pipes should override it. + + The timeout parameter is ignored. + """ + + try: + s = os.read(self.child_fd, size) + except OSError as err: + if err.args[0] == errno.EIO: + # Linux-style EOF + self.flag_eof = True + raise EOF('End Of File (EOF). Exception style platform.') + raise + if s == b'': + # BSD-style EOF + self.flag_eof = True + raise EOF('End Of File (EOF). Empty string style platform.') + + s = self._decoder.decode(s, final=False) + self._log(s, 'read') + return s + + def _pattern_type_err(self, pattern): + raise TypeError('got {badtype} ({badobj!r}) as pattern, must be one' + ' of: {goodtypes}, pexpect.EOF, pexpect.TIMEOUT'\ + .format(badtype=type(pattern), + badobj=pattern, + goodtypes=', '.join([str(ast)\ + for ast in self.allowed_string_types]) + ) + ) + + def compile_pattern_list(self, patterns): + '''This compiles a pattern-string or a list of pattern-strings. + Patterns must be a StringType, EOF, TIMEOUT, SRE_Pattern, or a list of + those. Patterns may also be None which results in an empty list (you + might do this if waiting for an EOF or TIMEOUT condition without + expecting any pattern). + + This is used by expect() when calling expect_list(). Thus expect() is + nothing more than:: + + cpl = self.compile_pattern_list(pl) + return self.expect_list(cpl, timeout) + + If you are using expect() within a loop it may be more + efficient to compile the patterns first and then call expect_list(). + This avoid calls in a loop to compile_pattern_list():: + + cpl = self.compile_pattern_list(my_pattern) + while some_condition: + ... + i = self.expect_list(cpl, timeout) + ... + ''' + + if patterns is None: + return [] + if not isinstance(patterns, list): + patterns = [patterns] + + # Allow dot to match \n + compile_flags = re.DOTALL + if self.ignorecase: + compile_flags = compile_flags | re.IGNORECASE + compiled_pattern_list = [] + for idx, p in enumerate(patterns): + if isinstance(p, self.allowed_string_types): + p = self._coerce_expect_string(p) + compiled_pattern_list.append(re.compile(p, compile_flags)) + elif p is EOF: + compiled_pattern_list.append(EOF) + elif p is TIMEOUT: + compiled_pattern_list.append(TIMEOUT) + elif isinstance(p, type(re.compile(''))): + compiled_pattern_list.append(p) + else: + self._pattern_type_err(p) + return compiled_pattern_list + + def expect(self, pattern, timeout=-1, searchwindowsize=-1, async_=False, **kw): + '''This seeks through the stream until a pattern is matched. The + pattern is overloaded and may take several types. The pattern can be a + StringType, EOF, a compiled re, or a list of any of those types. + Strings will be compiled to re types. This returns the index into the + pattern list. If the pattern was not a list this returns index 0 on a + successful match. This may raise exceptions for EOF or TIMEOUT. To + avoid the EOF or TIMEOUT exceptions add EOF or TIMEOUT to the pattern + list. That will cause expect to match an EOF or TIMEOUT condition + instead of raising an exception. + + If you pass a list of patterns and more than one matches, the first + match in the stream is chosen. If more than one pattern matches at that + point, the leftmost in the pattern list is chosen. For example:: + + # the input is 'foobar' + index = p.expect(['bar', 'foo', 'foobar']) + # returns 1('foo') even though 'foobar' is a "better" match + + Please note, however, that buffering can affect this behavior, since + input arrives in unpredictable chunks. For example:: + + # the input is 'foobar' + index = p.expect(['foobar', 'foo']) + # returns 0('foobar') if all input is available at once, + # but returns 1('foo') if parts of the final 'bar' arrive late + + When a match is found for the given pattern, the class instance + attribute *match* becomes an re.MatchObject result. Should an EOF + or TIMEOUT pattern match, then the match attribute will be an instance + of that exception class. The pairing before and after class + instance attributes are views of the data preceding and following + the matching pattern. On general exception, class attribute + *before* is all data received up to the exception, while *match* and + *after* attributes are value None. + + When the keyword argument timeout is -1 (default), then TIMEOUT will + raise after the default value specified by the class timeout + attribute. When None, TIMEOUT will not be raised and may block + indefinitely until match. + + When the keyword argument searchwindowsize is -1 (default), then the + value specified by the class maxread attribute is used. + + A list entry may be EOF or TIMEOUT instead of a string. This will + catch these exceptions and return the index of the list entry instead + of raising the exception. The attribute 'after' will be set to the + exception type. The attribute 'match' will be None. This allows you to + write code like this:: + + index = p.expect(['good', 'bad', pexpect.EOF, pexpect.TIMEOUT]) + if index == 0: + do_something() + elif index == 1: + do_something_else() + elif index == 2: + do_some_other_thing() + elif index == 3: + do_something_completely_different() + + instead of code like this:: + + try: + index = p.expect(['good', 'bad']) + if index == 0: + do_something() + elif index == 1: + do_something_else() + except EOF: + do_some_other_thing() + except TIMEOUT: + do_something_completely_different() + + These two forms are equivalent. It all depends on what you want. You + can also just expect the EOF if you are waiting for all output of a + child to finish. For example:: + + p = pexpect.spawn('/bin/ls') + p.expect(pexpect.EOF) + print p.before + + If you are trying to optimize for speed then see expect_list(). + + On Python 3.4, or Python 3.3 with asyncio installed, passing + ``async_=True`` will make this return an :mod:`asyncio` coroutine, + which you can yield from to get the same result that this method would + normally give directly. So, inside a coroutine, you can replace this code:: + + index = p.expect(patterns) + + With this non-blocking form:: + + index = yield from p.expect(patterns, async_=True) + ''' + if 'async' in kw: + async_ = kw.pop('async') + if kw: + raise TypeError("Unknown keyword arguments: {}".format(kw)) + + compiled_pattern_list = self.compile_pattern_list(pattern) + return self.expect_list(compiled_pattern_list, + timeout, searchwindowsize, async_) + + def expect_list(self, pattern_list, timeout=-1, searchwindowsize=-1, + async_=False, **kw): + '''This takes a list of compiled regular expressions and returns the + index into the pattern_list that matched the child output. The list may + also contain EOF or TIMEOUT(which are not compiled regular + expressions). This method is similar to the expect() method except that + expect_list() does not recompile the pattern list on every call. This + may help if you are trying to optimize for speed, otherwise just use + the expect() method. This is called by expect(). + + + Like :meth:`expect`, passing ``async_=True`` will make this return an + asyncio coroutine. + ''' + if timeout == -1: + timeout = self.timeout + if 'async' in kw: + async_ = kw.pop('async') + if kw: + raise TypeError("Unknown keyword arguments: {}".format(kw)) + + exp = Expecter(self, searcher_re(pattern_list), searchwindowsize) + if async_: + from ._async import expect_async + return expect_async(exp, timeout) + else: + return exp.expect_loop(timeout) + + def expect_exact(self, pattern_list, timeout=-1, searchwindowsize=-1, + async_=False, **kw): + + '''This is similar to expect(), but uses plain string matching instead + of compiled regular expressions in 'pattern_list'. The 'pattern_list' + may be a string; a list or other sequence of strings; or TIMEOUT and + EOF. + + This call might be faster than expect() for two reasons: string + searching is faster than RE matching and it is possible to limit the + search to just the end of the input buffer. + + This method is also useful when you don't want to have to worry about + escaping regular expression characters that you want to match. + + Like :meth:`expect`, passing ``async_=True`` will make this return an + asyncio coroutine. + ''' + if timeout == -1: + timeout = self.timeout + if 'async' in kw: + async_ = kw.pop('async') + if kw: + raise TypeError("Unknown keyword arguments: {}".format(kw)) + + if (isinstance(pattern_list, self.allowed_string_types) or + pattern_list in (TIMEOUT, EOF)): + pattern_list = [pattern_list] + + def prepare_pattern(pattern): + if pattern in (TIMEOUT, EOF): + return pattern + if isinstance(pattern, self.allowed_string_types): + return self._coerce_expect_string(pattern) + self._pattern_type_err(pattern) + + try: + pattern_list = iter(pattern_list) + except TypeError: + self._pattern_type_err(pattern_list) + pattern_list = [prepare_pattern(p) for p in pattern_list] + + exp = Expecter(self, searcher_string(pattern_list), searchwindowsize) + if async_: + from ._async import expect_async + return expect_async(exp, timeout) + else: + return exp.expect_loop(timeout) + + def expect_loop(self, searcher, timeout=-1, searchwindowsize=-1): + '''This is the common loop used inside expect. The 'searcher' should be + an instance of searcher_re or searcher_string, which describes how and + what to search for in the input. + + See expect() for other arguments, return value and exceptions. ''' + + exp = Expecter(self, searcher, searchwindowsize) + return exp.expect_loop(timeout) + + def read(self, size=-1): + '''This reads at most "size" bytes from the file (less if the read hits + EOF before obtaining size bytes). If the size argument is negative or + omitted, read all data until EOF is reached. The bytes are returned as + a string object. An empty string is returned when EOF is encountered + immediately. ''' + + if size == 0: + return self.string_type() + if size < 0: + # delimiter default is EOF + self.expect(self.delimiter) + return self.before + + # I could have done this more directly by not using expect(), but + # I deliberately decided to couple read() to expect() so that + # I would catch any bugs early and ensure consistent behavior. + # It's a little less efficient, but there is less for me to + # worry about if I have to later modify read() or expect(). + # Note, it's OK if size==-1 in the regex. That just means it + # will never match anything in which case we stop only on EOF. + cre = re.compile(self._coerce_expect_string('.{%d}' % size), re.DOTALL) + # delimiter default is EOF + index = self.expect([cre, self.delimiter]) + if index == 0: + ### FIXME self.before should be ''. Should I assert this? + return self.after + return self.before + + def readline(self, size=-1): + '''This reads and returns one entire line. The newline at the end of + line is returned as part of the string, unless the file ends without a + newline. An empty string is returned if EOF is encountered immediately. + This looks for a newline as a CR/LF pair (\\r\\n) even on UNIX because + this is what the pseudotty device returns. So contrary to what you may + expect you will receive newlines as \\r\\n. + + If the size argument is 0 then an empty string is returned. In all + other cases the size argument is ignored, which is not standard + behavior for a file-like object. ''' + + if size == 0: + return self.string_type() + # delimiter default is EOF + index = self.expect([self.crlf, self.delimiter]) + if index == 0: + return self.before + self.crlf + else: + return self.before + + def __iter__(self): + '''This is to support iterators over a file-like object. + ''' + return iter(self.readline, self.string_type()) + + def readlines(self, sizehint=-1): + '''This reads until EOF using readline() and returns a list containing + the lines thus read. The optional 'sizehint' argument is ignored. + Remember, because this reads until EOF that means the child + process should have closed its stdout. If you run this method on + a child that is still running with its stdout open then this + method will block until it timesout.''' + + lines = [] + while True: + line = self.readline() + if not line: + break + lines.append(line) + return lines + + def fileno(self): + '''Expose file descriptor for a file-like interface + ''' + return self.child_fd + + def flush(self): + '''This does nothing. It is here to support the interface for a + File-like object. ''' + pass + + def isatty(self): + """Overridden in subclass using tty""" + return False + + # For 'with spawn(...) as child:' + def __enter__(self): + return self + + def __exit__(self, etype, evalue, tb): + # We rely on subclasses to implement close(). If they don't, it's not + # clear what a context manager should do. + self.close() diff --git a/venv/lib/python3.6/site-packages/pexpect/utils.py b/venv/lib/python3.6/site-packages/pexpect/utils.py new file mode 100644 index 0000000..f774519 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pexpect/utils.py @@ -0,0 +1,187 @@ +import os +import sys +import stat +import select +import time +import errno + +try: + InterruptedError +except NameError: + # Alias Python2 exception to Python3 + InterruptedError = select.error + +if sys.version_info[0] >= 3: + string_types = (str,) +else: + string_types = (unicode, str) + + +def is_executable_file(path): + """Checks that path is an executable regular file, or a symlink towards one. + + This is roughly ``os.path isfile(path) and os.access(path, os.X_OK)``. + """ + # follow symlinks, + fpath = os.path.realpath(path) + + if not os.path.isfile(fpath): + # non-files (directories, fifo, etc.) + return False + + mode = os.stat(fpath).st_mode + + if (sys.platform.startswith('sunos') + and os.getuid() == 0): + # When root on Solaris, os.X_OK is True for *all* files, irregardless + # of their executability -- instead, any permission bit of any user, + # group, or other is fine enough. + # + # (This may be true for other "Unix98" OS's such as HP-UX and AIX) + return bool(mode & (stat.S_IXUSR | + stat.S_IXGRP | + stat.S_IXOTH)) + + return os.access(fpath, os.X_OK) + + +def which(filename, env=None): + '''This takes a given filename; tries to find it in the environment path; + then checks if it is executable. This returns the full path to the filename + if found and executable. Otherwise this returns None.''' + + # Special case where filename contains an explicit path. + if os.path.dirname(filename) != '' and is_executable_file(filename): + return filename + if env is None: + env = os.environ + p = env.get('PATH') + if not p: + p = os.defpath + pathlist = p.split(os.pathsep) + for path in pathlist: + ff = os.path.join(path, filename) + if is_executable_file(ff): + return ff + return None + + +def split_command_line(command_line): + + '''This splits a command line into a list of arguments. It splits arguments + on spaces, but handles embedded quotes, doublequotes, and escaped + characters. It's impossible to do this with a regular expression, so I + wrote a little state machine to parse the command line. ''' + + arg_list = [] + arg = '' + + # Constants to name the states we can be in. + state_basic = 0 + state_esc = 1 + state_singlequote = 2 + state_doublequote = 3 + # The state when consuming whitespace between commands. + state_whitespace = 4 + state = state_basic + + for c in command_line: + if state == state_basic or state == state_whitespace: + if c == '\\': + # Escape the next character + state = state_esc + elif c == r"'": + # Handle single quote + state = state_singlequote + elif c == r'"': + # Handle double quote + state = state_doublequote + elif c.isspace(): + # Add arg to arg_list if we aren't in the middle of whitespace. + if state == state_whitespace: + # Do nothing. + None + else: + arg_list.append(arg) + arg = '' + state = state_whitespace + else: + arg = arg + c + state = state_basic + elif state == state_esc: + arg = arg + c + state = state_basic + elif state == state_singlequote: + if c == r"'": + state = state_basic + else: + arg = arg + c + elif state == state_doublequote: + if c == r'"': + state = state_basic + else: + arg = arg + c + + if arg != '': + arg_list.append(arg) + return arg_list + + +def select_ignore_interrupts(iwtd, owtd, ewtd, timeout=None): + + '''This is a wrapper around select.select() that ignores signals. If + select.select raises a select.error exception and errno is an EINTR + error then it is ignored. Mainly this is used to ignore sigwinch + (terminal resize). ''' + + # if select() is interrupted by a signal (errno==EINTR) then + # we loop back and enter the select() again. + if timeout is not None: + end_time = time.time() + timeout + while True: + try: + return select.select(iwtd, owtd, ewtd, timeout) + except InterruptedError: + err = sys.exc_info()[1] + if err.args[0] == errno.EINTR: + # if we loop back we have to subtract the + # amount of time we already waited. + if timeout is not None: + timeout = end_time - time.time() + if timeout < 0: + return([], [], []) + else: + # something else caused the select.error, so + # this actually is an exception. + raise + + +def poll_ignore_interrupts(fds, timeout=None): + '''Simple wrapper around poll to register file descriptors and + ignore signals.''' + + if timeout is not None: + end_time = time.time() + timeout + + poller = select.poll() + for fd in fds: + poller.register(fd, select.POLLIN | select.POLLPRI | select.POLLHUP | select.POLLERR) + + while True: + try: + timeout_ms = None if timeout is None else timeout * 1000 + results = poller.poll(timeout_ms) + return [afd for afd, _ in results] + except InterruptedError: + err = sys.exc_info()[1] + if err.args[0] == errno.EINTR: + # if we loop back we have to subtract the + # amount of time we already waited. + if timeout is not None: + timeout = end_time - time.time() + if timeout < 0: + return [] + else: + # something else caused the select.error, so + # this actually is an exception. + raise diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/PKG-INFO b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/PKG-INFO new file mode 100644 index 0000000..0b410a2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/PKG-INFO @@ -0,0 +1,73 @@ +Metadata-Version: 1.2 +Name: pip +Version: 19.0.3 +Summary: The PyPA recommended tool for installing Python packages. +Home-page: https://pip.pypa.io/ +Author: The pip developers +Author-email: pypa-dev@groups.google.com +License: MIT +Description: pip - The Python Package Installer + ================================== + + .. image:: https://img.shields.io/pypi/v/pip.svg + :target: https://pypi.org/project/pip/ + + .. image:: https://readthedocs.org/projects/pip/badge/?version=latest + :target: https://pip.pypa.io/en/latest + + pip is the `package installer`_ for Python. You can use pip to install packages from the `Python Package Index`_ and other indexes. + + Please take a look at our documentation for how to install and use pip: + + * `Installation`_ + * `Usage`_ + * `Release notes`_ + + If you find bugs, need help, or want to talk to the developers please use our mailing lists or chat rooms: + + * `Issue tracking`_ + * `Discourse channel`_ + * `User IRC`_ + + If you want to get involved head over to GitHub to get the source code and feel free to jump on the developer mailing lists and chat rooms: + + * `GitHub page`_ + * `Dev mailing list`_ + * `Dev IRC`_ + + Code of Conduct + --------------- + + Everyone interacting in the pip project's codebases, issue trackers, chat + rooms, and mailing lists is expected to follow the `PyPA Code of Conduct`_. + + .. _package installer: https://packaging.python.org/en/latest/current/ + .. _Python Package Index: https://pypi.org + .. _Installation: https://pip.pypa.io/en/stable/installing.html + .. _Usage: https://pip.pypa.io/en/stable/ + .. _Release notes: https://pip.pypa.io/en/stable/news.html + .. _GitHub page: https://github.com/pypa/pip + .. _Issue tracking: https://github.com/pypa/pip/issues + .. _Discourse channel: https://discuss.python.org/c/packaging + .. _Dev mailing list: https://groups.google.com/forum/#!forum/pypa-dev + .. _User IRC: https://webchat.freenode.net/?channels=%23pypa + .. _Dev IRC: https://webchat.freenode.net/?channels=%23pypa-dev + .. _PyPA Code of Conduct: https://www.pypa.io/en/latest/code-of-conduct/ + +Keywords: distutils easy_install egg setuptools wheel virtualenv +Platform: UNKNOWN +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: MIT License +Classifier: Topic :: Software Development :: Build Tools +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.4 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: Implementation :: CPython +Classifier: Programming Language :: Python :: Implementation :: PyPy +Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.* diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/SOURCES.txt b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/SOURCES.txt new file mode 100644 index 0000000..eb4810d --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/SOURCES.txt @@ -0,0 +1,391 @@ +AUTHORS.txt +LICENSE.txt +MANIFEST.in +NEWS.rst +README.rst +pyproject.toml +setup.cfg +setup.py +docs/pip_sphinxext.py +docs/html/conf.py +docs/html/cookbook.rst +docs/html/index.rst +docs/html/installing.rst +docs/html/logic.rst +docs/html/news.rst +docs/html/quickstart.rst +docs/html/usage.rst +docs/html/user_guide.rst +docs/html/development/configuration.rst +docs/html/development/contributing.rst +docs/html/development/getting-started.rst +docs/html/development/index.rst +docs/html/development/release-process.rst +docs/html/development/vendoring-policy.rst +docs/html/reference/index.rst +docs/html/reference/pip.rst +docs/html/reference/pip_check.rst +docs/html/reference/pip_config.rst +docs/html/reference/pip_download.rst +docs/html/reference/pip_freeze.rst +docs/html/reference/pip_hash.rst +docs/html/reference/pip_install.rst +docs/html/reference/pip_list.rst +docs/html/reference/pip_search.rst +docs/html/reference/pip_show.rst +docs/html/reference/pip_uninstall.rst +docs/html/reference/pip_wheel.rst +docs/man/index.rst +docs/man/commands/check.rst +docs/man/commands/config.rst +docs/man/commands/download.rst +docs/man/commands/freeze.rst +docs/man/commands/hash.rst +docs/man/commands/help.rst +docs/man/commands/install.rst +docs/man/commands/list.rst +docs/man/commands/search.rst +docs/man/commands/show.rst +docs/man/commands/uninstall.rst +docs/man/commands/wheel.rst +src/pip/__init__.py +src/pip/__main__.py +src/pip.egg-info/PKG-INFO +src/pip.egg-info/SOURCES.txt +src/pip.egg-info/dependency_links.txt +src/pip.egg-info/entry_points.txt +src/pip.egg-info/not-zip-safe +src/pip.egg-info/top_level.txt +src/pip/_internal/__init__.py +src/pip/_internal/build_env.py +src/pip/_internal/cache.py +src/pip/_internal/configuration.py +src/pip/_internal/download.py +src/pip/_internal/exceptions.py +src/pip/_internal/index.py +src/pip/_internal/locations.py +src/pip/_internal/pep425tags.py +src/pip/_internal/pyproject.py +src/pip/_internal/resolve.py +src/pip/_internal/wheel.py +src/pip/_internal/cli/__init__.py +src/pip/_internal/cli/autocompletion.py +src/pip/_internal/cli/base_command.py +src/pip/_internal/cli/cmdoptions.py +src/pip/_internal/cli/main_parser.py +src/pip/_internal/cli/parser.py +src/pip/_internal/cli/status_codes.py +src/pip/_internal/commands/__init__.py +src/pip/_internal/commands/check.py +src/pip/_internal/commands/completion.py +src/pip/_internal/commands/configuration.py +src/pip/_internal/commands/download.py +src/pip/_internal/commands/freeze.py +src/pip/_internal/commands/hash.py +src/pip/_internal/commands/help.py +src/pip/_internal/commands/install.py +src/pip/_internal/commands/list.py +src/pip/_internal/commands/search.py +src/pip/_internal/commands/show.py +src/pip/_internal/commands/uninstall.py +src/pip/_internal/commands/wheel.py +src/pip/_internal/models/__init__.py +src/pip/_internal/models/candidate.py +src/pip/_internal/models/format_control.py +src/pip/_internal/models/index.py +src/pip/_internal/models/link.py +src/pip/_internal/operations/__init__.py +src/pip/_internal/operations/check.py +src/pip/_internal/operations/freeze.py +src/pip/_internal/operations/prepare.py +src/pip/_internal/req/__init__.py +src/pip/_internal/req/constructors.py +src/pip/_internal/req/req_file.py +src/pip/_internal/req/req_install.py +src/pip/_internal/req/req_set.py +src/pip/_internal/req/req_tracker.py +src/pip/_internal/req/req_uninstall.py +src/pip/_internal/utils/__init__.py +src/pip/_internal/utils/appdirs.py +src/pip/_internal/utils/compat.py +src/pip/_internal/utils/deprecation.py +src/pip/_internal/utils/encoding.py +src/pip/_internal/utils/filesystem.py +src/pip/_internal/utils/glibc.py +src/pip/_internal/utils/hashes.py +src/pip/_internal/utils/logging.py +src/pip/_internal/utils/misc.py +src/pip/_internal/utils/models.py +src/pip/_internal/utils/outdated.py +src/pip/_internal/utils/packaging.py +src/pip/_internal/utils/setuptools_build.py +src/pip/_internal/utils/temp_dir.py +src/pip/_internal/utils/typing.py +src/pip/_internal/utils/ui.py +src/pip/_internal/vcs/__init__.py +src/pip/_internal/vcs/bazaar.py +src/pip/_internal/vcs/git.py +src/pip/_internal/vcs/mercurial.py +src/pip/_internal/vcs/subversion.py +src/pip/_vendor/README.rst +src/pip/_vendor/__init__.py +src/pip/_vendor/appdirs.LICENSE.txt +src/pip/_vendor/appdirs.py +src/pip/_vendor/distro.LICENSE +src/pip/_vendor/distro.py +src/pip/_vendor/ipaddress.LICENSE +src/pip/_vendor/ipaddress.py +src/pip/_vendor/pyparsing.LICENSE +src/pip/_vendor/pyparsing.py +src/pip/_vendor/retrying.LICENSE +src/pip/_vendor/retrying.py +src/pip/_vendor/six.LICENSE +src/pip/_vendor/six.py +src/pip/_vendor/vendor.txt +src/pip/_vendor/cachecontrol/LICENSE.txt +src/pip/_vendor/cachecontrol/__init__.py +src/pip/_vendor/cachecontrol/_cmd.py +src/pip/_vendor/cachecontrol/adapter.py +src/pip/_vendor/cachecontrol/cache.py +src/pip/_vendor/cachecontrol/compat.py +src/pip/_vendor/cachecontrol/controller.py +src/pip/_vendor/cachecontrol/filewrapper.py +src/pip/_vendor/cachecontrol/heuristics.py +src/pip/_vendor/cachecontrol/serialize.py +src/pip/_vendor/cachecontrol/wrapper.py +src/pip/_vendor/cachecontrol/caches/__init__.py +src/pip/_vendor/cachecontrol/caches/file_cache.py +src/pip/_vendor/cachecontrol/caches/redis_cache.py +src/pip/_vendor/certifi/LICENSE +src/pip/_vendor/certifi/__init__.py +src/pip/_vendor/certifi/__main__.py +src/pip/_vendor/certifi/cacert.pem +src/pip/_vendor/certifi/core.py +src/pip/_vendor/chardet/LICENSE +src/pip/_vendor/chardet/__init__.py +src/pip/_vendor/chardet/big5freq.py +src/pip/_vendor/chardet/big5prober.py +src/pip/_vendor/chardet/chardistribution.py +src/pip/_vendor/chardet/charsetgroupprober.py +src/pip/_vendor/chardet/charsetprober.py +src/pip/_vendor/chardet/codingstatemachine.py +src/pip/_vendor/chardet/compat.py +src/pip/_vendor/chardet/cp949prober.py +src/pip/_vendor/chardet/enums.py +src/pip/_vendor/chardet/escprober.py +src/pip/_vendor/chardet/escsm.py +src/pip/_vendor/chardet/eucjpprober.py +src/pip/_vendor/chardet/euckrfreq.py +src/pip/_vendor/chardet/euckrprober.py +src/pip/_vendor/chardet/euctwfreq.py +src/pip/_vendor/chardet/euctwprober.py +src/pip/_vendor/chardet/gb2312freq.py +src/pip/_vendor/chardet/gb2312prober.py +src/pip/_vendor/chardet/hebrewprober.py +src/pip/_vendor/chardet/jisfreq.py +src/pip/_vendor/chardet/jpcntx.py +src/pip/_vendor/chardet/langbulgarianmodel.py +src/pip/_vendor/chardet/langcyrillicmodel.py +src/pip/_vendor/chardet/langgreekmodel.py +src/pip/_vendor/chardet/langhebrewmodel.py +src/pip/_vendor/chardet/langhungarianmodel.py +src/pip/_vendor/chardet/langthaimodel.py +src/pip/_vendor/chardet/langturkishmodel.py +src/pip/_vendor/chardet/latin1prober.py +src/pip/_vendor/chardet/mbcharsetprober.py +src/pip/_vendor/chardet/mbcsgroupprober.py +src/pip/_vendor/chardet/mbcssm.py +src/pip/_vendor/chardet/sbcharsetprober.py +src/pip/_vendor/chardet/sbcsgroupprober.py +src/pip/_vendor/chardet/sjisprober.py +src/pip/_vendor/chardet/universaldetector.py +src/pip/_vendor/chardet/utf8prober.py +src/pip/_vendor/chardet/version.py +src/pip/_vendor/chardet/cli/__init__.py +src/pip/_vendor/chardet/cli/chardetect.py +src/pip/_vendor/colorama/LICENSE.txt +src/pip/_vendor/colorama/__init__.py +src/pip/_vendor/colorama/ansi.py +src/pip/_vendor/colorama/ansitowin32.py +src/pip/_vendor/colorama/initialise.py +src/pip/_vendor/colorama/win32.py +src/pip/_vendor/colorama/winterm.py +src/pip/_vendor/distlib/LICENSE.txt +src/pip/_vendor/distlib/__init__.py +src/pip/_vendor/distlib/compat.py +src/pip/_vendor/distlib/database.py +src/pip/_vendor/distlib/index.py +src/pip/_vendor/distlib/locators.py +src/pip/_vendor/distlib/manifest.py +src/pip/_vendor/distlib/markers.py +src/pip/_vendor/distlib/metadata.py +src/pip/_vendor/distlib/resources.py +src/pip/_vendor/distlib/scripts.py +src/pip/_vendor/distlib/t32.exe +src/pip/_vendor/distlib/t64.exe +src/pip/_vendor/distlib/util.py +src/pip/_vendor/distlib/version.py +src/pip/_vendor/distlib/w32.exe +src/pip/_vendor/distlib/w64.exe +src/pip/_vendor/distlib/wheel.py +src/pip/_vendor/distlib/_backport/__init__.py +src/pip/_vendor/distlib/_backport/misc.py +src/pip/_vendor/distlib/_backport/shutil.py +src/pip/_vendor/distlib/_backport/sysconfig.cfg +src/pip/_vendor/distlib/_backport/sysconfig.py +src/pip/_vendor/distlib/_backport/tarfile.py +src/pip/_vendor/html5lib/LICENSE +src/pip/_vendor/html5lib/__init__.py +src/pip/_vendor/html5lib/_ihatexml.py +src/pip/_vendor/html5lib/_inputstream.py +src/pip/_vendor/html5lib/_tokenizer.py +src/pip/_vendor/html5lib/_utils.py +src/pip/_vendor/html5lib/constants.py +src/pip/_vendor/html5lib/html5parser.py +src/pip/_vendor/html5lib/serializer.py +src/pip/_vendor/html5lib/_trie/__init__.py +src/pip/_vendor/html5lib/_trie/_base.py +src/pip/_vendor/html5lib/_trie/datrie.py +src/pip/_vendor/html5lib/_trie/py.py +src/pip/_vendor/html5lib/filters/__init__.py +src/pip/_vendor/html5lib/filters/alphabeticalattributes.py +src/pip/_vendor/html5lib/filters/base.py +src/pip/_vendor/html5lib/filters/inject_meta_charset.py +src/pip/_vendor/html5lib/filters/lint.py +src/pip/_vendor/html5lib/filters/optionaltags.py +src/pip/_vendor/html5lib/filters/sanitizer.py +src/pip/_vendor/html5lib/filters/whitespace.py +src/pip/_vendor/html5lib/treeadapters/__init__.py +src/pip/_vendor/html5lib/treeadapters/genshi.py +src/pip/_vendor/html5lib/treeadapters/sax.py +src/pip/_vendor/html5lib/treebuilders/__init__.py +src/pip/_vendor/html5lib/treebuilders/base.py +src/pip/_vendor/html5lib/treebuilders/dom.py +src/pip/_vendor/html5lib/treebuilders/etree.py +src/pip/_vendor/html5lib/treebuilders/etree_lxml.py +src/pip/_vendor/html5lib/treewalkers/__init__.py +src/pip/_vendor/html5lib/treewalkers/base.py +src/pip/_vendor/html5lib/treewalkers/dom.py +src/pip/_vendor/html5lib/treewalkers/etree.py +src/pip/_vendor/html5lib/treewalkers/etree_lxml.py +src/pip/_vendor/html5lib/treewalkers/genshi.py +src/pip/_vendor/idna/LICENSE.rst +src/pip/_vendor/idna/__init__.py +src/pip/_vendor/idna/codec.py +src/pip/_vendor/idna/compat.py +src/pip/_vendor/idna/core.py +src/pip/_vendor/idna/idnadata.py +src/pip/_vendor/idna/intranges.py +src/pip/_vendor/idna/package_data.py +src/pip/_vendor/idna/uts46data.py +src/pip/_vendor/lockfile/LICENSE +src/pip/_vendor/lockfile/__init__.py +src/pip/_vendor/lockfile/linklockfile.py +src/pip/_vendor/lockfile/mkdirlockfile.py +src/pip/_vendor/lockfile/pidlockfile.py +src/pip/_vendor/lockfile/sqlitelockfile.py +src/pip/_vendor/lockfile/symlinklockfile.py +src/pip/_vendor/msgpack/COPYING +src/pip/_vendor/msgpack/__init__.py +src/pip/_vendor/msgpack/_version.py +src/pip/_vendor/msgpack/exceptions.py +src/pip/_vendor/msgpack/fallback.py +src/pip/_vendor/packaging/LICENSE +src/pip/_vendor/packaging/LICENSE.APACHE +src/pip/_vendor/packaging/LICENSE.BSD +src/pip/_vendor/packaging/__about__.py +src/pip/_vendor/packaging/__init__.py +src/pip/_vendor/packaging/_compat.py +src/pip/_vendor/packaging/_structures.py +src/pip/_vendor/packaging/markers.py +src/pip/_vendor/packaging/requirements.py +src/pip/_vendor/packaging/specifiers.py +src/pip/_vendor/packaging/utils.py +src/pip/_vendor/packaging/version.py +src/pip/_vendor/pep517/LICENSE +src/pip/_vendor/pep517/__init__.py +src/pip/_vendor/pep517/_in_process.py +src/pip/_vendor/pep517/build.py +src/pip/_vendor/pep517/check.py +src/pip/_vendor/pep517/colorlog.py +src/pip/_vendor/pep517/compat.py +src/pip/_vendor/pep517/envbuild.py +src/pip/_vendor/pep517/wrappers.py +src/pip/_vendor/pkg_resources/LICENSE +src/pip/_vendor/pkg_resources/__init__.py +src/pip/_vendor/pkg_resources/py31compat.py +src/pip/_vendor/progress/LICENSE +src/pip/_vendor/progress/__init__.py +src/pip/_vendor/progress/bar.py +src/pip/_vendor/progress/counter.py +src/pip/_vendor/progress/helpers.py +src/pip/_vendor/progress/spinner.py +src/pip/_vendor/pytoml/LICENSE +src/pip/_vendor/pytoml/__init__.py +src/pip/_vendor/pytoml/core.py +src/pip/_vendor/pytoml/parser.py +src/pip/_vendor/pytoml/test.py +src/pip/_vendor/pytoml/utils.py +src/pip/_vendor/pytoml/writer.py +src/pip/_vendor/requests/LICENSE +src/pip/_vendor/requests/__init__.py +src/pip/_vendor/requests/__version__.py +src/pip/_vendor/requests/_internal_utils.py +src/pip/_vendor/requests/adapters.py +src/pip/_vendor/requests/api.py +src/pip/_vendor/requests/auth.py +src/pip/_vendor/requests/certs.py +src/pip/_vendor/requests/compat.py +src/pip/_vendor/requests/cookies.py +src/pip/_vendor/requests/exceptions.py +src/pip/_vendor/requests/help.py +src/pip/_vendor/requests/hooks.py +src/pip/_vendor/requests/models.py +src/pip/_vendor/requests/packages.py +src/pip/_vendor/requests/sessions.py +src/pip/_vendor/requests/status_codes.py +src/pip/_vendor/requests/structures.py +src/pip/_vendor/requests/utils.py +src/pip/_vendor/urllib3/LICENSE.txt +src/pip/_vendor/urllib3/__init__.py +src/pip/_vendor/urllib3/_collections.py +src/pip/_vendor/urllib3/connection.py +src/pip/_vendor/urllib3/connectionpool.py +src/pip/_vendor/urllib3/exceptions.py +src/pip/_vendor/urllib3/fields.py +src/pip/_vendor/urllib3/filepost.py +src/pip/_vendor/urllib3/poolmanager.py +src/pip/_vendor/urllib3/request.py +src/pip/_vendor/urllib3/response.py +src/pip/_vendor/urllib3/contrib/__init__.py +src/pip/_vendor/urllib3/contrib/_appengine_environ.py +src/pip/_vendor/urllib3/contrib/appengine.py +src/pip/_vendor/urllib3/contrib/ntlmpool.py +src/pip/_vendor/urllib3/contrib/pyopenssl.py +src/pip/_vendor/urllib3/contrib/securetransport.py +src/pip/_vendor/urllib3/contrib/socks.py +src/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +src/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +src/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +src/pip/_vendor/urllib3/packages/__init__.py +src/pip/_vendor/urllib3/packages/six.py +src/pip/_vendor/urllib3/packages/backports/__init__.py +src/pip/_vendor/urllib3/packages/backports/makefile.py +src/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py +src/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py +src/pip/_vendor/urllib3/util/__init__.py +src/pip/_vendor/urllib3/util/connection.py +src/pip/_vendor/urllib3/util/queue.py +src/pip/_vendor/urllib3/util/request.py +src/pip/_vendor/urllib3/util/response.py +src/pip/_vendor/urllib3/util/retry.py +src/pip/_vendor/urllib3/util/ssl_.py +src/pip/_vendor/urllib3/util/timeout.py +src/pip/_vendor/urllib3/util/url.py +src/pip/_vendor/urllib3/util/wait.py +src/pip/_vendor/webencodings/LICENSE +src/pip/_vendor/webencodings/__init__.py +src/pip/_vendor/webencodings/labels.py +src/pip/_vendor/webencodings/mklabels.py +src/pip/_vendor/webencodings/tests.py +src/pip/_vendor/webencodings/x_user_defined.py \ No newline at end of file diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/dependency_links.txt b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/dependency_links.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/entry_points.txt b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/entry_points.txt new file mode 100644 index 0000000..6b7f48a --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/entry_points.txt @@ -0,0 +1,5 @@ +[console_scripts] +pip = pip._internal:main +pip3 = pip._internal:main +pip3.6 = pip._internal:main + diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/not-zip-safe b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/not-zip-safe new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/not-zip-safe @@ -0,0 +1 @@ + diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/top_level.txt b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/top_level.txt new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/top_level.txt @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/__init__.py new file mode 100644 index 0000000..f48c1ca --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/__init__.py @@ -0,0 +1 @@ +__version__ = "19.0.3" diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/__main__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/__main__.py new file mode 100644 index 0000000..0c223f8 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/__main__.py @@ -0,0 +1,19 @@ +from __future__ import absolute_import + +import os +import sys + +# If we are running from a wheel, add the wheel to sys.path +# This allows the usage python pip-*.whl/pip install pip-*.whl +if __package__ == '': + # __file__ is pip-*.whl/pip/__main__.py + # first dirname call strips of '/__main__.py', second strips off '/pip' + # Resulting path is the name of the wheel itself + # Add that to sys.path so we can import pip + path = os.path.dirname(os.path.dirname(__file__)) + sys.path.insert(0, path) + +from pip._internal import main as _main # isort:skip # noqa + +if __name__ == '__main__': + sys.exit(_main()) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8d67489f06b89ef3ea87c84d91ea0b5b1699381f GIT binary patch literal 223 zcmX|*!3x4K42ClgB8q39!NVG5DhMLpyvacDAVR5I*s9xF);gJQ8wOKot-FW|C z`;uOCsgMGX{UAs@_XF@T_6doneg$4&ymzfqU@eblXZ#zFXMVdIjfRI_{r&Xb972Dh zOV1+cpTkrSFhUG5EKq_e#zrTCP*ScIwaV3|cDYt)rCc5Az-ozV;!+nQUWseW<}Rze zAQ+A7~k4x=`w#SWK?aE2TasmXfRVYN^-7a}f$4j*``wz}k9Am^&Hs$) z9Y*%i+QKVS)-_zTf&-O_k>-AsoKBVLpVZ{s1w7mK?isNuwAu%+N1n1)U>JV#~Bk+eVJtx-vl*_$fKZ z=LFjPt&Ow;Eq;#CxrNbL575=vWn^M4!9Kv1@46Oyv$r{hjrJJG1QY<&bL$C8$rCj0 z=z83M*<{uQ5D}u^h3NIT1@V7}_%_7v=yp8M?1??yF^ge8x2G|5XM$G{t4zqT!<-lR zyfUf83lnmIq1DyFD|7j?+UDNg&fcfpJE}luceYGFp|f3Xstv~O=@C!6ife7GA`1h- z&%E{Z20jOzx>b0l6Q3JUwfuMA64>(F2C)(R0=~^y70Dpq$8oGe4l^Ya}p}q z0EBEB(K4cK#5@RE8*;rp<*e(Myo8Q*joY-oq~Rs;A=nD{L6WhN;GdbsD#MOCae*2z gi0jpH(;*lncC1Bgh|<9haY-F))3J=}#Iu^#KT2H#oB#j- literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__pycache__/build_env.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__pycache__/build_env.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a6cdc5ffe33a474a832b39efe32dc3eee88918f3 GIT binary patch literal 7529 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__pycache__/cache.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__pycache__/cache.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8e5c4e8f46c1aabd7f0a52076cd3baab2a022305 GIT binary patch literal 7075 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 bGx*5{s#^MaD-Zr(wCtjtH^4Hpf7|*W(Rd6N literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__pycache__/download.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__pycache__/download.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1fde07e0332469efcbb34575b37d59d6f6be950f GIT binary patch literal 21231 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__pycache__/exceptions.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__pycache__/exceptions.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0f68ee5606572baabec98793fa0a9fdea4b1dcfd GIT binary patch literal 11767 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 Ptqb60>vcdEOilkUncw1M literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__pycache__/pep425tags.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__pycache__/pep425tags.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a0aeacea4bfe8427d5a83f8c09ac3687035ceda5 GIT binary patch literal 8359 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 Sx=rA(Z|fCWmkissn?C^$bCK2n literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__pycache__/resolve.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__pycache__/resolve.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..080576ef6f11ceefaa372236da40935af4e889df GIT binary patch literal 9129 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 HY5RWz3H_^L literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/build_env.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/build_env.py new file mode 100644 index 0000000..d744cc7 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/build_env.py @@ -0,0 +1,215 @@ +"""Build Environment used for isolation during sdist building +""" + +import logging +import os +import sys +import textwrap +from collections import OrderedDict +from distutils.sysconfig import get_python_lib +from sysconfig import get_paths + +from pip._vendor.pkg_resources import Requirement, VersionConflict, WorkingSet + +from pip import __file__ as pip_location +from pip._internal.utils.misc import call_subprocess +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._internal.utils.ui import open_spinner + +if MYPY_CHECK_RUNNING: + from typing import Tuple, Set, Iterable, Optional, List # noqa: F401 + from pip._internal.index import PackageFinder # noqa: F401 + +logger = logging.getLogger(__name__) + + +class _Prefix: + + def __init__(self, path): + # type: (str) -> None + self.path = path + self.setup = False + self.bin_dir = get_paths( + 'nt' if os.name == 'nt' else 'posix_prefix', + vars={'base': path, 'platbase': path} + )['scripts'] + # Note: prefer distutils' sysconfig to get the + # library paths so PyPy is correctly supported. + purelib = get_python_lib(plat_specific=False, prefix=path) + platlib = get_python_lib(plat_specific=True, prefix=path) + if purelib == platlib: + self.lib_dirs = [purelib] + else: + self.lib_dirs = [purelib, platlib] + + +class BuildEnvironment(object): + """Creates and manages an isolated environment to install build deps + """ + + def __init__(self): + # type: () -> None + self._temp_dir = TempDirectory(kind="build-env") + self._temp_dir.create() + + self._prefixes = OrderedDict(( + (name, _Prefix(os.path.join(self._temp_dir.path, name))) + for name in ('normal', 'overlay') + )) + + self._bin_dirs = [] # type: List[str] + self._lib_dirs = [] # type: List[str] + for prefix in reversed(list(self._prefixes.values())): + self._bin_dirs.append(prefix.bin_dir) + self._lib_dirs.extend(prefix.lib_dirs) + + # Customize site to: + # - ensure .pth files are honored + # - prevent access to system site packages + system_sites = { + os.path.normcase(site) for site in ( + get_python_lib(plat_specific=False), + get_python_lib(plat_specific=True), + ) + } + self._site_dir = os.path.join(self._temp_dir.path, 'site') + if not os.path.exists(self._site_dir): + os.mkdir(self._site_dir) + with open(os.path.join(self._site_dir, 'sitecustomize.py'), 'w') as fp: + fp.write(textwrap.dedent( + ''' + import os, site, sys + + # First, drop system-sites related paths. + original_sys_path = sys.path[:] + known_paths = set() + for path in {system_sites!r}: + site.addsitedir(path, known_paths=known_paths) + system_paths = set( + os.path.normcase(path) + for path in sys.path[len(original_sys_path):] + ) + original_sys_path = [ + path for path in original_sys_path + if os.path.normcase(path) not in system_paths + ] + sys.path = original_sys_path + + # Second, add lib directories. + # ensuring .pth file are processed. + for path in {lib_dirs!r}: + assert not path in sys.path + site.addsitedir(path) + ''' + ).format(system_sites=system_sites, lib_dirs=self._lib_dirs)) + + def __enter__(self): + self._save_env = { + name: os.environ.get(name, None) + for name in ('PATH', 'PYTHONNOUSERSITE', 'PYTHONPATH') + } + + path = self._bin_dirs[:] + old_path = self._save_env['PATH'] + if old_path: + path.extend(old_path.split(os.pathsep)) + + pythonpath = [self._site_dir] + + os.environ.update({ + 'PATH': os.pathsep.join(path), + 'PYTHONNOUSERSITE': '1', + 'PYTHONPATH': os.pathsep.join(pythonpath), + }) + + def __exit__(self, exc_type, exc_val, exc_tb): + for varname, old_value in self._save_env.items(): + if old_value is None: + os.environ.pop(varname, None) + else: + os.environ[varname] = old_value + + def cleanup(self): + # type: () -> None + self._temp_dir.cleanup() + + def check_requirements(self, reqs): + # type: (Iterable[str]) -> Tuple[Set[Tuple[str, str]], Set[str]] + """Return 2 sets: + - conflicting requirements: set of (installed, wanted) reqs tuples + - missing requirements: set of reqs + """ + missing = set() + conflicting = set() + if reqs: + ws = WorkingSet(self._lib_dirs) + for req in reqs: + try: + if ws.find(Requirement.parse(req)) is None: + missing.add(req) + except VersionConflict as e: + conflicting.add((str(e.args[0].as_requirement()), + str(e.args[1]))) + return conflicting, missing + + def install_requirements( + self, + finder, # type: PackageFinder + requirements, # type: Iterable[str] + prefix_as_string, # type: str + message # type: Optional[str] + ): + # type: (...) -> None + prefix = self._prefixes[prefix_as_string] + assert not prefix.setup + prefix.setup = True + if not requirements: + return + args = [ + sys.executable, os.path.dirname(pip_location), 'install', + '--ignore-installed', '--no-user', '--prefix', prefix.path, + '--no-warn-script-location', + ] # type: List[str] + if logger.getEffectiveLevel() <= logging.DEBUG: + args.append('-v') + for format_control in ('no_binary', 'only_binary'): + formats = getattr(finder.format_control, format_control) + args.extend(('--' + format_control.replace('_', '-'), + ','.join(sorted(formats or {':none:'})))) + if finder.index_urls: + args.extend(['-i', finder.index_urls[0]]) + for extra_index in finder.index_urls[1:]: + args.extend(['--extra-index-url', extra_index]) + else: + args.append('--no-index') + for link in finder.find_links: + args.extend(['--find-links', link]) + for _, host, _ in finder.secure_origins: + args.extend(['--trusted-host', host]) + if finder.allow_all_prereleases: + args.append('--pre') + args.append('--') + args.extend(requirements) + with open_spinner(message) as spinner: + call_subprocess(args, show_stdout=False, spinner=spinner) + + +class NoOpBuildEnvironment(BuildEnvironment): + """A no-op drop-in replacement for BuildEnvironment + """ + + def __init__(self): + pass + + def __enter__(self): + pass + + def __exit__(self, exc_type, exc_val, exc_tb): + pass + + def cleanup(self): + pass + + def install_requirements(self, finder, requirements, prefix, message): + raise NotImplementedError() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cache.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cache.py new file mode 100644 index 0000000..eb295c4 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cache.py @@ -0,0 +1,224 @@ +"""Cache Management +""" + +import errno +import hashlib +import logging +import os + +from pip._vendor.packaging.utils import canonicalize_name + +from pip._internal.download import path_to_url +from pip._internal.models.link import Link +from pip._internal.utils.compat import expanduser +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._internal.wheel import InvalidWheelFilename, Wheel + +if MYPY_CHECK_RUNNING: + from typing import Optional, Set, List, Any # noqa: F401 + from pip._internal.index import FormatControl # noqa: F401 + +logger = logging.getLogger(__name__) + + +class Cache(object): + """An abstract class - provides cache directories for data from links + + + :param cache_dir: The root of the cache. + :param format_control: An object of FormatControl class to limit + binaries being read from the cache. + :param allowed_formats: which formats of files the cache should store. + ('binary' and 'source' are the only allowed values) + """ + + def __init__(self, cache_dir, format_control, allowed_formats): + # type: (str, FormatControl, Set[str]) -> None + super(Cache, self).__init__() + self.cache_dir = expanduser(cache_dir) if cache_dir else None + self.format_control = format_control + self.allowed_formats = allowed_formats + + _valid_formats = {"source", "binary"} + assert self.allowed_formats.union(_valid_formats) == _valid_formats + + def _get_cache_path_parts(self, link): + # type: (Link) -> List[str] + """Get parts of part that must be os.path.joined with cache_dir + """ + + # We want to generate an url to use as our cache key, we don't want to + # just re-use the URL because it might have other items in the fragment + # and we don't care about those. + key_parts = [link.url_without_fragment] + if link.hash_name is not None and link.hash is not None: + key_parts.append("=".join([link.hash_name, link.hash])) + key_url = "#".join(key_parts) + + # Encode our key url with sha224, we'll use this because it has similar + # security properties to sha256, but with a shorter total output (and + # thus less secure). However the differences don't make a lot of + # difference for our use case here. + hashed = hashlib.sha224(key_url.encode()).hexdigest() + + # We want to nest the directories some to prevent having a ton of top + # level directories where we might run out of sub directories on some + # FS. + parts = [hashed[:2], hashed[2:4], hashed[4:6], hashed[6:]] + + return parts + + def _get_candidates(self, link, package_name): + # type: (Link, Optional[str]) -> List[Any] + can_not_cache = ( + not self.cache_dir or + not package_name or + not link + ) + if can_not_cache: + return [] + + canonical_name = canonicalize_name(package_name) + formats = self.format_control.get_allowed_formats( + canonical_name + ) + if not self.allowed_formats.intersection(formats): + return [] + + root = self.get_path_for_link(link) + try: + return os.listdir(root) + except OSError as err: + if err.errno in {errno.ENOENT, errno.ENOTDIR}: + return [] + raise + + def get_path_for_link(self, link): + # type: (Link) -> str + """Return a directory to store cached items in for link. + """ + raise NotImplementedError() + + def get(self, link, package_name): + # type: (Link, Optional[str]) -> Link + """Returns a link to a cached item if it exists, otherwise returns the + passed link. + """ + raise NotImplementedError() + + def _link_for_candidate(self, link, candidate): + # type: (Link, str) -> Link + root = self.get_path_for_link(link) + path = os.path.join(root, candidate) + + return Link(path_to_url(path)) + + def cleanup(self): + # type: () -> None + pass + + +class SimpleWheelCache(Cache): + """A cache of wheels for future installs. + """ + + def __init__(self, cache_dir, format_control): + # type: (str, FormatControl) -> None + super(SimpleWheelCache, self).__init__( + cache_dir, format_control, {"binary"} + ) + + def get_path_for_link(self, link): + # type: (Link) -> str + """Return a directory to store cached wheels for link + + Because there are M wheels for any one sdist, we provide a directory + to cache them in, and then consult that directory when looking up + cache hits. + + We only insert things into the cache if they have plausible version + numbers, so that we don't contaminate the cache with things that were + not unique. E.g. ./package might have dozens of installs done for it + and build a version of 0.0...and if we built and cached a wheel, we'd + end up using the same wheel even if the source has been edited. + + :param link: The link of the sdist for which this will cache wheels. + """ + parts = self._get_cache_path_parts(link) + + # Store wheels within the root cache_dir + return os.path.join(self.cache_dir, "wheels", *parts) + + def get(self, link, package_name): + # type: (Link, Optional[str]) -> Link + candidates = [] + + for wheel_name in self._get_candidates(link, package_name): + try: + wheel = Wheel(wheel_name) + except InvalidWheelFilename: + continue + if not wheel.supported(): + # Built for a different python/arch/etc + continue + candidates.append((wheel.support_index_min(), wheel_name)) + + if not candidates: + return link + + return self._link_for_candidate(link, min(candidates)[1]) + + +class EphemWheelCache(SimpleWheelCache): + """A SimpleWheelCache that creates it's own temporary cache directory + """ + + def __init__(self, format_control): + # type: (FormatControl) -> None + self._temp_dir = TempDirectory(kind="ephem-wheel-cache") + self._temp_dir.create() + + super(EphemWheelCache, self).__init__( + self._temp_dir.path, format_control + ) + + def cleanup(self): + # type: () -> None + self._temp_dir.cleanup() + + +class WheelCache(Cache): + """Wraps EphemWheelCache and SimpleWheelCache into a single Cache + + This Cache allows for gracefully degradation, using the ephem wheel cache + when a certain link is not found in the simple wheel cache first. + """ + + def __init__(self, cache_dir, format_control): + # type: (str, FormatControl) -> None + super(WheelCache, self).__init__( + cache_dir, format_control, {'binary'} + ) + self._wheel_cache = SimpleWheelCache(cache_dir, format_control) + self._ephem_cache = EphemWheelCache(format_control) + + def get_path_for_link(self, link): + # type: (Link) -> str + return self._wheel_cache.get_path_for_link(link) + + def get_ephem_path_for_link(self, link): + # type: (Link) -> str + return self._ephem_cache.get_path_for_link(link) + + def get(self, link, package_name): + # type: (Link, Optional[str]) -> Link + retval = self._wheel_cache.get(link, package_name) + if retval is link: + retval = self._ephem_cache.get(link, package_name) + return retval + + def cleanup(self): + # type: () -> None + self._wheel_cache.cleanup() + self._ephem_cache.cleanup() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/__init__.py new file mode 100644 index 0000000..e589bb9 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/__init__.py @@ -0,0 +1,4 @@ +"""Subpackage containing all of pip's command line interface related code +""" + +# This file intentionally does not import submodules diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b2cf0607a0651ef77ecabaa219750bb7239ae0a1 GIT binary patch literal 298 zcmX|5O-lnY6wLNwDfB<&COvGTtQG_jZ@ra;f(H>on!N5t^Tj4xSr#9$!srxM!tVv4up^|#QzkyJtEQ+Nt0)yiw#*!K31E48>M=a4Nw()mc|?3 zP-!gYq&sZvJfl|$LYNby0`FfDwYuB5C2?SmH+?% literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/__pycache__/autocompletion.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/__pycache__/autocompletion.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..80c1398cf42e5d327b54a852789df1204f4054fe GIT binary patch literal 5140 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 Xl~oQ@k1y=r6xvkDD4Qcc)2{y?MJ#<{ literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/__pycache__/cmdoptions.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/__pycache__/cmdoptions.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b66ad6c09ad0eae84a4e72ff5509123f2c53db43 GIT binary patch literal 16916 zcmch8X?z?$e8VF{nT*QV8I@HzKikOJxh(5> zKX2#dw_q3WTkwY(!}hTB4f!LDqFt2wus_-;*`>yqJ=Pev$E9t=pJ+_llTt7G`x^W0 z{fz_m0eK$v4>lgKACP*kGVn342xDV<7 zg?&u=k2XGIf2Q%6{aE9(_GcTGZ8eVB#~M@il#Jhp{T#QCHy*bim*@Td6OAYBCs9A3 z4t_0TPpb#iA^e_D|6LtcN4}P|XVm{t52}Yyd&(`kW9nh`hT4z;R-ml2}bJ8}ao>9-D z^*LGR8EHGIo>wo(+b_!7&r0h{>Sgtc`<(m8=E?h+`&l)wUR9?ypHH8UX4GkX&tMNP z$oS8x*VKYKs}|KcbsnuRO6vu6vAf%0`z2|+q%Nz^tJl>Pbrt7&S=yG=HMOkXP%F~* zinOh&>*|KOscxw+sN2f^plHua`WhHwDe0@KchI+}9JPkN)6!N` z3T=6`x@sLeJ0q=iwV^zMnlIs~y$B?*;Xq+QsihdH0_BlKLL?W%U*HRri3pkJ(4dj#Jj`xlC=FH^~3nft3NDl*QD)7 z)Q{pXuYOG0mZj~-)lc9rul|U%y`g?m{ZY)jB7Hxle%jryzN&sk{Ve8PRX?YG9(~uP z?~kdUR=?n0SASgn3H05NwqI1gr2eG9;gTgKjo6`0-(e?|j zt@60vzlGa+OIrW7`VIAW)ZbNqPyK!D>}_fL2kJMa?H@|p7p3hV$xi>V`X^YwDlPw1 zTK<`|ydy3DT>T4a`z=}3k+y%S{+0UI>KN7}{jI5gqy8;+S(Cnhr~W;5R8zmL{)76D z*pZUfSp6rNK1&J?EZw&$z4Z4cBq! z>W9>S{i&S2uKt_*n!Dhhbr^CN z6>YeUQr!>M9N*umSl95HcAYS2T5GP?tfSwFx)W`C(T3&JxRcYoHw(B;nmZL*AtXM6tmDH`e+jO<#cjt??y&Cr1j9lI1`m=Jpa3g5@syQ8% zT22^R*osVCv91T$lvM*5yfAW`5r+G{$+kT_tOvdyY-85|gmOc#-mH{LA5!wnWaE9# zS{V54$gO&fR-mILw2g+5j)Juy@bNH$Jp(NMOg^4iy|KK!a(;ESdg=U?<#_m-z&{={ zzZZD}cwu}oXf$vo=d}*>OfH_hv3h=`y11}->3sFv<(0S;>RPp>aUFLtdg4N$8&0$s zG$SqR6_$6FFSBFy`pUJXi`7dDtC!BNqT%4x+sn7Bm}T+x>dK9!rOQhf(K>o|VWoQg z_A-VH$N7ckPF!3B1e`VBjSJ_zS`-(q05WmWY|`=Lp&L!y6*e|*nwEJdIv&31_-!}j zLfFi@SMTqwp--)uo-yGcqnZ7UK9_>zJWEv<{a^`*+!hlV!xcx#{s-=etm8uXt;9?uike3 z=U;enZh5B$+HNfCVAHKdA)cd+pm}q7=_1Hz+u51B<2LWi`QF-GOL|ULUYrZP$St>= z+Llvy!#R*v`Po-0&s0v9TRZ5kxb-?4=c*}9&DDHwuGUayKVhY{6Cc#PkE&^@noHmf z52MJ8j%N>L^%JPoa(u?8kbDIVp20&zBmgozlp!MAeH8WFLz#1#xA)&8I%IeAM2KwW z-3M=Fc5^_4eCK_G2yWEY&E6FX6XKPuIUIxSkz8{Yyug>K32o4mN9HkO~%oO4w*@m{z zV~;0bGEK+OB$sK5$NBDohO^a$rVJygghdpYk;&|2c7Iksg?bmB(0B!=B&~26#rFZ0 zTSYy-oB2lO{meQvVU_<{@m@|9)Q}pk=kMjCOa!t6TtQs=3dk&XudrL#1e~*(sIWPt zMpRLaejvIt;9ctc);TXETd=k_T-OgRZ{2FSx*XyHTEGGD>psQ_`C_3bA-Z`0&1s}8 zdfuXtxh6zq;F$LCYT7LYR5jF-yjRY%y3*??|;FjRWCKNk_RX^OsWq&H=N{5(7=iDrsBgLmma^Er-AhkQey|7}%s?X;lbP$|3uJ0~eG1$`+RRUo3T zW_Ppt9kjiJ{?d3xzk~KX+f@N*G}QTx3+<-pInXFH@DmzJ!y`n9yR~*01r4j^I}t&d zqN+tg5 z-}ygyzX_ENY7UsFh}v}9R3$}DKtaLzM6rq>9GW0RBbCb#E0js)JFX6)NX%l%^wg|7 zYu+q3RxU%K^4$h>GKb3HtmQ&e#FXW7Gbk&!6EA?*$P{3&0F_s-J5GS zeHW@`LP>|v?P`Rw#ciWzJ%a|}~J3eOaO!l?n*&a{E;OfzvE8ppimPr?DK?sE+tqj$Ib~Ean zyXf6bFC0uAfH;`2Rbe` z12AmVI!9L_Hh~Bs2o}$@4P^=J>1MJg(yHu2%lmWKH zc@~A16K!;$Y{Epw;*OP|gk|hxIbcu+VVK268cb19}zk(KQW}YT*mky|S_8k$p3?U%0 zeyRii+H#%R1|>%mIy{igGRC_F{mX5%qAs|* z&^EY@OU8;sb6{ELKp8SZG{CgU2G6X;BguexXx$H-=)-;7%X6zPq#%wP2DL3#%_JYQ z5~ctK0-ns>Q@oXJ5Gt0t~T^;f?Wxd8{U^@+xMEvtgX| z;_P;uU5m30*r<40gnf1Fa|T+8D~1Xr7$r<(dS`sNZ`6)urkuAc~VxLes&PVEf`W+M{ zDCyxrR5CeyATV+wHux+36dN^H!(G9$^Jtf5d~pQ9E48=)cU4pQ?jXL(Es7+Wzzi@Q znvt1k%sf9E*Ai4V~O?qkvC0PBdPOyrHA^a!T{TEU@q2cu|I3a=!p z^}S7ETRwkPh|K{x8Q!6LSk>EOuI!Odc#!mW%WdtGfwXp79_#U_G*?;8-&ncQ`Sr67 zloixST*easULtnBb(u4K6v1cU5u=|gA-NVD5~3eEAkJ0*PeA~mTrGfR=E2)%?C0h4 z%hn6eoU~2|1&OxOKY9V~C@ORgm@>E<3~vp(<~+XRiJ(cDO$hzJ3xq_r%F(-Qvql6+ zKU8uS@fE$lMwgEi|K4O`}pqxyBQG9iN zZcb*V6M7noQx6}LNqKykGo30$&pyNjrv-$%l**%9!31Yu-PBu`a7g#uZ-c2s&p!9Aj28 z9!3^aQFI0E`iA92mI{FNGZx`t{}2K@bcQ>$dNV%5}9$|zDopGKc ze&SqLV1vJkkx%Qe2aDujbag}lsRPdSM46Z=(7MdD-gUsCc zBQc#IBIe~=wKnWOs2tc*@?O`Wm%};p_%7m`_-}U+PuPUp4ss{kdGsQ5dMD8=QWs?s zBdEY%|1{nc6%|3PVemMFvGg&v9q$(6e|(?{?^%^5krSoU{2XD=4P^5A4$4}Ab$n8n zyll!S^1FF@8R1JTL=xqKyPYogq5FA6w=&!+qC+x^Zes@H={d3ipPKJh8*O?KsxTG& zHoPG5D2#XGsfouZwvz`i9d2F15mnlDLvkRAJOE>8BS3QPJ=uY3vPyT-U*x%{k!Nz_ zkWcy^YQNiO)7zL-@36RwBH6m`u;D!x7K>dLAGwKSzkMhF)jd1@65gxfD^>uEE5$ zn1<6T7X60wFQ##cK_Ow>7Gm&HXi%*bEt7mVy)25|HW(5Mgc3if@o$18>1t|U^0SEplUgcmXE-%5F*ug^OX1q2Fc+6ns_BXk-stsE^BYhN(%3uRY*ehJKmz>G z4MRj8Q~eQo6x>pD2XA2sa0yrlw1emlZa6#Ey5sq5Pe|HWm!g0qViY7U-YP28TnBV; z7SI*jRDTa^J!@zIk8r)w530|wAest-LgS!MbPu)&a{U^ygRz}VZW6lIu;^UU^Z$<{ zkgUYRek?J276iFCh#-ddb^-VMjUaoL|J_HB#J~&%hbSi!l%!u+dq@}&CCemM{N7^) znZPGt1^Lczek@k7M+|G<1Y{mjpnGxJyaVA5l=eoYv!7;se^^A%V@>B6_V?|UO$>VoUsoqlm((u{Q7cLbqYoAWIL^$>hsUyAfE@KB+P2gJ9N$C|mRr_IwZ` z%!iCHhnJLzQ^;B{Oevl)kBRQ2&*RMtotKwoj1~9_e(60D)e1ljIMO!CJ-oE*SL7}} zl_y7k86zihUCGpE`?811M-9GkmzsJ!Dpl&`oyS%g*b+t}jTTZS91yN`irR5^AA_dE zfcAC((+jX}qOuF^XKPe{erFt!a741RnOm9W^95)}TP1xdi%54i(|IsLvdC^G%I_jJ zu5uqhXT6oVP3Ls>Ug1lHFJzjzFCa$?I&Pslq_O~bq4Nz18!zji#?TTh0V*;KFx>Hw zE-OwJG9VL@N)MU@P?Ko4cq4&c(4wF!Nb*f3345h_*teU9q3b26`NwcnJ%!=|w2M4` zOg*47X2j8P&#D^J5;|X{_s2L4$s(ZDiBHTRV z$lG~*RDUm~W;}{g3le|^&qll386f&?*#z)JM@t#0Ca1~=svk7A@(yb?< zA&S$F3_=7vl|yjeFdxMSwyhzV)Qu!vf#AJ z4e^+XkFP_dy4O2Do+4j&fML7xmiU9kt$}2_gzxohbQSBY+;cy6^^^_5UZMogzT8c) zNP|j=NkAx3H3F#*ngo>rzD28=q!2!dBH>#PD_YbUa;M#b%9As}ii53P1z!Un8v2g- z5JYjg<+fgU_NDKh5rG+Cn(Cfugbz8-fN~ZRPPh&8%3zW3FuAqf`m^1>VK`s(wFiA&*+931J8(vKpNnGl|Idvc0M|+Q3 z3&Y>bt&a>`P?uc?WY>~pStb&2F-Xd|>v z;C&E=f^CE5Aik$oL|wTJyOpBq@C*qo{6KfZ=2r=sMHFu2k>d5 zy6pjSH#dhuqjStiZ;>F(;SmJuia`h&W_<`c^e_R&0QA|;?aNK^5kk>&AzLsVpifbp zc&CX0sZEDC*;zP1+3`7$pgO@|cg8o0=KF|_P-Z3)IQdkez#4n(Lp zyZ}iAsJ5F(~`D zCVgA<;@v_tv^AnPq_41>RYRM@(a`ma|hP=|kbv$%^sNHK|Fcea>6C607a zpJ7IcJ~QR`^GHg)Db-m;VkC$AOXaMnMrq7vR5zFiE*YO~@Tc!KIFcsK>aLPmIBuTeN2fI^4CDe>QXl8cV#|MWn0~K2Vi2K4y;@!3% z{@9Vi)--+Ddk2_9@lruAB#?N|3}ygw5`ku#86)axaP(R2qPq2831rzf1Ybfj?ruJ6#Io1!Rh}w%7>WdtC znZ@T>ypAF+kg3H5{)>)q0DXmBD=coXpie{JX7Lt_DvNhm)LCqxuuGx%pqT!nJ+?Ae zM*A$7ogt|Qy2YAi!AL4{u64~s=NJsrbS+B&!9=j=BNnHvrt?uea{9}xeT4;Wep~Ww zY1P{!P(W$C>#wu(eRdv1lL+~0*ZvaqQxr~nVnAax8Xh$fGbc5MI1h2Je}MD-APaIS z#t*u;dD$c zTgvA04;T16EOW}pBtI~hHSeXP_dLm4>DtNI-kXKu{`5Wm4!(=$zBLQk;z)5~V03|S zFn{uPdfs6qz4Nnw&+LRs_pdnGt7E0&z|&}PY~Z<2d}QERpq-w|?3yAB^C0~`{TnV;@Di(?drM-(6f)l;HjivdW>D!<5TN+A7 F{y+03CD#A| literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/__pycache__/main_parser.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/__pycache__/main_parser.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..52786bb7b8acd51fbdd44df9f72ef71496de9aaf GIT binary patch literal 2386 zcmZWrOOG5y60Xd8byq*eGj0ak+Fg|Z8yYm-fLSAu8G(kUfMLW-qA)7eRA$#yPu62I zvu$^)`a*-26B745>|qbPm;D`k*k6!WPW}sAATq1RSf*MT6&aZs8Luy@Zw>~5_2Ab# z|La-S&(Qq>ZsVvN<^QB}_J>=Pq6 zF(=iZzojK7m9fZ+oFzQISW*Kc zUBE`3QvnzEkJ?l3a9(kkcl3suR~hhoAAfc7RebdRJ4YYJpMG(C{K4^iV4VB;qGnV% zALT--y_C~L(pdW#w?3+Yd0*U_YLE5fZO0M3#lL~*Bui^!5nCdl&Oh9>CGpH^tRK-D zHE3>cEM!S%?#?|!eM394yFtVy?#AArH71@68Z3MBKJiKCdwkWJ+51+5;=UZrhcI>; zw83i|^j&J;1SGf%tGjYOyg~`BhGt6cBW+ZG|V3)it;&ye`5SuL}Ksu3pNssswg?{J@6j zey*$(!COCi?!x#ChWHbZ41)a4=nh`%079@DJj46ePxx;RxQkYu>jy8tDnQqNEGR5I zc~PNUp*g<-M-BPq@6)rYpwlAH7L>j6*IUz*WqOwI;)GXono0q4ZO)e`$L~RT+)I|z zyR^JJW%=o}HT34>)>Pz@9@I&C4$g}yICSvRYm*lzHxKG1EKg{bY2h@^OQ`TNVbhf5 z(?=?8QZIiAZZoJu2ycD(y7o@D6wg}S_+wp8ZnG*)m^cLH;)p`Qc*J#Rc%X>`L|rAh zNKP4T?-ez`l#)2%nNYYAkb^{?DL*+ChH>UqUMipDU?F6v6UVb0&c<9@qHM7g%HJZL z>pVoeMRHEJ8IChvE$RqRSyG;`cB(GvI%rE^D{-{fyrVVt2o)*MO=}o?QMUzMe11=P zEgSV9XmNd>K_B1|;JMVgM6|oD!B||tpFa-@e@`mcmBEKVuE7w`0I@ubFmhl7c7Qs# zk46}yE6xz+p6#I#>f?u1rp?nH9>Ea*2cp4kfQ%Y|7F3&tA)aG?DD64G8X$=^AlsSr z=Kglp(ZFx)z9sH7HbGY{g3mE$va111Y|X>jz_bT@zTK_&t)0e^y>p-cSN0nR+Jj3# zvTtQ*?KLj{XXDKW#BJPtum|oP5)aygw?P~9E!arlryI!HZ+vJLa2~918h@rczkkd% zoRp&h`arX*(V{#rt9vE%f75xxr>={qR-+|YzHb`Aj z{8>=MZ)nAykfd5j<=*3f3m$5j&+?KAS}TX%&!w^%E#Wi=K$t$kbx-BKIi1usEeY>x z$Zdx%>2Jf@1?PigzvHIY+~EiYuw#H7dp zak@W5y6Zk-V7n}rHGGyi{JDW7ZYO>1-9Ssg;e;`8SObgepgn>(6H*O3)wx|%WWng6 aZX2dYJ0^U6)JK=>5rhwZ*a02_d*e6MGL=C9 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/__pycache__/parser.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/__pycache__/parser.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..58bd426992437b6ceb42ffc217239930d6bd6c3e GIT binary patch literal 8982 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 HR1W?J2xTP} literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/__pycache__/status_codes.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/__pycache__/status_codes.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d914e0e9f57197d9594bee05741c9cb73aa46cb0 GIT binary patch literal 427 zcmX|-T}s115XU!dYD;O+2SJZuADUIF1wq8xMlIG&Nty_Yu%y|wjV4XVZYsHfhwuVk zDX%`|3cl#3e#|mI=Ht)IGQD=Y35u_WHvqtg^na_!=t4R_kf4An0SFbWC^E(sTESIX z#VS>Cjn?oM-NJQRw?L;+NHypv`L;XfQIHBo{4kCZQ7E!rltYVZ3AMzY1nM;MCLxch zNE1d#QcCi=Wekt@SSBfLK~b!TkY z7P+*?lMxw>&0qZvGRWOvHoVcTAMHCxT5`_@pRaHkg$#!NB4xqxNgqx#Z|NrCG>M*= zC%DYTGFmxPbnOcE;%0EoR%;mea~N+rJ*^M9FIYEry=Qm9IE?+cdvvNDYQ1ip$+pH8 ui?RrbzY;82xdHS7A9CS}loKzajB9b0H_pO{rU5%IkHyO$wkoRf_r3u)@^)7M literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/autocompletion.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/autocompletion.py new file mode 100644 index 0000000..0a04199 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/autocompletion.py @@ -0,0 +1,152 @@ +"""Logic that powers autocompletion installed by ``pip completion``. +""" + +import optparse +import os +import sys + +from pip._internal.cli.main_parser import create_main_parser +from pip._internal.commands import commands_dict, get_summaries +from pip._internal.utils.misc import get_installed_distributions + + +def autocomplete(): + """Entry Point for completion of main and subcommand options. + """ + # Don't complete if user hasn't sourced bash_completion file. + if 'PIP_AUTO_COMPLETE' not in os.environ: + return + cwords = os.environ['COMP_WORDS'].split()[1:] + cword = int(os.environ['COMP_CWORD']) + try: + current = cwords[cword - 1] + except IndexError: + current = '' + + subcommands = [cmd for cmd, summary in get_summaries()] + options = [] + # subcommand + try: + subcommand_name = [w for w in cwords if w in subcommands][0] + except IndexError: + subcommand_name = None + + parser = create_main_parser() + # subcommand options + if subcommand_name: + # special case: 'help' subcommand has no options + if subcommand_name == 'help': + sys.exit(1) + # special case: list locally installed dists for show and uninstall + should_list_installed = ( + subcommand_name in ['show', 'uninstall'] and + not current.startswith('-') + ) + if should_list_installed: + installed = [] + lc = current.lower() + for dist in get_installed_distributions(local_only=True): + if dist.key.startswith(lc) and dist.key not in cwords[1:]: + installed.append(dist.key) + # if there are no dists installed, fall back to option completion + if installed: + for dist in installed: + print(dist) + sys.exit(1) + + subcommand = commands_dict[subcommand_name]() + + for opt in subcommand.parser.option_list_all: + if opt.help != optparse.SUPPRESS_HELP: + for opt_str in opt._long_opts + opt._short_opts: + options.append((opt_str, opt.nargs)) + + # filter out previously specified options from available options + prev_opts = [x.split('=')[0] for x in cwords[1:cword - 1]] + options = [(x, v) for (x, v) in options if x not in prev_opts] + # filter options by current input + options = [(k, v) for k, v in options if k.startswith(current)] + # get completion type given cwords and available subcommand options + completion_type = get_path_completion_type( + cwords, cword, subcommand.parser.option_list_all, + ) + # get completion files and directories if ``completion_type`` is + # ````, ``

`` or ```` + if completion_type: + options = auto_complete_paths(current, completion_type) + options = ((opt, 0) for opt in options) + for option in options: + opt_label = option[0] + # append '=' to options which require args + if option[1] and option[0][:2] == "--": + opt_label += '=' + print(opt_label) + else: + # show main parser options only when necessary + + opts = [i.option_list for i in parser.option_groups] + opts.append(parser.option_list) + opts = (o for it in opts for o in it) + if current.startswith('-'): + for opt in opts: + if opt.help != optparse.SUPPRESS_HELP: + subcommands += opt._long_opts + opt._short_opts + else: + # get completion type given cwords and all available options + completion_type = get_path_completion_type(cwords, cword, opts) + if completion_type: + subcommands = auto_complete_paths(current, completion_type) + + print(' '.join([x for x in subcommands if x.startswith(current)])) + sys.exit(1) + + +def get_path_completion_type(cwords, cword, opts): + """Get the type of path completion (``file``, ``dir``, ``path`` or None) + + :param cwords: same as the environmental variable ``COMP_WORDS`` + :param cword: same as the environmental variable ``COMP_CWORD`` + :param opts: The available options to check + :return: path completion type (``file``, ``dir``, ``path`` or None) + """ + if cword < 2 or not cwords[cword - 2].startswith('-'): + return + for opt in opts: + if opt.help == optparse.SUPPRESS_HELP: + continue + for o in str(opt).split('/'): + if cwords[cword - 2].split('=')[0] == o: + if not opt.metavar or any( + x in ('path', 'file', 'dir') + for x in opt.metavar.split('/')): + return opt.metavar + + +def auto_complete_paths(current, completion_type): + """If ``completion_type`` is ``file`` or ``path``, list all regular files + and directories starting with ``current``; otherwise only list directories + starting with ``current``. + + :param current: The word to be completed + :param completion_type: path completion type(`file`, `path` or `dir`)i + :return: A generator of regular files and/or directories + """ + directory, filename = os.path.split(current) + current_path = os.path.abspath(directory) + # Don't complete paths if they can't be accessed + if not os.access(current_path, os.R_OK): + return + filename = os.path.normcase(filename) + # list all files that start with ``filename`` + file_list = (x for x in os.listdir(current_path) + if os.path.normcase(x).startswith(filename)) + for f in file_list: + opt = os.path.join(current_path, f) + comp_file = os.path.normcase(os.path.join(directory, f)) + # complete regular files when there is not ```` after option + # complete directories when there is ````, ```` or + # ````after option + if completion_type != 'dir' and os.path.isfile(opt): + yield comp_file + elif os.path.isdir(opt): + yield os.path.join(comp_file, '') diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/base_command.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/base_command.py new file mode 100644 index 0000000..3ceea49 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/base_command.py @@ -0,0 +1,341 @@ +"""Base Command class, and related routines""" +from __future__ import absolute_import, print_function + +import logging +import logging.config +import optparse +import os +import platform +import sys +import traceback + +from pip._internal.cli import cmdoptions +from pip._internal.cli.parser import ( + ConfigOptionParser, UpdatingDefaultsHelpFormatter, +) +from pip._internal.cli.status_codes import ( + ERROR, PREVIOUS_BUILD_DIR_ERROR, SUCCESS, UNKNOWN_ERROR, + VIRTUALENV_NOT_FOUND, +) +from pip._internal.download import PipSession +from pip._internal.exceptions import ( + BadCommand, CommandError, InstallationError, PreviousBuildDirError, + UninstallationError, +) +from pip._internal.index import PackageFinder +from pip._internal.locations import running_under_virtualenv +from pip._internal.req.constructors import ( + install_req_from_editable, install_req_from_line, +) +from pip._internal.req.req_file import parse_requirements +from pip._internal.utils.deprecation import deprecated +from pip._internal.utils.logging import BrokenStdoutLoggingError, setup_logging +from pip._internal.utils.misc import ( + get_prog, normalize_path, redact_password_from_url, +) +from pip._internal.utils.outdated import pip_version_check +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Optional, List, Tuple, Any # noqa: F401 + from optparse import Values # noqa: F401 + from pip._internal.cache import WheelCache # noqa: F401 + from pip._internal.req.req_set import RequirementSet # noqa: F401 + +__all__ = ['Command'] + +logger = logging.getLogger(__name__) + + +class Command(object): + name = None # type: Optional[str] + usage = None # type: Optional[str] + hidden = False # type: bool + ignore_require_venv = False # type: bool + + def __init__(self, isolated=False): + # type: (bool) -> None + parser_kw = { + 'usage': self.usage, + 'prog': '%s %s' % (get_prog(), self.name), + 'formatter': UpdatingDefaultsHelpFormatter(), + 'add_help_option': False, + 'name': self.name, + 'description': self.__doc__, + 'isolated': isolated, + } + + self.parser = ConfigOptionParser(**parser_kw) + + # Commands should add options to this option group + optgroup_name = '%s Options' % self.name.capitalize() + self.cmd_opts = optparse.OptionGroup(self.parser, optgroup_name) + + # Add the general options + gen_opts = cmdoptions.make_option_group( + cmdoptions.general_group, + self.parser, + ) + self.parser.add_option_group(gen_opts) + + def run(self, options, args): + # type: (Values, List[Any]) -> Any + raise NotImplementedError + + def _build_session(self, options, retries=None, timeout=None): + # type: (Values, Optional[int], Optional[int]) -> PipSession + session = PipSession( + cache=( + normalize_path(os.path.join(options.cache_dir, "http")) + if options.cache_dir else None + ), + retries=retries if retries is not None else options.retries, + insecure_hosts=options.trusted_hosts, + ) + + # Handle custom ca-bundles from the user + if options.cert: + session.verify = options.cert + + # Handle SSL client certificate + if options.client_cert: + session.cert = options.client_cert + + # Handle timeouts + if options.timeout or timeout: + session.timeout = ( + timeout if timeout is not None else options.timeout + ) + + # Handle configured proxies + if options.proxy: + session.proxies = { + "http": options.proxy, + "https": options.proxy, + } + + # Determine if we can prompt the user for authentication or not + session.auth.prompting = not options.no_input + + return session + + def parse_args(self, args): + # type: (List[str]) -> Tuple + # factored out for testability + return self.parser.parse_args(args) + + def main(self, args): + # type: (List[str]) -> int + options, args = self.parse_args(args) + + # Set verbosity so that it can be used elsewhere. + self.verbosity = options.verbose - options.quiet + + level_number = setup_logging( + verbosity=self.verbosity, + no_color=options.no_color, + user_log_file=options.log, + ) + + if sys.version_info[:2] == (3, 4): + deprecated( + "Python 3.4 support has been deprecated. pip 19.1 will be the " + "last one supporting it. Please upgrade your Python as Python " + "3.4 won't be maintained after March 2019 (cf PEP 429).", + replacement=None, + gone_in='19.2', + ) + elif sys.version_info[:2] == (2, 7): + message = ( + "A future version of pip will drop support for Python 2.7." + ) + if platform.python_implementation() == "CPython": + message = ( + "Python 2.7 will reach the end of its life on January " + "1st, 2020. Please upgrade your Python as Python 2.7 " + "won't be maintained after that date. " + ) + message + deprecated(message, replacement=None, gone_in=None) + + # TODO: Try to get these passing down from the command? + # without resorting to os.environ to hold these. + # This also affects isolated builds and it should. + + if options.no_input: + os.environ['PIP_NO_INPUT'] = '1' + + if options.exists_action: + os.environ['PIP_EXISTS_ACTION'] = ' '.join(options.exists_action) + + if options.require_venv and not self.ignore_require_venv: + # If a venv is required check if it can really be found + if not running_under_virtualenv(): + logger.critical( + 'Could not find an activated virtualenv (required).' + ) + sys.exit(VIRTUALENV_NOT_FOUND) + + try: + status = self.run(options, args) + # FIXME: all commands should return an exit status + # and when it is done, isinstance is not needed anymore + if isinstance(status, int): + return status + except PreviousBuildDirError as exc: + logger.critical(str(exc)) + logger.debug('Exception information:', exc_info=True) + + return PREVIOUS_BUILD_DIR_ERROR + except (InstallationError, UninstallationError, BadCommand) as exc: + logger.critical(str(exc)) + logger.debug('Exception information:', exc_info=True) + + return ERROR + except CommandError as exc: + logger.critical('ERROR: %s', exc) + logger.debug('Exception information:', exc_info=True) + + return ERROR + except BrokenStdoutLoggingError: + # Bypass our logger and write any remaining messages to stderr + # because stdout no longer works. + print('ERROR: Pipe to stdout was broken', file=sys.stderr) + if level_number <= logging.DEBUG: + traceback.print_exc(file=sys.stderr) + + return ERROR + except KeyboardInterrupt: + logger.critical('Operation cancelled by user') + logger.debug('Exception information:', exc_info=True) + + return ERROR + except BaseException: + logger.critical('Exception:', exc_info=True) + + return UNKNOWN_ERROR + finally: + allow_version_check = ( + # Does this command have the index_group options? + hasattr(options, "no_index") and + # Is this command allowed to perform this check? + not (options.disable_pip_version_check or options.no_index) + ) + # Check if we're using the latest version of pip available + if allow_version_check: + session = self._build_session( + options, + retries=0, + timeout=min(5, options.timeout) + ) + with session: + pip_version_check(session, options) + + # Shutdown the logging module + logging.shutdown() + + return SUCCESS + + +class RequirementCommand(Command): + + @staticmethod + def populate_requirement_set(requirement_set, # type: RequirementSet + args, # type: List[str] + options, # type: Values + finder, # type: PackageFinder + session, # type: PipSession + name, # type: str + wheel_cache # type: Optional[WheelCache] + ): + # type: (...) -> None + """ + Marshal cmd line args into a requirement set. + """ + # NOTE: As a side-effect, options.require_hashes and + # requirement_set.require_hashes may be updated + + for filename in options.constraints: + for req_to_add in parse_requirements( + filename, + constraint=True, finder=finder, options=options, + session=session, wheel_cache=wheel_cache): + req_to_add.is_direct = True + requirement_set.add_requirement(req_to_add) + + for req in args: + req_to_add = install_req_from_line( + req, None, isolated=options.isolated_mode, + use_pep517=options.use_pep517, + wheel_cache=wheel_cache + ) + req_to_add.is_direct = True + requirement_set.add_requirement(req_to_add) + + for req in options.editables: + req_to_add = install_req_from_editable( + req, + isolated=options.isolated_mode, + use_pep517=options.use_pep517, + wheel_cache=wheel_cache + ) + req_to_add.is_direct = True + requirement_set.add_requirement(req_to_add) + + for filename in options.requirements: + for req_to_add in parse_requirements( + filename, + finder=finder, options=options, session=session, + wheel_cache=wheel_cache, + use_pep517=options.use_pep517): + req_to_add.is_direct = True + requirement_set.add_requirement(req_to_add) + # If --require-hashes was a line in a requirements file, tell + # RequirementSet about it: + requirement_set.require_hashes = options.require_hashes + + if not (args or options.editables or options.requirements): + opts = {'name': name} + if options.find_links: + raise CommandError( + 'You must give at least one requirement to %(name)s ' + '(maybe you meant "pip %(name)s %(links)s"?)' % + dict(opts, links=' '.join(options.find_links))) + else: + raise CommandError( + 'You must give at least one requirement to %(name)s ' + '(see "pip help %(name)s")' % opts) + + def _build_package_finder( + self, + options, # type: Values + session, # type: PipSession + platform=None, # type: Optional[str] + python_versions=None, # type: Optional[List[str]] + abi=None, # type: Optional[str] + implementation=None # type: Optional[str] + ): + # type: (...) -> PackageFinder + """ + Create a package finder appropriate to this requirement command. + """ + index_urls = [options.index_url] + options.extra_index_urls + if options.no_index: + logger.debug( + 'Ignoring indexes: %s', + ','.join(redact_password_from_url(url) for url in index_urls), + ) + index_urls = [] + + return PackageFinder( + find_links=options.find_links, + format_control=options.format_control, + index_urls=index_urls, + trusted_hosts=options.trusted_hosts, + allow_all_prereleases=options.pre, + session=session, + platform=platform, + versions=python_versions, + abi=abi, + implementation=implementation, + prefer_binary=options.prefer_binary, + ) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/cmdoptions.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/cmdoptions.py new file mode 100644 index 0000000..5cf5ee9 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/cmdoptions.py @@ -0,0 +1,809 @@ +""" +shared options and groups + +The principle here is to define options once, but *not* instantiate them +globally. One reason being that options with action='append' can carry state +between parses. pip parses general options twice internally, and shouldn't +pass on state. To be consistent, all options will follow this design. + +""" +from __future__ import absolute_import + +import textwrap +import warnings +from distutils.util import strtobool +from functools import partial +from optparse import SUPPRESS_HELP, Option, OptionGroup + +from pip._internal.exceptions import CommandError +from pip._internal.locations import USER_CACHE_DIR, src_prefix +from pip._internal.models.format_control import FormatControl +from pip._internal.models.index import PyPI +from pip._internal.utils.hashes import STRONG_HASHES +from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._internal.utils.ui import BAR_TYPES + +if MYPY_CHECK_RUNNING: + from typing import Any, Callable, Dict, List, Optional, Union # noqa: F401 + from optparse import OptionParser, Values # noqa: F401 + from pip._internal.cli.parser import ConfigOptionParser # noqa: F401 + + +def raise_option_error(parser, option, msg): + """ + Raise an option parsing error using parser.error(). + + Args: + parser: an OptionParser instance. + option: an Option instance. + msg: the error text. + """ + msg = '{} error: {}'.format(option, msg) + msg = textwrap.fill(' '.join(msg.split())) + parser.error(msg) + + +def make_option_group(group, parser): + # type: (Dict[str, Any], ConfigOptionParser) -> OptionGroup + """ + Return an OptionGroup object + group -- assumed to be dict with 'name' and 'options' keys + parser -- an optparse Parser + """ + option_group = OptionGroup(parser, group['name']) + for option in group['options']: + option_group.add_option(option()) + return option_group + + +def check_install_build_global(options, check_options=None): + # type: (Values, Optional[Values]) -> None + """Disable wheels if per-setup.py call options are set. + + :param options: The OptionParser options to update. + :param check_options: The options to check, if not supplied defaults to + options. + """ + if check_options is None: + check_options = options + + def getname(n): + return getattr(check_options, n, None) + names = ["build_options", "global_options", "install_options"] + if any(map(getname, names)): + control = options.format_control + control.disallow_binaries() + warnings.warn( + 'Disabling all use of wheels due to the use of --build-options ' + '/ --global-options / --install-options.', stacklevel=2, + ) + + +def check_dist_restriction(options, check_target=False): + # type: (Values, bool) -> None + """Function for determining if custom platform options are allowed. + + :param options: The OptionParser options. + :param check_target: Whether or not to check if --target is being used. + """ + dist_restriction_set = any([ + options.python_version, + options.platform, + options.abi, + options.implementation, + ]) + + binary_only = FormatControl(set(), {':all:'}) + sdist_dependencies_allowed = ( + options.format_control != binary_only and + not options.ignore_dependencies + ) + + # Installations or downloads using dist restrictions must not combine + # source distributions and dist-specific wheels, as they are not + # gauranteed to be locally compatible. + if dist_restriction_set and sdist_dependencies_allowed: + raise CommandError( + "When restricting platform and interpreter constraints using " + "--python-version, --platform, --abi, or --implementation, " + "either --no-deps must be set, or --only-binary=:all: must be " + "set and --no-binary must not be set (or must be set to " + ":none:)." + ) + + if check_target: + if dist_restriction_set and not options.target_dir: + raise CommandError( + "Can not use any platform or abi specific options unless " + "installing via '--target'" + ) + + +########### +# options # +########### + +help_ = partial( + Option, + '-h', '--help', + dest='help', + action='help', + help='Show help.', +) # type: Callable[..., Option] + +isolated_mode = partial( + Option, + "--isolated", + dest="isolated_mode", + action="store_true", + default=False, + help=( + "Run pip in an isolated mode, ignoring environment variables and user " + "configuration." + ), +) # type: Callable[..., Option] + +require_virtualenv = partial( + Option, + # Run only if inside a virtualenv, bail if not. + '--require-virtualenv', '--require-venv', + dest='require_venv', + action='store_true', + default=False, + help=SUPPRESS_HELP +) # type: Callable[..., Option] + +verbose = partial( + Option, + '-v', '--verbose', + dest='verbose', + action='count', + default=0, + help='Give more output. Option is additive, and can be used up to 3 times.' +) # type: Callable[..., Option] + +no_color = partial( + Option, + '--no-color', + dest='no_color', + action='store_true', + default=False, + help="Suppress colored output", +) # type: Callable[..., Option] + +version = partial( + Option, + '-V', '--version', + dest='version', + action='store_true', + help='Show version and exit.', +) # type: Callable[..., Option] + +quiet = partial( + Option, + '-q', '--quiet', + dest='quiet', + action='count', + default=0, + help=( + 'Give less output. Option is additive, and can be used up to 3' + ' times (corresponding to WARNING, ERROR, and CRITICAL logging' + ' levels).' + ), +) # type: Callable[..., Option] + +progress_bar = partial( + Option, + '--progress-bar', + dest='progress_bar', + type='choice', + choices=list(BAR_TYPES.keys()), + default='on', + help=( + 'Specify type of progress to be displayed [' + + '|'.join(BAR_TYPES.keys()) + '] (default: %default)' + ), +) # type: Callable[..., Option] + +log = partial( + Option, + "--log", "--log-file", "--local-log", + dest="log", + metavar="path", + help="Path to a verbose appending log." +) # type: Callable[..., Option] + +no_input = partial( + Option, + # Don't ask for input + '--no-input', + dest='no_input', + action='store_true', + default=False, + help=SUPPRESS_HELP +) # type: Callable[..., Option] + +proxy = partial( + Option, + '--proxy', + dest='proxy', + type='str', + default='', + help="Specify a proxy in the form [user:passwd@]proxy.server:port." +) # type: Callable[..., Option] + +retries = partial( + Option, + '--retries', + dest='retries', + type='int', + default=5, + help="Maximum number of retries each connection should attempt " + "(default %default times).", +) # type: Callable[..., Option] + +timeout = partial( + Option, + '--timeout', '--default-timeout', + metavar='sec', + dest='timeout', + type='float', + default=15, + help='Set the socket timeout (default %default seconds).', +) # type: Callable[..., Option] + +skip_requirements_regex = partial( + Option, + # A regex to be used to skip requirements + '--skip-requirements-regex', + dest='skip_requirements_regex', + type='str', + default='', + help=SUPPRESS_HELP, +) # type: Callable[..., Option] + + +def exists_action(): + # type: () -> Option + return Option( + # Option when path already exist + '--exists-action', + dest='exists_action', + type='choice', + choices=['s', 'i', 'w', 'b', 'a'], + default=[], + action='append', + metavar='action', + help="Default action when a path already exists: " + "(s)witch, (i)gnore, (w)ipe, (b)ackup, (a)bort).", + ) + + +cert = partial( + Option, + '--cert', + dest='cert', + type='str', + metavar='path', + help="Path to alternate CA bundle.", +) # type: Callable[..., Option] + +client_cert = partial( + Option, + '--client-cert', + dest='client_cert', + type='str', + default=None, + metavar='path', + help="Path to SSL client certificate, a single file containing the " + "private key and the certificate in PEM format.", +) # type: Callable[..., Option] + +index_url = partial( + Option, + '-i', '--index-url', '--pypi-url', + dest='index_url', + metavar='URL', + default=PyPI.simple_url, + help="Base URL of Python Package Index (default %default). " + "This should point to a repository compliant with PEP 503 " + "(the simple repository API) or a local directory laid out " + "in the same format.", +) # type: Callable[..., Option] + + +def extra_index_url(): + return Option( + '--extra-index-url', + dest='extra_index_urls', + metavar='URL', + action='append', + default=[], + help="Extra URLs of package indexes to use in addition to " + "--index-url. Should follow the same rules as " + "--index-url.", + ) + + +no_index = partial( + Option, + '--no-index', + dest='no_index', + action='store_true', + default=False, + help='Ignore package index (only looking at --find-links URLs instead).', +) # type: Callable[..., Option] + + +def find_links(): + # type: () -> Option + return Option( + '-f', '--find-links', + dest='find_links', + action='append', + default=[], + metavar='url', + help="If a url or path to an html file, then parse for links to " + "archives. If a local path or file:// url that's a directory, " + "then look for archives in the directory listing.", + ) + + +def trusted_host(): + # type: () -> Option + return Option( + "--trusted-host", + dest="trusted_hosts", + action="append", + metavar="HOSTNAME", + default=[], + help="Mark this host as trusted, even though it does not have valid " + "or any HTTPS.", + ) + + +def constraints(): + # type: () -> Option + return Option( + '-c', '--constraint', + dest='constraints', + action='append', + default=[], + metavar='file', + help='Constrain versions using the given constraints file. ' + 'This option can be used multiple times.' + ) + + +def requirements(): + # type: () -> Option + return Option( + '-r', '--requirement', + dest='requirements', + action='append', + default=[], + metavar='file', + help='Install from the given requirements file. ' + 'This option can be used multiple times.' + ) + + +def editable(): + # type: () -> Option + return Option( + '-e', '--editable', + dest='editables', + action='append', + default=[], + metavar='path/url', + help=('Install a project in editable mode (i.e. setuptools ' + '"develop mode") from a local project path or a VCS url.'), + ) + + +src = partial( + Option, + '--src', '--source', '--source-dir', '--source-directory', + dest='src_dir', + metavar='dir', + default=src_prefix, + help='Directory to check out editable projects into. ' + 'The default in a virtualenv is "/src". ' + 'The default for global installs is "/src".' +) # type: Callable[..., Option] + + +def _get_format_control(values, option): + # type: (Values, Option) -> Any + """Get a format_control object.""" + return getattr(values, option.dest) + + +def _handle_no_binary(option, opt_str, value, parser): + # type: (Option, str, str, OptionParser) -> None + existing = _get_format_control(parser.values, option) + FormatControl.handle_mutual_excludes( + value, existing.no_binary, existing.only_binary, + ) + + +def _handle_only_binary(option, opt_str, value, parser): + # type: (Option, str, str, OptionParser) -> None + existing = _get_format_control(parser.values, option) + FormatControl.handle_mutual_excludes( + value, existing.only_binary, existing.no_binary, + ) + + +def no_binary(): + # type: () -> Option + format_control = FormatControl(set(), set()) + return Option( + "--no-binary", dest="format_control", action="callback", + callback=_handle_no_binary, type="str", + default=format_control, + help="Do not use binary packages. Can be supplied multiple times, and " + "each time adds to the existing value. Accepts either :all: to " + "disable all binary packages, :none: to empty the set, or one or " + "more package names with commas between them. Note that some " + "packages are tricky to compile and may fail to install when " + "this option is used on them.", + ) + + +def only_binary(): + # type: () -> Option + format_control = FormatControl(set(), set()) + return Option( + "--only-binary", dest="format_control", action="callback", + callback=_handle_only_binary, type="str", + default=format_control, + help="Do not use source packages. Can be supplied multiple times, and " + "each time adds to the existing value. Accepts either :all: to " + "disable all source packages, :none: to empty the set, or one or " + "more package names with commas between them. Packages without " + "binary distributions will fail to install when this option is " + "used on them.", + ) + + +platform = partial( + Option, + '--platform', + dest='platform', + metavar='platform', + default=None, + help=("Only use wheels compatible with . " + "Defaults to the platform of the running system."), +) # type: Callable[..., Option] + + +python_version = partial( + Option, + '--python-version', + dest='python_version', + metavar='python_version', + default=None, + help=("Only use wheels compatible with Python " + "interpreter version . If not specified, then the " + "current system interpreter minor version is used. A major " + "version (e.g. '2') can be specified to match all " + "minor revs of that major version. A minor version " + "(e.g. '34') can also be specified."), +) # type: Callable[..., Option] + + +implementation = partial( + Option, + '--implementation', + dest='implementation', + metavar='implementation', + default=None, + help=("Only use wheels compatible with Python " + "implementation , e.g. 'pp', 'jy', 'cp', " + " or 'ip'. If not specified, then the current " + "interpreter implementation is used. Use 'py' to force " + "implementation-agnostic wheels."), +) # type: Callable[..., Option] + + +abi = partial( + Option, + '--abi', + dest='abi', + metavar='abi', + default=None, + help=("Only use wheels compatible with Python " + "abi , e.g. 'pypy_41'. If not specified, then the " + "current interpreter abi tag is used. Generally " + "you will need to specify --implementation, " + "--platform, and --python-version when using " + "this option."), +) # type: Callable[..., Option] + + +def prefer_binary(): + # type: () -> Option + return Option( + "--prefer-binary", + dest="prefer_binary", + action="store_true", + default=False, + help="Prefer older binary packages over newer source packages." + ) + + +cache_dir = partial( + Option, + "--cache-dir", + dest="cache_dir", + default=USER_CACHE_DIR, + metavar="dir", + help="Store the cache data in ." +) # type: Callable[..., Option] + + +def no_cache_dir_callback(option, opt, value, parser): + """ + Process a value provided for the --no-cache-dir option. + + This is an optparse.Option callback for the --no-cache-dir option. + """ + # The value argument will be None if --no-cache-dir is passed via the + # command-line, since the option doesn't accept arguments. However, + # the value can be non-None if the option is triggered e.g. by an + # environment variable, like PIP_NO_CACHE_DIR=true. + if value is not None: + # Then parse the string value to get argument error-checking. + try: + strtobool(value) + except ValueError as exc: + raise_option_error(parser, option=option, msg=str(exc)) + + # Originally, setting PIP_NO_CACHE_DIR to a value that strtobool() + # converted to 0 (like "false" or "no") caused cache_dir to be disabled + # rather than enabled (logic would say the latter). Thus, we disable + # the cache directory not just on values that parse to True, but (for + # backwards compatibility reasons) also on values that parse to False. + # In other words, always set it to False if the option is provided in + # some (valid) form. + parser.values.cache_dir = False + + +no_cache = partial( + Option, + "--no-cache-dir", + dest="cache_dir", + action="callback", + callback=no_cache_dir_callback, + help="Disable the cache.", +) # type: Callable[..., Option] + +no_deps = partial( + Option, + '--no-deps', '--no-dependencies', + dest='ignore_dependencies', + action='store_true', + default=False, + help="Don't install package dependencies.", +) # type: Callable[..., Option] + +build_dir = partial( + Option, + '-b', '--build', '--build-dir', '--build-directory', + dest='build_dir', + metavar='dir', + help='Directory to unpack packages into and build in. Note that ' + 'an initial build still takes place in a temporary directory. ' + 'The location of temporary directories can be controlled by setting ' + 'the TMPDIR environment variable (TEMP on Windows) appropriately. ' + 'When passed, build directories are not cleaned in case of failures.' +) # type: Callable[..., Option] + +ignore_requires_python = partial( + Option, + '--ignore-requires-python', + dest='ignore_requires_python', + action='store_true', + help='Ignore the Requires-Python information.' +) # type: Callable[..., Option] + +no_build_isolation = partial( + Option, + '--no-build-isolation', + dest='build_isolation', + action='store_false', + default=True, + help='Disable isolation when building a modern source distribution. ' + 'Build dependencies specified by PEP 518 must be already installed ' + 'if this option is used.' +) # type: Callable[..., Option] + + +def no_use_pep517_callback(option, opt, value, parser): + """ + Process a value provided for the --no-use-pep517 option. + + This is an optparse.Option callback for the no_use_pep517 option. + """ + # Since --no-use-pep517 doesn't accept arguments, the value argument + # will be None if --no-use-pep517 is passed via the command-line. + # However, the value can be non-None if the option is triggered e.g. + # by an environment variable, for example "PIP_NO_USE_PEP517=true". + if value is not None: + msg = """A value was passed for --no-use-pep517, + probably using either the PIP_NO_USE_PEP517 environment variable + or the "no-use-pep517" config file option. Use an appropriate value + of the PIP_USE_PEP517 environment variable or the "use-pep517" + config file option instead. + """ + raise_option_error(parser, option=option, msg=msg) + + # Otherwise, --no-use-pep517 was passed via the command-line. + parser.values.use_pep517 = False + + +use_pep517 = partial( + Option, + '--use-pep517', + dest='use_pep517', + action='store_true', + default=None, + help='Use PEP 517 for building source distributions ' + '(use --no-use-pep517 to force legacy behaviour).' +) # type: Any + +no_use_pep517 = partial( + Option, + '--no-use-pep517', + dest='use_pep517', + action='callback', + callback=no_use_pep517_callback, + default=None, + help=SUPPRESS_HELP +) # type: Any + +install_options = partial( + Option, + '--install-option', + dest='install_options', + action='append', + metavar='options', + help="Extra arguments to be supplied to the setup.py install " + "command (use like --install-option=\"--install-scripts=/usr/local/" + "bin\"). Use multiple --install-option options to pass multiple " + "options to setup.py install. If you are using an option with a " + "directory path, be sure to use absolute path.", +) # type: Callable[..., Option] + +global_options = partial( + Option, + '--global-option', + dest='global_options', + action='append', + metavar='options', + help="Extra global options to be supplied to the setup.py " + "call before the install command.", +) # type: Callable[..., Option] + +no_clean = partial( + Option, + '--no-clean', + action='store_true', + default=False, + help="Don't clean up build directories." +) # type: Callable[..., Option] + +pre = partial( + Option, + '--pre', + action='store_true', + default=False, + help="Include pre-release and development versions. By default, " + "pip only finds stable versions.", +) # type: Callable[..., Option] + +disable_pip_version_check = partial( + Option, + "--disable-pip-version-check", + dest="disable_pip_version_check", + action="store_true", + default=False, + help="Don't periodically check PyPI to determine whether a new version " + "of pip is available for download. Implied with --no-index.", +) # type: Callable[..., Option] + + +# Deprecated, Remove later +always_unzip = partial( + Option, + '-Z', '--always-unzip', + dest='always_unzip', + action='store_true', + help=SUPPRESS_HELP, +) # type: Callable[..., Option] + + +def _merge_hash(option, opt_str, value, parser): + # type: (Option, str, str, OptionParser) -> None + """Given a value spelled "algo:digest", append the digest to a list + pointed to in a dict by the algo name.""" + if not parser.values.hashes: + parser.values.hashes = {} # type: ignore + try: + algo, digest = value.split(':', 1) + except ValueError: + parser.error('Arguments to %s must be a hash name ' + 'followed by a value, like --hash=sha256:abcde...' % + opt_str) + if algo not in STRONG_HASHES: + parser.error('Allowed hash algorithms for %s are %s.' % + (opt_str, ', '.join(STRONG_HASHES))) + parser.values.hashes.setdefault(algo, []).append(digest) + + +hash = partial( + Option, + '--hash', + # Hash values eventually end up in InstallRequirement.hashes due to + # __dict__ copying in process_line(). + dest='hashes', + action='callback', + callback=_merge_hash, + type='string', + help="Verify that the package's archive matches this " + 'hash before installing. Example: --hash=sha256:abcdef...', +) # type: Callable[..., Option] + + +require_hashes = partial( + Option, + '--require-hashes', + dest='require_hashes', + action='store_true', + default=False, + help='Require a hash to check each requirement against, for ' + 'repeatable installs. This option is implied when any package in a ' + 'requirements file has a --hash option.', +) # type: Callable[..., Option] + + +########## +# groups # +########## + +general_group = { + 'name': 'General Options', + 'options': [ + help_, + isolated_mode, + require_virtualenv, + verbose, + version, + quiet, + log, + no_input, + proxy, + retries, + timeout, + skip_requirements_regex, + exists_action, + trusted_host, + cert, + client_cert, + cache_dir, + no_cache, + disable_pip_version_check, + no_color, + ] +} # type: Dict[str, Any] + +index_group = { + 'name': 'Package Index Options', + 'options': [ + index_url, + extra_index_url, + no_index, + find_links, + ] +} # type: Dict[str, Any] diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/main_parser.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/main_parser.py new file mode 100644 index 0000000..b17c749 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/main_parser.py @@ -0,0 +1,104 @@ +"""A single place for constructing and exposing the main parser +""" + +import os +import sys + +from pip import __version__ +from pip._internal.cli import cmdoptions +from pip._internal.cli.parser import ( + ConfigOptionParser, UpdatingDefaultsHelpFormatter, +) +from pip._internal.commands import ( + commands_dict, get_similar_commands, get_summaries, +) +from pip._internal.exceptions import CommandError +from pip._internal.utils.misc import get_prog +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Tuple, List # noqa: F401 + + +__all__ = ["create_main_parser", "parse_command"] + + +def create_main_parser(): + # type: () -> ConfigOptionParser + """Creates and returns the main parser for pip's CLI + """ + + parser_kw = { + 'usage': '\n%prog [options]', + 'add_help_option': False, + 'formatter': UpdatingDefaultsHelpFormatter(), + 'name': 'global', + 'prog': get_prog(), + } + + parser = ConfigOptionParser(**parser_kw) + parser.disable_interspersed_args() + + pip_pkg_dir = os.path.abspath(os.path.join( + os.path.dirname(__file__), "..", "..", + )) + parser.version = 'pip %s from %s (python %s)' % ( + __version__, pip_pkg_dir, sys.version[:3], + ) + + # add the general options + gen_opts = cmdoptions.make_option_group(cmdoptions.general_group, parser) + parser.add_option_group(gen_opts) + + # so the help formatter knows + parser.main = True # type: ignore + + # create command listing for description + command_summaries = get_summaries() + description = [''] + ['%-27s %s' % (i, j) for i, j in command_summaries] + parser.description = '\n'.join(description) + + return parser + + +def parse_command(args): + # type: (List[str]) -> Tuple[str, List[str]] + parser = create_main_parser() + + # Note: parser calls disable_interspersed_args(), so the result of this + # call is to split the initial args into the general options before the + # subcommand and everything else. + # For example: + # args: ['--timeout=5', 'install', '--user', 'INITools'] + # general_options: ['--timeout==5'] + # args_else: ['install', '--user', 'INITools'] + general_options, args_else = parser.parse_args(args) + + # --version + if general_options.version: + sys.stdout.write(parser.version) # type: ignore + sys.stdout.write(os.linesep) + sys.exit() + + # pip || pip help -> print_help() + if not args_else or (args_else[0] == 'help' and len(args_else) == 1): + parser.print_help() + sys.exit() + + # the subcommand name + cmd_name = args_else[0] + + if cmd_name not in commands_dict: + guess = get_similar_commands(cmd_name) + + msg = ['unknown command "%s"' % cmd_name] + if guess: + msg.append('maybe you meant "%s"' % guess) + + raise CommandError(' - '.join(msg)) + + # all the args without the subcommand + cmd_args = args[:] + cmd_args.remove(cmd_name) + + return cmd_name, cmd_args diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/parser.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/parser.py new file mode 100644 index 0000000..e1eaac4 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/parser.py @@ -0,0 +1,261 @@ +"""Base option parser setup""" +from __future__ import absolute_import + +import logging +import optparse +import sys +import textwrap +from distutils.util import strtobool + +from pip._vendor.six import string_types + +from pip._internal.cli.status_codes import UNKNOWN_ERROR +from pip._internal.configuration import Configuration, ConfigurationError +from pip._internal.utils.compat import get_terminal_size + +logger = logging.getLogger(__name__) + + +class PrettyHelpFormatter(optparse.IndentedHelpFormatter): + """A prettier/less verbose help formatter for optparse.""" + + def __init__(self, *args, **kwargs): + # help position must be aligned with __init__.parseopts.description + kwargs['max_help_position'] = 30 + kwargs['indent_increment'] = 1 + kwargs['width'] = get_terminal_size()[0] - 2 + optparse.IndentedHelpFormatter.__init__(self, *args, **kwargs) + + def format_option_strings(self, option): + return self._format_option_strings(option, ' <%s>', ', ') + + def _format_option_strings(self, option, mvarfmt=' <%s>', optsep=', '): + """ + Return a comma-separated list of option strings and metavars. + + :param option: tuple of (short opt, long opt), e.g: ('-f', '--format') + :param mvarfmt: metavar format string - evaluated as mvarfmt % metavar + :param optsep: separator + """ + opts = [] + + if option._short_opts: + opts.append(option._short_opts[0]) + if option._long_opts: + opts.append(option._long_opts[0]) + if len(opts) > 1: + opts.insert(1, optsep) + + if option.takes_value(): + metavar = option.metavar or option.dest.lower() + opts.append(mvarfmt % metavar.lower()) + + return ''.join(opts) + + def format_heading(self, heading): + if heading == 'Options': + return '' + return heading + ':\n' + + def format_usage(self, usage): + """ + Ensure there is only one newline between usage and the first heading + if there is no description. + """ + msg = '\nUsage: %s\n' % self.indent_lines(textwrap.dedent(usage), " ") + return msg + + def format_description(self, description): + # leave full control over description to us + if description: + if hasattr(self.parser, 'main'): + label = 'Commands' + else: + label = 'Description' + # some doc strings have initial newlines, some don't + description = description.lstrip('\n') + # some doc strings have final newlines and spaces, some don't + description = description.rstrip() + # dedent, then reindent + description = self.indent_lines(textwrap.dedent(description), " ") + description = '%s:\n%s\n' % (label, description) + return description + else: + return '' + + def format_epilog(self, epilog): + # leave full control over epilog to us + if epilog: + return epilog + else: + return '' + + def indent_lines(self, text, indent): + new_lines = [indent + line for line in text.split('\n')] + return "\n".join(new_lines) + + +class UpdatingDefaultsHelpFormatter(PrettyHelpFormatter): + """Custom help formatter for use in ConfigOptionParser. + + This is updates the defaults before expanding them, allowing + them to show up correctly in the help listing. + """ + + def expand_default(self, option): + if self.parser is not None: + self.parser._update_defaults(self.parser.defaults) + return optparse.IndentedHelpFormatter.expand_default(self, option) + + +class CustomOptionParser(optparse.OptionParser): + + def insert_option_group(self, idx, *args, **kwargs): + """Insert an OptionGroup at a given position.""" + group = self.add_option_group(*args, **kwargs) + + self.option_groups.pop() + self.option_groups.insert(idx, group) + + return group + + @property + def option_list_all(self): + """Get a list of all options, including those in option groups.""" + res = self.option_list[:] + for i in self.option_groups: + res.extend(i.option_list) + + return res + + +class ConfigOptionParser(CustomOptionParser): + """Custom option parser which updates its defaults by checking the + configuration files and environmental variables""" + + def __init__(self, *args, **kwargs): + self.name = kwargs.pop('name') + + isolated = kwargs.pop("isolated", False) + self.config = Configuration(isolated) + + assert self.name + optparse.OptionParser.__init__(self, *args, **kwargs) + + def check_default(self, option, key, val): + try: + return option.check_value(key, val) + except optparse.OptionValueError as exc: + print("An error occurred during configuration: %s" % exc) + sys.exit(3) + + def _get_ordered_configuration_items(self): + # Configuration gives keys in an unordered manner. Order them. + override_order = ["global", self.name, ":env:"] + + # Pool the options into different groups + section_items = {name: [] for name in override_order} + for section_key, val in self.config.items(): + # ignore empty values + if not val: + logger.debug( + "Ignoring configuration key '%s' as it's value is empty.", + section_key + ) + continue + + section, key = section_key.split(".", 1) + if section in override_order: + section_items[section].append((key, val)) + + # Yield each group in their override order + for section in override_order: + for key, val in section_items[section]: + yield key, val + + def _update_defaults(self, defaults): + """Updates the given defaults with values from the config files and + the environ. Does a little special handling for certain types of + options (lists).""" + + # Accumulate complex default state. + self.values = optparse.Values(self.defaults) + late_eval = set() + # Then set the options with those values + for key, val in self._get_ordered_configuration_items(): + # '--' because configuration supports only long names + option = self.get_option('--' + key) + + # Ignore options not present in this parser. E.g. non-globals put + # in [global] by users that want them to apply to all applicable + # commands. + if option is None: + continue + + if option.action in ('store_true', 'store_false', 'count'): + try: + val = strtobool(val) + except ValueError: + error_msg = invalid_config_error_message( + option.action, key, val + ) + self.error(error_msg) + + elif option.action == 'append': + val = val.split() + val = [self.check_default(option, key, v) for v in val] + elif option.action == 'callback': + late_eval.add(option.dest) + opt_str = option.get_opt_string() + val = option.convert_value(opt_str, val) + # From take_action + args = option.callback_args or () + kwargs = option.callback_kwargs or {} + option.callback(option, opt_str, val, self, *args, **kwargs) + else: + val = self.check_default(option, key, val) + + defaults[option.dest] = val + + for key in late_eval: + defaults[key] = getattr(self.values, key) + self.values = None + return defaults + + def get_default_values(self): + """Overriding to make updating the defaults after instantiation of + the option parser possible, _update_defaults() does the dirty work.""" + if not self.process_default_values: + # Old, pre-Optik 1.5 behaviour. + return optparse.Values(self.defaults) + + # Load the configuration, or error out in case of an error + try: + self.config.load() + except ConfigurationError as err: + self.exit(UNKNOWN_ERROR, str(err)) + + defaults = self._update_defaults(self.defaults.copy()) # ours + for option in self._get_all_options(): + default = defaults.get(option.dest) + if isinstance(default, string_types): + opt_str = option.get_opt_string() + defaults[option.dest] = option.check_value(opt_str, default) + return optparse.Values(defaults) + + def error(self, msg): + self.print_usage(sys.stderr) + self.exit(UNKNOWN_ERROR, "%s\n" % msg) + + +def invalid_config_error_message(action, key, val): + """Returns a better error message when invalid configuration option + is provided.""" + if action in ('store_true', 'store_false'): + return ("{0} is not a valid value for {1} option, " + "please specify a boolean value like yes/no, " + "true/false or 1/0 instead.").format(val, key) + + return ("{0} is not a valid value for {1} option, " + "please specify a numerical value like 1/0 " + "instead.").format(val, key) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/status_codes.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/status_codes.py new file mode 100644 index 0000000..275360a --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/status_codes.py @@ -0,0 +1,8 @@ +from __future__ import absolute_import + +SUCCESS = 0 +ERROR = 1 +UNKNOWN_ERROR = 2 +VIRTUALENV_NOT_FOUND = 3 +PREVIOUS_BUILD_DIR_ERROR = 4 +NO_MATCHES_FOUND = 23 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__init__.py new file mode 100644 index 0000000..c7d1da3 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__init__.py @@ -0,0 +1,79 @@ +""" +Package containing all pip commands +""" +from __future__ import absolute_import + +from pip._internal.commands.completion import CompletionCommand +from pip._internal.commands.configuration import ConfigurationCommand +from pip._internal.commands.download import DownloadCommand +from pip._internal.commands.freeze import FreezeCommand +from pip._internal.commands.hash import HashCommand +from pip._internal.commands.help import HelpCommand +from pip._internal.commands.list import ListCommand +from pip._internal.commands.check import CheckCommand +from pip._internal.commands.search import SearchCommand +from pip._internal.commands.show import ShowCommand +from pip._internal.commands.install import InstallCommand +from pip._internal.commands.uninstall import UninstallCommand +from pip._internal.commands.wheel import WheelCommand + +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import List, Type # noqa: F401 + from pip._internal.cli.base_command import Command # noqa: F401 + +commands_order = [ + InstallCommand, + DownloadCommand, + UninstallCommand, + FreezeCommand, + ListCommand, + ShowCommand, + CheckCommand, + ConfigurationCommand, + SearchCommand, + WheelCommand, + HashCommand, + CompletionCommand, + HelpCommand, +] # type: List[Type[Command]] + +commands_dict = {c.name: c for c in commands_order} + + +def get_summaries(ordered=True): + """Yields sorted (command name, command summary) tuples.""" + + if ordered: + cmditems = _sort_commands(commands_dict, commands_order) + else: + cmditems = commands_dict.items() + + for name, command_class in cmditems: + yield (name, command_class.summary) + + +def get_similar_commands(name): + """Command name auto-correct.""" + from difflib import get_close_matches + + name = name.lower() + + close_commands = get_close_matches(name, commands_dict.keys()) + + if close_commands: + return close_commands[0] + else: + return False + + +def _sort_commands(cmddict, order): + def keyfn(key): + try: + return order.index(key[1]) + except ValueError: + # unordered items should come last + return 0xff + + return sorted(cmddict.items(), key=keyfn) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..706246293821140527af404f6344f44674a2e23c GIT binary patch literal 2526 zcmaJ@TW{Mo6ecD4QpZ-D)J=1*d)w+^kvnuP(4i;>xL0g5f~A+0Xd$Q~9V;Ovmz0}2 zaGnxi+rysrEB0IV2L`?FDSx3a-63NqX;IGtsdEmGNS=@1;qi@1rGySYy!^X}(7))^ zuLAP-(9|W25Jd!0Of8OuMJ%jko7=)6j*%Un6M2$1a*h{7kra)b=VwHTl#E>9Q=&}D zMlSM-aEWW=GkjW9N!7?DJ|kwytdXbqSy3Z3BbWI(F-PW%T;b=%JefDL%NN8VSv2xA zUlPk?*~nGCB38*NMr>971ACp}7et-Z#YJ+_jL-5*;xf4m5W8{@?PGG4uFyGp{s5CN=saCGK;%ohNSEM!jV^DX#_I0X(s~eX z2b-)OCUF`>aTIUX1J3Kcs0St?f|#n(p~kp@v+3ZqN_anIek6K{Ou;nMN<@#dG)iKS zv^yAUtt9S5n|&F4Y@fcD?8H0?=!t9Pfn;o#ofxJb1*&^mWxRJv{V`JMiCS)TS-5?o zS2kE6!_%K{bd#NvarbeoQV8$FQhf>`e_|^??=p7EXZEKT>o5G)qx-EN{GXq;+mG81 z8&>A%tz^!VL61Smh0&BDFwguf=pAS+XsQNXgofxZ=4PEmqyiz1HoWI z%e$W8P-!MQnnKenr~VB zw#lQ{&7K*#;oWMgC}nHCqeE6rIM%gqZhP0g8*9A*40~*IQyZIp6sJta0dIz*Q*ZiU zi&EeBdV}|+J2VPY80y{qN(ZE)%Okk}uP4VL>u_yoAvEK{!KF}0>aC_#s82bZm)NM4R3wffLFM>4eGW7tEA_W?CI=~lM2e&N8lN~1Il9ruqHc$=Q#BD~2 zd-VAjyicRAndl=C@jxC!e;cM!W$2J)Ag~-5^8~dD18146a|>X zZXfE84?jQ$d6$b~%HCzAX94fC`%)$n0J9-}c;yTej$$>3oCA9&ex%og>Vpuru!~)5 zcjaTwd3Sgc23+0sjDG`5y+c?me?(`wqE(v|fMA-GvH`l(sb$sze`C-~%0=iNLQ@(h zgv$kEX*ckbMk6cuK21X3&q}`E>8E|kd|zs8$wf$O?>Mc!@wsVXbYV-4J-IT`@6;VG z_1fgZ1Xnt`)@4q6txWLhn44bawa?N7pDtYfvhcqiP!FVre&QS)?qzvKdn`{_1^6Fs zOP!n(H>*q`k(yu=7gA7Lq-Hl+ov_fTv`GEOgy@?3xdZ8sE0A=x+oVnJ=%OU2!6jS# zc&2_Dapk3h9u#j`)eiZQG6Ra7)w6!OLmqjr1Go)Fw2(TBq)tDR{^q7Kd1|4-8AzrF literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/check.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/check.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f725758811c9971996f9a0da16d29b766900602b GIT binary patch literal 1351 zcmZ8h&2HO95Z>j#D5*%>)JT9fV2k9SASPSbO_3ldg1A5~gpbxXxp8N{Ew6m1#s$FPC-_GvL&MyzfV;5cjefo=u(4S~$8Gv5` ziC4e~A~;8(`qy$?XrYD`)^oiuLZdK46C;YwENZWD=)6Y6Am#@|OscK*a6s@IG_kJ1 z4w_D|w2xR(#3h+%^5bMdlk=#Glk+&Gk)XBwGT}6?>8>oAb5=xIDe5@SDM^%}o23DG z2_zl@qbS4#g&M)3PPEVT3+x?5wL7t@#6bci7pj-rD!knbtX14_i}Vkl*VDwSHz0+}f?v4v2Oi ztqqJW4o}d<=O^guRcpbm=l{`u+*(`h2d8@HcEfJe+W`AuW7N9saBYDN4mQFQ)SBYg z)&es4Z^U?m`n%>Dt5T~1PFIf~2@igpUNjk}3P17QFS2CeWx^|2{cjF^jv><3{zhRD z-zpWftb4s#Q+rF+Y;xRR^RIiIFQ&|!aduA2n}?K+@aC*3i9a#9>P)V(EA30l1!P-V zIZIQ@rID3$HW^Dp(0nfKZ7rk`^HhYxoi+={RSc?S8bQ@&LfS=8$|^pO-=!iqUfTDbCn|4*-=DT0>DrLX*L1|TiT)lkNA>* z2Cw&-*P7SoMj5vxKxJ@KNa+~C0<8ZoNQb!-} z&bv!1VyGt>$V1Trea{!@SK8M;vwtJ3IT^-wf~m%1VR$^uK2> zmkIeVIrF$6e*&-k8X88Jm6M?rSr*E6Zb!E1oydXS$=#tBdB*1E{;(F+K=z_K^I476 z+0u_rwDdV)4YvH6ux0L@I8lSydn9Q71l~zt>Fde9Ec21#aWET~k8P+&<#R;fU~WhO6JBe`J_(x9^^ z2CwnLS1UNRe19t8)XkkQySrQ6FTUAm(Y2Nt#$WC1ezv!^Hp-w>b)u0r%uET`M7KYt6Psmf{i*I$6~@NyXAUM3Ib zG~_2o42_G3r&wm@k24eG#~^SLS&TqAv!ImOk;|OO zV{YXCKzbJQnE$#S)v$=YCQqMM4c#CEe$A zBsrtKa-p6b3JO*`YAgoh@PdQ4Eq$5-!_0%Fx(@Gkcx4WaBFdVO6MJA!tcm?E%OVpp zaE_gcGjN&3Z00Z*&&F#1^udN&DAJ&9fOh$ew#imNdkwVLXIe7w20ptnaZYS3_khLC z?Xe$*i1*kI_w}+=rQpEuLMq`wFxoSPdi>k1ArN43To4&IxZv8r)qY}1jrPo1?J_Qv zb`jFC7lv?^;D0Q9a5;YON?$k)!ofR-={-@y=~r)!^914;)F93gT%JHAbv=%=B2#g! z>*HUB+N)~Z`!XCA-T}+KrV5iZ~~~~z9>f(9L1G9?`by?eW~pihvFvgVCkhe zPV+>{IQ|d$`5&Ewa>zTwtUu!U$A5Ux=^mvAi5PZ8IpC?1Fjfa;@%Qfb=ZWHn$x-JO zFJ5)>Y`;?(%l-C)j?5Gft0aAq^ttRnH3`@M*uK}kA67?TZu5R0l^r;Y;-X0M&WxH8 zh1tJmyE+m#AixLk%8#HS)-Bt&UCXs>^Q(h&scet$Zl1aU2}$3cBbUz83~vmHunDge z&?qvnPROx?RD4a84P>%DBPZ6eJFx~p(igt?TDb!c=J}{$KsM&8+6l?5+c?itb+t6{ zjLrMeMx8~9+o~~G9yF2GgO!PUV&(!#>zJ_PunT2KNvaO`1rnA$qwZ&bFg0vF%`F?^ z#r)dC;C}^8A9Cq=^B8Kz#QHV)xBb!u_ZDz16u$v;U~9X5Pc%R@<7smjhCeqR=9yH8 z`y=BGUHfDlT!c`JiuObEuPPsbFkhvKcFjMvt^MgIj@f5?XKQzNXZKI^n{q^lBdKTw z9HSq|#@MA$cD93S`qu1o;mOW+ytldgr2BMFyD#{W1W)j_#hLM>>xzG;4nJ5M&dYY4$({+0DDg5-ej_y^$J$`&b|iL<^huq0zsCd~KiR zYdg)eHq=Kfs3yGxW|h8ke$q%~xoi(JAO&8P_z)Y44HmOSkP9;E`ok$MkFfX|fSUkt P-ELY<*Il;ZS9kvpbPYKS literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/configuration.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/configuration.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f802c371341083a92140af9b42cf998f1b617111 GIT binary patch literal 6470 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/download.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/download.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b6008e74ae54d84580e982916eee094cb2860b08 GIT binary patch literal 4741 zcmbVQS&tjX5uO=x$>H$WOIqFbM7At57P&U$BX)#^6B#}bLr^S53C1xdv(rs-sJYxd z+zl68AixSR@}Stsp9qo%|B(EI27)}~$$vpF$yYt(?sDb$Axlh8Rdw}MUG-JX-fp)Y z^Sl52_FtC_E zTi%vwaBF;lUpz9sOCK4m#oA8{*5>u2ig%e=4~%Z-JM7o!nrb!Jm03I~xF02XCW?EI zIbp)GyojsT+Pk36~&5|TY8Kj%1r1u5S1HlEvom1imyf`!bp$NjqTF?HB zW7$1TuZ1HXKKApV82QO>IP8FV(#*EFA`Zw{zBcm{CFkK%EKyqv377}VOrO{fi;Hi z=X1~d!o729J16$qaX+6Mzo*UHJJ#>_%h{iwsV9~uE6?`-Omt^2l*d= zrHdo?{z3KmebL=-A1fbhJm+%#5GK=qD`*`&t9axL(!warnQ>%|t(iHq{sb7B8RN=f zWmXwii!Qdx>i-an2IgT;f_wTziS@EODz#+}aYizQk=Tahprrxh3xW z3CB!ku?nkFTo+s83l!H+?c>v4Jkf+DE-i7Fm$)k>2d%4kuEByY99f4|dXHaZjal`` z(snJm3USN;ZaDW2tR6e4^?HoU;$XdeM`=Jn+C$tPTzF1Y0+?zo!a?I*g>f;L7YJ2nd=O0HLRCjR&IP$h*HtSBb}mF4oU(mCN~6N}l?{CN z5jIje0n-$ACd)Ic+5YDjgG3$+=gcoj>U-4#`pJRYcOAcj&|kN3p|Sk-gN z3CQHgUJV~d4sbC4Z^pAfZjZ8rZzs`k!s9pJdVBl+G#mvYxnE`i37+=+=>ENrf`S8a zxA%ar+i|qJU7qH4|LtuV6}-1dN!vjB-W%`sU+>@U{e~F@Nx9RZZKp@WZ<@*MzL(4lXWSc%DZ43kM7rNt*of zI-a|D-E zOIn9%i}b%SzrLkIxD8;$4CBtMf_4?p8nd3(4p%^}=TFdXw2Z?V-kajv;vBt?%$5QA z{CJDen9VZavF2uR;mG*_~v4O=+nH>S*?b@RwDjb8)0 zerbGW{N{V98I?n;_a1g@s=kQux)7nB}E@n(L;0a&xa!<{zZ-E-n=1i zx~Nei6dqJ8qBc0`jHH`pg-gXBb9YfxU?`$jYayzIOC?nppq@dgvOnTHmM&ldr3Fth zjSO~Uloqb8BlTc_UJ~hjNsSJlS|@vbReCUIR{!AsSFas-!x^0V5| z`}P+Br#o&?$Ld*JYXS*+3l1DBf;a}C4N+*LDbLi5~G1vD%9o`aZS0G-$qBoDGM_ zKlS}Ur0`l%C)E};HEPHM)x|u^CrEpAzsDbMzT}1Y1?f=XD9HK5`_$Ofe27N17nkTK z8RM#s1JhTUs*bZLRTtzb6CQgq?!FqOgG{w`BA?_q5=_`_i`z8syVTIfnD{9*N4GC1xKy1y zjXX@d`a00De_TQI!#FDAIVJRI^qo&`qg2=LCI)hYkKK)$Wc>=9^>&ui_aQ(5pt=)k(TJVB|1EE4KC)?ux# zexD9z$aQ>@WmRLyi%)fk3I<+0qJ|2clY1#Cx)o*LDer!V3U+xJP0O-P+iIDof7)#; F{{{2kXF>n~ literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/freeze.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/freeze.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..213a9a30776e745dd1a5b66ede48d923dccac6d0 GIT binary patch literal 2888 zcmb7GTaVku73NK%L`l2r^(}Flgh}fr0+v)#w?P{OZ2>zmf)*PispEo8KyW!DiQ3`C zGsE2#p?z8desUiAFZvhSf5O*3t})fGny#S5sm0fOZ7n46>TshFz|0OGqnP%;aRMcc7tw1cbJ{_f?h*+SwD3G zr=e{&NQc1?bdU6jLk4pz7(Ld=kc?hvWJJ3cX0StyZ?y5wk2qBu>-BDQByv_t8YXFx zb9o4!^K4Ejdl|wI>ZXP#0l(| z+Egc9V!wd(%ElL3(0{2}THwH@0rYFsSu0$fIWB%*m9i+Mn`A;pj8WniQG6WDr~u35 z^m&RF zUbo2YhI~-x$-PBKb}#fh8hPs#z`I`a3-UIk?_BciMUT9zWEX}4F9PTu zR))u`k>_oNr5@*S{o6bdZW}LzJ9CeyTMC3YEtyOT>?D(v3V+DPa)K0~Jf=qiEIWrM#1 z_jI1bbN4i1Oeqo(0!?Jzn%ydl16XBy9?Rp1)t&aw5i;jAl)R*0R8PO0w&*=cxGW<^ zvlDC(Np~IzcgFIgh`CW5Qy~sqlDkTVHn<)NFZ zj&Ql27S4EH7Gtxv1ZC6Oia2ViaeRvM+7H8+MM8w(zqFrTPUd+^CuuS(Df{j3KAAjO z#`B1$Pk6qdu@o4~d7gdy1ni_ARkU9D9@9kkv#A}nJ9OA8$V7^u)UA};D6*l z@QNkGKAp`Ja{{|0*MqF7)#b zI34kuRcFza_5})~?19rqbI=B8L$ndv&dOS;*}Fu4)j#i6AD+E0_omva`-A>S`~KFs zEpIIL7dKZnG45(=r|0u$+A|cfm9@Baq3PP++k$2u0w;s5`o(WU(b{PeG|Z6~bzfn> zB^?Fukkc7Gt9uDm0Rk5GbyuPunebl=k3v`Q?)8~DY9202JY@Vf yWGxo%U7uCT1l!@nB9bi>75W;Bt{kxy+TLfa>;I@~t5A2!(C8UMM7a5kq4|H#+e1VE literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/hash.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/hash.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..21ec987b5103be300d342d0ed14d3c357c444afd GIT binary patch literal 2090 zcmZ`(TW=gS6t+FLy(XcpsuFI~OMsQSvp}GNs#H{MX^K!yAqzFqs6sgpJQMr~VZGi&*+tnIh!xt(^h zuHVIo8Iu*ZI>-Ln9Yh`4c!p?$*>l5xgEndF8S+n2vV(fV`+%b!C=V86hWpKvLuk9;ak-7ZEE?>b2P%#rp`0Skv3=(Vr@Q0Ch}Vl zZ%eheLNQ(jHhs}@p~0+#$lcH#!=77=z)FiKOx-e!9)~gP@MxSoVP32D-yJi-+$hZ5 zJ?2(|QTHH`W4GV0k0&`C=WM@9ILlZrg*!@8=E}mQ1+14Wl;K{=>YI{W$S_UC@?vG` z8>Z_UB`;$4hoY28k&8#}HGRW%*YmvT#p7VLClfl@e+4PL-3Twi(xA1VuR<5!z#x&t zGc+d?GQ%_S0z@-I6JughObIn4fG7b(YEK+#&GA{F{uihAX-t~5p?&8>3k9HTZcj-+ zoVNS@FpUci2xO}H%Cv+mIGbJquokeMY-uO}wX1HCGadhin3BtG&r&93LMkU37fHl~ zvcpK{uN=xoVU0 zX-IOR7pcnTBX|V1i^k4 zrpp~C2xt+(vZ)u8waCR06+CqO5Cj$Hp!#50{(&aGCW^nW1L`hi6tOf7f>+`8FnV{)N-1SE~oq8`Ku&$dXP-AvNpoC(kcus!3d_*MHB|gVM-MTbpWR8Kp zl_MZ*V$MuW?!NmF0cqqrG(_JcShwc7tc~gUA(Iu)U3px&G>M@w7w@9x!Bd3qZTDev1i8VeXM!qz5q zp;JVp1GKH+bC~P(-f2zIsDdzoBCY}9pTM9Tt)3*0`FncyE>w_rQbAsnCf;5sSg;0EteElsul&zmZlz?-ep1_w<;{lcho|K*h>B3gjbjG6qlRyY4ZpE<7w oU4eB@ujOCMxK?oE+Cqod^`lo8dWSSHe1Jy>ui*}98EcpR1|w54od5s; literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/help.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/help.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..af53724ebbb5fed9ecb510f500cd1c8a82c08c4c GIT binary patch literal 1266 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/list.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/list.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3c34998af4b409536c0cd8c369d14a91495c2fb9 GIT binary patch literal 8742 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/search.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/search.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5c108c3db67f1fb9a99268b511e33100aa3be991 GIT binary patch literal 4336 zcmZu!TXWmS72X9vfTXCa71?qU2e~L?rV*8n+jN@IxJhg!cIzl=B*!UQ4+iE!6ewKi zT~HSe^iq17na-q1-tz;}|IlB8*Y?GK!7uH17Nl%>O3p5J&tA_t-?{9K+1Vz4`rp5t zEHU;*=lhnPsZr9>Q z()4C@+m2hwtT(IMPCS>)d-J+oj~9|fZ!uZ&mUO=nUrLs}W!-MZuOutpif+%umy;{r z72R&dtI1XGs&3E5uO_c~uW=R{{nx{5WA452ITLeY{s|NF;r!V2T(KY)pD^!Du_Bhl zr6=5bODv05KzUmjyR3crDL7?qUd{)PR2C2O(2tTqCi893X1fFkbBuGWuC>OTB^uPFI@7A5IUH`K$?{D8O zo!$GlZf))EV&2kDH26lZ-IGD8=wMJ=lhs>NW)gjC=XB>TzKgvu_w!IDQ5wX)ibiyH zGfD*x_2aD9C0?dKbJ9>BqY*NX3kLmh=+1!NOs^&^&lWY$`IhZ-VGHL8G$-n!0ogP} zQ_SGo{FYhFn}M8Ky;+|9?sP@dlGl(y0vj;=Lb{aYKztmpnY8{|=zs)y5wqt(et`V=~DdQxYv z%O^|{vvrht6wPqXa$c~p(KiZS82mYeN^`TQVD-JObk_b$zLuZwU$7{!<$c^1XQG2KgL$z|avN8WF zkZ@)~%e*iPJ~qy*+$gLuKdT9LX6HahzcyxaGq=ZZcdJBmidta{^E;rTu;fl&-(`6N z=&-g&?JpvwqO|AA@bNH$mvAB3VFFWhuUE{t8tLs$rCMIjoty4)B=UoHQ_kRilGwx; z*+0;o_y-ZxY^qZQ3&}+`%u72`L7tz=S(-UJkdPkvA>d2N25mvmZ#(iDjXM(ql5bG2 zrtjc2G)VN$7S-|{TK3j?^)}5lfy6C~X><*$w4UC;{S=Q!VLsU5iQn zf~LGjQySW`wFNno4a$aA2f5?YBGE~b%S-ao+iilb$PO7`+Jc-~0PJY_qKqmyz=y)1 zi3b>T)Ay513}b4yeE;z#$3_?r0E$i(`5%nluS2W_jU^|-Kp0<|zV+2a;{SDC1- zGPvm4m>e`9@tiv5hlXrnT{X|3H4j*hJ{jql!wBuszjWx>I|$u4Qn|Y?v&1EJxsifd z2624q2GtN8HDEyCP#yO{=pF~K)AKRC&D3qV$5DRZ=F?4ISm~-9@)vHD#!(t}+`R*w zgTRKJb44rkJ}+M-%`-Pkab)OrgVY_Wu%qW`1y`DNCU7{)X#6zSgw#IE)pR!h(F#hL9$eY;lIYugQtbw+L zqOPK1whc_z>2I_Qa>5JdlDW(m3`z6OEuXBOEK$Sc4nkSMRGs1|Y?>X`<-6p8h4BRR z+fd$^3-dByBrKxkyl)Wo%>03$G-<{U{2@WfB6t8wmatdZ;A`QKmo6+sail3dcyO$7 z062EokUtlQ^jDZ@USVhTqAq3*E%`G=`NA&hf+AYgK_ zyC{mhLl5G7`0g3cwU}2SLY?+NoFwc@Kx2NH{b)S4u+;=ygr;YF9T|ZchpGG&-O@y6 z2@h*@K9HZG{}LviH8%-Xh}DCe`xsVq6Pu6Tyby{yn{n0+Vs#UZ>FlQziZ3ugAl3}v z?NKq%JcH-&PcErXMrzVRGDvBM_Lpr#{vNYSK6vS3@(&>QQK}oU=g=;hwi@|42A`4x zd)h=*^5!${KBYU18f)wCDR>$*ZN&BqmA2J)N!MWw@Z@x zIfAOK_#D0z|EPw);426#OBhG?puI>7eq)YbPtd$>5v|vH2E%V^nge+5NHhiQNXAi?+g;x4#ixNNv&(|^%p3eO2*ivGjYX|P$x-R z-YYLoRMAN%$&Nx*B`DYQ*fbyR;04)vgx7^XNsJ}sv*rJp1l{ICg=u(H==@J-g5}D^ z?L>B*##tbAMpRz8I2fLE!|Ji66VdYO#bM+pVXQhjJF1=GaZ>&g9ZVkG{0O_drr);wI^o94rFB?WEBrMYp$OGi+G<@@sjvB3UE_PEp20oi>+Nhk z%kOmGXy@uV?q_|oov-J)Z}^3Fv0mhU&M&pg^>TZrKBFqG)|z$a4%Paxn~E?+{-GlB zZt*ZvpBDvDe5llqi&;??GY{4Jg3vaV%G~GBNU5mFtg{scelK!uuiXt~v<6yX)pfsodRd+R_b!o@}@w2*(;uC+K($$M<5_?l^51#N2YwZaW=O(URpe zbfsQ^_JyRlxf47Xij4OQ7Jfvryv}wY+fL*K9n0AYdXW`$Tq}@PJCH8khLPj@uCTgJ zW7lcAVXeS(@9tnwFY02v7h;&TvASGs1nsWxIi1LAJDzXtxQ=k8mGZCgv_uafG(N`< zmi1a!22JbdL6^jb_pPO&lxtS4R*S#&Ule?XQg<8b&`xA86W1)R@EV#(iPXMwsI|1d z+Sh&qU+OEZOiLH4&_qV)B1=~L#9(^1WeAhrA8O8%h( zu#X+dp1T^q#fnBS$#&28E#C`a#q9~>@fku7T#J<)|5Mv37x$O1`DxZ6(8 zj}m>y^}CY3sgg^wVXx~-na5LN+P2s6BHK>PMqAjhT$mIb!9C(&blD4&<1msdBN_m* z-IPJETgkxuuD_k=j%8EOp5Bv9U!}ok zG)3{0$LjuRTKE;^{`^4gtB=$ODFC6ZE-8DZdnhhKdx&JPqQDWfC+hw`K30)Jkysy^ zeT}Fq$`keepC2oakPvX`xR7pX7J9}Z&lK6;>Vu3h20E^6lzW7P(=rb=`8SNoi`=0q z|AbzFdIKaEmT9oeG-c;mUT%U?n4pl%yeNXpU(qX4Z;zTH7*cPvmWZV3yui zkIPfdTBpFYCW##Q7nu`+Jw&R#X!${d%jrc6No|4|Cxx1IYg|&(sxSQsk%Fp1zqT4@4qmQe-u)c1eC4-J>Yw@O)ZWqI5@P|Jo0U9q~4l z_`MK8BO|C$#Mrp8d}m{2O0n?*Q7UA`IEA%ctc$sDKFoU(v`U zs{btI){c~$l1J-t7usv{#7KDl3MerngEATqw2u&{TLlb?4hCe;h@SCdeH8zqzB0Eeh&{s(R*^%_vTz~gw z_14)44X1s&FEwI&^mmRthCp3A5hP+7)Sw+&$Dk*p&dqJn+CJQS_P`8jt z=|0N;NomIk?a?#6MN$W_lQyjBc9rUeExbmQWOm&H`5uX5G^V9tbeRYY$S??;aF--&bqwtbBo7x^H2jx}0|IrBA>4+_H9~8D`9K@!gRB6=?_+zstIJCfl9&Jv z0Q$(bG6LJZL+!D`+vS`vADWTg$};*gcx3(&HjCIO(5wQ_DAJ5Et;DqQ6b$Na0zMtY8df@yT7dO+*AX6w&$K`iM>7S<@RfD*2 zovQ&4rA!{rrG&IB@aU;R5f^W#g@R{L#*a(4huE7*l-%ReM!NkBnSplEVq3(sL$auD z9q^ll_eRxf;v?cO)v&mHYlsz4lkk-{S;kSJ3a@hRjCCAtg>m@?70zl}IInUBj*V41 zN4m=U`uOa!)9D0Jx@VX;ZacyuI6TO^onD(a1oCBwOLTVmd+2h3lLYD*XUMzg;jFJb zwKI?}(R(^UsLu`$2y9+eR3z2o^qv%la8%e^2T9?m(k59h^m2<>40q@3Gwd#}fI7ex zuAotLT|I%lxk)KrThL4D!qopH(!YU|oEcEL7;sB7=;;LJ&8U(%R7{k8uoL3$WS0T z!y`sVQMHEe)wXcdV-L@yq(QQtF$fhq>V+7F^E*Dw;nSHUkJ5gdk9s5>xbS-MK?RpG o{=A9M9;4<uRSauA!S?v1u;Ts2gZFB5l({ zU52E_W5e^(Ss*}wX&;h5Q6N92&w6cM@)!D&9!j#u*+w>r!*fXL@SN{E)cwJrXZ`ro z<8Sv6`VZQ9T#)|&P0gUAh*|=rR%BU5wuPNKkyFc#aMMoIsbyDqsUP{Z+z~k$ ziC(%F?bWg``spAVSm+}}1KNFpXqR;^ooJu-K1IX5AK`6iXjM1JvC2iMSZGc(xW? zkmQ6+nF@Qg0i48KVR9@O);TUWJK!`|8n@dqdc6$)Da#ibX6Fej%zR$nmS_|-m_UIn% z)4>%m4YZxPNB52O(l)FD1l@SJvPW_?7>#zktol0xRe2_Y8LeCs?$!L-ZD0-7Gj^SF z0Vn|A@T^u(`5DXb?pF2bLySM00sfjeVxT7^8j~^|Q8IkEDna`onC>R?ueevkwM?|v)S&kvrXJf&S#|_Qyhi{J+*KD*Q z{}^aLdh_?;8{z#?u>^C-rc8&b4NaL2S+^|DaxJ_4 z1O}_t z-&tF8D2Z40g}3(RjyzaO5{4QTb;~9_NY;Z&ds7amfXZTi>J)d8!5*_hZ4R2&#(}Z352IVQYptIBKTN}h!=B;4@c{VWi%mpIVdQ=spO!?l z7C(+@p2TtEdZ$!y3q!_B`1X(uujHG?$3aW|gb4w&wUVvnWF;oVc%djZ~0D-W+sO#KSFV-_Q1t3fW5043a z`LvZln(w*l`JYd^{tl=U9^L%884^^Z;px3W9|G1CROJN9vuaTF)ZVpgVaiofBd9*w bbv$;`8a!xX{;ny_%9QKA4L`_a{d4{YQqdj7 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/wheel.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__pycache__/wheel.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4c672dcbfb03436fdd1286099faf62dde5da100b GIT binary patch literal 5025 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 oL] list + %prog [] [--editor ] edit + + %prog [] get name + %prog [] set name value + %prog [] unset name + """ + + summary = "Manage local and global configuration." + + def __init__(self, *args, **kwargs): + super(ConfigurationCommand, self).__init__(*args, **kwargs) + + self.configuration = None + + self.cmd_opts.add_option( + '--editor', + dest='editor', + action='store', + default=None, + help=( + 'Editor to use to edit the file. Uses VISUAL or EDITOR ' + 'environment variables if not provided.' + ) + ) + + self.cmd_opts.add_option( + '--global', + dest='global_file', + action='store_true', + default=False, + help='Use the system-wide configuration file only' + ) + + self.cmd_opts.add_option( + '--user', + dest='user_file', + action='store_true', + default=False, + help='Use the user configuration file only' + ) + + self.cmd_opts.add_option( + '--venv', + dest='venv_file', + action='store_true', + default=False, + help='Use the virtualenv configuration file only' + ) + + self.parser.insert_option_group(0, self.cmd_opts) + + def run(self, options, args): + handlers = { + "list": self.list_values, + "edit": self.open_in_editor, + "get": self.get_name, + "set": self.set_name_value, + "unset": self.unset_name + } + + # Determine action + if not args or args[0] not in handlers: + logger.error("Need an action ({}) to perform.".format( + ", ".join(sorted(handlers))) + ) + return ERROR + + action = args[0] + + # Determine which configuration files are to be loaded + # Depends on whether the command is modifying. + try: + load_only = self._determine_file( + options, need_value=(action in ["get", "set", "unset", "edit"]) + ) + except PipError as e: + logger.error(e.args[0]) + return ERROR + + # Load a new configuration + self.configuration = Configuration( + isolated=options.isolated_mode, load_only=load_only + ) + self.configuration.load() + + # Error handling happens here, not in the action-handlers. + try: + handlers[action](options, args[1:]) + except PipError as e: + logger.error(e.args[0]) + return ERROR + + return SUCCESS + + def _determine_file(self, options, need_value): + file_options = { + kinds.USER: options.user_file, + kinds.GLOBAL: options.global_file, + kinds.VENV: options.venv_file + } + + if sum(file_options.values()) == 0: + if not need_value: + return None + # Default to user, unless there's a virtualenv file. + elif os.path.exists(venv_config_file): + return kinds.VENV + else: + return kinds.USER + elif sum(file_options.values()) == 1: + # There's probably a better expression for this. + return [key for key in file_options if file_options[key]][0] + + raise PipError( + "Need exactly one file to operate upon " + "(--user, --venv, --global) to perform." + ) + + def list_values(self, options, args): + self._get_n_args(args, "list", n=0) + + for key, value in sorted(self.configuration.items()): + logger.info("%s=%r", key, value) + + def get_name(self, options, args): + key = self._get_n_args(args, "get [name]", n=1) + value = self.configuration.get_value(key) + + logger.info("%s", value) + + def set_name_value(self, options, args): + key, value = self._get_n_args(args, "set [name] [value]", n=2) + self.configuration.set_value(key, value) + + self._save_configuration() + + def unset_name(self, options, args): + key = self._get_n_args(args, "unset [name]", n=1) + self.configuration.unset_value(key) + + self._save_configuration() + + def open_in_editor(self, options, args): + editor = self._determine_editor(options) + + fname = self.configuration.get_file_to_edit() + if fname is None: + raise PipError("Could not determine appropriate file.") + + try: + subprocess.check_call([editor, fname]) + except subprocess.CalledProcessError as e: + raise PipError( + "Editor Subprocess exited with exit code {}" + .format(e.returncode) + ) + + def _get_n_args(self, args, example, n): + """Helper to make sure the command got the right number of arguments + """ + if len(args) != n: + msg = ( + 'Got unexpected number of arguments, expected {}. ' + '(example: "{} config {}")' + ).format(n, get_prog(), example) + raise PipError(msg) + + if n == 1: + return args[0] + else: + return args + + def _save_configuration(self): + # We successfully ran a modifying command. Need to save the + # configuration. + try: + self.configuration.save() + except Exception: + logger.error( + "Unable to save configuration. Please report this as a bug.", + exc_info=1 + ) + raise PipError("Internal Error.") + + def _determine_editor(self, options): + if options.editor is not None: + return options.editor + elif "VISUAL" in os.environ: + return os.environ["VISUAL"] + elif "EDITOR" in os.environ: + return os.environ["EDITOR"] + else: + raise PipError("Could not determine editor to use.") diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/download.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/download.py new file mode 100644 index 0000000..a57e4bc --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/download.py @@ -0,0 +1,176 @@ +from __future__ import absolute_import + +import logging +import os + +from pip._internal.cli import cmdoptions +from pip._internal.cli.base_command import RequirementCommand +from pip._internal.operations.prepare import RequirementPreparer +from pip._internal.req import RequirementSet +from pip._internal.req.req_tracker import RequirementTracker +from pip._internal.resolve import Resolver +from pip._internal.utils.filesystem import check_path_owner +from pip._internal.utils.misc import ensure_dir, normalize_path +from pip._internal.utils.temp_dir import TempDirectory + +logger = logging.getLogger(__name__) + + +class DownloadCommand(RequirementCommand): + """ + Download packages from: + + - PyPI (and other indexes) using requirement specifiers. + - VCS project urls. + - Local project directories. + - Local or remote source archives. + + pip also supports downloading from "requirements files", which provide + an easy way to specify a whole environment to be downloaded. + """ + name = 'download' + + usage = """ + %prog [options] [package-index-options] ... + %prog [options] -r [package-index-options] ... + %prog [options] ... + %prog [options] ... + %prog [options] ...""" + + summary = 'Download packages.' + + def __init__(self, *args, **kw): + super(DownloadCommand, self).__init__(*args, **kw) + + cmd_opts = self.cmd_opts + + cmd_opts.add_option(cmdoptions.constraints()) + cmd_opts.add_option(cmdoptions.requirements()) + cmd_opts.add_option(cmdoptions.build_dir()) + cmd_opts.add_option(cmdoptions.no_deps()) + cmd_opts.add_option(cmdoptions.global_options()) + cmd_opts.add_option(cmdoptions.no_binary()) + cmd_opts.add_option(cmdoptions.only_binary()) + cmd_opts.add_option(cmdoptions.prefer_binary()) + cmd_opts.add_option(cmdoptions.src()) + cmd_opts.add_option(cmdoptions.pre()) + cmd_opts.add_option(cmdoptions.no_clean()) + cmd_opts.add_option(cmdoptions.require_hashes()) + cmd_opts.add_option(cmdoptions.progress_bar()) + cmd_opts.add_option(cmdoptions.no_build_isolation()) + cmd_opts.add_option(cmdoptions.use_pep517()) + cmd_opts.add_option(cmdoptions.no_use_pep517()) + + cmd_opts.add_option( + '-d', '--dest', '--destination-dir', '--destination-directory', + dest='download_dir', + metavar='dir', + default=os.curdir, + help=("Download packages into

."), + ) + + cmd_opts.add_option(cmdoptions.platform()) + cmd_opts.add_option(cmdoptions.python_version()) + cmd_opts.add_option(cmdoptions.implementation()) + cmd_opts.add_option(cmdoptions.abi()) + + index_opts = cmdoptions.make_option_group( + cmdoptions.index_group, + self.parser, + ) + + self.parser.insert_option_group(0, index_opts) + self.parser.insert_option_group(0, cmd_opts) + + def run(self, options, args): + options.ignore_installed = True + # editable doesn't really make sense for `pip download`, but the bowels + # of the RequirementSet code require that property. + options.editables = [] + + if options.python_version: + python_versions = [options.python_version] + else: + python_versions = None + + cmdoptions.check_dist_restriction(options) + + options.src_dir = os.path.abspath(options.src_dir) + options.download_dir = normalize_path(options.download_dir) + + ensure_dir(options.download_dir) + + with self._build_session(options) as session: + finder = self._build_package_finder( + options=options, + session=session, + platform=options.platform, + python_versions=python_versions, + abi=options.abi, + implementation=options.implementation, + ) + build_delete = (not (options.no_clean or options.build_dir)) + if options.cache_dir and not check_path_owner(options.cache_dir): + logger.warning( + "The directory '%s' or its parent directory is not owned " + "by the current user and caching wheels has been " + "disabled. check the permissions and owner of that " + "directory. If executing pip with sudo, you may want " + "sudo's -H flag.", + options.cache_dir, + ) + options.cache_dir = None + + with RequirementTracker() as req_tracker, TempDirectory( + options.build_dir, delete=build_delete, kind="download" + ) as directory: + + requirement_set = RequirementSet( + require_hashes=options.require_hashes, + ) + self.populate_requirement_set( + requirement_set, + args, + options, + finder, + session, + self.name, + None + ) + + preparer = RequirementPreparer( + build_dir=directory.path, + src_dir=options.src_dir, + download_dir=options.download_dir, + wheel_download_dir=None, + progress_bar=options.progress_bar, + build_isolation=options.build_isolation, + req_tracker=req_tracker, + ) + + resolver = Resolver( + preparer=preparer, + finder=finder, + session=session, + wheel_cache=None, + use_user_site=False, + upgrade_strategy="to-satisfy-only", + force_reinstall=False, + ignore_dependencies=options.ignore_dependencies, + ignore_requires_python=False, + ignore_installed=True, + isolated=options.isolated_mode, + ) + resolver.resolve(requirement_set) + + downloaded = ' '.join([ + req.name for req in requirement_set.successfully_downloaded + ]) + if downloaded: + logger.info('Successfully downloaded %s', downloaded) + + # Clean up + if not options.no_clean: + requirement_set.cleanup_files() + + return requirement_set diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/freeze.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/freeze.py new file mode 100644 index 0000000..dc9c53a --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/freeze.py @@ -0,0 +1,96 @@ +from __future__ import absolute_import + +import sys + +from pip._internal.cache import WheelCache +from pip._internal.cli.base_command import Command +from pip._internal.models.format_control import FormatControl +from pip._internal.operations.freeze import freeze +from pip._internal.utils.compat import stdlib_pkgs + +DEV_PKGS = {'pip', 'setuptools', 'distribute', 'wheel'} + + +class FreezeCommand(Command): + """ + Output installed packages in requirements format. + + packages are listed in a case-insensitive sorted order. + """ + name = 'freeze' + usage = """ + %prog [options]""" + summary = 'Output installed packages in requirements format.' + log_streams = ("ext://sys.stderr", "ext://sys.stderr") + + def __init__(self, *args, **kw): + super(FreezeCommand, self).__init__(*args, **kw) + + self.cmd_opts.add_option( + '-r', '--requirement', + dest='requirements', + action='append', + default=[], + metavar='file', + help="Use the order in the given requirements file and its " + "comments when generating output. This option can be " + "used multiple times.") + self.cmd_opts.add_option( + '-f', '--find-links', + dest='find_links', + action='append', + default=[], + metavar='URL', + help='URL for finding packages, which will be added to the ' + 'output.') + self.cmd_opts.add_option( + '-l', '--local', + dest='local', + action='store_true', + default=False, + help='If in a virtualenv that has global access, do not output ' + 'globally-installed packages.') + self.cmd_opts.add_option( + '--user', + dest='user', + action='store_true', + default=False, + help='Only output packages installed in user-site.') + self.cmd_opts.add_option( + '--all', + dest='freeze_all', + action='store_true', + help='Do not skip these packages in the output:' + ' %s' % ', '.join(DEV_PKGS)) + self.cmd_opts.add_option( + '--exclude-editable', + dest='exclude_editable', + action='store_true', + help='Exclude editable package from output.') + + self.parser.insert_option_group(0, self.cmd_opts) + + def run(self, options, args): + format_control = FormatControl(set(), set()) + wheel_cache = WheelCache(options.cache_dir, format_control) + skip = set(stdlib_pkgs) + if not options.freeze_all: + skip.update(DEV_PKGS) + + freeze_kwargs = dict( + requirement=options.requirements, + find_links=options.find_links, + local_only=options.local, + user_only=options.user, + skip_regex=options.skip_requirements_regex, + isolated=options.isolated_mode, + wheel_cache=wheel_cache, + skip=skip, + exclude_editable=options.exclude_editable, + ) + + try: + for line in freeze(**freeze_kwargs): + sys.stdout.write(line + '\n') + finally: + wheel_cache.cleanup() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/hash.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/hash.py new file mode 100644 index 0000000..423440e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/hash.py @@ -0,0 +1,57 @@ +from __future__ import absolute_import + +import hashlib +import logging +import sys + +from pip._internal.cli.base_command import Command +from pip._internal.cli.status_codes import ERROR +from pip._internal.utils.hashes import FAVORITE_HASH, STRONG_HASHES +from pip._internal.utils.misc import read_chunks + +logger = logging.getLogger(__name__) + + +class HashCommand(Command): + """ + Compute a hash of a local package archive. + + These can be used with --hash in a requirements file to do repeatable + installs. + + """ + name = 'hash' + usage = '%prog [options] ...' + summary = 'Compute hashes of package archives.' + ignore_require_venv = True + + def __init__(self, *args, **kw): + super(HashCommand, self).__init__(*args, **kw) + self.cmd_opts.add_option( + '-a', '--algorithm', + dest='algorithm', + choices=STRONG_HASHES, + action='store', + default=FAVORITE_HASH, + help='The hash algorithm to use: one of %s' % + ', '.join(STRONG_HASHES)) + self.parser.insert_option_group(0, self.cmd_opts) + + def run(self, options, args): + if not args: + self.parser.print_usage(sys.stderr) + return ERROR + + algorithm = options.algorithm + for path in args: + logger.info('%s:\n--hash=%s:%s', + path, algorithm, _hash_of_file(path, algorithm)) + + +def _hash_of_file(path, algorithm): + """Return the hash digest of a file.""" + with open(path, 'rb') as archive: + hash = hashlib.new(algorithm) + for chunk in read_chunks(archive): + hash.update(chunk) + return hash.hexdigest() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/help.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/help.py new file mode 100644 index 0000000..49a81cb --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/help.py @@ -0,0 +1,37 @@ +from __future__ import absolute_import + +from pip._internal.cli.base_command import Command +from pip._internal.cli.status_codes import SUCCESS +from pip._internal.exceptions import CommandError + + +class HelpCommand(Command): + """Show help for commands""" + name = 'help' + usage = """ + %prog """ + summary = 'Show help for commands.' + ignore_require_venv = True + + def run(self, options, args): + from pip._internal.commands import commands_dict, get_similar_commands + + try: + # 'pip help' with no args is handled by pip.__init__.parseopt() + cmd_name = args[0] # the command we need help for + except IndexError: + return SUCCESS + + if cmd_name not in commands_dict: + guess = get_similar_commands(cmd_name) + + msg = ['unknown command "%s"' % cmd_name] + if guess: + msg.append('maybe you meant "%s"' % guess) + + raise CommandError(' - '.join(msg)) + + command = commands_dict[cmd_name]() + command.parser.print_help() + + return SUCCESS diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/install.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/install.py new file mode 100644 index 0000000..1c244d2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/install.py @@ -0,0 +1,566 @@ +from __future__ import absolute_import + +import errno +import logging +import operator +import os +import shutil +from optparse import SUPPRESS_HELP + +from pip._vendor import pkg_resources + +from pip._internal.cache import WheelCache +from pip._internal.cli import cmdoptions +from pip._internal.cli.base_command import RequirementCommand +from pip._internal.cli.status_codes import ERROR +from pip._internal.exceptions import ( + CommandError, InstallationError, PreviousBuildDirError, +) +from pip._internal.locations import distutils_scheme, virtualenv_no_global +from pip._internal.operations.check import check_install_conflicts +from pip._internal.operations.prepare import RequirementPreparer +from pip._internal.req import RequirementSet, install_given_reqs +from pip._internal.req.req_tracker import RequirementTracker +from pip._internal.resolve import Resolver +from pip._internal.utils.filesystem import check_path_owner +from pip._internal.utils.misc import ( + ensure_dir, get_installed_version, + protect_pip_from_modification_on_windows, +) +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.wheel import WheelBuilder + +logger = logging.getLogger(__name__) + + +class InstallCommand(RequirementCommand): + """ + Install packages from: + + - PyPI (and other indexes) using requirement specifiers. + - VCS project urls. + - Local project directories. + - Local or remote source archives. + + pip also supports installing from "requirements files", which provide + an easy way to specify a whole environment to be installed. + """ + name = 'install' + + usage = """ + %prog [options] [package-index-options] ... + %prog [options] -r [package-index-options] ... + %prog [options] [-e] ... + %prog [options] [-e] ... + %prog [options] ...""" + + summary = 'Install packages.' + + def __init__(self, *args, **kw): + super(InstallCommand, self).__init__(*args, **kw) + + cmd_opts = self.cmd_opts + + cmd_opts.add_option(cmdoptions.requirements()) + cmd_opts.add_option(cmdoptions.constraints()) + cmd_opts.add_option(cmdoptions.no_deps()) + cmd_opts.add_option(cmdoptions.pre()) + + cmd_opts.add_option(cmdoptions.editable()) + cmd_opts.add_option( + '-t', '--target', + dest='target_dir', + metavar='dir', + default=None, + help='Install packages into . ' + 'By default this will not replace existing files/folders in ' + '. Use --upgrade to replace existing packages in ' + 'with new versions.' + ) + cmd_opts.add_option(cmdoptions.platform()) + cmd_opts.add_option(cmdoptions.python_version()) + cmd_opts.add_option(cmdoptions.implementation()) + cmd_opts.add_option(cmdoptions.abi()) + + cmd_opts.add_option( + '--user', + dest='use_user_site', + action='store_true', + help="Install to the Python user install directory for your " + "platform. Typically ~/.local/, or %APPDATA%\\Python on " + "Windows. (See the Python documentation for site.USER_BASE " + "for full details.)") + cmd_opts.add_option( + '--no-user', + dest='use_user_site', + action='store_false', + help=SUPPRESS_HELP) + cmd_opts.add_option( + '--root', + dest='root_path', + metavar='dir', + default=None, + help="Install everything relative to this alternate root " + "directory.") + cmd_opts.add_option( + '--prefix', + dest='prefix_path', + metavar='dir', + default=None, + help="Installation prefix where lib, bin and other top-level " + "folders are placed") + + cmd_opts.add_option(cmdoptions.build_dir()) + + cmd_opts.add_option(cmdoptions.src()) + + cmd_opts.add_option( + '-U', '--upgrade', + dest='upgrade', + action='store_true', + help='Upgrade all specified packages to the newest available ' + 'version. The handling of dependencies depends on the ' + 'upgrade-strategy used.' + ) + + cmd_opts.add_option( + '--upgrade-strategy', + dest='upgrade_strategy', + default='only-if-needed', + choices=['only-if-needed', 'eager'], + help='Determines how dependency upgrading should be handled ' + '[default: %default]. ' + '"eager" - dependencies are upgraded regardless of ' + 'whether the currently installed version satisfies the ' + 'requirements of the upgraded package(s). ' + '"only-if-needed" - are upgraded only when they do not ' + 'satisfy the requirements of the upgraded package(s).' + ) + + cmd_opts.add_option( + '--force-reinstall', + dest='force_reinstall', + action='store_true', + help='Reinstall all packages even if they are already ' + 'up-to-date.') + + cmd_opts.add_option( + '-I', '--ignore-installed', + dest='ignore_installed', + action='store_true', + help='Ignore the installed packages (reinstalling instead).') + + cmd_opts.add_option(cmdoptions.ignore_requires_python()) + cmd_opts.add_option(cmdoptions.no_build_isolation()) + cmd_opts.add_option(cmdoptions.use_pep517()) + cmd_opts.add_option(cmdoptions.no_use_pep517()) + + cmd_opts.add_option(cmdoptions.install_options()) + cmd_opts.add_option(cmdoptions.global_options()) + + cmd_opts.add_option( + "--compile", + action="store_true", + dest="compile", + default=True, + help="Compile Python source files to bytecode", + ) + + cmd_opts.add_option( + "--no-compile", + action="store_false", + dest="compile", + help="Do not compile Python source files to bytecode", + ) + + cmd_opts.add_option( + "--no-warn-script-location", + action="store_false", + dest="warn_script_location", + default=True, + help="Do not warn when installing scripts outside PATH", + ) + cmd_opts.add_option( + "--no-warn-conflicts", + action="store_false", + dest="warn_about_conflicts", + default=True, + help="Do not warn about broken dependencies", + ) + + cmd_opts.add_option(cmdoptions.no_binary()) + cmd_opts.add_option(cmdoptions.only_binary()) + cmd_opts.add_option(cmdoptions.prefer_binary()) + cmd_opts.add_option(cmdoptions.no_clean()) + cmd_opts.add_option(cmdoptions.require_hashes()) + cmd_opts.add_option(cmdoptions.progress_bar()) + + index_opts = cmdoptions.make_option_group( + cmdoptions.index_group, + self.parser, + ) + + self.parser.insert_option_group(0, index_opts) + self.parser.insert_option_group(0, cmd_opts) + + def run(self, options, args): + cmdoptions.check_install_build_global(options) + upgrade_strategy = "to-satisfy-only" + if options.upgrade: + upgrade_strategy = options.upgrade_strategy + + if options.build_dir: + options.build_dir = os.path.abspath(options.build_dir) + + cmdoptions.check_dist_restriction(options, check_target=True) + + if options.python_version: + python_versions = [options.python_version] + else: + python_versions = None + + options.src_dir = os.path.abspath(options.src_dir) + install_options = options.install_options or [] + if options.use_user_site: + if options.prefix_path: + raise CommandError( + "Can not combine '--user' and '--prefix' as they imply " + "different installation locations" + ) + if virtualenv_no_global(): + raise InstallationError( + "Can not perform a '--user' install. User site-packages " + "are not visible in this virtualenv." + ) + install_options.append('--user') + install_options.append('--prefix=') + + target_temp_dir = TempDirectory(kind="target") + if options.target_dir: + options.ignore_installed = True + options.target_dir = os.path.abspath(options.target_dir) + if (os.path.exists(options.target_dir) and not + os.path.isdir(options.target_dir)): + raise CommandError( + "Target path exists but is not a directory, will not " + "continue." + ) + + # Create a target directory for using with the target option + target_temp_dir.create() + install_options.append('--home=' + target_temp_dir.path) + + global_options = options.global_options or [] + + with self._build_session(options) as session: + finder = self._build_package_finder( + options=options, + session=session, + platform=options.platform, + python_versions=python_versions, + abi=options.abi, + implementation=options.implementation, + ) + build_delete = (not (options.no_clean or options.build_dir)) + wheel_cache = WheelCache(options.cache_dir, options.format_control) + + if options.cache_dir and not check_path_owner(options.cache_dir): + logger.warning( + "The directory '%s' or its parent directory is not owned " + "by the current user and caching wheels has been " + "disabled. check the permissions and owner of that " + "directory. If executing pip with sudo, you may want " + "sudo's -H flag.", + options.cache_dir, + ) + options.cache_dir = None + + with RequirementTracker() as req_tracker, TempDirectory( + options.build_dir, delete=build_delete, kind="install" + ) as directory: + requirement_set = RequirementSet( + require_hashes=options.require_hashes, + check_supported_wheels=not options.target_dir, + ) + + try: + self.populate_requirement_set( + requirement_set, args, options, finder, session, + self.name, wheel_cache + ) + preparer = RequirementPreparer( + build_dir=directory.path, + src_dir=options.src_dir, + download_dir=None, + wheel_download_dir=None, + progress_bar=options.progress_bar, + build_isolation=options.build_isolation, + req_tracker=req_tracker, + ) + + resolver = Resolver( + preparer=preparer, + finder=finder, + session=session, + wheel_cache=wheel_cache, + use_user_site=options.use_user_site, + upgrade_strategy=upgrade_strategy, + force_reinstall=options.force_reinstall, + ignore_dependencies=options.ignore_dependencies, + ignore_requires_python=options.ignore_requires_python, + ignore_installed=options.ignore_installed, + isolated=options.isolated_mode, + use_pep517=options.use_pep517 + ) + resolver.resolve(requirement_set) + + protect_pip_from_modification_on_windows( + modifying_pip=requirement_set.has_requirement("pip") + ) + + # Consider legacy and PEP517-using requirements separately + legacy_requirements = [] + pep517_requirements = [] + for req in requirement_set.requirements.values(): + if req.use_pep517: + pep517_requirements.append(req) + else: + legacy_requirements.append(req) + + # We don't build wheels for legacy requirements if we + # don't have wheel installed or we don't have a cache dir + try: + import wheel # noqa: F401 + build_legacy = bool(options.cache_dir) + except ImportError: + build_legacy = False + + wb = WheelBuilder( + finder, preparer, wheel_cache, + build_options=[], global_options=[], + ) + + # Always build PEP 517 requirements + build_failures = wb.build( + pep517_requirements, + session=session, autobuilding=True + ) + + if build_legacy: + # We don't care about failures building legacy + # requirements, as we'll fall through to a direct + # install for those. + wb.build( + legacy_requirements, + session=session, autobuilding=True + ) + + # If we're using PEP 517, we cannot do a direct install + # so we fail here. + if build_failures: + raise InstallationError( + "Could not build wheels for {} which use" + " PEP 517 and cannot be installed directly".format( + ", ".join(r.name for r in build_failures))) + + to_install = resolver.get_installation_order( + requirement_set + ) + + # Consistency Checking of the package set we're installing. + should_warn_about_conflicts = ( + not options.ignore_dependencies and + options.warn_about_conflicts + ) + if should_warn_about_conflicts: + self._warn_about_conflicts(to_install) + + # Don't warn about script install locations if + # --target has been specified + warn_script_location = options.warn_script_location + if options.target_dir: + warn_script_location = False + + installed = install_given_reqs( + to_install, + install_options, + global_options, + root=options.root_path, + home=target_temp_dir.path, + prefix=options.prefix_path, + pycompile=options.compile, + warn_script_location=warn_script_location, + use_user_site=options.use_user_site, + ) + + lib_locations = get_lib_location_guesses( + user=options.use_user_site, + home=target_temp_dir.path, + root=options.root_path, + prefix=options.prefix_path, + isolated=options.isolated_mode, + ) + working_set = pkg_resources.WorkingSet(lib_locations) + + reqs = sorted(installed, key=operator.attrgetter('name')) + items = [] + for req in reqs: + item = req.name + try: + installed_version = get_installed_version( + req.name, working_set=working_set + ) + if installed_version: + item += '-' + installed_version + except Exception: + pass + items.append(item) + installed = ' '.join(items) + if installed: + logger.info('Successfully installed %s', installed) + except EnvironmentError as error: + show_traceback = (self.verbosity >= 1) + + message = create_env_error_message( + error, show_traceback, options.use_user_site, + ) + logger.error(message, exc_info=show_traceback) + + return ERROR + except PreviousBuildDirError: + options.no_clean = True + raise + finally: + # Clean up + if not options.no_clean: + requirement_set.cleanup_files() + wheel_cache.cleanup() + + if options.target_dir: + self._handle_target_dir( + options.target_dir, target_temp_dir, options.upgrade + ) + return requirement_set + + def _handle_target_dir(self, target_dir, target_temp_dir, upgrade): + ensure_dir(target_dir) + + # Checking both purelib and platlib directories for installed + # packages to be moved to target directory + lib_dir_list = [] + + with target_temp_dir: + # Checking both purelib and platlib directories for installed + # packages to be moved to target directory + scheme = distutils_scheme('', home=target_temp_dir.path) + purelib_dir = scheme['purelib'] + platlib_dir = scheme['platlib'] + data_dir = scheme['data'] + + if os.path.exists(purelib_dir): + lib_dir_list.append(purelib_dir) + if os.path.exists(platlib_dir) and platlib_dir != purelib_dir: + lib_dir_list.append(platlib_dir) + if os.path.exists(data_dir): + lib_dir_list.append(data_dir) + + for lib_dir in lib_dir_list: + for item in os.listdir(lib_dir): + if lib_dir == data_dir: + ddir = os.path.join(data_dir, item) + if any(s.startswith(ddir) for s in lib_dir_list[:-1]): + continue + target_item_dir = os.path.join(target_dir, item) + if os.path.exists(target_item_dir): + if not upgrade: + logger.warning( + 'Target directory %s already exists. Specify ' + '--upgrade to force replacement.', + target_item_dir + ) + continue + if os.path.islink(target_item_dir): + logger.warning( + 'Target directory %s already exists and is ' + 'a link. Pip will not automatically replace ' + 'links, please remove if replacement is ' + 'desired.', + target_item_dir + ) + continue + if os.path.isdir(target_item_dir): + shutil.rmtree(target_item_dir) + else: + os.remove(target_item_dir) + + shutil.move( + os.path.join(lib_dir, item), + target_item_dir + ) + + def _warn_about_conflicts(self, to_install): + try: + package_set, _dep_info = check_install_conflicts(to_install) + except Exception: + logger.error("Error checking for conflicts.", exc_info=True) + return + missing, conflicting = _dep_info + + # NOTE: There is some duplication here from pip check + for project_name in missing: + version = package_set[project_name][0] + for dependency in missing[project_name]: + logger.critical( + "%s %s requires %s, which is not installed.", + project_name, version, dependency[1], + ) + + for project_name in conflicting: + version = package_set[project_name][0] + for dep_name, dep_version, req in conflicting[project_name]: + logger.critical( + "%s %s has requirement %s, but you'll have %s %s which is " + "incompatible.", + project_name, version, req, dep_name, dep_version, + ) + + +def get_lib_location_guesses(*args, **kwargs): + scheme = distutils_scheme('', *args, **kwargs) + return [scheme['purelib'], scheme['platlib']] + + +def create_env_error_message(error, show_traceback, using_user_site): + """Format an error message for an EnvironmentError + + It may occur anytime during the execution of the install command. + """ + parts = [] + + # Mention the error if we are not going to show a traceback + parts.append("Could not install packages due to an EnvironmentError") + if not show_traceback: + parts.append(": ") + parts.append(str(error)) + else: + parts.append(".") + + # Spilt the error indication from a helper message (if any) + parts[-1] += "\n" + + # Suggest useful actions to the user: + # (1) using user site-packages or (2) verifying the permissions + if error.errno == errno.EACCES: + user_option_part = "Consider using the `--user` option" + permissions_part = "Check the permissions" + + if not using_user_site: + parts.extend([ + user_option_part, " or ", + permissions_part.lower(), + ]) + else: + parts.append(permissions_part) + parts.append(".\n") + + return "".join(parts).strip() + "\n" diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/list.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/list.py new file mode 100644 index 0000000..a640274 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/list.py @@ -0,0 +1,301 @@ +from __future__ import absolute_import + +import json +import logging + +from pip._vendor import six +from pip._vendor.six.moves import zip_longest + +from pip._internal.cli import cmdoptions +from pip._internal.cli.base_command import Command +from pip._internal.exceptions import CommandError +from pip._internal.index import PackageFinder +from pip._internal.utils.misc import ( + dist_is_editable, get_installed_distributions, +) +from pip._internal.utils.packaging import get_installer + +logger = logging.getLogger(__name__) + + +class ListCommand(Command): + """ + List installed packages, including editables. + + Packages are listed in a case-insensitive sorted order. + """ + name = 'list' + usage = """ + %prog [options]""" + summary = 'List installed packages.' + + def __init__(self, *args, **kw): + super(ListCommand, self).__init__(*args, **kw) + + cmd_opts = self.cmd_opts + + cmd_opts.add_option( + '-o', '--outdated', + action='store_true', + default=False, + help='List outdated packages') + cmd_opts.add_option( + '-u', '--uptodate', + action='store_true', + default=False, + help='List uptodate packages') + cmd_opts.add_option( + '-e', '--editable', + action='store_true', + default=False, + help='List editable projects.') + cmd_opts.add_option( + '-l', '--local', + action='store_true', + default=False, + help=('If in a virtualenv that has global access, do not list ' + 'globally-installed packages.'), + ) + self.cmd_opts.add_option( + '--user', + dest='user', + action='store_true', + default=False, + help='Only output packages installed in user-site.') + + cmd_opts.add_option( + '--pre', + action='store_true', + default=False, + help=("Include pre-release and development versions. By default, " + "pip only finds stable versions."), + ) + + cmd_opts.add_option( + '--format', + action='store', + dest='list_format', + default="columns", + choices=('columns', 'freeze', 'json'), + help="Select the output format among: columns (default), freeze, " + "or json", + ) + + cmd_opts.add_option( + '--not-required', + action='store_true', + dest='not_required', + help="List packages that are not dependencies of " + "installed packages.", + ) + + cmd_opts.add_option( + '--exclude-editable', + action='store_false', + dest='include_editable', + help='Exclude editable package from output.', + ) + cmd_opts.add_option( + '--include-editable', + action='store_true', + dest='include_editable', + help='Include editable package from output.', + default=True, + ) + index_opts = cmdoptions.make_option_group( + cmdoptions.index_group, self.parser + ) + + self.parser.insert_option_group(0, index_opts) + self.parser.insert_option_group(0, cmd_opts) + + def _build_package_finder(self, options, index_urls, session): + """ + Create a package finder appropriate to this list command. + """ + return PackageFinder( + find_links=options.find_links, + index_urls=index_urls, + allow_all_prereleases=options.pre, + trusted_hosts=options.trusted_hosts, + session=session, + ) + + def run(self, options, args): + if options.outdated and options.uptodate: + raise CommandError( + "Options --outdated and --uptodate cannot be combined.") + + packages = get_installed_distributions( + local_only=options.local, + user_only=options.user, + editables_only=options.editable, + include_editables=options.include_editable, + ) + + # get_not_required must be called firstly in order to find and + # filter out all dependencies correctly. Otherwise a package + # can't be identified as requirement because some parent packages + # could be filtered out before. + if options.not_required: + packages = self.get_not_required(packages, options) + + if options.outdated: + packages = self.get_outdated(packages, options) + elif options.uptodate: + packages = self.get_uptodate(packages, options) + + self.output_package_listing(packages, options) + + def get_outdated(self, packages, options): + return [ + dist for dist in self.iter_packages_latest_infos(packages, options) + if dist.latest_version > dist.parsed_version + ] + + def get_uptodate(self, packages, options): + return [ + dist for dist in self.iter_packages_latest_infos(packages, options) + if dist.latest_version == dist.parsed_version + ] + + def get_not_required(self, packages, options): + dep_keys = set() + for dist in packages: + dep_keys.update(requirement.key for requirement in dist.requires()) + return {pkg for pkg in packages if pkg.key not in dep_keys} + + def iter_packages_latest_infos(self, packages, options): + index_urls = [options.index_url] + options.extra_index_urls + if options.no_index: + logger.debug('Ignoring indexes: %s', ','.join(index_urls)) + index_urls = [] + + with self._build_session(options) as session: + finder = self._build_package_finder(options, index_urls, session) + + for dist in packages: + typ = 'unknown' + all_candidates = finder.find_all_candidates(dist.key) + if not options.pre: + # Remove prereleases + all_candidates = [candidate for candidate in all_candidates + if not candidate.version.is_prerelease] + + if not all_candidates: + continue + best_candidate = max(all_candidates, + key=finder._candidate_sort_key) + remote_version = best_candidate.version + if best_candidate.location.is_wheel: + typ = 'wheel' + else: + typ = 'sdist' + # This is dirty but makes the rest of the code much cleaner + dist.latest_version = remote_version + dist.latest_filetype = typ + yield dist + + def output_package_listing(self, packages, options): + packages = sorted( + packages, + key=lambda dist: dist.project_name.lower(), + ) + if options.list_format == 'columns' and packages: + data, header = format_for_columns(packages, options) + self.output_package_listing_columns(data, header) + elif options.list_format == 'freeze': + for dist in packages: + if options.verbose >= 1: + logger.info("%s==%s (%s)", dist.project_name, + dist.version, dist.location) + else: + logger.info("%s==%s", dist.project_name, dist.version) + elif options.list_format == 'json': + logger.info(format_for_json(packages, options)) + + def output_package_listing_columns(self, data, header): + # insert the header first: we need to know the size of column names + if len(data) > 0: + data.insert(0, header) + + pkg_strings, sizes = tabulate(data) + + # Create and add a separator. + if len(data) > 0: + pkg_strings.insert(1, " ".join(map(lambda x: '-' * x, sizes))) + + for val in pkg_strings: + logger.info(val) + + +def tabulate(vals): + # From pfmoore on GitHub: + # https://github.com/pypa/pip/issues/3651#issuecomment-216932564 + assert len(vals) > 0 + + sizes = [0] * max(len(x) for x in vals) + for row in vals: + sizes = [max(s, len(str(c))) for s, c in zip_longest(sizes, row)] + + result = [] + for row in vals: + display = " ".join([str(c).ljust(s) if c is not None else '' + for s, c in zip_longest(sizes, row)]) + result.append(display) + + return result, sizes + + +def format_for_columns(pkgs, options): + """ + Convert the package data into something usable + by output_package_listing_columns. + """ + running_outdated = options.outdated + # Adjust the header for the `pip list --outdated` case. + if running_outdated: + header = ["Package", "Version", "Latest", "Type"] + else: + header = ["Package", "Version"] + + data = [] + if options.verbose >= 1 or any(dist_is_editable(x) for x in pkgs): + header.append("Location") + if options.verbose >= 1: + header.append("Installer") + + for proj in pkgs: + # if we're working on the 'outdated' list, separate out the + # latest_version and type + row = [proj.project_name, proj.version] + + if running_outdated: + row.append(proj.latest_version) + row.append(proj.latest_filetype) + + if options.verbose >= 1 or dist_is_editable(proj): + row.append(proj.location) + if options.verbose >= 1: + row.append(get_installer(proj)) + + data.append(row) + + return data, header + + +def format_for_json(packages, options): + data = [] + for dist in packages: + info = { + 'name': dist.project_name, + 'version': six.text_type(dist.version), + } + if options.verbose >= 1: + info['location'] = dist.location + info['installer'] = get_installer(dist) + if options.outdated: + info['latest_version'] = six.text_type(dist.latest_version) + info['latest_filetype'] = dist.latest_filetype + data.append(info) + return json.dumps(data) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/search.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/search.py new file mode 100644 index 0000000..c157a31 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/search.py @@ -0,0 +1,135 @@ +from __future__ import absolute_import + +import logging +import sys +import textwrap +from collections import OrderedDict + +from pip._vendor import pkg_resources +from pip._vendor.packaging.version import parse as parse_version +# NOTE: XMLRPC Client is not annotated in typeshed as on 2017-07-17, which is +# why we ignore the type on this import +from pip._vendor.six.moves import xmlrpc_client # type: ignore + +from pip._internal.cli.base_command import Command +from pip._internal.cli.status_codes import NO_MATCHES_FOUND, SUCCESS +from pip._internal.download import PipXmlrpcTransport +from pip._internal.exceptions import CommandError +from pip._internal.models.index import PyPI +from pip._internal.utils.compat import get_terminal_size +from pip._internal.utils.logging import indent_log + +logger = logging.getLogger(__name__) + + +class SearchCommand(Command): + """Search for PyPI packages whose name or summary contains .""" + name = 'search' + usage = """ + %prog [options] """ + summary = 'Search PyPI for packages.' + ignore_require_venv = True + + def __init__(self, *args, **kw): + super(SearchCommand, self).__init__(*args, **kw) + self.cmd_opts.add_option( + '-i', '--index', + dest='index', + metavar='URL', + default=PyPI.pypi_url, + help='Base URL of Python Package Index (default %default)') + + self.parser.insert_option_group(0, self.cmd_opts) + + def run(self, options, args): + if not args: + raise CommandError('Missing required argument (search query).') + query = args + pypi_hits = self.search(query, options) + hits = transform_hits(pypi_hits) + + terminal_width = None + if sys.stdout.isatty(): + terminal_width = get_terminal_size()[0] + + print_results(hits, terminal_width=terminal_width) + if pypi_hits: + return SUCCESS + return NO_MATCHES_FOUND + + def search(self, query, options): + index_url = options.index + with self._build_session(options) as session: + transport = PipXmlrpcTransport(index_url, session) + pypi = xmlrpc_client.ServerProxy(index_url, transport) + hits = pypi.search({'name': query, 'summary': query}, 'or') + return hits + + +def transform_hits(hits): + """ + The list from pypi is really a list of versions. We want a list of + packages with the list of versions stored inline. This converts the + list from pypi into one we can use. + """ + packages = OrderedDict() + for hit in hits: + name = hit['name'] + summary = hit['summary'] + version = hit['version'] + + if name not in packages.keys(): + packages[name] = { + 'name': name, + 'summary': summary, + 'versions': [version], + } + else: + packages[name]['versions'].append(version) + + # if this is the highest version, replace summary and score + if version == highest_version(packages[name]['versions']): + packages[name]['summary'] = summary + + return list(packages.values()) + + +def print_results(hits, name_column_width=None, terminal_width=None): + if not hits: + return + if name_column_width is None: + name_column_width = max([ + len(hit['name']) + len(highest_version(hit.get('versions', ['-']))) + for hit in hits + ]) + 4 + + installed_packages = [p.project_name for p in pkg_resources.working_set] + for hit in hits: + name = hit['name'] + summary = hit['summary'] or '' + latest = highest_version(hit.get('versions', ['-'])) + if terminal_width is not None: + target_width = terminal_width - name_column_width - 5 + if target_width > 10: + # wrap and indent summary to fit terminal + summary = textwrap.wrap(summary, target_width) + summary = ('\n' + ' ' * (name_column_width + 3)).join(summary) + + line = '%-*s - %s' % (name_column_width, + '%s (%s)' % (name, latest), summary) + try: + logger.info(line) + if name in installed_packages: + dist = pkg_resources.get_distribution(name) + with indent_log(): + if dist.version == latest: + logger.info('INSTALLED: %s (latest)', dist.version) + else: + logger.info('INSTALLED: %s', dist.version) + logger.info('LATEST: %s', latest) + except UnicodeEncodeError: + pass + + +def highest_version(versions): + return max(versions, key=parse_version) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/show.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/show.py new file mode 100644 index 0000000..f92c9bc --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/show.py @@ -0,0 +1,168 @@ +from __future__ import absolute_import + +import logging +import os +from email.parser import FeedParser # type: ignore + +from pip._vendor import pkg_resources +from pip._vendor.packaging.utils import canonicalize_name + +from pip._internal.cli.base_command import Command +from pip._internal.cli.status_codes import ERROR, SUCCESS + +logger = logging.getLogger(__name__) + + +class ShowCommand(Command): + """ + Show information about one or more installed packages. + + The output is in RFC-compliant mail header format. + """ + name = 'show' + usage = """ + %prog [options] ...""" + summary = 'Show information about installed packages.' + ignore_require_venv = True + + def __init__(self, *args, **kw): + super(ShowCommand, self).__init__(*args, **kw) + self.cmd_opts.add_option( + '-f', '--files', + dest='files', + action='store_true', + default=False, + help='Show the full list of installed files for each package.') + + self.parser.insert_option_group(0, self.cmd_opts) + + def run(self, options, args): + if not args: + logger.warning('ERROR: Please provide a package name or names.') + return ERROR + query = args + + results = search_packages_info(query) + if not print_results( + results, list_files=options.files, verbose=options.verbose): + return ERROR + return SUCCESS + + +def search_packages_info(query): + """ + Gather details from installed distributions. Print distribution name, + version, location, and installed files. Installed files requires a + pip generated 'installed-files.txt' in the distributions '.egg-info' + directory. + """ + installed = {} + for p in pkg_resources.working_set: + installed[canonicalize_name(p.project_name)] = p + + query_names = [canonicalize_name(name) for name in query] + + for dist in [installed[pkg] for pkg in query_names if pkg in installed]: + package = { + 'name': dist.project_name, + 'version': dist.version, + 'location': dist.location, + 'requires': [dep.project_name for dep in dist.requires()], + } + file_list = None + metadata = None + if isinstance(dist, pkg_resources.DistInfoDistribution): + # RECORDs should be part of .dist-info metadatas + if dist.has_metadata('RECORD'): + lines = dist.get_metadata_lines('RECORD') + paths = [l.split(',')[0] for l in lines] + paths = [os.path.join(dist.location, p) for p in paths] + file_list = [os.path.relpath(p, dist.location) for p in paths] + + if dist.has_metadata('METADATA'): + metadata = dist.get_metadata('METADATA') + else: + # Otherwise use pip's log for .egg-info's + if dist.has_metadata('installed-files.txt'): + paths = dist.get_metadata_lines('installed-files.txt') + paths = [os.path.join(dist.egg_info, p) for p in paths] + file_list = [os.path.relpath(p, dist.location) for p in paths] + + if dist.has_metadata('PKG-INFO'): + metadata = dist.get_metadata('PKG-INFO') + + if dist.has_metadata('entry_points.txt'): + entry_points = dist.get_metadata_lines('entry_points.txt') + package['entry_points'] = entry_points + + if dist.has_metadata('INSTALLER'): + for line in dist.get_metadata_lines('INSTALLER'): + if line.strip(): + package['installer'] = line.strip() + break + + # @todo: Should pkg_resources.Distribution have a + # `get_pkg_info` method? + feed_parser = FeedParser() + feed_parser.feed(metadata) + pkg_info_dict = feed_parser.close() + for key in ('metadata-version', 'summary', + 'home-page', 'author', 'author-email', 'license'): + package[key] = pkg_info_dict.get(key) + + # It looks like FeedParser cannot deal with repeated headers + classifiers = [] + for line in metadata.splitlines(): + if line.startswith('Classifier: '): + classifiers.append(line[len('Classifier: '):]) + package['classifiers'] = classifiers + + if file_list: + package['files'] = sorted(file_list) + yield package + + +def print_results(distributions, list_files=False, verbose=False): + """ + Print the informations from installed distributions found. + """ + results_printed = False + for i, dist in enumerate(distributions): + results_printed = True + if i > 0: + logger.info("---") + + name = dist.get('name', '') + required_by = [ + pkg.project_name for pkg in pkg_resources.working_set + if name in [required.name for required in pkg.requires()] + ] + + logger.info("Name: %s", name) + logger.info("Version: %s", dist.get('version', '')) + logger.info("Summary: %s", dist.get('summary', '')) + logger.info("Home-page: %s", dist.get('home-page', '')) + logger.info("Author: %s", dist.get('author', '')) + logger.info("Author-email: %s", dist.get('author-email', '')) + logger.info("License: %s", dist.get('license', '')) + logger.info("Location: %s", dist.get('location', '')) + logger.info("Requires: %s", ', '.join(dist.get('requires', []))) + logger.info("Required-by: %s", ', '.join(required_by)) + + if verbose: + logger.info("Metadata-Version: %s", + dist.get('metadata-version', '')) + logger.info("Installer: %s", dist.get('installer', '')) + logger.info("Classifiers:") + for classifier in dist.get('classifiers', []): + logger.info(" %s", classifier) + logger.info("Entry-points:") + for entry in dist.get('entry_points', []): + logger.info(" %s", entry.strip()) + if list_files: + logger.info("Files:") + for line in dist.get('files', []): + logger.info(" %s", line.strip()) + if "files" not in dist: + logger.info("Cannot locate installed-files.txt") + return results_printed diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/uninstall.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/uninstall.py new file mode 100644 index 0000000..0cd6f54 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/uninstall.py @@ -0,0 +1,78 @@ +from __future__ import absolute_import + +from pip._vendor.packaging.utils import canonicalize_name + +from pip._internal.cli.base_command import Command +from pip._internal.exceptions import InstallationError +from pip._internal.req import parse_requirements +from pip._internal.req.constructors import install_req_from_line +from pip._internal.utils.misc import protect_pip_from_modification_on_windows + + +class UninstallCommand(Command): + """ + Uninstall packages. + + pip is able to uninstall most installed packages. Known exceptions are: + + - Pure distutils packages installed with ``python setup.py install``, which + leave behind no metadata to determine what files were installed. + - Script wrappers installed by ``python setup.py develop``. + """ + name = 'uninstall' + usage = """ + %prog [options] ... + %prog [options] -r ...""" + summary = 'Uninstall packages.' + + def __init__(self, *args, **kw): + super(UninstallCommand, self).__init__(*args, **kw) + self.cmd_opts.add_option( + '-r', '--requirement', + dest='requirements', + action='append', + default=[], + metavar='file', + help='Uninstall all the packages listed in the given requirements ' + 'file. This option can be used multiple times.', + ) + self.cmd_opts.add_option( + '-y', '--yes', + dest='yes', + action='store_true', + help="Don't ask for confirmation of uninstall deletions.") + + self.parser.insert_option_group(0, self.cmd_opts) + + def run(self, options, args): + with self._build_session(options) as session: + reqs_to_uninstall = {} + for name in args: + req = install_req_from_line( + name, isolated=options.isolated_mode, + ) + if req.name: + reqs_to_uninstall[canonicalize_name(req.name)] = req + for filename in options.requirements: + for req in parse_requirements( + filename, + options=options, + session=session): + if req.name: + reqs_to_uninstall[canonicalize_name(req.name)] = req + if not reqs_to_uninstall: + raise InstallationError( + 'You must give at least one requirement to %(name)s (see ' + '"pip help %(name)s")' % dict(name=self.name) + ) + + protect_pip_from_modification_on_windows( + modifying_pip="pip" in reqs_to_uninstall + ) + + for req in reqs_to_uninstall.values(): + uninstall_pathset = req.uninstall( + auto_confirm=options.yes, verbose=self.verbosity > 0, + ) + if uninstall_pathset: + uninstall_pathset.commit() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/wheel.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/wheel.py new file mode 100644 index 0000000..cd72a3d --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/wheel.py @@ -0,0 +1,186 @@ +# -*- coding: utf-8 -*- +from __future__ import absolute_import + +import logging +import os + +from pip._internal.cache import WheelCache +from pip._internal.cli import cmdoptions +from pip._internal.cli.base_command import RequirementCommand +from pip._internal.exceptions import CommandError, PreviousBuildDirError +from pip._internal.operations.prepare import RequirementPreparer +from pip._internal.req import RequirementSet +from pip._internal.req.req_tracker import RequirementTracker +from pip._internal.resolve import Resolver +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.wheel import WheelBuilder + +logger = logging.getLogger(__name__) + + +class WheelCommand(RequirementCommand): + """ + Build Wheel archives for your requirements and dependencies. + + Wheel is a built-package format, and offers the advantage of not + recompiling your software during every install. For more details, see the + wheel docs: https://wheel.readthedocs.io/en/latest/ + + Requirements: setuptools>=0.8, and wheel. + + 'pip wheel' uses the bdist_wheel setuptools extension from the wheel + package to build individual wheels. + + """ + + name = 'wheel' + usage = """ + %prog [options] ... + %prog [options] -r ... + %prog [options] [-e] ... + %prog [options] [-e] ... + %prog [options] ...""" + + summary = 'Build wheels from your requirements.' + + def __init__(self, *args, **kw): + super(WheelCommand, self).__init__(*args, **kw) + + cmd_opts = self.cmd_opts + + cmd_opts.add_option( + '-w', '--wheel-dir', + dest='wheel_dir', + metavar='dir', + default=os.curdir, + help=("Build wheels into , where the default is the " + "current working directory."), + ) + cmd_opts.add_option(cmdoptions.no_binary()) + cmd_opts.add_option(cmdoptions.only_binary()) + cmd_opts.add_option(cmdoptions.prefer_binary()) + cmd_opts.add_option( + '--build-option', + dest='build_options', + metavar='options', + action='append', + help="Extra arguments to be supplied to 'setup.py bdist_wheel'.", + ) + cmd_opts.add_option(cmdoptions.no_build_isolation()) + cmd_opts.add_option(cmdoptions.use_pep517()) + cmd_opts.add_option(cmdoptions.no_use_pep517()) + cmd_opts.add_option(cmdoptions.constraints()) + cmd_opts.add_option(cmdoptions.editable()) + cmd_opts.add_option(cmdoptions.requirements()) + cmd_opts.add_option(cmdoptions.src()) + cmd_opts.add_option(cmdoptions.ignore_requires_python()) + cmd_opts.add_option(cmdoptions.no_deps()) + cmd_opts.add_option(cmdoptions.build_dir()) + cmd_opts.add_option(cmdoptions.progress_bar()) + + cmd_opts.add_option( + '--global-option', + dest='global_options', + action='append', + metavar='options', + help="Extra global options to be supplied to the setup.py " + "call before the 'bdist_wheel' command.") + + cmd_opts.add_option( + '--pre', + action='store_true', + default=False, + help=("Include pre-release and development versions. By default, " + "pip only finds stable versions."), + ) + + cmd_opts.add_option(cmdoptions.no_clean()) + cmd_opts.add_option(cmdoptions.require_hashes()) + + index_opts = cmdoptions.make_option_group( + cmdoptions.index_group, + self.parser, + ) + + self.parser.insert_option_group(0, index_opts) + self.parser.insert_option_group(0, cmd_opts) + + def run(self, options, args): + cmdoptions.check_install_build_global(options) + + index_urls = [options.index_url] + options.extra_index_urls + if options.no_index: + logger.debug('Ignoring indexes: %s', ','.join(index_urls)) + index_urls = [] + + if options.build_dir: + options.build_dir = os.path.abspath(options.build_dir) + + options.src_dir = os.path.abspath(options.src_dir) + + with self._build_session(options) as session: + finder = self._build_package_finder(options, session) + build_delete = (not (options.no_clean or options.build_dir)) + wheel_cache = WheelCache(options.cache_dir, options.format_control) + + with RequirementTracker() as req_tracker, TempDirectory( + options.build_dir, delete=build_delete, kind="wheel" + ) as directory: + + requirement_set = RequirementSet( + require_hashes=options.require_hashes, + ) + + try: + self.populate_requirement_set( + requirement_set, args, options, finder, session, + self.name, wheel_cache + ) + + preparer = RequirementPreparer( + build_dir=directory.path, + src_dir=options.src_dir, + download_dir=None, + wheel_download_dir=options.wheel_dir, + progress_bar=options.progress_bar, + build_isolation=options.build_isolation, + req_tracker=req_tracker, + ) + + resolver = Resolver( + preparer=preparer, + finder=finder, + session=session, + wheel_cache=wheel_cache, + use_user_site=False, + upgrade_strategy="to-satisfy-only", + force_reinstall=False, + ignore_dependencies=options.ignore_dependencies, + ignore_requires_python=options.ignore_requires_python, + ignore_installed=True, + isolated=options.isolated_mode, + use_pep517=options.use_pep517 + ) + resolver.resolve(requirement_set) + + # build wheels + wb = WheelBuilder( + finder, preparer, wheel_cache, + build_options=options.build_options or [], + global_options=options.global_options or [], + no_clean=options.no_clean, + ) + build_failures = wb.build( + requirement_set.requirements.values(), session=session, + ) + if len(build_failures) != 0: + raise CommandError( + "Failed to build one or more wheels" + ) + except PreviousBuildDirError: + options.no_clean = True + raise + finally: + if not options.no_clean: + requirement_set.cleanup_files() + wheel_cache.cleanup() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/configuration.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/configuration.py new file mode 100644 index 0000000..fe6df9b --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/configuration.py @@ -0,0 +1,387 @@ +"""Configuration management setup + +Some terminology: +- name + As written in config files. +- value + Value associated with a name +- key + Name combined with it's section (section.name) +- variant + A single word describing where the configuration key-value pair came from +""" + +import locale +import logging +import os + +from pip._vendor import six +from pip._vendor.six.moves import configparser + +from pip._internal.exceptions import ( + ConfigurationError, ConfigurationFileCouldNotBeLoaded, +) +from pip._internal.locations import ( + legacy_config_file, new_config_file, running_under_virtualenv, + site_config_files, venv_config_file, +) +from pip._internal.utils.misc import ensure_dir, enum +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Any, Dict, Iterable, List, NewType, Optional, Tuple + ) + + RawConfigParser = configparser.RawConfigParser # Shorthand + Kind = NewType("Kind", str) + +logger = logging.getLogger(__name__) + + +# NOTE: Maybe use the optionx attribute to normalize keynames. +def _normalize_name(name): + # type: (str) -> str + """Make a name consistent regardless of source (environment or file) + """ + name = name.lower().replace('_', '-') + if name.startswith('--'): + name = name[2:] # only prefer long opts + return name + + +def _disassemble_key(name): + # type: (str) -> List[str] + return name.split(".", 1) + + +# The kinds of configurations there are. +kinds = enum( + USER="user", # User Specific + GLOBAL="global", # System Wide + VENV="venv", # Virtual Environment Specific + ENV="env", # from PIP_CONFIG_FILE + ENV_VAR="env-var", # from Environment Variables +) + + +class Configuration(object): + """Handles management of configuration. + + Provides an interface to accessing and managing configuration files. + + This class converts provides an API that takes "section.key-name" style + keys and stores the value associated with it as "key-name" under the + section "section". + + This allows for a clean interface wherein the both the section and the + key-name are preserved in an easy to manage form in the configuration files + and the data stored is also nice. + """ + + def __init__(self, isolated, load_only=None): + # type: (bool, Kind) -> None + super(Configuration, self).__init__() + + _valid_load_only = [kinds.USER, kinds.GLOBAL, kinds.VENV, None] + if load_only not in _valid_load_only: + raise ConfigurationError( + "Got invalid value for load_only - should be one of {}".format( + ", ".join(map(repr, _valid_load_only[:-1])) + ) + ) + self.isolated = isolated # type: bool + self.load_only = load_only # type: Optional[Kind] + + # The order here determines the override order. + self._override_order = [ + kinds.GLOBAL, kinds.USER, kinds.VENV, kinds.ENV, kinds.ENV_VAR + ] + + self._ignore_env_names = ["version", "help"] + + # Because we keep track of where we got the data from + self._parsers = { + variant: [] for variant in self._override_order + } # type: Dict[Kind, List[Tuple[str, RawConfigParser]]] + self._config = { + variant: {} for variant in self._override_order + } # type: Dict[Kind, Dict[str, Any]] + self._modified_parsers = [] # type: List[Tuple[str, RawConfigParser]] + + def load(self): + # type: () -> None + """Loads configuration from configuration files and environment + """ + self._load_config_files() + if not self.isolated: + self._load_environment_vars() + + def get_file_to_edit(self): + # type: () -> Optional[str] + """Returns the file with highest priority in configuration + """ + assert self.load_only is not None, \ + "Need to be specified a file to be editing" + + try: + return self._get_parser_to_modify()[0] + except IndexError: + return None + + def items(self): + # type: () -> Iterable[Tuple[str, Any]] + """Returns key-value pairs like dict.items() representing the loaded + configuration + """ + return self._dictionary.items() + + def get_value(self, key): + # type: (str) -> Any + """Get a value from the configuration. + """ + try: + return self._dictionary[key] + except KeyError: + raise ConfigurationError("No such key - {}".format(key)) + + def set_value(self, key, value): + # type: (str, Any) -> None + """Modify a value in the configuration. + """ + self._ensure_have_load_only() + + fname, parser = self._get_parser_to_modify() + + if parser is not None: + section, name = _disassemble_key(key) + + # Modify the parser and the configuration + if not parser.has_section(section): + parser.add_section(section) + parser.set(section, name, value) + + self._config[self.load_only][key] = value + self._mark_as_modified(fname, parser) + + def unset_value(self, key): + # type: (str) -> None + """Unset a value in the configuration. + """ + self._ensure_have_load_only() + + if key not in self._config[self.load_only]: + raise ConfigurationError("No such key - {}".format(key)) + + fname, parser = self._get_parser_to_modify() + + if parser is not None: + section, name = _disassemble_key(key) + + # Remove the key in the parser + modified_something = False + if parser.has_section(section): + # Returns whether the option was removed or not + modified_something = parser.remove_option(section, name) + + if modified_something: + # name removed from parser, section may now be empty + section_iter = iter(parser.items(section)) + try: + val = six.next(section_iter) + except StopIteration: + val = None + + if val is None: + parser.remove_section(section) + + self._mark_as_modified(fname, parser) + else: + raise ConfigurationError( + "Fatal Internal error [id=1]. Please report as a bug." + ) + + del self._config[self.load_only][key] + + def save(self): + # type: () -> None + """Save the currentin-memory state. + """ + self._ensure_have_load_only() + + for fname, parser in self._modified_parsers: + logger.info("Writing to %s", fname) + + # Ensure directory exists. + ensure_dir(os.path.dirname(fname)) + + with open(fname, "w") as f: + parser.write(f) # type: ignore + + # + # Private routines + # + + def _ensure_have_load_only(self): + # type: () -> None + if self.load_only is None: + raise ConfigurationError("Needed a specific file to be modifying.") + logger.debug("Will be working with %s variant only", self.load_only) + + @property + def _dictionary(self): + # type: () -> Dict[str, Any] + """A dictionary representing the loaded configuration. + """ + # NOTE: Dictionaries are not populated if not loaded. So, conditionals + # are not needed here. + retval = {} + + for variant in self._override_order: + retval.update(self._config[variant]) + + return retval + + def _load_config_files(self): + # type: () -> None + """Loads configuration from configuration files + """ + config_files = dict(self._iter_config_files()) + if config_files[kinds.ENV][0:1] == [os.devnull]: + logger.debug( + "Skipping loading configuration files due to " + "environment's PIP_CONFIG_FILE being os.devnull" + ) + return + + for variant, files in config_files.items(): + for fname in files: + # If there's specific variant set in `load_only`, load only + # that variant, not the others. + if self.load_only is not None and variant != self.load_only: + logger.debug( + "Skipping file '%s' (variant: %s)", fname, variant + ) + continue + + parser = self._load_file(variant, fname) + + # Keeping track of the parsers used + self._parsers[variant].append((fname, parser)) + + def _load_file(self, variant, fname): + # type: (Kind, str) -> RawConfigParser + logger.debug("For variant '%s', will try loading '%s'", variant, fname) + parser = self._construct_parser(fname) + + for section in parser.sections(): + items = parser.items(section) + self._config[variant].update(self._normalized_keys(section, items)) + + return parser + + def _construct_parser(self, fname): + # type: (str) -> RawConfigParser + parser = configparser.RawConfigParser() + # If there is no such file, don't bother reading it but create the + # parser anyway, to hold the data. + # Doing this is useful when modifying and saving files, where we don't + # need to construct a parser. + if os.path.exists(fname): + try: + parser.read(fname) + except UnicodeDecodeError: + # See https://github.com/pypa/pip/issues/4963 + raise ConfigurationFileCouldNotBeLoaded( + reason="contains invalid {} characters".format( + locale.getpreferredencoding(False) + ), + fname=fname, + ) + except configparser.Error as error: + # See https://github.com/pypa/pip/issues/4893 + raise ConfigurationFileCouldNotBeLoaded(error=error) + return parser + + def _load_environment_vars(self): + # type: () -> None + """Loads configuration from environment variables + """ + self._config[kinds.ENV_VAR].update( + self._normalized_keys(":env:", self._get_environ_vars()) + ) + + def _normalized_keys(self, section, items): + # type: (str, Iterable[Tuple[str, Any]]) -> Dict[str, Any] + """Normalizes items to construct a dictionary with normalized keys. + + This routine is where the names become keys and are made the same + regardless of source - configuration files or environment. + """ + normalized = {} + for name, val in items: + key = section + "." + _normalize_name(name) + normalized[key] = val + return normalized + + def _get_environ_vars(self): + # type: () -> Iterable[Tuple[str, str]] + """Returns a generator with all environmental vars with prefix PIP_""" + for key, val in os.environ.items(): + should_be_yielded = ( + key.startswith("PIP_") and + key[4:].lower() not in self._ignore_env_names + ) + if should_be_yielded: + yield key[4:].lower(), val + + # XXX: This is patched in the tests. + def _iter_config_files(self): + # type: () -> Iterable[Tuple[Kind, List[str]]] + """Yields variant and configuration files associated with it. + + This should be treated like items of a dictionary. + """ + # SMELL: Move the conditions out of this function + + # environment variables have the lowest priority + config_file = os.environ.get('PIP_CONFIG_FILE', None) + if config_file is not None: + yield kinds.ENV, [config_file] + else: + yield kinds.ENV, [] + + # at the base we have any global configuration + yield kinds.GLOBAL, list(site_config_files) + + # per-user configuration next + should_load_user_config = not self.isolated and not ( + config_file and os.path.exists(config_file) + ) + if should_load_user_config: + # The legacy config file is overridden by the new config file + yield kinds.USER, [legacy_config_file, new_config_file] + + # finally virtualenv configuration first trumping others + if running_under_virtualenv(): + yield kinds.VENV, [venv_config_file] + + def _get_parser_to_modify(self): + # type: () -> Tuple[str, RawConfigParser] + # Determine which parser to modify + parsers = self._parsers[self.load_only] + if not parsers: + # This should not happen if everything works correctly. + raise ConfigurationError( + "Fatal Internal error [id=2]. Please report as a bug." + ) + + # Use the highest priority parser. + return parsers[-1] + + # XXX: This is patched in the tests. + def _mark_as_modified(self, fname, parser): + # type: (str, RawConfigParser) -> None + file_parser_tuple = (fname, parser) + if file_parser_tuple not in self._modified_parsers: + self._modified_parsers.append(file_parser_tuple) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/download.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/download.py new file mode 100644 index 0000000..2bbe176 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/download.py @@ -0,0 +1,971 @@ +from __future__ import absolute_import + +import cgi +import email.utils +import getpass +import json +import logging +import mimetypes +import os +import platform +import re +import shutil +import sys + +from pip._vendor import requests, six, urllib3 +from pip._vendor.cachecontrol import CacheControlAdapter +from pip._vendor.cachecontrol.caches import FileCache +from pip._vendor.lockfile import LockError +from pip._vendor.requests.adapters import BaseAdapter, HTTPAdapter +from pip._vendor.requests.auth import AuthBase, HTTPBasicAuth +from pip._vendor.requests.models import CONTENT_CHUNK_SIZE, Response +from pip._vendor.requests.structures import CaseInsensitiveDict +from pip._vendor.requests.utils import get_netrc_auth +# NOTE: XMLRPC Client is not annotated in typeshed as on 2017-07-17, which is +# why we ignore the type on this import +from pip._vendor.six.moves import xmlrpc_client # type: ignore +from pip._vendor.six.moves.urllib import parse as urllib_parse +from pip._vendor.six.moves.urllib import request as urllib_request +from pip._vendor.urllib3.util import IS_PYOPENSSL + +import pip +from pip._internal.exceptions import HashMismatch, InstallationError +from pip._internal.locations import write_delete_marker_file +from pip._internal.models.index import PyPI +from pip._internal.utils.encoding import auto_decode +from pip._internal.utils.filesystem import check_path_owner +from pip._internal.utils.glibc import libc_ver +from pip._internal.utils.logging import indent_log +from pip._internal.utils.misc import ( + ARCHIVE_EXTENSIONS, ask_path_exists, backup_dir, call_subprocess, consume, + display_path, format_size, get_installed_version, rmtree, + split_auth_from_netloc, splitext, unpack_file, +) +from pip._internal.utils.setuptools_build import SETUPTOOLS_SHIM +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._internal.utils.ui import DownloadProgressProvider +from pip._internal.vcs import vcs + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Optional, Tuple, Dict, IO, Text, Union + ) + from pip._internal.models.link import Link # noqa: F401 + from pip._internal.utils.hashes import Hashes # noqa: F401 + from pip._internal.vcs import AuthInfo # noqa: F401 + +try: + import ssl # noqa +except ImportError: + ssl = None + +HAS_TLS = (ssl is not None) or IS_PYOPENSSL + +__all__ = ['get_file_content', + 'is_url', 'url_to_path', 'path_to_url', + 'is_archive_file', 'unpack_vcs_link', + 'unpack_file_url', 'is_vcs_url', 'is_file_url', + 'unpack_http_url', 'unpack_url'] + + +logger = logging.getLogger(__name__) + + +def user_agent(): + """ + Return a string representing the user agent. + """ + data = { + "installer": {"name": "pip", "version": pip.__version__}, + "python": platform.python_version(), + "implementation": { + "name": platform.python_implementation(), + }, + } + + if data["implementation"]["name"] == 'CPython': + data["implementation"]["version"] = platform.python_version() + elif data["implementation"]["name"] == 'PyPy': + if sys.pypy_version_info.releaselevel == 'final': + pypy_version_info = sys.pypy_version_info[:3] + else: + pypy_version_info = sys.pypy_version_info + data["implementation"]["version"] = ".".join( + [str(x) for x in pypy_version_info] + ) + elif data["implementation"]["name"] == 'Jython': + # Complete Guess + data["implementation"]["version"] = platform.python_version() + elif data["implementation"]["name"] == 'IronPython': + # Complete Guess + data["implementation"]["version"] = platform.python_version() + + if sys.platform.startswith("linux"): + from pip._vendor import distro + distro_infos = dict(filter( + lambda x: x[1], + zip(["name", "version", "id"], distro.linux_distribution()), + )) + libc = dict(filter( + lambda x: x[1], + zip(["lib", "version"], libc_ver()), + )) + if libc: + distro_infos["libc"] = libc + if distro_infos: + data["distro"] = distro_infos + + if sys.platform.startswith("darwin") and platform.mac_ver()[0]: + data["distro"] = {"name": "macOS", "version": platform.mac_ver()[0]} + + if platform.system(): + data.setdefault("system", {})["name"] = platform.system() + + if platform.release(): + data.setdefault("system", {})["release"] = platform.release() + + if platform.machine(): + data["cpu"] = platform.machine() + + if HAS_TLS: + data["openssl_version"] = ssl.OPENSSL_VERSION + + setuptools_version = get_installed_version("setuptools") + if setuptools_version is not None: + data["setuptools_version"] = setuptools_version + + return "{data[installer][name]}/{data[installer][version]} {json}".format( + data=data, + json=json.dumps(data, separators=(",", ":"), sort_keys=True), + ) + + +class MultiDomainBasicAuth(AuthBase): + + def __init__(self, prompting=True): + # type: (bool) -> None + self.prompting = prompting + self.passwords = {} # type: Dict[str, AuthInfo] + + def __call__(self, req): + parsed = urllib_parse.urlparse(req.url) + + # Split the credentials from the netloc. + netloc, url_user_password = split_auth_from_netloc(parsed.netloc) + + # Set the url of the request to the url without any credentials + req.url = urllib_parse.urlunparse(parsed[:1] + (netloc,) + parsed[2:]) + + # Use any stored credentials that we have for this netloc + username, password = self.passwords.get(netloc, (None, None)) + + # Use the credentials embedded in the url if we have none stored + if username is None: + username, password = url_user_password + + # Get creds from netrc if we still don't have them + if username is None and password is None: + netrc_auth = get_netrc_auth(req.url) + username, password = netrc_auth if netrc_auth else (None, None) + + if username or password: + # Store the username and password + self.passwords[netloc] = (username, password) + + # Send the basic auth with this request + req = HTTPBasicAuth(username or "", password or "")(req) + + # Attach a hook to handle 401 responses + req.register_hook("response", self.handle_401) + + return req + + def handle_401(self, resp, **kwargs): + # We only care about 401 responses, anything else we want to just + # pass through the actual response + if resp.status_code != 401: + return resp + + # We are not able to prompt the user so simply return the response + if not self.prompting: + return resp + + parsed = urllib_parse.urlparse(resp.url) + + # Prompt the user for a new username and password + username = six.moves.input("User for %s: " % parsed.netloc) + password = getpass.getpass("Password: ") + + # Store the new username and password to use for future requests + if username or password: + self.passwords[parsed.netloc] = (username, password) + + # Consume content and release the original connection to allow our new + # request to reuse the same one. + resp.content + resp.raw.release_conn() + + # Add our new username and password to the request + req = HTTPBasicAuth(username or "", password or "")(resp.request) + req.register_hook("response", self.warn_on_401) + + # Send our new request + new_resp = resp.connection.send(req, **kwargs) + new_resp.history.append(resp) + + return new_resp + + def warn_on_401(self, resp, **kwargs): + # warn user that they provided incorrect credentials + if resp.status_code == 401: + logger.warning('401 Error, Credentials not correct for %s', + resp.request.url) + + +class LocalFSAdapter(BaseAdapter): + + def send(self, request, stream=None, timeout=None, verify=None, cert=None, + proxies=None): + pathname = url_to_path(request.url) + + resp = Response() + resp.status_code = 200 + resp.url = request.url + + try: + stats = os.stat(pathname) + except OSError as exc: + resp.status_code = 404 + resp.raw = exc + else: + modified = email.utils.formatdate(stats.st_mtime, usegmt=True) + content_type = mimetypes.guess_type(pathname)[0] or "text/plain" + resp.headers = CaseInsensitiveDict({ + "Content-Type": content_type, + "Content-Length": stats.st_size, + "Last-Modified": modified, + }) + + resp.raw = open(pathname, "rb") + resp.close = resp.raw.close + + return resp + + def close(self): + pass + + +class SafeFileCache(FileCache): + """ + A file based cache which is safe to use even when the target directory may + not be accessible or writable. + """ + + def __init__(self, *args, **kwargs): + super(SafeFileCache, self).__init__(*args, **kwargs) + + # Check to ensure that the directory containing our cache directory + # is owned by the user current executing pip. If it does not exist + # we will check the parent directory until we find one that does exist. + # If it is not owned by the user executing pip then we will disable + # the cache and log a warning. + if not check_path_owner(self.directory): + logger.warning( + "The directory '%s' or its parent directory is not owned by " + "the current user and the cache has been disabled. Please " + "check the permissions and owner of that directory. If " + "executing pip with sudo, you may want sudo's -H flag.", + self.directory, + ) + + # Set our directory to None to disable the Cache + self.directory = None + + def get(self, *args, **kwargs): + # If we don't have a directory, then the cache should be a no-op. + if self.directory is None: + return + + try: + return super(SafeFileCache, self).get(*args, **kwargs) + except (LockError, OSError, IOError): + # We intentionally silence this error, if we can't access the cache + # then we can just skip caching and process the request as if + # caching wasn't enabled. + pass + + def set(self, *args, **kwargs): + # If we don't have a directory, then the cache should be a no-op. + if self.directory is None: + return + + try: + return super(SafeFileCache, self).set(*args, **kwargs) + except (LockError, OSError, IOError): + # We intentionally silence this error, if we can't access the cache + # then we can just skip caching and process the request as if + # caching wasn't enabled. + pass + + def delete(self, *args, **kwargs): + # If we don't have a directory, then the cache should be a no-op. + if self.directory is None: + return + + try: + return super(SafeFileCache, self).delete(*args, **kwargs) + except (LockError, OSError, IOError): + # We intentionally silence this error, if we can't access the cache + # then we can just skip caching and process the request as if + # caching wasn't enabled. + pass + + +class InsecureHTTPAdapter(HTTPAdapter): + + def cert_verify(self, conn, url, verify, cert): + conn.cert_reqs = 'CERT_NONE' + conn.ca_certs = None + + +class PipSession(requests.Session): + + timeout = None # type: Optional[int] + + def __init__(self, *args, **kwargs): + retries = kwargs.pop("retries", 0) + cache = kwargs.pop("cache", None) + insecure_hosts = kwargs.pop("insecure_hosts", []) + + super(PipSession, self).__init__(*args, **kwargs) + + # Attach our User Agent to the request + self.headers["User-Agent"] = user_agent() + + # Attach our Authentication handler to the session + self.auth = MultiDomainBasicAuth() + + # Create our urllib3.Retry instance which will allow us to customize + # how we handle retries. + retries = urllib3.Retry( + # Set the total number of retries that a particular request can + # have. + total=retries, + + # A 503 error from PyPI typically means that the Fastly -> Origin + # connection got interrupted in some way. A 503 error in general + # is typically considered a transient error so we'll go ahead and + # retry it. + # A 500 may indicate transient error in Amazon S3 + # A 520 or 527 - may indicate transient error in CloudFlare + status_forcelist=[500, 503, 520, 527], + + # Add a small amount of back off between failed requests in + # order to prevent hammering the service. + backoff_factor=0.25, + ) + + # We want to _only_ cache responses on securely fetched origins. We do + # this because we can't validate the response of an insecurely fetched + # origin, and we don't want someone to be able to poison the cache and + # require manual eviction from the cache to fix it. + if cache: + secure_adapter = CacheControlAdapter( + cache=SafeFileCache(cache, use_dir_lock=True), + max_retries=retries, + ) + else: + secure_adapter = HTTPAdapter(max_retries=retries) + + # Our Insecure HTTPAdapter disables HTTPS validation. It does not + # support caching (see above) so we'll use it for all http:// URLs as + # well as any https:// host that we've marked as ignoring TLS errors + # for. + insecure_adapter = InsecureHTTPAdapter(max_retries=retries) + + self.mount("https://", secure_adapter) + self.mount("http://", insecure_adapter) + + # Enable file:// urls + self.mount("file://", LocalFSAdapter()) + + # We want to use a non-validating adapter for any requests which are + # deemed insecure. + for host in insecure_hosts: + self.mount("https://{}/".format(host), insecure_adapter) + + def request(self, method, url, *args, **kwargs): + # Allow setting a default timeout on a session + kwargs.setdefault("timeout", self.timeout) + + # Dispatch the actual request + return super(PipSession, self).request(method, url, *args, **kwargs) + + +def get_file_content(url, comes_from=None, session=None): + # type: (str, Optional[str], Optional[PipSession]) -> Tuple[str, Text] + """Gets the content of a file; it may be a filename, file: URL, or + http: URL. Returns (location, content). Content is unicode. + + :param url: File path or url. + :param comes_from: Origin description of requirements. + :param session: Instance of pip.download.PipSession. + """ + if session is None: + raise TypeError( + "get_file_content() missing 1 required keyword argument: 'session'" + ) + + match = _scheme_re.search(url) + if match: + scheme = match.group(1).lower() + if (scheme == 'file' and comes_from and + comes_from.startswith('http')): + raise InstallationError( + 'Requirements file %s references URL %s, which is local' + % (comes_from, url)) + if scheme == 'file': + path = url.split(':', 1)[1] + path = path.replace('\\', '/') + match = _url_slash_drive_re.match(path) + if match: + path = match.group(1) + ':' + path.split('|', 1)[1] + path = urllib_parse.unquote(path) + if path.startswith('/'): + path = '/' + path.lstrip('/') + url = path + else: + # FIXME: catch some errors + resp = session.get(url) + resp.raise_for_status() + return resp.url, resp.text + try: + with open(url, 'rb') as f: + content = auto_decode(f.read()) + except IOError as exc: + raise InstallationError( + 'Could not open requirements file: %s' % str(exc) + ) + return url, content + + +_scheme_re = re.compile(r'^(http|https|file):', re.I) +_url_slash_drive_re = re.compile(r'/*([a-z])\|', re.I) + + +def is_url(name): + # type: (Union[str, Text]) -> bool + """Returns true if the name looks like a URL""" + if ':' not in name: + return False + scheme = name.split(':', 1)[0].lower() + return scheme in ['http', 'https', 'file', 'ftp'] + vcs.all_schemes + + +def url_to_path(url): + # type: (str) -> str + """ + Convert a file: URL to a path. + """ + assert url.startswith('file:'), ( + "You can only turn file: urls into filenames (not %r)" % url) + + _, netloc, path, _, _ = urllib_parse.urlsplit(url) + + # if we have a UNC path, prepend UNC share notation + if netloc: + netloc = '\\\\' + netloc + + path = urllib_request.url2pathname(netloc + path) + return path + + +def path_to_url(path): + # type: (Union[str, Text]) -> str + """ + Convert a path to a file: URL. The path will be made absolute and have + quoted path parts. + """ + path = os.path.normpath(os.path.abspath(path)) + url = urllib_parse.urljoin('file:', urllib_request.pathname2url(path)) + return url + + +def is_archive_file(name): + # type: (str) -> bool + """Return True if `name` is a considered as an archive file.""" + ext = splitext(name)[1].lower() + if ext in ARCHIVE_EXTENSIONS: + return True + return False + + +def unpack_vcs_link(link, location): + vcs_backend = _get_used_vcs_backend(link) + vcs_backend.unpack(location) + + +def _get_used_vcs_backend(link): + for backend in vcs.backends: + if link.scheme in backend.schemes: + vcs_backend = backend(link.url) + return vcs_backend + + +def is_vcs_url(link): + # type: (Link) -> bool + return bool(_get_used_vcs_backend(link)) + + +def is_file_url(link): + # type: (Link) -> bool + return link.url.lower().startswith('file:') + + +def is_dir_url(link): + # type: (Link) -> bool + """Return whether a file:// Link points to a directory. + + ``link`` must not have any other scheme but file://. Call is_file_url() + first. + + """ + link_path = url_to_path(link.url_without_fragment) + return os.path.isdir(link_path) + + +def _progress_indicator(iterable, *args, **kwargs): + return iterable + + +def _download_url( + resp, # type: Response + link, # type: Link + content_file, # type: IO + hashes, # type: Hashes + progress_bar # type: str +): + # type: (...) -> None + try: + total_length = int(resp.headers['content-length']) + except (ValueError, KeyError, TypeError): + total_length = 0 + + cached_resp = getattr(resp, "from_cache", False) + if logger.getEffectiveLevel() > logging.INFO: + show_progress = False + elif cached_resp: + show_progress = False + elif total_length > (40 * 1000): + show_progress = True + elif not total_length: + show_progress = True + else: + show_progress = False + + show_url = link.show_url + + def resp_read(chunk_size): + try: + # Special case for urllib3. + for chunk in resp.raw.stream( + chunk_size, + # We use decode_content=False here because we don't + # want urllib3 to mess with the raw bytes we get + # from the server. If we decompress inside of + # urllib3 then we cannot verify the checksum + # because the checksum will be of the compressed + # file. This breakage will only occur if the + # server adds a Content-Encoding header, which + # depends on how the server was configured: + # - Some servers will notice that the file isn't a + # compressible file and will leave the file alone + # and with an empty Content-Encoding + # - Some servers will notice that the file is + # already compressed and will leave the file + # alone and will add a Content-Encoding: gzip + # header + # - Some servers won't notice anything at all and + # will take a file that's already been compressed + # and compress it again and set the + # Content-Encoding: gzip header + # + # By setting this not to decode automatically we + # hope to eliminate problems with the second case. + decode_content=False): + yield chunk + except AttributeError: + # Standard file-like object. + while True: + chunk = resp.raw.read(chunk_size) + if not chunk: + break + yield chunk + + def written_chunks(chunks): + for chunk in chunks: + content_file.write(chunk) + yield chunk + + progress_indicator = _progress_indicator + + if link.netloc == PyPI.netloc: + url = show_url + else: + url = link.url_without_fragment + + if show_progress: # We don't show progress on cached responses + progress_indicator = DownloadProgressProvider(progress_bar, + max=total_length) + if total_length: + logger.info("Downloading %s (%s)", url, format_size(total_length)) + else: + logger.info("Downloading %s", url) + elif cached_resp: + logger.info("Using cached %s", url) + else: + logger.info("Downloading %s", url) + + logger.debug('Downloading from URL %s', link) + + downloaded_chunks = written_chunks( + progress_indicator( + resp_read(CONTENT_CHUNK_SIZE), + CONTENT_CHUNK_SIZE + ) + ) + if hashes: + hashes.check_against_chunks(downloaded_chunks) + else: + consume(downloaded_chunks) + + +def _copy_file(filename, location, link): + copy = True + download_location = os.path.join(location, link.filename) + if os.path.exists(download_location): + response = ask_path_exists( + 'The file %s exists. (i)gnore, (w)ipe, (b)ackup, (a)abort' % + display_path(download_location), ('i', 'w', 'b', 'a')) + if response == 'i': + copy = False + elif response == 'w': + logger.warning('Deleting %s', display_path(download_location)) + os.remove(download_location) + elif response == 'b': + dest_file = backup_dir(download_location) + logger.warning( + 'Backing up %s to %s', + display_path(download_location), + display_path(dest_file), + ) + shutil.move(download_location, dest_file) + elif response == 'a': + sys.exit(-1) + if copy: + shutil.copy(filename, download_location) + logger.info('Saved %s', display_path(download_location)) + + +def unpack_http_url( + link, # type: Link + location, # type: str + download_dir=None, # type: Optional[str] + session=None, # type: Optional[PipSession] + hashes=None, # type: Optional[Hashes] + progress_bar="on" # type: str +): + # type: (...) -> None + if session is None: + raise TypeError( + "unpack_http_url() missing 1 required keyword argument: 'session'" + ) + + with TempDirectory(kind="unpack") as temp_dir: + # If a download dir is specified, is the file already downloaded there? + already_downloaded_path = None + if download_dir: + already_downloaded_path = _check_download_dir(link, + download_dir, + hashes) + + if already_downloaded_path: + from_path = already_downloaded_path + content_type = mimetypes.guess_type(from_path)[0] + else: + # let's download to a tmp dir + from_path, content_type = _download_http_url(link, + session, + temp_dir.path, + hashes, + progress_bar) + + # unpack the archive to the build dir location. even when only + # downloading archives, they have to be unpacked to parse dependencies + unpack_file(from_path, location, content_type, link) + + # a download dir is specified; let's copy the archive there + if download_dir and not already_downloaded_path: + _copy_file(from_path, download_dir, link) + + if not already_downloaded_path: + os.unlink(from_path) + + +def unpack_file_url( + link, # type: Link + location, # type: str + download_dir=None, # type: Optional[str] + hashes=None # type: Optional[Hashes] +): + # type: (...) -> None + """Unpack link into location. + + If download_dir is provided and link points to a file, make a copy + of the link file inside download_dir. + """ + link_path = url_to_path(link.url_without_fragment) + + # If it's a url to a local directory + if is_dir_url(link): + if os.path.isdir(location): + rmtree(location) + shutil.copytree(link_path, location, symlinks=True) + if download_dir: + logger.info('Link is a directory, ignoring download_dir') + return + + # If --require-hashes is off, `hashes` is either empty, the + # link's embedded hash, or MissingHashes; it is required to + # match. If --require-hashes is on, we are satisfied by any + # hash in `hashes` matching: a URL-based or an option-based + # one; no internet-sourced hash will be in `hashes`. + if hashes: + hashes.check_against_path(link_path) + + # If a download dir is specified, is the file already there and valid? + already_downloaded_path = None + if download_dir: + already_downloaded_path = _check_download_dir(link, + download_dir, + hashes) + + if already_downloaded_path: + from_path = already_downloaded_path + else: + from_path = link_path + + content_type = mimetypes.guess_type(from_path)[0] + + # unpack the archive to the build dir location. even when only downloading + # archives, they have to be unpacked to parse dependencies + unpack_file(from_path, location, content_type, link) + + # a download dir is specified and not already downloaded + if download_dir and not already_downloaded_path: + _copy_file(from_path, download_dir, link) + + +def _copy_dist_from_dir(link_path, location): + """Copy distribution files in `link_path` to `location`. + + Invoked when user requests to install a local directory. E.g.: + + pip install . + pip install ~/dev/git-repos/python-prompt-toolkit + + """ + + # Note: This is currently VERY SLOW if you have a lot of data in the + # directory, because it copies everything with `shutil.copytree`. + # What it should really do is build an sdist and install that. + # See https://github.com/pypa/pip/issues/2195 + + if os.path.isdir(location): + rmtree(location) + + # build an sdist + setup_py = 'setup.py' + sdist_args = [sys.executable] + sdist_args.append('-c') + sdist_args.append(SETUPTOOLS_SHIM % setup_py) + sdist_args.append('sdist') + sdist_args += ['--dist-dir', location] + logger.info('Running setup.py sdist for %s', link_path) + + with indent_log(): + call_subprocess(sdist_args, cwd=link_path, show_stdout=False) + + # unpack sdist into `location` + sdist = os.path.join(location, os.listdir(location)[0]) + logger.info('Unpacking sdist %s into %s', sdist, location) + unpack_file(sdist, location, content_type=None, link=None) + + +class PipXmlrpcTransport(xmlrpc_client.Transport): + """Provide a `xmlrpclib.Transport` implementation via a `PipSession` + object. + """ + + def __init__(self, index_url, session, use_datetime=False): + xmlrpc_client.Transport.__init__(self, use_datetime) + index_parts = urllib_parse.urlparse(index_url) + self._scheme = index_parts.scheme + self._session = session + + def request(self, host, handler, request_body, verbose=False): + parts = (self._scheme, host, handler, None, None, None) + url = urllib_parse.urlunparse(parts) + try: + headers = {'Content-Type': 'text/xml'} + response = self._session.post(url, data=request_body, + headers=headers, stream=True) + response.raise_for_status() + self.verbose = verbose + return self.parse_response(response.raw) + except requests.HTTPError as exc: + logger.critical( + "HTTP error %s while getting %s", + exc.response.status_code, url, + ) + raise + + +def unpack_url( + link, # type: Optional[Link] + location, # type: Optional[str] + download_dir=None, # type: Optional[str] + only_download=False, # type: bool + session=None, # type: Optional[PipSession] + hashes=None, # type: Optional[Hashes] + progress_bar="on" # type: str +): + # type: (...) -> None + """Unpack link. + If link is a VCS link: + if only_download, export into download_dir and ignore location + else unpack into location + for other types of link: + - unpack into location + - if download_dir, copy the file into download_dir + - if only_download, mark location for deletion + + :param hashes: A Hashes object, one of whose embedded hashes must match, + or HashMismatch will be raised. If the Hashes is empty, no matches are + required, and unhashable types of requirements (like VCS ones, which + would ordinarily raise HashUnsupported) are allowed. + """ + # non-editable vcs urls + if is_vcs_url(link): + unpack_vcs_link(link, location) + + # file urls + elif is_file_url(link): + unpack_file_url(link, location, download_dir, hashes=hashes) + + # http urls + else: + if session is None: + session = PipSession() + + unpack_http_url( + link, + location, + download_dir, + session, + hashes=hashes, + progress_bar=progress_bar + ) + if only_download: + write_delete_marker_file(location) + + +def _download_http_url( + link, # type: Link + session, # type: PipSession + temp_dir, # type: str + hashes, # type: Hashes + progress_bar # type: str +): + # type: (...) -> Tuple[str, str] + """Download link url into temp_dir using provided session""" + target_url = link.url.split('#', 1)[0] + try: + resp = session.get( + target_url, + # We use Accept-Encoding: identity here because requests + # defaults to accepting compressed responses. This breaks in + # a variety of ways depending on how the server is configured. + # - Some servers will notice that the file isn't a compressible + # file and will leave the file alone and with an empty + # Content-Encoding + # - Some servers will notice that the file is already + # compressed and will leave the file alone and will add a + # Content-Encoding: gzip header + # - Some servers won't notice anything at all and will take + # a file that's already been compressed and compress it again + # and set the Content-Encoding: gzip header + # By setting this to request only the identity encoding We're + # hoping to eliminate the third case. Hopefully there does not + # exist a server which when given a file will notice it is + # already compressed and that you're not asking for a + # compressed file and will then decompress it before sending + # because if that's the case I don't think it'll ever be + # possible to make this work. + headers={"Accept-Encoding": "identity"}, + stream=True, + ) + resp.raise_for_status() + except requests.HTTPError as exc: + logger.critical( + "HTTP error %s while getting %s", exc.response.status_code, link, + ) + raise + + content_type = resp.headers.get('content-type', '') + filename = link.filename # fallback + # Have a look at the Content-Disposition header for a better guess + content_disposition = resp.headers.get('content-disposition') + if content_disposition: + type, params = cgi.parse_header(content_disposition) + # We use ``or`` here because we don't want to use an "empty" value + # from the filename param. + filename = params.get('filename') or filename + ext = splitext(filename)[1] + if not ext: + ext = mimetypes.guess_extension(content_type) + if ext: + filename += ext + if not ext and link.url != resp.url: + ext = os.path.splitext(resp.url)[1] + if ext: + filename += ext + file_path = os.path.join(temp_dir, filename) + with open(file_path, 'wb') as content_file: + _download_url(resp, link, content_file, hashes, progress_bar) + return file_path, content_type + + +def _check_download_dir(link, download_dir, hashes): + # type: (Link, str, Hashes) -> Optional[str] + """ Check download_dir for previously downloaded file with correct hash + If a correct file is found return its path else None + """ + download_path = os.path.join(download_dir, link.filename) + if os.path.exists(download_path): + # If already downloaded, does its hash match? + logger.info('File was already downloaded %s', download_path) + if hashes: + try: + hashes.check_against_path(download_path) + except HashMismatch: + logger.warning( + 'Previously-downloaded file %s has bad hash. ' + 'Re-downloading.', + download_path + ) + os.unlink(download_path) + return None + return download_path + return None diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/exceptions.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/exceptions.py new file mode 100644 index 0000000..38ceeea --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/exceptions.py @@ -0,0 +1,274 @@ +"""Exceptions used throughout package""" +from __future__ import absolute_import + +from itertools import chain, groupby, repeat + +from pip._vendor.six import iteritems + +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Optional # noqa: F401 + from pip._internal.req.req_install import InstallRequirement # noqa: F401 + + +class PipError(Exception): + """Base pip exception""" + + +class ConfigurationError(PipError): + """General exception in configuration""" + + +class InstallationError(PipError): + """General exception during installation""" + + +class UninstallationError(PipError): + """General exception during uninstallation""" + + +class DistributionNotFound(InstallationError): + """Raised when a distribution cannot be found to satisfy a requirement""" + + +class RequirementsFileParseError(InstallationError): + """Raised when a general error occurs parsing a requirements file line.""" + + +class BestVersionAlreadyInstalled(PipError): + """Raised when the most up-to-date version of a package is already + installed.""" + + +class BadCommand(PipError): + """Raised when virtualenv or a command is not found""" + + +class CommandError(PipError): + """Raised when there is an error in command-line arguments""" + + +class PreviousBuildDirError(PipError): + """Raised when there's a previous conflicting build directory""" + + +class InvalidWheelFilename(InstallationError): + """Invalid wheel filename.""" + + +class UnsupportedWheel(InstallationError): + """Unsupported wheel.""" + + +class HashErrors(InstallationError): + """Multiple HashError instances rolled into one for reporting""" + + def __init__(self): + self.errors = [] + + def append(self, error): + self.errors.append(error) + + def __str__(self): + lines = [] + self.errors.sort(key=lambda e: e.order) + for cls, errors_of_cls in groupby(self.errors, lambda e: e.__class__): + lines.append(cls.head) + lines.extend(e.body() for e in errors_of_cls) + if lines: + return '\n'.join(lines) + + def __nonzero__(self): + return bool(self.errors) + + def __bool__(self): + return self.__nonzero__() + + +class HashError(InstallationError): + """ + A failure to verify a package against known-good hashes + + :cvar order: An int sorting hash exception classes by difficulty of + recovery (lower being harder), so the user doesn't bother fretting + about unpinned packages when he has deeper issues, like VCS + dependencies, to deal with. Also keeps error reports in a + deterministic order. + :cvar head: A section heading for display above potentially many + exceptions of this kind + :ivar req: The InstallRequirement that triggered this error. This is + pasted on after the exception is instantiated, because it's not + typically available earlier. + + """ + req = None # type: Optional[InstallRequirement] + head = '' + + def body(self): + """Return a summary of me for display under the heading. + + This default implementation simply prints a description of the + triggering requirement. + + :param req: The InstallRequirement that provoked this error, with + populate_link() having already been called + + """ + return ' %s' % self._requirement_name() + + def __str__(self): + return '%s\n%s' % (self.head, self.body()) + + def _requirement_name(self): + """Return a description of the requirement that triggered me. + + This default implementation returns long description of the req, with + line numbers + + """ + return str(self.req) if self.req else 'unknown package' + + +class VcsHashUnsupported(HashError): + """A hash was provided for a version-control-system-based requirement, but + we don't have a method for hashing those.""" + + order = 0 + head = ("Can't verify hashes for these requirements because we don't " + "have a way to hash version control repositories:") + + +class DirectoryUrlHashUnsupported(HashError): + """A hash was provided for a version-control-system-based requirement, but + we don't have a method for hashing those.""" + + order = 1 + head = ("Can't verify hashes for these file:// requirements because they " + "point to directories:") + + +class HashMissing(HashError): + """A hash was needed for a requirement but is absent.""" + + order = 2 + head = ('Hashes are required in --require-hashes mode, but they are ' + 'missing from some requirements. Here is a list of those ' + 'requirements along with the hashes their downloaded archives ' + 'actually had. Add lines like these to your requirements files to ' + 'prevent tampering. (If you did not enable --require-hashes ' + 'manually, note that it turns on automatically when any package ' + 'has a hash.)') + + def __init__(self, gotten_hash): + """ + :param gotten_hash: The hash of the (possibly malicious) archive we + just downloaded + """ + self.gotten_hash = gotten_hash + + def body(self): + # Dodge circular import. + from pip._internal.utils.hashes import FAVORITE_HASH + + package = None + if self.req: + # In the case of URL-based requirements, display the original URL + # seen in the requirements file rather than the package name, + # so the output can be directly copied into the requirements file. + package = (self.req.original_link if self.req.original_link + # In case someone feeds something downright stupid + # to InstallRequirement's constructor. + else getattr(self.req, 'req', None)) + return ' %s --hash=%s:%s' % (package or 'unknown package', + FAVORITE_HASH, + self.gotten_hash) + + +class HashUnpinned(HashError): + """A requirement had a hash specified but was not pinned to a specific + version.""" + + order = 3 + head = ('In --require-hashes mode, all requirements must have their ' + 'versions pinned with ==. These do not:') + + +class HashMismatch(HashError): + """ + Distribution file hash values don't match. + + :ivar package_name: The name of the package that triggered the hash + mismatch. Feel free to write to this after the exception is raise to + improve its error message. + + """ + order = 4 + head = ('THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS ' + 'FILE. If you have updated the package versions, please update ' + 'the hashes. Otherwise, examine the package contents carefully; ' + 'someone may have tampered with them.') + + def __init__(self, allowed, gots): + """ + :param allowed: A dict of algorithm names pointing to lists of allowed + hex digests + :param gots: A dict of algorithm names pointing to hashes we + actually got from the files under suspicion + """ + self.allowed = allowed + self.gots = gots + + def body(self): + return ' %s:\n%s' % (self._requirement_name(), + self._hash_comparison()) + + def _hash_comparison(self): + """ + Return a comparison of actual and expected hash values. + + Example:: + + Expected sha256 abcdeabcdeabcdeabcdeabcdeabcdeabcdeabcdeabcde + or 123451234512345123451234512345123451234512345 + Got bcdefbcdefbcdefbcdefbcdefbcdefbcdefbcdefbcdef + + """ + def hash_then_or(hash_name): + # For now, all the decent hashes have 6-char names, so we can get + # away with hard-coding space literals. + return chain([hash_name], repeat(' or')) + + lines = [] + for hash_name, expecteds in iteritems(self.allowed): + prefix = hash_then_or(hash_name) + lines.extend((' Expected %s %s' % (next(prefix), e)) + for e in expecteds) + lines.append(' Got %s\n' % + self.gots[hash_name].hexdigest()) + prefix = ' or' + return '\n'.join(lines) + + +class UnsupportedPythonVersion(InstallationError): + """Unsupported python version according to Requires-Python package + metadata.""" + + +class ConfigurationFileCouldNotBeLoaded(ConfigurationError): + """When there are errors while loading a configuration file + """ + + def __init__(self, reason="could not be loaded", fname=None, error=None): + super(ConfigurationFileCouldNotBeLoaded, self).__init__(error) + self.reason = reason + self.fname = fname + self.error = error + + def __str__(self): + if self.fname is not None: + message_part = " in {}.".format(self.fname) + else: + assert self.error is not None + message_part = ".\n{}\n".format(self.error.message) + return "Configuration file {}{}".format(self.reason, message_part) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/index.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/index.py new file mode 100644 index 0000000..9eda3a3 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/index.py @@ -0,0 +1,990 @@ +"""Routines related to PyPI, indexes""" +from __future__ import absolute_import + +import cgi +import itertools +import logging +import mimetypes +import os +import posixpath +import re +import sys +from collections import namedtuple + +from pip._vendor import html5lib, requests, six +from pip._vendor.distlib.compat import unescape +from pip._vendor.packaging import specifiers +from pip._vendor.packaging.utils import canonicalize_name +from pip._vendor.packaging.version import parse as parse_version +from pip._vendor.requests.exceptions import RetryError, SSLError +from pip._vendor.six.moves.urllib import parse as urllib_parse +from pip._vendor.six.moves.urllib import request as urllib_request + +from pip._internal.download import HAS_TLS, is_url, path_to_url, url_to_path +from pip._internal.exceptions import ( + BestVersionAlreadyInstalled, DistributionNotFound, InvalidWheelFilename, + UnsupportedWheel, +) +from pip._internal.models.candidate import InstallationCandidate +from pip._internal.models.format_control import FormatControl +from pip._internal.models.index import PyPI +from pip._internal.models.link import Link +from pip._internal.pep425tags import get_supported +from pip._internal.utils.compat import ipaddress +from pip._internal.utils.logging import indent_log +from pip._internal.utils.misc import ( + ARCHIVE_EXTENSIONS, SUPPORTED_EXTENSIONS, WHEEL_EXTENSION, normalize_path, + redact_password_from_url, +) +from pip._internal.utils.packaging import check_requires_python +from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._internal.wheel import Wheel + +if MYPY_CHECK_RUNNING: + from logging import Logger # noqa: F401 + from typing import ( # noqa: F401 + Tuple, Optional, Any, List, Union, Callable, Set, Sequence, + Iterable, MutableMapping + ) + from pip._vendor.packaging.version import _BaseVersion # noqa: F401 + from pip._vendor.requests import Response # noqa: F401 + from pip._internal.req import InstallRequirement # noqa: F401 + from pip._internal.download import PipSession # noqa: F401 + + SecureOrigin = Tuple[str, str, Optional[str]] + BuildTag = Tuple[Any, ...] # either emply tuple or Tuple[int, str] + CandidateSortingKey = Tuple[int, _BaseVersion, BuildTag, Optional[int]] + +__all__ = ['FormatControl', 'PackageFinder'] + + +SECURE_ORIGINS = [ + # protocol, hostname, port + # Taken from Chrome's list of secure origins (See: http://bit.ly/1qrySKC) + ("https", "*", "*"), + ("*", "localhost", "*"), + ("*", "127.0.0.0/8", "*"), + ("*", "::1/128", "*"), + ("file", "*", None), + # ssh is always secure. + ("ssh", "*", "*"), +] # type: List[SecureOrigin] + + +logger = logging.getLogger(__name__) + + +def _match_vcs_scheme(url): + # type: (str) -> Optional[str] + """Look for VCS schemes in the URL. + + Returns the matched VCS scheme, or None if there's no match. + """ + from pip._internal.vcs import VcsSupport + for scheme in VcsSupport.schemes: + if url.lower().startswith(scheme) and url[len(scheme)] in '+:': + return scheme + return None + + +def _is_url_like_archive(url): + # type: (str) -> bool + """Return whether the URL looks like an archive. + """ + filename = Link(url).filename + for bad_ext in ARCHIVE_EXTENSIONS: + if filename.endswith(bad_ext): + return True + return False + + +class _NotHTML(Exception): + def __init__(self, content_type, request_desc): + # type: (str, str) -> None + super(_NotHTML, self).__init__(content_type, request_desc) + self.content_type = content_type + self.request_desc = request_desc + + +def _ensure_html_header(response): + # type: (Response) -> None + """Check the Content-Type header to ensure the response contains HTML. + + Raises `_NotHTML` if the content type is not text/html. + """ + content_type = response.headers.get("Content-Type", "") + if not content_type.lower().startswith("text/html"): + raise _NotHTML(content_type, response.request.method) + + +class _NotHTTP(Exception): + pass + + +def _ensure_html_response(url, session): + # type: (str, PipSession) -> None + """Send a HEAD request to the URL, and ensure the response contains HTML. + + Raises `_NotHTTP` if the URL is not available for a HEAD request, or + `_NotHTML` if the content type is not text/html. + """ + scheme, netloc, path, query, fragment = urllib_parse.urlsplit(url) + if scheme not in {'http', 'https'}: + raise _NotHTTP() + + resp = session.head(url, allow_redirects=True) + resp.raise_for_status() + + _ensure_html_header(resp) + + +def _get_html_response(url, session): + # type: (str, PipSession) -> Response + """Access an HTML page with GET, and return the response. + + This consists of three parts: + + 1. If the URL looks suspiciously like an archive, send a HEAD first to + check the Content-Type is HTML, to avoid downloading a large file. + Raise `_NotHTTP` if the content type cannot be determined, or + `_NotHTML` if it is not HTML. + 2. Actually perform the request. Raise HTTP exceptions on network failures. + 3. Check the Content-Type header to make sure we got HTML, and raise + `_NotHTML` otherwise. + """ + if _is_url_like_archive(url): + _ensure_html_response(url, session=session) + + logger.debug('Getting page %s', url) + + resp = session.get( + url, + headers={ + "Accept": "text/html", + # We don't want to blindly returned cached data for + # /simple/, because authors generally expecting that + # twine upload && pip install will function, but if + # they've done a pip install in the last ~10 minutes + # it won't. Thus by setting this to zero we will not + # blindly use any cached data, however the benefit of + # using max-age=0 instead of no-cache, is that we will + # still support conditional requests, so we will still + # minimize traffic sent in cases where the page hasn't + # changed at all, we will just always incur the round + # trip for the conditional GET now instead of only + # once per 10 minutes. + # For more information, please see pypa/pip#5670. + "Cache-Control": "max-age=0", + }, + ) + resp.raise_for_status() + + # The check for archives above only works if the url ends with + # something that looks like an archive. However that is not a + # requirement of an url. Unless we issue a HEAD request on every + # url we cannot know ahead of time for sure if something is HTML + # or not. However we can check after we've downloaded it. + _ensure_html_header(resp) + + return resp + + +def _handle_get_page_fail( + link, # type: Link + reason, # type: Union[str, Exception] + meth=None # type: Optional[Callable[..., None]] +): + # type: (...) -> None + if meth is None: + meth = logger.debug + meth("Could not fetch URL %s: %s - skipping", link, reason) + + +def _get_html_page(link, session=None): + # type: (Link, Optional[PipSession]) -> Optional[HTMLPage] + if session is None: + raise TypeError( + "_get_html_page() missing 1 required keyword argument: 'session'" + ) + + url = link.url.split('#', 1)[0] + + # Check for VCS schemes that do not support lookup as web pages. + vcs_scheme = _match_vcs_scheme(url) + if vcs_scheme: + logger.debug('Cannot look at %s URL %s', vcs_scheme, link) + return None + + # Tack index.html onto file:// URLs that point to directories + scheme, _, path, _, _, _ = urllib_parse.urlparse(url) + if (scheme == 'file' and os.path.isdir(urllib_request.url2pathname(path))): + # add trailing slash if not present so urljoin doesn't trim + # final segment + if not url.endswith('/'): + url += '/' + url = urllib_parse.urljoin(url, 'index.html') + logger.debug(' file: URL is directory, getting %s', url) + + try: + resp = _get_html_response(url, session=session) + except _NotHTTP as exc: + logger.debug( + 'Skipping page %s because it looks like an archive, and cannot ' + 'be checked by HEAD.', link, + ) + except _NotHTML as exc: + logger.debug( + 'Skipping page %s because the %s request got Content-Type: %s', + link, exc.request_desc, exc.content_type, + ) + except requests.HTTPError as exc: + _handle_get_page_fail(link, exc) + except RetryError as exc: + _handle_get_page_fail(link, exc) + except SSLError as exc: + reason = "There was a problem confirming the ssl certificate: " + reason += str(exc) + _handle_get_page_fail(link, reason, meth=logger.info) + except requests.ConnectionError as exc: + _handle_get_page_fail(link, "connection error: %s" % exc) + except requests.Timeout: + _handle_get_page_fail(link, "timed out") + else: + return HTMLPage(resp.content, resp.url, resp.headers) + return None + + +class PackageFinder(object): + """This finds packages. + + This is meant to match easy_install's technique for looking for + packages, by reading pages and looking for appropriate links. + """ + + def __init__( + self, + find_links, # type: List[str] + index_urls, # type: List[str] + allow_all_prereleases=False, # type: bool + trusted_hosts=None, # type: Optional[Iterable[str]] + session=None, # type: Optional[PipSession] + format_control=None, # type: Optional[FormatControl] + platform=None, # type: Optional[str] + versions=None, # type: Optional[List[str]] + abi=None, # type: Optional[str] + implementation=None, # type: Optional[str] + prefer_binary=False # type: bool + ): + # type: (...) -> None + """Create a PackageFinder. + + :param format_control: A FormatControl object or None. Used to control + the selection of source packages / binary packages when consulting + the index and links. + :param platform: A string or None. If None, searches for packages + that are supported by the current system. Otherwise, will find + packages that can be built on the platform passed in. These + packages will only be downloaded for distribution: they will + not be built locally. + :param versions: A list of strings or None. This is passed directly + to pep425tags.py in the get_supported() method. + :param abi: A string or None. This is passed directly + to pep425tags.py in the get_supported() method. + :param implementation: A string or None. This is passed directly + to pep425tags.py in the get_supported() method. + """ + if session is None: + raise TypeError( + "PackageFinder() missing 1 required keyword argument: " + "'session'" + ) + + # Build find_links. If an argument starts with ~, it may be + # a local file relative to a home directory. So try normalizing + # it and if it exists, use the normalized version. + # This is deliberately conservative - it might be fine just to + # blindly normalize anything starting with a ~... + self.find_links = [] # type: List[str] + for link in find_links: + if link.startswith('~'): + new_link = normalize_path(link) + if os.path.exists(new_link): + link = new_link + self.find_links.append(link) + + self.index_urls = index_urls + + # These are boring links that have already been logged somehow: + self.logged_links = set() # type: Set[Link] + + self.format_control = format_control or FormatControl(set(), set()) + + # Domains that we won't emit warnings for when not using HTTPS + self.secure_origins = [ + ("*", host, "*") + for host in (trusted_hosts if trusted_hosts else []) + ] # type: List[SecureOrigin] + + # Do we want to allow _all_ pre-releases? + self.allow_all_prereleases = allow_all_prereleases + + # The Session we'll use to make requests + self.session = session + + # The valid tags to check potential found wheel candidates against + self.valid_tags = get_supported( + versions=versions, + platform=platform, + abi=abi, + impl=implementation, + ) + + # Do we prefer old, but valid, binary dist over new source dist + self.prefer_binary = prefer_binary + + # If we don't have TLS enabled, then WARN if anyplace we're looking + # relies on TLS. + if not HAS_TLS: + for link in itertools.chain(self.index_urls, self.find_links): + parsed = urllib_parse.urlparse(link) + if parsed.scheme == "https": + logger.warning( + "pip is configured with locations that require " + "TLS/SSL, however the ssl module in Python is not " + "available." + ) + break + + def get_formatted_locations(self): + # type: () -> str + lines = [] + if self.index_urls and self.index_urls != [PyPI.simple_url]: + lines.append( + "Looking in indexes: {}".format(", ".join( + redact_password_from_url(url) for url in self.index_urls)) + ) + if self.find_links: + lines.append( + "Looking in links: {}".format(", ".join(self.find_links)) + ) + return "\n".join(lines) + + @staticmethod + def _sort_locations(locations, expand_dir=False): + # type: (Sequence[str], bool) -> Tuple[List[str], List[str]] + """ + Sort locations into "files" (archives) and "urls", and return + a pair of lists (files,urls) + """ + files = [] + urls = [] + + # puts the url for the given file path into the appropriate list + def sort_path(path): + url = path_to_url(path) + if mimetypes.guess_type(url, strict=False)[0] == 'text/html': + urls.append(url) + else: + files.append(url) + + for url in locations: + + is_local_path = os.path.exists(url) + is_file_url = url.startswith('file:') + + if is_local_path or is_file_url: + if is_local_path: + path = url + else: + path = url_to_path(url) + if os.path.isdir(path): + if expand_dir: + path = os.path.realpath(path) + for item in os.listdir(path): + sort_path(os.path.join(path, item)) + elif is_file_url: + urls.append(url) + else: + logger.warning( + "Path '{0}' is ignored: " + "it is a directory.".format(path), + ) + elif os.path.isfile(path): + sort_path(path) + else: + logger.warning( + "Url '%s' is ignored: it is neither a file " + "nor a directory.", url, + ) + elif is_url(url): + # Only add url with clear scheme + urls.append(url) + else: + logger.warning( + "Url '%s' is ignored. It is either a non-existing " + "path or lacks a specific scheme.", url, + ) + + return files, urls + + def _candidate_sort_key(self, candidate): + # type: (InstallationCandidate) -> CandidateSortingKey + """ + Function used to generate link sort key for link tuples. + The greater the return value, the more preferred it is. + If not finding wheels, then sorted by version only. + If finding wheels, then the sort order is by version, then: + 1. existing installs + 2. wheels ordered via Wheel.support_index_min(self.valid_tags) + 3. source archives + If prefer_binary was set, then all wheels are sorted above sources. + Note: it was considered to embed this logic into the Link + comparison operators, but then different sdist links + with the same version, would have to be considered equal + """ + support_num = len(self.valid_tags) + build_tag = tuple() # type: BuildTag + binary_preference = 0 + if candidate.location.is_wheel: + # can raise InvalidWheelFilename + wheel = Wheel(candidate.location.filename) + if not wheel.supported(self.valid_tags): + raise UnsupportedWheel( + "%s is not a supported wheel for this platform. It " + "can't be sorted." % wheel.filename + ) + if self.prefer_binary: + binary_preference = 1 + pri = -(wheel.support_index_min(self.valid_tags)) + if wheel.build_tag is not None: + match = re.match(r'^(\d+)(.*)$', wheel.build_tag) + build_tag_groups = match.groups() + build_tag = (int(build_tag_groups[0]), build_tag_groups[1]) + else: # sdist + pri = -(support_num) + return (binary_preference, candidate.version, build_tag, pri) + + def _validate_secure_origin(self, logger, location): + # type: (Logger, Link) -> bool + # Determine if this url used a secure transport mechanism + parsed = urllib_parse.urlparse(str(location)) + origin = (parsed.scheme, parsed.hostname, parsed.port) + + # The protocol to use to see if the protocol matches. + # Don't count the repository type as part of the protocol: in + # cases such as "git+ssh", only use "ssh". (I.e., Only verify against + # the last scheme.) + protocol = origin[0].rsplit('+', 1)[-1] + + # Determine if our origin is a secure origin by looking through our + # hardcoded list of secure origins, as well as any additional ones + # configured on this PackageFinder instance. + for secure_origin in (SECURE_ORIGINS + self.secure_origins): + if protocol != secure_origin[0] and secure_origin[0] != "*": + continue + + try: + # We need to do this decode dance to ensure that we have a + # unicode object, even on Python 2.x. + addr = ipaddress.ip_address( + origin[1] + if ( + isinstance(origin[1], six.text_type) or + origin[1] is None + ) + else origin[1].decode("utf8") + ) + network = ipaddress.ip_network( + secure_origin[1] + if isinstance(secure_origin[1], six.text_type) + # setting secure_origin[1] to proper Union[bytes, str] + # creates problems in other places + else secure_origin[1].decode("utf8") # type: ignore + ) + except ValueError: + # We don't have both a valid address or a valid network, so + # we'll check this origin against hostnames. + if (origin[1] and + origin[1].lower() != secure_origin[1].lower() and + secure_origin[1] != "*"): + continue + else: + # We have a valid address and network, so see if the address + # is contained within the network. + if addr not in network: + continue + + # Check to see if the port patches + if (origin[2] != secure_origin[2] and + secure_origin[2] != "*" and + secure_origin[2] is not None): + continue + + # If we've gotten here, then this origin matches the current + # secure origin and we should return True + return True + + # If we've gotten to this point, then the origin isn't secure and we + # will not accept it as a valid location to search. We will however + # log a warning that we are ignoring it. + logger.warning( + "The repository located at %s is not a trusted or secure host and " + "is being ignored. If this repository is available via HTTPS we " + "recommend you use HTTPS instead, otherwise you may silence " + "this warning and allow it anyway with '--trusted-host %s'.", + parsed.hostname, + parsed.hostname, + ) + + return False + + def _get_index_urls_locations(self, project_name): + # type: (str) -> List[str] + """Returns the locations found via self.index_urls + + Checks the url_name on the main (first in the list) index and + use this url_name to produce all locations + """ + + def mkurl_pypi_url(url): + loc = posixpath.join( + url, + urllib_parse.quote(canonicalize_name(project_name))) + # For maximum compatibility with easy_install, ensure the path + # ends in a trailing slash. Although this isn't in the spec + # (and PyPI can handle it without the slash) some other index + # implementations might break if they relied on easy_install's + # behavior. + if not loc.endswith('/'): + loc = loc + '/' + return loc + + return [mkurl_pypi_url(url) for url in self.index_urls] + + def find_all_candidates(self, project_name): + # type: (str) -> List[Optional[InstallationCandidate]] + """Find all available InstallationCandidate for project_name + + This checks index_urls and find_links. + All versions found are returned as an InstallationCandidate list. + + See _link_package_versions for details on which files are accepted + """ + index_locations = self._get_index_urls_locations(project_name) + index_file_loc, index_url_loc = self._sort_locations(index_locations) + fl_file_loc, fl_url_loc = self._sort_locations( + self.find_links, expand_dir=True, + ) + + file_locations = (Link(url) for url in itertools.chain( + index_file_loc, fl_file_loc, + )) + + # We trust every url that the user has given us whether it was given + # via --index-url or --find-links. + # We want to filter out any thing which does not have a secure origin. + url_locations = [ + link for link in itertools.chain( + (Link(url) for url in index_url_loc), + (Link(url) for url in fl_url_loc), + ) + if self._validate_secure_origin(logger, link) + ] + + logger.debug('%d location(s) to search for versions of %s:', + len(url_locations), project_name) + + for location in url_locations: + logger.debug('* %s', location) + + canonical_name = canonicalize_name(project_name) + formats = self.format_control.get_allowed_formats(canonical_name) + search = Search(project_name, canonical_name, formats) + find_links_versions = self._package_versions( + # We trust every directly linked archive in find_links + (Link(url, '-f') for url in self.find_links), + search + ) + + page_versions = [] + for page in self._get_pages(url_locations, project_name): + logger.debug('Analyzing links from page %s', page.url) + with indent_log(): + page_versions.extend( + self._package_versions(page.iter_links(), search) + ) + + file_versions = self._package_versions(file_locations, search) + if file_versions: + file_versions.sort(reverse=True) + logger.debug( + 'Local files found: %s', + ', '.join([ + url_to_path(candidate.location.url) + for candidate in file_versions + ]) + ) + + # This is an intentional priority ordering + return file_versions + find_links_versions + page_versions + + def find_requirement(self, req, upgrade): + # type: (InstallRequirement, bool) -> Optional[Link] + """Try to find a Link matching req + + Expects req, an InstallRequirement and upgrade, a boolean + Returns a Link if found, + Raises DistributionNotFound or BestVersionAlreadyInstalled otherwise + """ + all_candidates = self.find_all_candidates(req.name) + + # Filter out anything which doesn't match our specifier + compatible_versions = set( + req.specifier.filter( + # We turn the version object into a str here because otherwise + # when we're debundled but setuptools isn't, Python will see + # packaging.version.Version and + # pkg_resources._vendor.packaging.version.Version as different + # types. This way we'll use a str as a common data interchange + # format. If we stop using the pkg_resources provided specifier + # and start using our own, we can drop the cast to str(). + [str(c.version) for c in all_candidates], + prereleases=( + self.allow_all_prereleases + if self.allow_all_prereleases else None + ), + ) + ) + applicable_candidates = [ + # Again, converting to str to deal with debundling. + c for c in all_candidates if str(c.version) in compatible_versions + ] + + if applicable_candidates: + best_candidate = max(applicable_candidates, + key=self._candidate_sort_key) + else: + best_candidate = None + + if req.satisfied_by is not None: + installed_version = parse_version(req.satisfied_by.version) + else: + installed_version = None + + if installed_version is None and best_candidate is None: + logger.critical( + 'Could not find a version that satisfies the requirement %s ' + '(from versions: %s)', + req, + ', '.join( + sorted( + {str(c.version) for c in all_candidates}, + key=parse_version, + ) + ) + ) + + raise DistributionNotFound( + 'No matching distribution found for %s' % req + ) + + best_installed = False + if installed_version and ( + best_candidate is None or + best_candidate.version <= installed_version): + best_installed = True + + if not upgrade and installed_version is not None: + if best_installed: + logger.debug( + 'Existing installed version (%s) is most up-to-date and ' + 'satisfies requirement', + installed_version, + ) + else: + logger.debug( + 'Existing installed version (%s) satisfies requirement ' + '(most up-to-date version is %s)', + installed_version, + best_candidate.version, + ) + return None + + if best_installed: + # We have an existing version, and its the best version + logger.debug( + 'Installed version (%s) is most up-to-date (past versions: ' + '%s)', + installed_version, + ', '.join(sorted(compatible_versions, key=parse_version)) or + "none", + ) + raise BestVersionAlreadyInstalled + + logger.debug( + 'Using version %s (newest of versions: %s)', + best_candidate.version, + ', '.join(sorted(compatible_versions, key=parse_version)) + ) + return best_candidate.location + + def _get_pages(self, locations, project_name): + # type: (Iterable[Link], str) -> Iterable[HTMLPage] + """ + Yields (page, page_url) from the given locations, skipping + locations that have errors. + """ + seen = set() # type: Set[Link] + for location in locations: + if location in seen: + continue + seen.add(location) + + page = _get_html_page(location, session=self.session) + if page is None: + continue + + yield page + + _py_version_re = re.compile(r'-py([123]\.?[0-9]?)$') + + def _sort_links(self, links): + # type: (Iterable[Link]) -> List[Link] + """ + Returns elements of links in order, non-egg links first, egg links + second, while eliminating duplicates + """ + eggs, no_eggs = [], [] + seen = set() # type: Set[Link] + for link in links: + if link not in seen: + seen.add(link) + if link.egg_fragment: + eggs.append(link) + else: + no_eggs.append(link) + return no_eggs + eggs + + def _package_versions( + self, + links, # type: Iterable[Link] + search # type: Search + ): + # type: (...) -> List[Optional[InstallationCandidate]] + result = [] + for link in self._sort_links(links): + v = self._link_package_versions(link, search) + if v is not None: + result.append(v) + return result + + def _log_skipped_link(self, link, reason): + # type: (Link, str) -> None + if link not in self.logged_links: + logger.debug('Skipping link %s; %s', link, reason) + self.logged_links.add(link) + + def _link_package_versions(self, link, search): + # type: (Link, Search) -> Optional[InstallationCandidate] + """Return an InstallationCandidate or None""" + version = None + if link.egg_fragment: + egg_info = link.egg_fragment + ext = link.ext + else: + egg_info, ext = link.splitext() + if not ext: + self._log_skipped_link(link, 'not a file') + return None + if ext not in SUPPORTED_EXTENSIONS: + self._log_skipped_link( + link, 'unsupported archive format: %s' % ext, + ) + return None + if "binary" not in search.formats and ext == WHEEL_EXTENSION: + self._log_skipped_link( + link, 'No binaries permitted for %s' % search.supplied, + ) + return None + if "macosx10" in link.path and ext == '.zip': + self._log_skipped_link(link, 'macosx10 one') + return None + if ext == WHEEL_EXTENSION: + try: + wheel = Wheel(link.filename) + except InvalidWheelFilename: + self._log_skipped_link(link, 'invalid wheel filename') + return None + if canonicalize_name(wheel.name) != search.canonical: + self._log_skipped_link( + link, 'wrong project name (not %s)' % search.supplied) + return None + + if not wheel.supported(self.valid_tags): + self._log_skipped_link( + link, 'it is not compatible with this Python') + return None + + version = wheel.version + + # This should be up by the search.ok_binary check, but see issue 2700. + if "source" not in search.formats and ext != WHEEL_EXTENSION: + self._log_skipped_link( + link, 'No sources permitted for %s' % search.supplied, + ) + return None + + if not version: + version = _egg_info_matches(egg_info, search.canonical) + if not version: + self._log_skipped_link( + link, 'Missing project version for %s' % search.supplied) + return None + + match = self._py_version_re.search(version) + if match: + version = version[:match.start()] + py_version = match.group(1) + if py_version != sys.version[:3]: + self._log_skipped_link( + link, 'Python version is incorrect') + return None + try: + support_this_python = check_requires_python(link.requires_python) + except specifiers.InvalidSpecifier: + logger.debug("Package %s has an invalid Requires-Python entry: %s", + link.filename, link.requires_python) + support_this_python = True + + if not support_this_python: + logger.debug("The package %s is incompatible with the python " + "version in use. Acceptable python versions are: %s", + link, link.requires_python) + return None + logger.debug('Found link %s, version: %s', link, version) + + return InstallationCandidate(search.supplied, version, link) + + +def _find_name_version_sep(egg_info, canonical_name): + # type: (str, str) -> int + """Find the separator's index based on the package's canonical name. + + `egg_info` must be an egg info string for the given package, and + `canonical_name` must be the package's canonical name. + + This function is needed since the canonicalized name does not necessarily + have the same length as the egg info's name part. An example:: + + >>> egg_info = 'foo__bar-1.0' + >>> canonical_name = 'foo-bar' + >>> _find_name_version_sep(egg_info, canonical_name) + 8 + """ + # Project name and version must be separated by one single dash. Find all + # occurrences of dashes; if the string in front of it matches the canonical + # name, this is the one separating the name and version parts. + for i, c in enumerate(egg_info): + if c != "-": + continue + if canonicalize_name(egg_info[:i]) == canonical_name: + return i + raise ValueError("{} does not match {}".format(egg_info, canonical_name)) + + +def _egg_info_matches(egg_info, canonical_name): + # type: (str, str) -> Optional[str] + """Pull the version part out of a string. + + :param egg_info: The string to parse. E.g. foo-2.1 + :param canonical_name: The canonicalized name of the package this + belongs to. + """ + try: + version_start = _find_name_version_sep(egg_info, canonical_name) + 1 + except ValueError: + return None + version = egg_info[version_start:] + if not version: + return None + return version + + +def _determine_base_url(document, page_url): + """Determine the HTML document's base URL. + + This looks for a ```` tag in the HTML document. If present, its href + attribute denotes the base URL of anchor tags in the document. If there is + no such tag (or if it does not have a valid href attribute), the HTML + file's URL is used as the base URL. + + :param document: An HTML document representation. The current + implementation expects the result of ``html5lib.parse()``. + :param page_url: The URL of the HTML document. + """ + for base in document.findall(".//base"): + href = base.get("href") + if href is not None: + return href + return page_url + + +def _get_encoding_from_headers(headers): + """Determine if we have any encoding information in our headers. + """ + if headers and "Content-Type" in headers: + content_type, params = cgi.parse_header(headers["Content-Type"]) + if "charset" in params: + return params['charset'] + return None + + +_CLEAN_LINK_RE = re.compile(r'[^a-z0-9$&+,/:;=?@.#%_\\|-]', re.I) + + +def _clean_link(url): + # type: (str) -> str + """Makes sure a link is fully encoded. That is, if a ' ' shows up in + the link, it will be rewritten to %20 (while not over-quoting + % or other characters).""" + return _CLEAN_LINK_RE.sub(lambda match: '%%%2x' % ord(match.group(0)), url) + + +class HTMLPage(object): + """Represents one page, along with its URL""" + + def __init__(self, content, url, headers=None): + # type: (bytes, str, MutableMapping[str, str]) -> None + self.content = content + self.url = url + self.headers = headers + + def __str__(self): + return redact_password_from_url(self.url) + + def iter_links(self): + # type: () -> Iterable[Link] + """Yields all links in the page""" + document = html5lib.parse( + self.content, + transport_encoding=_get_encoding_from_headers(self.headers), + namespaceHTMLElements=False, + ) + base_url = _determine_base_url(document, self.url) + for anchor in document.findall(".//a"): + if anchor.get("href"): + href = anchor.get("href") + url = _clean_link(urllib_parse.urljoin(base_url, href)) + pyrequire = anchor.get('data-requires-python') + pyrequire = unescape(pyrequire) if pyrequire else None + yield Link(url, self.url, requires_python=pyrequire) + + +Search = namedtuple('Search', 'supplied canonical formats') +"""Capture key aspects of a search. + +:attribute supplied: The user supplied package. +:attribute canonical: The canonical package name. +:attribute formats: The formats allowed for this package. Should be a set + with 'binary' or 'source' or both in it. +""" diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/locations.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/locations.py new file mode 100644 index 0000000..c6e2a3e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/locations.py @@ -0,0 +1,211 @@ +"""Locations where we look for configs, install stuff, etc""" +from __future__ import absolute_import + +import os +import os.path +import platform +import site +import sys +import sysconfig +from distutils import sysconfig as distutils_sysconfig +from distutils.command.install import SCHEME_KEYS # type: ignore + +from pip._internal.utils import appdirs +from pip._internal.utils.compat import WINDOWS, expanduser +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Any, Union, Dict, List, Optional # noqa: F401 + + +# Application Directories +USER_CACHE_DIR = appdirs.user_cache_dir("pip") + + +DELETE_MARKER_MESSAGE = '''\ +This file is placed here by pip to indicate the source was put +here by pip. + +Once this package is successfully installed this source code will be +deleted (unless you remove this file). +''' +PIP_DELETE_MARKER_FILENAME = 'pip-delete-this-directory.txt' + + +def write_delete_marker_file(directory): + # type: (str) -> None + """ + Write the pip delete marker file into this directory. + """ + filepath = os.path.join(directory, PIP_DELETE_MARKER_FILENAME) + with open(filepath, 'w') as marker_fp: + marker_fp.write(DELETE_MARKER_MESSAGE) + + +def running_under_virtualenv(): + # type: () -> bool + """ + Return True if we're running inside a virtualenv, False otherwise. + + """ + if hasattr(sys, 'real_prefix'): + return True + elif sys.prefix != getattr(sys, "base_prefix", sys.prefix): + return True + + return False + + +def virtualenv_no_global(): + # type: () -> bool + """ + Return True if in a venv and no system site packages. + """ + # this mirrors the logic in virtualenv.py for locating the + # no-global-site-packages.txt file + site_mod_dir = os.path.dirname(os.path.abspath(site.__file__)) + no_global_file = os.path.join(site_mod_dir, 'no-global-site-packages.txt') + if running_under_virtualenv() and os.path.isfile(no_global_file): + return True + else: + return False + + +if running_under_virtualenv(): + src_prefix = os.path.join(sys.prefix, 'src') +else: + # FIXME: keep src in cwd for now (it is not a temporary folder) + try: + src_prefix = os.path.join(os.getcwd(), 'src') + except OSError: + # In case the current working directory has been renamed or deleted + sys.exit( + "The folder you are executing pip from can no longer be found." + ) + +# under macOS + virtualenv sys.prefix is not properly resolved +# it is something like /path/to/python/bin/.. +# Note: using realpath due to tmp dirs on OSX being symlinks +src_prefix = os.path.abspath(src_prefix) + +# FIXME doesn't account for venv linked to global site-packages + +site_packages = sysconfig.get_path("purelib") # type: Optional[str] + +# This is because of a bug in PyPy's sysconfig module, see +# https://bitbucket.org/pypy/pypy/issues/2506/sysconfig-returns-incorrect-paths +# for more information. +if platform.python_implementation().lower() == "pypy": + site_packages = distutils_sysconfig.get_python_lib() +try: + # Use getusersitepackages if this is present, as it ensures that the + # value is initialised properly. + user_site = site.getusersitepackages() +except AttributeError: + user_site = site.USER_SITE +user_dir = expanduser('~') +if WINDOWS: + bin_py = os.path.join(sys.prefix, 'Scripts') + bin_user = os.path.join(user_site, 'Scripts') + # buildout uses 'bin' on Windows too? + if not os.path.exists(bin_py): + bin_py = os.path.join(sys.prefix, 'bin') + bin_user = os.path.join(user_site, 'bin') + + config_basename = 'pip.ini' + + legacy_storage_dir = os.path.join(user_dir, 'pip') + legacy_config_file = os.path.join( + legacy_storage_dir, + config_basename, + ) +else: + bin_py = os.path.join(sys.prefix, 'bin') + bin_user = os.path.join(user_site, 'bin') + + config_basename = 'pip.conf' + + legacy_storage_dir = os.path.join(user_dir, '.pip') + legacy_config_file = os.path.join( + legacy_storage_dir, + config_basename, + ) + # Forcing to use /usr/local/bin for standard macOS framework installs + # Also log to ~/Library/Logs/ for use with the Console.app log viewer + if sys.platform[:6] == 'darwin' and sys.prefix[:16] == '/System/Library/': + bin_py = '/usr/local/bin' + +site_config_files = [ + os.path.join(path, config_basename) + for path in appdirs.site_config_dirs('pip') +] + +venv_config_file = os.path.join(sys.prefix, config_basename) +new_config_file = os.path.join(appdirs.user_config_dir("pip"), config_basename) + + +def distutils_scheme(dist_name, user=False, home=None, root=None, + isolated=False, prefix=None): + # type:(str, bool, str, str, bool, str) -> dict + """ + Return a distutils install scheme + """ + from distutils.dist import Distribution + + scheme = {} + + if isolated: + extra_dist_args = {"script_args": ["--no-user-cfg"]} + else: + extra_dist_args = {} + dist_args = {'name': dist_name} # type: Dict[str, Union[str, List[str]]] + dist_args.update(extra_dist_args) + + d = Distribution(dist_args) + # Ignoring, typeshed issue reported python/typeshed/issues/2567 + d.parse_config_files() + # NOTE: Ignoring type since mypy can't find attributes on 'Command' + i = d.get_command_obj('install', create=True) # type: Any + assert i is not None + # NOTE: setting user or home has the side-effect of creating the home dir + # or user base for installations during finalize_options() + # ideally, we'd prefer a scheme class that has no side-effects. + assert not (user and prefix), "user={} prefix={}".format(user, prefix) + i.user = user or i.user + if user: + i.prefix = "" + i.prefix = prefix or i.prefix + i.home = home or i.home + i.root = root or i.root + i.finalize_options() + for key in SCHEME_KEYS: + scheme[key] = getattr(i, 'install_' + key) + + # install_lib specified in setup.cfg should install *everything* + # into there (i.e. it takes precedence over both purelib and + # platlib). Note, i.install_lib is *always* set after + # finalize_options(); we only want to override here if the user + # has explicitly requested it hence going back to the config + + # Ignoring, typeshed issue reported python/typeshed/issues/2567 + if 'install_lib' in d.get_option_dict('install'): # type: ignore + scheme.update(dict(purelib=i.install_lib, platlib=i.install_lib)) + + if running_under_virtualenv(): + scheme['headers'] = os.path.join( + sys.prefix, + 'include', + 'site', + 'python' + sys.version[:3], + dist_name, + ) + + if root is not None: + path_no_drive = os.path.splitdrive( + os.path.abspath(scheme["headers"]))[1] + scheme["headers"] = os.path.join( + root, + path_no_drive[1:], + ) + + return scheme diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/__init__.py new file mode 100644 index 0000000..7855226 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/__init__.py @@ -0,0 +1,2 @@ +"""A package that contains models that represent entities. +""" diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fa163dfe192f59918fe92d060b8e530bbff343ae GIT binary patch literal 286 zcmX|*O-chn5QTfPF$8jl*=8|a%9s#A{8_mR1A+?)H0?|=)7sPBbXOwd1w4ya%GQ-v zaHEw(EchN(??Lg(>2#8P{j9Hr5TDHdWW3!lY0T1yN6}>WVm5kP-sVBqFS^B?I!$@) z9cklI-unh^I+_tf#DtD=#*o1zC#zYuJ5j3fwNf7pRuOIH+9}URI58p_^JokqT7NsPY@1CDHo6oVewZiK`@~>yO5`{EW*IC#J1g= fpo}AoPFpzE1;vgbrDPa(<4ZO-7O(c*5+i;AKs#4T literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/__pycache__/candidate.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/__pycache__/candidate.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..784ee78c01770ca917fa105c3446ac85b4bceb4b GIT binary patch literal 1335 zcmaJ>OOG2x5bmCrA3NTJkSGEKGC5_W>1x+1_vZLI>OTAWhm0tvDK#2_W3~V0w_0nEz^HskXq=Qxt)Uen|cZx6#DLEjb zC;I0^^rd&^rXw-Dpe@oTP)1mXH4x%!$LDJE3`I{7$%nU|oy_W1eiIh%a< z&Eye#@^m_VI6VMu$k6wh)F!Xc%lkerk0YmXzbaRa|Fi^ch84EQ-3aD32$G~!kkk=0 zbzhM=6^?Mv`>7{9;h&S#e?>f!2GC{D+;~_T%a!65GER6Ya>1=Uz4t`cS{hkeGv?#E zvLNMLjc;XJms{g`rN{Y&=y*7WlOfi4@QZ|6$QN>DoC%$yvL=UF%tYP0pO7 zU`>t)kOSn-UF!?_dpjZM)0yJakL9Y_6>^@JdAVSj;>JY1rdR9gNM^PfwMes*4zs4W z75b{m+UGUCS=LhP0W{O}8G}5QvB+yYBh_4opw_#{t^fnf2dpc?*dOGt-;%?skV%m* zmQsE8`Q2o;$_}|MW?gjycY9cs&t}sD0PttNN={^XlBoR0q;4(y@!iDaR_@h2JLU^% zk~**VKD`%z67TQTD=^1$u|Q=4omr_%u9Bh>Qkmop>T$i&??87~febcGoPZ8#;0)<5 zJ^kp?VaD5+W)uV9;1@?T0W#Nt3EDyrW9i^Ob6e0)qx+X;y#33^`qw+-w>)|PCZZ|d^C1i-hUF?n zrQ>ddu!Zqv$+Uybor@zUnX#N8Y<{uY``9qg)xbQ*!sK6<_P?=)S4Si!%5 n#_pP66VbznJ~CYEw-39B_5BW~2RL_w8y-3#4FPZ9^s4(0^!8!o literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/__pycache__/format_control.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/__pycache__/format_control.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4aa9a4642f7953a65ad2b3857bcb70142e82f779 GIT binary patch literal 2289 zcmah~TW=dh6rS0eosAQk5?ZN1F{lzXO6)>Q1reZ1X`51niKw8h1&lU36MLP#I5X=e zcI_vJM_%|B{3EolJoPX11-_Y0(j=s?)||N=&pGp*bH2H`u;9}dfB*Dnm5{&4iO<3K z4w||P!3n1^Noa>sJ+@*iu{$;;!j?BMw__)9J8t52yrj~pP_jX|!`%bIT~VFcojLA3 zB8|!moJ1P5SPFwQOQSG|qp@IVkO(YZ{PyYQQ?~x#-ugG}`yblvuiG09yQqFQ$fGO` z;=+C;@?!43%*GUm zKumCfovK{S$&5_t#4@vY%*>k531L`+#5x?LZQx`pjZT`ettbuTsF=^vcyu_ywxdM6 zE$48w^dbHrvWD*EZ>?UIh*lDHha$f9>Fw6$DC`9?*_2sdgt@{z?`7$ao9&Gt7kj~| z^-QGCT5+`18kn7%&D$*%QOYyqvK1b;?O)&4mEW8)BQ1w`ri}M2b6uX zqvHsesJ6hP5EdGioQFo?W_eFYgGMQ|>B3`7>@s#4V`WaKl#0h` z?n3w2;omXQ@!@nvr}qARZcXeRPi{`EKAquih}%(bacc(Nnb;hyZ|fPiFOy%bFTpbS zS4GxzA?(&3ll`@ceV6?F$<&!R+}W{YdUVe2lN@WX<-mfgN5+O#j&`3s2Co4uxBZf? zjNLWV>Dmj8@Yq`eSBbTTSGZ~rM|t6fu?S>g2b>pflyb2zb&eDj9;q;p901uJQ+Nb&GLo7TiG1uQLM_ExneYq zUWRg~nU4lglR8sTLghrGAvJ+W&n#zK`hhZ*PWWbAH4I+;qQv1VUBiZ^YE}(sF5CYA D4Xq_K literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/__pycache__/index.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/__pycache__/index.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..55e6c223f4a0b2302203c509dd90894150a16359 GIT binary patch literal 1190 zcmZuw&u`N(6tB|nVqmbL1w zlXl_{;a|#?)BXi6@SLt}NLYF=-}AGdpTEyJ?DabM>i6e|Ey}KF=9!H)!?_0f z5de-7%uqrYPMk}0hMP0|q^W&@lGY`1QQ|>GukH@h>`OZ0Cne+Oi{tlPDz15HbdUzu zsi4UPX~_bqs+nM12Rzk+t02uXu61ClfR{{G0`_$R7}=&B``ws+2Z2EbFVTuj$O>V! z1WX;{PFhR6!V?c7ut}Ri1lVsdY4FyPz)XiBXxkYio)(47dF{%%6ybK=(o@NmvS-yk zrJ@vu(%PA-yzYX_#VKt_t9^*H%!R4FlAFBB>K=tDdR8e|Va9c5UD-}1zO8OiefLb{ zoN7}kAd9l9NJSYswX1o4rrL0->VX4owkXZ=RBK9qpkEj9xGH#Dh|!eiPoEvd!+ADN zRWVf6gl9%WY{pgjX*f7e4gZ$T;~6h!F?1WtCUY1a#abBNmus1HEQRbpc@aI14*PNr z>4=X;b~1)L8?MSUkBf@&T*tyn8p*lxpfev#cfldDgFU>1ySUq0?B7;D+R&B}yAFo^ zT1MZ3=^bzeO+c3k0ksI|fCr(YY~{KQ98Ey~hKi6VyBM?qKGiP3wcE338{9saZVn-f zd;hj@TZ*u4r7Y8egOnXg;a*b^f!1A0zfRNqI@6}0M@DIL&!#>|x)vehc@BxcEreLz zu}w6c*qhlOQ#bq&mvnp0`&sObjgk6g3>rugRcaJ34y^nd$h2~eD{VNl38-gfUmR?9 z7_JSh+HAXTlGE)eMdS65t6a%g~x$uR68wW&OO};e2?K g_#dIPMK`y*VY&8St;u?g?FBpFy3Xza!5u>IA0k*kMgRZ+ literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/__pycache__/link.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/__pycache__/link.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..23c242787c5c21f8340e1b18340cf77dccd76bac GIT binary patch literal 5024 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 BkC^}f literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/candidate.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/candidate.py new file mode 100644 index 0000000..4475458 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/candidate.py @@ -0,0 +1,31 @@ +from pip._vendor.packaging.version import parse as parse_version + +from pip._internal.utils.models import KeyBasedCompareMixin +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from pip._vendor.packaging.version import _BaseVersion # noqa: F401 + from pip._internal.models.link import Link # noqa: F401 + from typing import Any, Union # noqa: F401 + + +class InstallationCandidate(KeyBasedCompareMixin): + """Represents a potential "candidate" for installation. + """ + + def __init__(self, project, version, location): + # type: (Any, str, Link) -> None + self.project = project + self.version = parse_version(version) # type: _BaseVersion + self.location = location + + super(InstallationCandidate, self).__init__( + key=(self.project, self.version, self.location), + defining_class=InstallationCandidate + ) + + def __repr__(self): + # type: () -> str + return "".format( + self.project, self.version, self.location, + ) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/format_control.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/format_control.py new file mode 100644 index 0000000..971a391 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/format_control.py @@ -0,0 +1,73 @@ +from pip._vendor.packaging.utils import canonicalize_name + +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Optional, Set, FrozenSet # noqa: F401 + + +class FormatControl(object): + """Helper for managing formats from which a package can be installed. + """ + + def __init__(self, no_binary=None, only_binary=None): + # type: (Optional[Set], Optional[Set]) -> None + if no_binary is None: + no_binary = set() + if only_binary is None: + only_binary = set() + + self.no_binary = no_binary + self.only_binary = only_binary + + def __eq__(self, other): + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not self.__eq__(other) + + def __repr__(self): + return "{}({}, {})".format( + self.__class__.__name__, + self.no_binary, + self.only_binary + ) + + @staticmethod + def handle_mutual_excludes(value, target, other): + # type: (str, Optional[Set], Optional[Set]) -> None + new = value.split(',') + while ':all:' in new: + other.clear() + target.clear() + target.add(':all:') + del new[:new.index(':all:') + 1] + # Without a none, we want to discard everything as :all: covers it + if ':none:' not in new: + return + for name in new: + if name == ':none:': + target.clear() + continue + name = canonicalize_name(name) + other.discard(name) + target.add(name) + + def get_allowed_formats(self, canonical_name): + # type: (str) -> FrozenSet + result = {"binary", "source"} + if canonical_name in self.only_binary: + result.discard('source') + elif canonical_name in self.no_binary: + result.discard('binary') + elif ':all:' in self.only_binary: + result.discard('source') + elif ':all:' in self.no_binary: + result.discard('binary') + return frozenset(result) + + def disallow_binaries(self): + # type: () -> None + self.handle_mutual_excludes( + ':all:', self.no_binary, self.only_binary, + ) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/index.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/index.py new file mode 100644 index 0000000..ead1efb --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/index.py @@ -0,0 +1,31 @@ +from pip._vendor.six.moves.urllib import parse as urllib_parse + + +class PackageIndex(object): + """Represents a Package Index and provides easier access to endpoints + """ + + def __init__(self, url, file_storage_domain): + # type: (str, str) -> None + super(PackageIndex, self).__init__() + self.url = url + self.netloc = urllib_parse.urlsplit(url).netloc + self.simple_url = self._url_for_path('simple') + self.pypi_url = self._url_for_path('pypi') + + # This is part of a temporary hack used to block installs of PyPI + # packages which depend on external urls only necessary until PyPI can + # block such packages themselves + self.file_storage_domain = file_storage_domain + + def _url_for_path(self, path): + # type: (str) -> str + return urllib_parse.urljoin(self.url, path) + + +PyPI = PackageIndex( + 'https://pypi.org/', file_storage_domain='files.pythonhosted.org' +) +TestPyPI = PackageIndex( + 'https://test.pypi.org/', file_storage_domain='test-files.pythonhosted.org' +) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/link.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/link.py new file mode 100644 index 0000000..ad2f93e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/link.py @@ -0,0 +1,163 @@ +import posixpath +import re + +from pip._vendor.six.moves.urllib import parse as urllib_parse + +from pip._internal.download import path_to_url +from pip._internal.utils.misc import ( + WHEEL_EXTENSION, redact_password_from_url, splitext, +) +from pip._internal.utils.models import KeyBasedCompareMixin +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Optional, Tuple, Union, Text # noqa: F401 + from pip._internal.index import HTMLPage # noqa: F401 + + +class Link(KeyBasedCompareMixin): + """Represents a parsed link from a Package Index's simple URL + """ + + def __init__(self, url, comes_from=None, requires_python=None): + # type: (str, Optional[Union[str, HTMLPage]], Optional[str]) -> None + """ + url: + url of the resource pointed to (href of the link) + comes_from: + instance of HTMLPage where the link was found, or string. + requires_python: + String containing the `Requires-Python` metadata field, specified + in PEP 345. This may be specified by a data-requires-python + attribute in the HTML link tag, as described in PEP 503. + """ + + # url can be a UNC windows share + if url.startswith('\\\\'): + url = path_to_url(url) + + self.url = url + self.comes_from = comes_from + self.requires_python = requires_python if requires_python else None + + super(Link, self).__init__( + key=(self.url), + defining_class=Link + ) + + def __str__(self): + if self.requires_python: + rp = ' (requires-python:%s)' % self.requires_python + else: + rp = '' + if self.comes_from: + return '%s (from %s)%s' % (redact_password_from_url(self.url), + self.comes_from, rp) + else: + return redact_password_from_url(str(self.url)) + + def __repr__(self): + return '' % self + + @property + def filename(self): + # type: () -> str + _, netloc, path, _, _ = urllib_parse.urlsplit(self.url) + name = posixpath.basename(path.rstrip('/')) or netloc + name = urllib_parse.unquote(name) + assert name, ('URL %r produced no filename' % self.url) + return name + + @property + def scheme(self): + # type: () -> str + return urllib_parse.urlsplit(self.url)[0] + + @property + def netloc(self): + # type: () -> str + return urllib_parse.urlsplit(self.url)[1] + + @property + def path(self): + # type: () -> str + return urllib_parse.unquote(urllib_parse.urlsplit(self.url)[2]) + + def splitext(self): + # type: () -> Tuple[str, str] + return splitext(posixpath.basename(self.path.rstrip('/'))) + + @property + def ext(self): + # type: () -> str + return self.splitext()[1] + + @property + def url_without_fragment(self): + # type: () -> str + scheme, netloc, path, query, fragment = urllib_parse.urlsplit(self.url) + return urllib_parse.urlunsplit((scheme, netloc, path, query, None)) + + _egg_fragment_re = re.compile(r'[#&]egg=([^&]*)') + + @property + def egg_fragment(self): + # type: () -> Optional[str] + match = self._egg_fragment_re.search(self.url) + if not match: + return None + return match.group(1) + + _subdirectory_fragment_re = re.compile(r'[#&]subdirectory=([^&]*)') + + @property + def subdirectory_fragment(self): + # type: () -> Optional[str] + match = self._subdirectory_fragment_re.search(self.url) + if not match: + return None + return match.group(1) + + _hash_re = re.compile( + r'(sha1|sha224|sha384|sha256|sha512|md5)=([a-f0-9]+)' + ) + + @property + def hash(self): + # type: () -> Optional[str] + match = self._hash_re.search(self.url) + if match: + return match.group(2) + return None + + @property + def hash_name(self): + # type: () -> Optional[str] + match = self._hash_re.search(self.url) + if match: + return match.group(1) + return None + + @property + def show_url(self): + # type: () -> Optional[str] + return posixpath.basename(self.url.split('#', 1)[0].split('?', 1)[0]) + + @property + def is_wheel(self): + # type: () -> bool + return self.ext == WHEEL_EXTENSION + + @property + def is_artifact(self): + # type: () -> bool + """ + Determines if this points to an actual artifact (e.g. a tarball) or if + it points to an "abstract" thing like a path or a VCS location. + """ + from pip._internal.vcs import vcs + + if self.scheme in vcs.all_schemes: + return False + + return True diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f793a60d88264de4706f8dc56ab9c648a72f8acd GIT binary patch literal 222 zcmYL@K?=e!6hu>SAwm!0qWMa-Ac(kgR|hlr2=^0Q%d+Gyy9dMw%68#?gWnI+`x%gvOEXd`*$_9zrgp iLnB!QN~2*;C}|=0RJc5+y1NgTwK_HxuKJPIn|uI9{y${^ literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/__pycache__/check.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/__pycache__/check.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a2d7d0b5898764de543e2b5ae93e94539b06c53d GIT binary patch literal 3647 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 gQd%*aFyu{O8I;fwd6& Tuple[PackageSet, bool] + """Converts a list of distributions into a PackageSet. + """ + # Default to using all packages installed on the system + if kwargs == {}: + kwargs = {"local_only": False, "skip": ()} + + package_set = {} + problems = False + for dist in get_installed_distributions(**kwargs): + name = canonicalize_name(dist.project_name) + try: + package_set[name] = PackageDetails(dist.version, dist.requires()) + except RequirementParseError as e: + # Don't crash on broken metadata + logging.warning("Error parsing requirements for %s: %s", name, e) + problems = True + return package_set, problems + + +def check_package_set(package_set, should_ignore=None): + # type: (PackageSet, Optional[Callable[[str], bool]]) -> CheckResult + """Check if a package set is consistent + + If should_ignore is passed, it should be a callable that takes a + package name and returns a boolean. + """ + if should_ignore is None: + def should_ignore(name): + return False + + missing = dict() + conflicting = dict() + + for package_name in package_set: + # Info about dependencies of package_name + missing_deps = set() # type: Set[Missing] + conflicting_deps = set() # type: Set[Conflicting] + + if should_ignore(package_name): + continue + + for req in package_set[package_name].requires: + name = canonicalize_name(req.project_name) # type: str + + # Check if it's missing + if name not in package_set: + missed = True + if req.marker is not None: + missed = req.marker.evaluate() + if missed: + missing_deps.add((name, req)) + continue + + # Check if there's a conflict + version = package_set[name].version # type: str + if not req.specifier.contains(version, prereleases=True): + conflicting_deps.add((name, version, req)) + + if missing_deps: + missing[package_name] = sorted(missing_deps, key=str) + if conflicting_deps: + conflicting[package_name] = sorted(conflicting_deps, key=str) + + return missing, conflicting + + +def check_install_conflicts(to_install): + # type: (List[InstallRequirement]) -> Tuple[PackageSet, CheckResult] + """For checking if the dependency graph would be consistent after \ + installing given requirements + """ + # Start from the current state + package_set, _ = create_package_set_from_installed() + # Install packages + would_be_installed = _simulate_installation_of(to_install, package_set) + + # Only warn about directly-dependent packages; create a whitelist of them + whitelist = _create_whitelist(would_be_installed, package_set) + + return ( + package_set, + check_package_set( + package_set, should_ignore=lambda name: name not in whitelist + ) + ) + + +def _simulate_installation_of(to_install, package_set): + # type: (List[InstallRequirement], PackageSet) -> Set[str] + """Computes the version of packages after installing to_install. + """ + + # Keep track of packages that were installed + installed = set() + + # Modify it as installing requirement_set would (assuming no errors) + for inst_req in to_install: + dist = make_abstract_dist(inst_req).dist() + name = canonicalize_name(dist.key) + package_set[name] = PackageDetails(dist.version, dist.requires()) + + installed.add(name) + + return installed + + +def _create_whitelist(would_be_installed, package_set): + # type: (Set[str], PackageSet) -> Set[str] + packages_affected = set(would_be_installed) + + for package_name in package_set: + if package_name in packages_affected: + continue + + for req in package_set[package_name].requires: + if canonicalize_name(req.name) in packages_affected: + packages_affected.add(package_name) + break + + return packages_affected diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/freeze.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/freeze.py new file mode 100644 index 0000000..388bb73 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/freeze.py @@ -0,0 +1,247 @@ +from __future__ import absolute_import + +import collections +import logging +import os +import re + +from pip._vendor import six +from pip._vendor.packaging.utils import canonicalize_name +from pip._vendor.pkg_resources import RequirementParseError + +from pip._internal.exceptions import BadCommand, InstallationError +from pip._internal.req.constructors import ( + install_req_from_editable, install_req_from_line, +) +from pip._internal.req.req_file import COMMENT_RE +from pip._internal.utils.misc import ( + dist_is_editable, get_installed_distributions, +) +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Iterator, Optional, List, Container, Set, Dict, Tuple, Iterable, Union + ) + from pip._internal.cache import WheelCache # noqa: F401 + from pip._vendor.pkg_resources import ( # noqa: F401 + Distribution, Requirement + ) + + RequirementInfo = Tuple[Optional[Union[str, Requirement]], bool, List[str]] + + +logger = logging.getLogger(__name__) + + +def freeze( + requirement=None, # type: Optional[List[str]] + find_links=None, # type: Optional[List[str]] + local_only=None, # type: Optional[bool] + user_only=None, # type: Optional[bool] + skip_regex=None, # type: Optional[str] + isolated=False, # type: bool + wheel_cache=None, # type: Optional[WheelCache] + exclude_editable=False, # type: bool + skip=() # type: Container[str] +): + # type: (...) -> Iterator[str] + find_links = find_links or [] + skip_match = None + + if skip_regex: + skip_match = re.compile(skip_regex).search + + for link in find_links: + yield '-f %s' % link + installations = {} # type: Dict[str, FrozenRequirement] + for dist in get_installed_distributions(local_only=local_only, + skip=(), + user_only=user_only): + try: + req = FrozenRequirement.from_dist(dist) + except RequirementParseError: + logger.warning( + "Could not parse requirement: %s", + dist.project_name + ) + continue + if exclude_editable and req.editable: + continue + installations[req.name] = req + + if requirement: + # the options that don't get turned into an InstallRequirement + # should only be emitted once, even if the same option is in multiple + # requirements files, so we need to keep track of what has been emitted + # so that we don't emit it again if it's seen again + emitted_options = set() # type: Set[str] + # keep track of which files a requirement is in so that we can + # give an accurate warning if a requirement appears multiple times. + req_files = collections.defaultdict(list) # type: Dict[str, List[str]] + for req_file_path in requirement: + with open(req_file_path) as req_file: + for line in req_file: + if (not line.strip() or + line.strip().startswith('#') or + (skip_match and skip_match(line)) or + line.startswith(( + '-r', '--requirement', + '-Z', '--always-unzip', + '-f', '--find-links', + '-i', '--index-url', + '--pre', + '--trusted-host', + '--process-dependency-links', + '--extra-index-url'))): + line = line.rstrip() + if line not in emitted_options: + emitted_options.add(line) + yield line + continue + + if line.startswith('-e') or line.startswith('--editable'): + if line.startswith('-e'): + line = line[2:].strip() + else: + line = line[len('--editable'):].strip().lstrip('=') + line_req = install_req_from_editable( + line, + isolated=isolated, + wheel_cache=wheel_cache, + ) + else: + line_req = install_req_from_line( + COMMENT_RE.sub('', line).strip(), + isolated=isolated, + wheel_cache=wheel_cache, + ) + + if not line_req.name: + logger.info( + "Skipping line in requirement file [%s] because " + "it's not clear what it would install: %s", + req_file_path, line.strip(), + ) + logger.info( + " (add #egg=PackageName to the URL to avoid" + " this warning)" + ) + elif line_req.name not in installations: + # either it's not installed, or it is installed + # but has been processed already + if not req_files[line_req.name]: + logger.warning( + "Requirement file [%s] contains %s, but " + "package %r is not installed", + req_file_path, + COMMENT_RE.sub('', line).strip(), line_req.name + ) + else: + req_files[line_req.name].append(req_file_path) + else: + yield str(installations[line_req.name]).rstrip() + del installations[line_req.name] + req_files[line_req.name].append(req_file_path) + + # Warn about requirements that were included multiple times (in a + # single requirements file or in different requirements files). + for name, files in six.iteritems(req_files): + if len(files) > 1: + logger.warning("Requirement %s included multiple times [%s]", + name, ', '.join(sorted(set(files)))) + + yield( + '## The following requirements were added by ' + 'pip freeze:' + ) + for installation in sorted( + installations.values(), key=lambda x: x.name.lower()): + if canonicalize_name(installation.name) not in skip: + yield str(installation).rstrip() + + +def get_requirement_info(dist): + # type: (Distribution) -> RequirementInfo + """ + Compute and return values (req, editable, comments) for use in + FrozenRequirement.from_dist(). + """ + if not dist_is_editable(dist): + return (None, False, []) + + location = os.path.normcase(os.path.abspath(dist.location)) + + from pip._internal.vcs import vcs, RemoteNotFoundError + vc_type = vcs.get_backend_type(location) + + if not vc_type: + req = dist.as_requirement() + logger.debug( + 'No VCS found for editable requirement {!r} in: {!r}', req, + location, + ) + comments = [ + '# Editable install with no version control ({})'.format(req) + ] + return (location, True, comments) + + try: + req = vc_type.get_src_requirement(location, dist.project_name) + except RemoteNotFoundError: + req = dist.as_requirement() + comments = [ + '# Editable {} install with no remote ({})'.format( + vc_type.__name__, req, + ) + ] + return (location, True, comments) + + except BadCommand: + logger.warning( + 'cannot determine version of editable source in %s ' + '(%s command not found in path)', + location, + vc_type.name, + ) + return (None, True, []) + + except InstallationError as exc: + logger.warning( + "Error when trying to get requirement for VCS system %s, " + "falling back to uneditable format", exc + ) + else: + if req is not None: + return (req, True, []) + + logger.warning( + 'Could not determine repository location of %s', location + ) + comments = ['## !! Could not determine repository location'] + + return (None, False, comments) + + +class FrozenRequirement(object): + def __init__(self, name, req, editable, comments=()): + # type: (str, Union[str, Requirement], bool, Iterable[str]) -> None + self.name = name + self.req = req + self.editable = editable + self.comments = comments + + @classmethod + def from_dist(cls, dist): + # type: (Distribution) -> FrozenRequirement + req, editable, comments = get_requirement_info(dist) + if req is None: + req = dist.as_requirement() + + return cls(dist.project_name, req, editable, comments=comments) + + def __str__(self): + req = self.req + if self.editable: + req = '-e %s' % req + return '\n'.join(list(self.comments) + [str(req)]) + '\n' diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/prepare.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/prepare.py new file mode 100644 index 0000000..4f31dd5 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/prepare.py @@ -0,0 +1,413 @@ +"""Prepares a distribution for installation +""" + +import logging +import os + +from pip._vendor import pkg_resources, requests + +from pip._internal.build_env import BuildEnvironment +from pip._internal.download import ( + is_dir_url, is_file_url, is_vcs_url, unpack_url, url_to_path, +) +from pip._internal.exceptions import ( + DirectoryUrlHashUnsupported, HashUnpinned, InstallationError, + PreviousBuildDirError, VcsHashUnsupported, +) +from pip._internal.utils.compat import expanduser +from pip._internal.utils.hashes import MissingHashes +from pip._internal.utils.logging import indent_log +from pip._internal.utils.misc import display_path, normalize_path +from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._internal.vcs import vcs + +if MYPY_CHECK_RUNNING: + from typing import Any, Optional # noqa: F401 + from pip._internal.req.req_install import InstallRequirement # noqa: F401 + from pip._internal.index import PackageFinder # noqa: F401 + from pip._internal.download import PipSession # noqa: F401 + from pip._internal.req.req_tracker import RequirementTracker # noqa: F401 + +logger = logging.getLogger(__name__) + + +def make_abstract_dist(req): + # type: (InstallRequirement) -> DistAbstraction + """Factory to make an abstract dist object. + + Preconditions: Either an editable req with a source_dir, or satisfied_by or + a wheel link, or a non-editable req with a source_dir. + + :return: A concrete DistAbstraction. + """ + if req.editable: + return IsSDist(req) + elif req.link and req.link.is_wheel: + return IsWheel(req) + else: + return IsSDist(req) + + +class DistAbstraction(object): + """Abstracts out the wheel vs non-wheel Resolver.resolve() logic. + + The requirements for anything installable are as follows: + - we must be able to determine the requirement name + (or we can't correctly handle the non-upgrade case). + - we must be able to generate a list of run-time dependencies + without installing any additional packages (or we would + have to either burn time by doing temporary isolated installs + or alternatively violate pips 'don't start installing unless + all requirements are available' rule - neither of which are + desirable). + - for packages with setup requirements, we must also be able + to determine their requirements without installing additional + packages (for the same reason as run-time dependencies) + - we must be able to create a Distribution object exposing the + above metadata. + """ + + def __init__(self, req): + # type: (InstallRequirement) -> None + self.req = req # type: InstallRequirement + + def dist(self): + # type: () -> Any + """Return a setuptools Dist object.""" + raise NotImplementedError + + def prep_for_dist(self, finder, build_isolation): + # type: (PackageFinder, bool) -> Any + """Ensure that we can get a Dist for this requirement.""" + raise NotImplementedError + + +class IsWheel(DistAbstraction): + + def dist(self): + # type: () -> pkg_resources.Distribution + return list(pkg_resources.find_distributions( + self.req.source_dir))[0] + + def prep_for_dist(self, finder, build_isolation): + # type: (PackageFinder, bool) -> Any + # FIXME:https://github.com/pypa/pip/issues/1112 + pass + + +class IsSDist(DistAbstraction): + + def dist(self): + return self.req.get_dist() + + def prep_for_dist(self, finder, build_isolation): + # type: (PackageFinder, bool) -> None + # Prepare for building. We need to: + # 1. Load pyproject.toml (if it exists) + # 2. Set up the build environment + + self.req.load_pyproject_toml() + should_isolate = self.req.use_pep517 and build_isolation + + def _raise_conflicts(conflicting_with, conflicting_reqs): + raise InstallationError( + "Some build dependencies for %s conflict with %s: %s." % ( + self.req, conflicting_with, ', '.join( + '%s is incompatible with %s' % (installed, wanted) + for installed, wanted in sorted(conflicting)))) + + if should_isolate: + # Isolate in a BuildEnvironment and install the build-time + # requirements. + self.req.build_env = BuildEnvironment() + self.req.build_env.install_requirements( + finder, self.req.pyproject_requires, 'overlay', + "Installing build dependencies" + ) + conflicting, missing = self.req.build_env.check_requirements( + self.req.requirements_to_check + ) + if conflicting: + _raise_conflicts("PEP 517/518 supported requirements", + conflicting) + if missing: + logger.warning( + "Missing build requirements in pyproject.toml for %s.", + self.req, + ) + logger.warning( + "The project does not specify a build backend, and " + "pip cannot fall back to setuptools without %s.", + " and ".join(map(repr, sorted(missing))) + ) + # Install any extra build dependencies that the backend requests. + # This must be done in a second pass, as the pyproject.toml + # dependencies must be installed before we can call the backend. + with self.req.build_env: + # We need to have the env active when calling the hook. + self.req.spin_message = "Getting requirements to build wheel" + reqs = self.req.pep517_backend.get_requires_for_build_wheel() + conflicting, missing = self.req.build_env.check_requirements(reqs) + if conflicting: + _raise_conflicts("the backend dependencies", conflicting) + self.req.build_env.install_requirements( + finder, missing, 'normal', + "Installing backend dependencies" + ) + + self.req.prepare_metadata() + self.req.assert_source_matches_version() + + +class Installed(DistAbstraction): + + def dist(self): + # type: () -> pkg_resources.Distribution + return self.req.satisfied_by + + def prep_for_dist(self, finder, build_isolation): + # type: (PackageFinder, bool) -> Any + pass + + +class RequirementPreparer(object): + """Prepares a Requirement + """ + + def __init__( + self, + build_dir, # type: str + download_dir, # type: Optional[str] + src_dir, # type: str + wheel_download_dir, # type: Optional[str] + progress_bar, # type: str + build_isolation, # type: bool + req_tracker # type: RequirementTracker + ): + # type: (...) -> None + super(RequirementPreparer, self).__init__() + + self.src_dir = src_dir + self.build_dir = build_dir + self.req_tracker = req_tracker + + # Where still packed archives should be written to. If None, they are + # not saved, and are deleted immediately after unpacking. + self.download_dir = download_dir + + # Where still-packed .whl files should be written to. If None, they are + # written to the download_dir parameter. Separate to download_dir to + # permit only keeping wheel archives for pip wheel. + if wheel_download_dir: + wheel_download_dir = normalize_path(wheel_download_dir) + self.wheel_download_dir = wheel_download_dir + + # NOTE + # download_dir and wheel_download_dir overlap semantically and may + # be combined if we're willing to have non-wheel archives present in + # the wheelhouse output by 'pip wheel'. + + self.progress_bar = progress_bar + + # Is build isolation allowed? + self.build_isolation = build_isolation + + @property + def _download_should_save(self): + # type: () -> bool + # TODO: Modify to reduce indentation needed + if self.download_dir: + self.download_dir = expanduser(self.download_dir) + if os.path.exists(self.download_dir): + return True + else: + logger.critical('Could not find download directory') + raise InstallationError( + "Could not find or access download directory '%s'" + % display_path(self.download_dir)) + return False + + def prepare_linked_requirement( + self, + req, # type: InstallRequirement + session, # type: PipSession + finder, # type: PackageFinder + upgrade_allowed, # type: bool + require_hashes # type: bool + ): + # type: (...) -> DistAbstraction + """Prepare a requirement that would be obtained from req.link + """ + # TODO: Breakup into smaller functions + if req.link and req.link.scheme == 'file': + path = url_to_path(req.link.url) + logger.info('Processing %s', display_path(path)) + else: + logger.info('Collecting %s', req) + + with indent_log(): + # @@ if filesystem packages are not marked + # editable in a req, a non deterministic error + # occurs when the script attempts to unpack the + # build directory + req.ensure_has_source_dir(self.build_dir) + # If a checkout exists, it's unwise to keep going. version + # inconsistencies are logged later, but do not fail the + # installation. + # FIXME: this won't upgrade when there's an existing + # package unpacked in `req.source_dir` + # package unpacked in `req.source_dir` + if os.path.exists(os.path.join(req.source_dir, 'setup.py')): + raise PreviousBuildDirError( + "pip can't proceed with requirements '%s' due to a" + " pre-existing build directory (%s). This is " + "likely due to a previous installation that failed" + ". pip is being responsible and not assuming it " + "can delete this. Please delete it and try again." + % (req, req.source_dir) + ) + req.populate_link(finder, upgrade_allowed, require_hashes) + + # We can't hit this spot and have populate_link return None. + # req.satisfied_by is None here (because we're + # guarded) and upgrade has no impact except when satisfied_by + # is not None. + # Then inside find_requirement existing_applicable -> False + # If no new versions are found, DistributionNotFound is raised, + # otherwise a result is guaranteed. + assert req.link + link = req.link + + # Now that we have the real link, we can tell what kind of + # requirements we have and raise some more informative errors + # than otherwise. (For example, we can raise VcsHashUnsupported + # for a VCS URL rather than HashMissing.) + if require_hashes: + # We could check these first 2 conditions inside + # unpack_url and save repetition of conditions, but then + # we would report less-useful error messages for + # unhashable requirements, complaining that there's no + # hash provided. + if is_vcs_url(link): + raise VcsHashUnsupported() + elif is_file_url(link) and is_dir_url(link): + raise DirectoryUrlHashUnsupported() + if not req.original_link and not req.is_pinned: + # Unpinned packages are asking for trouble when a new + # version is uploaded. This isn't a security check, but + # it saves users a surprising hash mismatch in the + # future. + # + # file:/// URLs aren't pinnable, so don't complain + # about them not being pinned. + raise HashUnpinned() + + hashes = req.hashes(trust_internet=not require_hashes) + if require_hashes and not hashes: + # Known-good hashes are missing for this requirement, so + # shim it with a facade object that will provoke hash + # computation and then raise a HashMissing exception + # showing the user what the hash should be. + hashes = MissingHashes() + + try: + download_dir = self.download_dir + # We always delete unpacked sdists after pip ran. + autodelete_unpacked = True + if req.link.is_wheel and self.wheel_download_dir: + # when doing 'pip wheel` we download wheels to a + # dedicated dir. + download_dir = self.wheel_download_dir + if req.link.is_wheel: + if download_dir: + # When downloading, we only unpack wheels to get + # metadata. + autodelete_unpacked = True + else: + # When installing a wheel, we use the unpacked + # wheel. + autodelete_unpacked = False + unpack_url( + req.link, req.source_dir, + download_dir, autodelete_unpacked, + session=session, hashes=hashes, + progress_bar=self.progress_bar + ) + except requests.HTTPError as exc: + logger.critical( + 'Could not install requirement %s because of error %s', + req, + exc, + ) + raise InstallationError( + 'Could not install requirement %s because of HTTP ' + 'error %s for URL %s' % + (req, exc, req.link) + ) + abstract_dist = make_abstract_dist(req) + with self.req_tracker.track(req): + abstract_dist.prep_for_dist(finder, self.build_isolation) + if self._download_should_save: + # Make a .zip of the source_dir we already created. + if req.link.scheme in vcs.all_schemes: + req.archive(self.download_dir) + return abstract_dist + + def prepare_editable_requirement( + self, + req, # type: InstallRequirement + require_hashes, # type: bool + use_user_site, # type: bool + finder # type: PackageFinder + ): + # type: (...) -> DistAbstraction + """Prepare an editable requirement + """ + assert req.editable, "cannot prepare a non-editable req as editable" + + logger.info('Obtaining %s', req) + + with indent_log(): + if require_hashes: + raise InstallationError( + 'The editable requirement %s cannot be installed when ' + 'requiring hashes, because there is no single file to ' + 'hash.' % req + ) + req.ensure_has_source_dir(self.src_dir) + req.update_editable(not self._download_should_save) + + abstract_dist = make_abstract_dist(req) + with self.req_tracker.track(req): + abstract_dist.prep_for_dist(finder, self.build_isolation) + + if self._download_should_save: + req.archive(self.download_dir) + req.check_if_exists(use_user_site) + + return abstract_dist + + def prepare_installed_requirement(self, req, require_hashes, skip_reason): + # type: (InstallRequirement, bool, Optional[str]) -> DistAbstraction + """Prepare an already-installed requirement + """ + assert req.satisfied_by, "req should have been satisfied but isn't" + assert skip_reason is not None, ( + "did not get skip reason skipped but req.satisfied_by " + "is set to %r" % (req.satisfied_by,) + ) + logger.info( + 'Requirement %s: %s (%s)', + skip_reason, req, req.satisfied_by.version + ) + with indent_log(): + if require_hashes: + logger.debug( + 'Since it is already installed, we are trusting this ' + 'package without checking its hash. To ensure a ' + 'completely repeatable environment, install into an ' + 'empty virtualenv.' + ) + abstract_dist = Installed(req) + + return abstract_dist diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/pep425tags.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/pep425tags.py new file mode 100644 index 0000000..1e782d1 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/pep425tags.py @@ -0,0 +1,381 @@ +"""Generate and work with PEP 425 Compatibility Tags.""" +from __future__ import absolute_import + +import distutils.util +import logging +import platform +import re +import sys +import sysconfig +import warnings +from collections import OrderedDict + +import pip._internal.utils.glibc +from pip._internal.utils.compat import get_extension_suffixes +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Tuple, Callable, List, Optional, Union, Dict + ) + + Pep425Tag = Tuple[str, str, str] + +logger = logging.getLogger(__name__) + +_osx_arch_pat = re.compile(r'(.+)_(\d+)_(\d+)_(.+)') + + +def get_config_var(var): + # type: (str) -> Optional[str] + try: + return sysconfig.get_config_var(var) + except IOError as e: # Issue #1074 + warnings.warn("{}".format(e), RuntimeWarning) + return None + + +def get_abbr_impl(): + # type: () -> str + """Return abbreviated implementation name.""" + if hasattr(sys, 'pypy_version_info'): + pyimpl = 'pp' + elif sys.platform.startswith('java'): + pyimpl = 'jy' + elif sys.platform == 'cli': + pyimpl = 'ip' + else: + pyimpl = 'cp' + return pyimpl + + +def get_impl_ver(): + # type: () -> str + """Return implementation version.""" + impl_ver = get_config_var("py_version_nodot") + if not impl_ver or get_abbr_impl() == 'pp': + impl_ver = ''.join(map(str, get_impl_version_info())) + return impl_ver + + +def get_impl_version_info(): + # type: () -> Tuple[int, ...] + """Return sys.version_info-like tuple for use in decrementing the minor + version.""" + if get_abbr_impl() == 'pp': + # as per https://github.com/pypa/pip/issues/2882 + # attrs exist only on pypy + return (sys.version_info[0], + sys.pypy_version_info.major, # type: ignore + sys.pypy_version_info.minor) # type: ignore + else: + return sys.version_info[0], sys.version_info[1] + + +def get_impl_tag(): + # type: () -> str + """ + Returns the Tag for this specific implementation. + """ + return "{}{}".format(get_abbr_impl(), get_impl_ver()) + + +def get_flag(var, fallback, expected=True, warn=True): + # type: (str, Callable[..., bool], Union[bool, int], bool) -> bool + """Use a fallback method for determining SOABI flags if the needed config + var is unset or unavailable.""" + val = get_config_var(var) + if val is None: + if warn: + logger.debug("Config variable '%s' is unset, Python ABI tag may " + "be incorrect", var) + return fallback() + return val == expected + + +def get_abi_tag(): + # type: () -> Optional[str] + """Return the ABI tag based on SOABI (if available) or emulate SOABI + (CPython 2, PyPy).""" + soabi = get_config_var('SOABI') + impl = get_abbr_impl() + if not soabi and impl in {'cp', 'pp'} and hasattr(sys, 'maxunicode'): + d = '' + m = '' + u = '' + if get_flag('Py_DEBUG', + lambda: hasattr(sys, 'gettotalrefcount'), + warn=(impl == 'cp')): + d = 'd' + if get_flag('WITH_PYMALLOC', + lambda: impl == 'cp', + warn=(impl == 'cp')): + m = 'm' + if get_flag('Py_UNICODE_SIZE', + lambda: sys.maxunicode == 0x10ffff, + expected=4, + warn=(impl == 'cp' and + sys.version_info < (3, 3))) \ + and sys.version_info < (3, 3): + u = 'u' + abi = '%s%s%s%s%s' % (impl, get_impl_ver(), d, m, u) + elif soabi and soabi.startswith('cpython-'): + abi = 'cp' + soabi.split('-')[1] + elif soabi: + abi = soabi.replace('.', '_').replace('-', '_') + else: + abi = None + return abi + + +def _is_running_32bit(): + # type: () -> bool + return sys.maxsize == 2147483647 + + +def get_platform(): + # type: () -> str + """Return our platform name 'win32', 'linux_x86_64'""" + if sys.platform == 'darwin': + # distutils.util.get_platform() returns the release based on the value + # of MACOSX_DEPLOYMENT_TARGET on which Python was built, which may + # be significantly older than the user's current machine. + release, _, machine = platform.mac_ver() + split_ver = release.split('.') + + if machine == "x86_64" and _is_running_32bit(): + machine = "i386" + elif machine == "ppc64" and _is_running_32bit(): + machine = "ppc" + + return 'macosx_{}_{}_{}'.format(split_ver[0], split_ver[1], machine) + + # XXX remove distutils dependency + result = distutils.util.get_platform().replace('.', '_').replace('-', '_') + if result == "linux_x86_64" and _is_running_32bit(): + # 32 bit Python program (running on a 64 bit Linux): pip should only + # install and run 32 bit compiled extensions in that case. + result = "linux_i686" + + return result + + +def is_manylinux1_compatible(): + # type: () -> bool + # Only Linux, and only x86-64 / i686 + if get_platform() not in {"linux_x86_64", "linux_i686"}: + return False + + # Check for presence of _manylinux module + try: + import _manylinux + return bool(_manylinux.manylinux1_compatible) + except (ImportError, AttributeError): + # Fall through to heuristic check below + pass + + # Check glibc version. CentOS 5 uses glibc 2.5. + return pip._internal.utils.glibc.have_compatible_glibc(2, 5) + + +def is_manylinux2010_compatible(): + # type: () -> bool + # Only Linux, and only x86-64 / i686 + if get_platform() not in {"linux_x86_64", "linux_i686"}: + return False + + # Check for presence of _manylinux module + try: + import _manylinux + return bool(_manylinux.manylinux2010_compatible) + except (ImportError, AttributeError): + # Fall through to heuristic check below + pass + + # Check glibc version. CentOS 6 uses glibc 2.12. + return pip._internal.utils.glibc.have_compatible_glibc(2, 12) + + +def get_darwin_arches(major, minor, machine): + # type: (int, int, str) -> List[str] + """Return a list of supported arches (including group arches) for + the given major, minor and machine architecture of an macOS machine. + """ + arches = [] + + def _supports_arch(major, minor, arch): + # type: (int, int, str) -> bool + # Looking at the application support for macOS versions in the chart + # provided by https://en.wikipedia.org/wiki/OS_X#Versions it appears + # our timeline looks roughly like: + # + # 10.0 - Introduces ppc support. + # 10.4 - Introduces ppc64, i386, and x86_64 support, however the ppc64 + # and x86_64 support is CLI only, and cannot be used for GUI + # applications. + # 10.5 - Extends ppc64 and x86_64 support to cover GUI applications. + # 10.6 - Drops support for ppc64 + # 10.7 - Drops support for ppc + # + # Given that we do not know if we're installing a CLI or a GUI + # application, we must be conservative and assume it might be a GUI + # application and behave as if ppc64 and x86_64 support did not occur + # until 10.5. + # + # Note: The above information is taken from the "Application support" + # column in the chart not the "Processor support" since I believe + # that we care about what instruction sets an application can use + # not which processors the OS supports. + if arch == 'ppc': + return (major, minor) <= (10, 5) + if arch == 'ppc64': + return (major, minor) == (10, 5) + if arch == 'i386': + return (major, minor) >= (10, 4) + if arch == 'x86_64': + return (major, minor) >= (10, 5) + if arch in groups: + for garch in groups[arch]: + if _supports_arch(major, minor, garch): + return True + return False + + groups = OrderedDict([ + ("fat", ("i386", "ppc")), + ("intel", ("x86_64", "i386")), + ("fat64", ("x86_64", "ppc64")), + ("fat32", ("x86_64", "i386", "ppc")), + ]) # type: Dict[str, Tuple[str, ...]] + + if _supports_arch(major, minor, machine): + arches.append(machine) + + for garch in groups: + if machine in groups[garch] and _supports_arch(major, minor, garch): + arches.append(garch) + + arches.append('universal') + + return arches + + +def get_all_minor_versions_as_strings(version_info): + # type: (Tuple[int, ...]) -> List[str] + versions = [] + major = version_info[:-1] + # Support all previous minor Python versions. + for minor in range(version_info[-1], -1, -1): + versions.append(''.join(map(str, major + (minor,)))) + return versions + + +def get_supported( + versions=None, # type: Optional[List[str]] + noarch=False, # type: bool + platform=None, # type: Optional[str] + impl=None, # type: Optional[str] + abi=None # type: Optional[str] +): + # type: (...) -> List[Pep425Tag] + """Return a list of supported tags for each version specified in + `versions`. + + :param versions: a list of string versions, of the form ["33", "32"], + or None. The first version will be assumed to support our ABI. + :param platform: specify the exact platform you want valid + tags for, or None. If None, use the local system platform. + :param impl: specify the exact implementation you want valid + tags for, or None. If None, use the local interpreter impl. + :param abi: specify the exact abi you want valid + tags for, or None. If None, use the local interpreter abi. + """ + supported = [] + + # Versions must be given with respect to the preference + if versions is None: + version_info = get_impl_version_info() + versions = get_all_minor_versions_as_strings(version_info) + + impl = impl or get_abbr_impl() + + abis = [] # type: List[str] + + abi = abi or get_abi_tag() + if abi: + abis[0:0] = [abi] + + abi3s = set() + for suffix in get_extension_suffixes(): + if suffix.startswith('.abi'): + abi3s.add(suffix.split('.', 2)[1]) + + abis.extend(sorted(list(abi3s))) + + abis.append('none') + + if not noarch: + arch = platform or get_platform() + arch_prefix, arch_sep, arch_suffix = arch.partition('_') + if arch.startswith('macosx'): + # support macosx-10.6-intel on macosx-10.9-x86_64 + match = _osx_arch_pat.match(arch) + if match: + name, major, minor, actual_arch = match.groups() + tpl = '{}_{}_%i_%s'.format(name, major) + arches = [] + for m in reversed(range(int(minor) + 1)): + for a in get_darwin_arches(int(major), m, actual_arch): + arches.append(tpl % (m, a)) + else: + # arch pattern didn't match (?!) + arches = [arch] + elif arch_prefix == 'manylinux2010': + # manylinux1 wheels run on most manylinux2010 systems with the + # exception of wheels depending on ncurses. PEP 571 states + # manylinux1 wheels should be considered manylinux2010 wheels: + # https://www.python.org/dev/peps/pep-0571/#backwards-compatibility-with-manylinux1-wheels + arches = [arch, 'manylinux1' + arch_sep + arch_suffix] + elif platform is None: + arches = [] + if is_manylinux2010_compatible(): + arches.append('manylinux2010' + arch_sep + arch_suffix) + if is_manylinux1_compatible(): + arches.append('manylinux1' + arch_sep + arch_suffix) + arches.append(arch) + else: + arches = [arch] + + # Current version, current API (built specifically for our Python): + for abi in abis: + for arch in arches: + supported.append(('%s%s' % (impl, versions[0]), abi, arch)) + + # abi3 modules compatible with older version of Python + for version in versions[1:]: + # abi3 was introduced in Python 3.2 + if version in {'31', '30'}: + break + for abi in abi3s: # empty set if not Python 3 + for arch in arches: + supported.append(("%s%s" % (impl, version), abi, arch)) + + # Has binaries, does not use the Python API: + for arch in arches: + supported.append(('py%s' % (versions[0][0]), 'none', arch)) + + # No abi / arch, but requires our implementation: + supported.append(('%s%s' % (impl, versions[0]), 'none', 'any')) + # Tagged specifically as being cross-version compatible + # (with just the major version specified) + supported.append(('%s%s' % (impl, versions[0][0]), 'none', 'any')) + + # No abi / arch, generic Python + for i, version in enumerate(versions): + supported.append(('py%s' % (version,), 'none', 'any')) + if i == 0: + supported.append(('py%s' % (version[0]), 'none', 'any')) + + return supported + + +implementation_tag = get_impl_tag() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/pyproject.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/pyproject.py new file mode 100644 index 0000000..8d739a6 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/pyproject.py @@ -0,0 +1,171 @@ +from __future__ import absolute_import + +import io +import os +import sys + +from pip._vendor import pytoml, six + +from pip._internal.exceptions import InstallationError +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Any, Tuple, Optional, List # noqa: F401 + + +def _is_list_of_str(obj): + # type: (Any) -> bool + return ( + isinstance(obj, list) and + all(isinstance(item, six.string_types) for item in obj) + ) + + +def make_pyproject_path(setup_py_dir): + # type: (str) -> str + path = os.path.join(setup_py_dir, 'pyproject.toml') + + # Python2 __file__ should not be unicode + if six.PY2 and isinstance(path, six.text_type): + path = path.encode(sys.getfilesystemencoding()) + + return path + + +def load_pyproject_toml( + use_pep517, # type: Optional[bool] + pyproject_toml, # type: str + setup_py, # type: str + req_name # type: str +): + # type: (...) -> Optional[Tuple[List[str], str, List[str]]] + """Load the pyproject.toml file. + + Parameters: + use_pep517 - Has the user requested PEP 517 processing? None + means the user hasn't explicitly specified. + pyproject_toml - Location of the project's pyproject.toml file + setup_py - Location of the project's setup.py file + req_name - The name of the requirement we're processing (for + error reporting) + + Returns: + None if we should use the legacy code path, otherwise a tuple + ( + requirements from pyproject.toml, + name of PEP 517 backend, + requirements we should check are installed after setting + up the build environment + ) + """ + has_pyproject = os.path.isfile(pyproject_toml) + has_setup = os.path.isfile(setup_py) + + if has_pyproject: + with io.open(pyproject_toml, encoding="utf-8") as f: + pp_toml = pytoml.load(f) + build_system = pp_toml.get("build-system") + else: + build_system = None + + # The following cases must use PEP 517 + # We check for use_pep517 being non-None and falsey because that means + # the user explicitly requested --no-use-pep517. The value 0 as + # opposed to False can occur when the value is provided via an + # environment variable or config file option (due to the quirk of + # strtobool() returning an integer in pip's configuration code). + if has_pyproject and not has_setup: + if use_pep517 is not None and not use_pep517: + raise InstallationError( + "Disabling PEP 517 processing is invalid: " + "project does not have a setup.py" + ) + use_pep517 = True + elif build_system and "build-backend" in build_system: + if use_pep517 is not None and not use_pep517: + raise InstallationError( + "Disabling PEP 517 processing is invalid: " + "project specifies a build backend of {} " + "in pyproject.toml".format( + build_system["build-backend"] + ) + ) + use_pep517 = True + + # If we haven't worked out whether to use PEP 517 yet, + # and the user hasn't explicitly stated a preference, + # we do so if the project has a pyproject.toml file. + elif use_pep517 is None: + use_pep517 = has_pyproject + + # At this point, we know whether we're going to use PEP 517. + assert use_pep517 is not None + + # If we're using the legacy code path, there is nothing further + # for us to do here. + if not use_pep517: + return None + + if build_system is None: + # Either the user has a pyproject.toml with no build-system + # section, or the user has no pyproject.toml, but has opted in + # explicitly via --use-pep517. + # In the absence of any explicit backend specification, we + # assume the setuptools backend that most closely emulates the + # traditional direct setup.py execution, and require wheel and + # a version of setuptools that supports that backend. + + build_system = { + "requires": ["setuptools>=40.8.0", "wheel"], + "build-backend": "setuptools.build_meta:__legacy__", + } + + # If we're using PEP 517, we have build system information (either + # from pyproject.toml, or defaulted by the code above). + # Note that at this point, we do not know if the user has actually + # specified a backend, though. + assert build_system is not None + + # Ensure that the build-system section in pyproject.toml conforms + # to PEP 518. + error_template = ( + "{package} has a pyproject.toml file that does not comply " + "with PEP 518: {reason}" + ) + + # Specifying the build-system table but not the requires key is invalid + if "requires" not in build_system: + raise InstallationError( + error_template.format(package=req_name, reason=( + "it has a 'build-system' table but not " + "'build-system.requires' which is mandatory in the table" + )) + ) + + # Error out if requires is not a list of strings + requires = build_system["requires"] + if not _is_list_of_str(requires): + raise InstallationError(error_template.format( + package=req_name, + reason="'build-system.requires' is not a list of strings.", + )) + + backend = build_system.get("build-backend") + check = [] # type: List[str] + if backend is None: + # If the user didn't specify a backend, we assume they want to use + # the setuptools backend. But we can't be sure they have included + # a version of setuptools which supplies the backend, or wheel + # (which is needed by the backend) in their requirements. So we + # make a note to check that those requirements are present once + # we have set up the environment. + # This is quite a lot of work to check for a very specific case. But + # the problem is, that case is potentially quite common - projects that + # adopted PEP 518 early for the ability to specify requirements to + # execute setup.py, but never considered needing to mention the build + # tools themselves. The original PEP 518 code had a similar check (but + # implemented in a different way). + backend = "setuptools.build_meta:__legacy__" + check = ["setuptools>=40.8.0", "wheel"] + + return (requires, backend, check) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/__init__.py new file mode 100644 index 0000000..5e4eb92 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/__init__.py @@ -0,0 +1,77 @@ +from __future__ import absolute_import + +import logging + +from .req_install import InstallRequirement +from .req_set import RequirementSet +from .req_file import parse_requirements +from pip._internal.utils.logging import indent_log +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import List, Sequence # noqa: F401 + +__all__ = [ + "RequirementSet", "InstallRequirement", + "parse_requirements", "install_given_reqs", +] + +logger = logging.getLogger(__name__) + + +def install_given_reqs( + to_install, # type: List[InstallRequirement] + install_options, # type: List[str] + global_options=(), # type: Sequence[str] + *args, **kwargs +): + # type: (...) -> List[InstallRequirement] + """ + Install everything in the given list. + + (to be called after having downloaded and unpacked the packages) + """ + + if to_install: + logger.info( + 'Installing collected packages: %s', + ', '.join([req.name for req in to_install]), + ) + + with indent_log(): + for requirement in to_install: + if requirement.conflicts_with: + logger.info( + 'Found existing installation: %s', + requirement.conflicts_with, + ) + with indent_log(): + uninstalled_pathset = requirement.uninstall( + auto_confirm=True + ) + try: + requirement.install( + install_options, + global_options, + *args, + **kwargs + ) + except Exception: + should_rollback = ( + requirement.conflicts_with and + not requirement.install_succeeded + ) + # if install did not succeed, rollback previous uninstall + if should_rollback: + uninstalled_pathset.rollback() + raise + else: + should_commit = ( + requirement.conflicts_with and + requirement.install_succeeded + ) + if should_commit: + uninstalled_pathset.commit() + requirement.remove_temporary_source() + + return to_install diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ade1728100dd588b6f3d86dc575b20af11de315b GIT binary patch literal 1709 zcmZt`O>g5wbY|i@j+>8e7Rss|Fb5VQ(WI!b5~!+>mStJ7l+ps-TC7H{XW}>=d(!c^ zZL0J_dqM)ljT7R8K;poWU%-#>35nDGg}tzEoTOU`#+v8%HSfK7AG6+QxcJGxU%g&K z=pS@#S%AL}JNpIzLktU)U>{?H6G42!D$Ej<#PTiRRoH@9NNnFOaa&Xq$9GEIs;DKd z@0PeD7L&SP$B5Sz13NX*NSb~#Y56UXyKIrwStGLiB~FGnc>4nTH~XlMS(7y`vHt=i zyQtH80`Z^@E?U7sCPl6}jgyg7dg}?E3fd3SOb0^j@S{9dJmIMZ_2xBlmm5xd6sU|- z^;|6jt{bNePEa8uqw~rB_CCG)(Y?DL)15E2wjONV?~uZJ7-zb0cHtyXL#`IUu`&r$ zHh`iXPXnM)e9TkhAPXxXFbmR*R$zY$JNp~J1SwCWA!eA7VVTrR;C+BDFnk0fUAaKt z|AEozuZH{h=ktZh!q8HzJX7LVT5XI#w!myw{T83wdx$xop&j%Hjc)@F04}mat3>ri{>y$>$UY&U~$3h9FLJf*@ zrT4tovNQ6g7n-gyi@-Kj+J&990Yp%T$L=|v;34{f99g^QH`8}k8YCQ=fOOZ23e;BB zLAL}?FM9)-@Lm!}ITvrgbEmgG4hMlswv`-$_Y7z~km;A(TlWLaPl9m|`s27K;)C9( zl&p8}^s-p<)p?Y?Q9N3G>)q~JcYSp<262~1kzw{|oI+aCK=dGn9tASily*nsr|yPH zWhj%;=52Eqb1@s8-TrS^b~l8CBxjp|%#WPC@}bNjv-}h|(;}7A6zEu{CTX8{uwM^y zEomszeyozMPQ9>UTq3RtD^B~eu!b^DRTcdDO`{}YxI8_H^`NNb=`4<-I!9{vPD4I2 z_Wc|4AhSFSIfpVAj)K}9Kxqpb?v%v3cnOAD9&@U>8T>$vX(n?O@=ncnA*{LC*4&mX zZD&O@67nDrbWU4=in78!JSqQ+*B%1@=2e)S(NUlW8P|R*8^~NRIuFQi%ox+So;QM8 zGA*$PU>SC{2>>-LY+-_zD-L$CUE&UL;NK>sq>S7pO=4rGVqpiMjcsDEWzu=Ea4GHQ zI#--hWhz=!P0FD_z6pGO>GBowtA+y+mk*Qg7^)u&K7E~DhVJQJbx$|fvB6P zmH*Sw;}JMhj&W_z2=kaJw+x0-7*q`= literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/__pycache__/constructors.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/__pycache__/constructors.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c614795727052b8f9473bba1daf90ae8ffb0b1cd GIT binary patch literal 7631 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/__pycache__/req_file.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/__pycache__/req_file.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..01e3d06de644470b7d73bdbe1c0f7ec34d9be03d GIT binary patch literal 9234 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/__pycache__/req_install.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/__pycache__/req_install.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d574edf2d88df491f8103823c46f1363ba3b7946 GIT binary patch literal 25084 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/__pycache__/req_uninstall.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/__pycache__/req_uninstall.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..94b3018dd92b37fac2fdf2899e60de0b80e03756 GIT binary patch literal 17038 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/constructors.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/constructors.py new file mode 100644 index 0000000..1eed1dd --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/constructors.py @@ -0,0 +1,339 @@ +"""Backing implementation for InstallRequirement's various constructors + +The idea here is that these formed a major chunk of InstallRequirement's size +so, moving them and support code dedicated to them outside of that class +helps creates for better understandability for the rest of the code. + +These are meant to be used elsewhere within pip to create instances of +InstallRequirement. +""" + +import logging +import os +import re + +from pip._vendor.packaging.markers import Marker +from pip._vendor.packaging.requirements import InvalidRequirement, Requirement +from pip._vendor.packaging.specifiers import Specifier +from pip._vendor.pkg_resources import RequirementParseError, parse_requirements + +from pip._internal.download import ( + is_archive_file, is_url, path_to_url, url_to_path, +) +from pip._internal.exceptions import InstallationError +from pip._internal.models.index import PyPI, TestPyPI +from pip._internal.models.link import Link +from pip._internal.pyproject import make_pyproject_path +from pip._internal.req.req_install import InstallRequirement +from pip._internal.utils.misc import is_installable_dir +from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._internal.vcs import vcs +from pip._internal.wheel import Wheel + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Optional, Tuple, Set, Any, Union, Text, Dict, + ) + from pip._internal.cache import WheelCache # noqa: F401 + + +__all__ = [ + "install_req_from_editable", "install_req_from_line", + "parse_editable" +] + +logger = logging.getLogger(__name__) +operators = Specifier._operators.keys() + + +def _strip_extras(path): + # type: (str) -> Tuple[str, Optional[str]] + m = re.match(r'^(.+)(\[[^\]]+\])$', path) + extras = None + if m: + path_no_extras = m.group(1) + extras = m.group(2) + else: + path_no_extras = path + + return path_no_extras, extras + + +def parse_editable(editable_req): + # type: (str) -> Tuple[Optional[str], str, Optional[Set[str]]] + """Parses an editable requirement into: + - a requirement name + - an URL + - extras + - editable options + Accepted requirements: + svn+http://blahblah@rev#egg=Foobar[baz]&subdirectory=version_subdir + .[some_extra] + """ + + url = editable_req + + # If a file path is specified with extras, strip off the extras. + url_no_extras, extras = _strip_extras(url) + + if os.path.isdir(url_no_extras): + if not os.path.exists(os.path.join(url_no_extras, 'setup.py')): + msg = ( + 'File "setup.py" not found. Directory cannot be installed ' + 'in editable mode: {}'.format(os.path.abspath(url_no_extras)) + ) + pyproject_path = make_pyproject_path(url_no_extras) + if os.path.isfile(pyproject_path): + msg += ( + '\n(A "pyproject.toml" file was found, but editable ' + 'mode currently requires a setup.py based build.)' + ) + raise InstallationError(msg) + + # Treating it as code that has already been checked out + url_no_extras = path_to_url(url_no_extras) + + if url_no_extras.lower().startswith('file:'): + package_name = Link(url_no_extras).egg_fragment + if extras: + return ( + package_name, + url_no_extras, + Requirement("placeholder" + extras.lower()).extras, + ) + else: + return package_name, url_no_extras, None + + for version_control in vcs: + if url.lower().startswith('%s:' % version_control): + url = '%s+%s' % (version_control, url) + break + + if '+' not in url: + raise InstallationError( + '%s should either be a path to a local project or a VCS url ' + 'beginning with svn+, git+, hg+, or bzr+' % + editable_req + ) + + vc_type = url.split('+', 1)[0].lower() + + if not vcs.get_backend(vc_type): + error_message = 'For --editable=%s only ' % editable_req + \ + ', '.join([backend.name + '+URL' for backend in vcs.backends]) + \ + ' is currently supported' + raise InstallationError(error_message) + + package_name = Link(url).egg_fragment + if not package_name: + raise InstallationError( + "Could not detect requirement name for '%s', please specify one " + "with #egg=your_package_name" % editable_req + ) + return package_name, url, None + + +def deduce_helpful_msg(req): + # type: (str) -> str + """Returns helpful msg in case requirements file does not exist, + or cannot be parsed. + + :params req: Requirements file path + """ + msg = "" + if os.path.exists(req): + msg = " It does exist." + # Try to parse and check if it is a requirements file. + try: + with open(req, 'r') as fp: + # parse first line only + next(parse_requirements(fp.read())) + msg += " The argument you provided " + \ + "(%s) appears to be a" % (req) + \ + " requirements file. If that is the" + \ + " case, use the '-r' flag to install" + \ + " the packages specified within it." + except RequirementParseError: + logger.debug("Cannot parse '%s' as requirements \ + file" % (req), exc_info=True) + else: + msg += " File '%s' does not exist." % (req) + return msg + + +# ---- The actual constructors follow ---- + + +def install_req_from_editable( + editable_req, # type: str + comes_from=None, # type: Optional[str] + use_pep517=None, # type: Optional[bool] + isolated=False, # type: bool + options=None, # type: Optional[Dict[str, Any]] + wheel_cache=None, # type: Optional[WheelCache] + constraint=False # type: bool +): + # type: (...) -> InstallRequirement + name, url, extras_override = parse_editable(editable_req) + if url.startswith('file:'): + source_dir = url_to_path(url) + else: + source_dir = None + + if name is not None: + try: + req = Requirement(name) + except InvalidRequirement: + raise InstallationError("Invalid requirement: '%s'" % name) + else: + req = None + return InstallRequirement( + req, comes_from, source_dir=source_dir, + editable=True, + link=Link(url), + constraint=constraint, + use_pep517=use_pep517, + isolated=isolated, + options=options if options else {}, + wheel_cache=wheel_cache, + extras=extras_override or (), + ) + + +def install_req_from_line( + name, # type: str + comes_from=None, # type: Optional[Union[str, InstallRequirement]] + use_pep517=None, # type: Optional[bool] + isolated=False, # type: bool + options=None, # type: Optional[Dict[str, Any]] + wheel_cache=None, # type: Optional[WheelCache] + constraint=False # type: bool +): + # type: (...) -> InstallRequirement + """Creates an InstallRequirement from a name, which might be a + requirement, directory containing 'setup.py', filename, or URL. + """ + if is_url(name): + marker_sep = '; ' + else: + marker_sep = ';' + if marker_sep in name: + name, markers_as_string = name.split(marker_sep, 1) + markers_as_string = markers_as_string.strip() + if not markers_as_string: + markers = None + else: + markers = Marker(markers_as_string) + else: + markers = None + name = name.strip() + req_as_string = None + path = os.path.normpath(os.path.abspath(name)) + link = None + extras_as_string = None + + if is_url(name): + link = Link(name) + else: + p, extras_as_string = _strip_extras(path) + looks_like_dir = os.path.isdir(p) and ( + os.path.sep in name or + (os.path.altsep is not None and os.path.altsep in name) or + name.startswith('.') + ) + if looks_like_dir: + if not is_installable_dir(p): + raise InstallationError( + "Directory %r is not installable. Neither 'setup.py' " + "nor 'pyproject.toml' found." % name + ) + link = Link(path_to_url(p)) + elif is_archive_file(p): + if not os.path.isfile(p): + logger.warning( + 'Requirement %r looks like a filename, but the ' + 'file does not exist', + name + ) + link = Link(path_to_url(p)) + + # it's a local file, dir, or url + if link: + # Handle relative file URLs + if link.scheme == 'file' and re.search(r'\.\./', link.url): + link = Link( + path_to_url(os.path.normpath(os.path.abspath(link.path)))) + # wheel file + if link.is_wheel: + wheel = Wheel(link.filename) # can raise InvalidWheelFilename + req_as_string = "%s==%s" % (wheel.name, wheel.version) + else: + # set the req to the egg fragment. when it's not there, this + # will become an 'unnamed' requirement + req_as_string = link.egg_fragment + + # a requirement specifier + else: + req_as_string = name + + if extras_as_string: + extras = Requirement("placeholder" + extras_as_string.lower()).extras + else: + extras = () + if req_as_string is not None: + try: + req = Requirement(req_as_string) + except InvalidRequirement: + if os.path.sep in req_as_string: + add_msg = "It looks like a path." + add_msg += deduce_helpful_msg(req_as_string) + elif ('=' in req_as_string and + not any(op in req_as_string for op in operators)): + add_msg = "= is not a valid operator. Did you mean == ?" + else: + add_msg = "" + raise InstallationError( + "Invalid requirement: '%s'\n%s" % (req_as_string, add_msg) + ) + else: + req = None + + return InstallRequirement( + req, comes_from, link=link, markers=markers, + use_pep517=use_pep517, isolated=isolated, + options=options if options else {}, + wheel_cache=wheel_cache, + constraint=constraint, + extras=extras, + ) + + +def install_req_from_req_string( + req_string, # type: str + comes_from=None, # type: Optional[InstallRequirement] + isolated=False, # type: bool + wheel_cache=None, # type: Optional[WheelCache] + use_pep517=None # type: Optional[bool] +): + # type: (...) -> InstallRequirement + try: + req = Requirement(req_string) + except InvalidRequirement: + raise InstallationError("Invalid requirement: '%s'" % req) + + domains_not_allowed = [ + PyPI.file_storage_domain, + TestPyPI.file_storage_domain, + ] + if req.url and comes_from.link.netloc in domains_not_allowed: + # Explicitly disallow pypi packages that depend on external urls + raise InstallationError( + "Packages installed from PyPI cannot depend on packages " + "which are not also hosted on PyPI.\n" + "%s depends on %s " % (comes_from.name, req) + ) + + return InstallRequirement( + req, comes_from, isolated=isolated, wheel_cache=wheel_cache, + use_pep517=use_pep517 + ) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_file.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_file.py new file mode 100644 index 0000000..726f2f6 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_file.py @@ -0,0 +1,382 @@ +""" +Requirements file parsing +""" + +from __future__ import absolute_import + +import optparse +import os +import re +import shlex +import sys + +from pip._vendor.six.moves import filterfalse +from pip._vendor.six.moves.urllib import parse as urllib_parse + +from pip._internal.cli import cmdoptions +from pip._internal.download import get_file_content +from pip._internal.exceptions import RequirementsFileParseError +from pip._internal.req.constructors import ( + install_req_from_editable, install_req_from_line, +) +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Iterator, Tuple, Optional, List, Callable, Text + ) + from pip._internal.req import InstallRequirement # noqa: F401 + from pip._internal.cache import WheelCache # noqa: F401 + from pip._internal.index import PackageFinder # noqa: F401 + from pip._internal.download import PipSession # noqa: F401 + + ReqFileLines = Iterator[Tuple[int, Text]] + +__all__ = ['parse_requirements'] + +SCHEME_RE = re.compile(r'^(http|https|file):', re.I) +COMMENT_RE = re.compile(r'(^|\s)+#.*$') + +# Matches environment variable-style values in '${MY_VARIABLE_1}' with the +# variable name consisting of only uppercase letters, digits or the '_' +# (underscore). This follows the POSIX standard defined in IEEE Std 1003.1, +# 2013 Edition. +ENV_VAR_RE = re.compile(r'(?P\$\{(?P[A-Z0-9_]+)\})') + +SUPPORTED_OPTIONS = [ + cmdoptions.constraints, + cmdoptions.editable, + cmdoptions.requirements, + cmdoptions.no_index, + cmdoptions.index_url, + cmdoptions.find_links, + cmdoptions.extra_index_url, + cmdoptions.always_unzip, + cmdoptions.no_binary, + cmdoptions.only_binary, + cmdoptions.pre, + cmdoptions.trusted_host, + cmdoptions.require_hashes, +] # type: List[Callable[..., optparse.Option]] + +# options to be passed to requirements +SUPPORTED_OPTIONS_REQ = [ + cmdoptions.install_options, + cmdoptions.global_options, + cmdoptions.hash, +] # type: List[Callable[..., optparse.Option]] + +# the 'dest' string values +SUPPORTED_OPTIONS_REQ_DEST = [str(o().dest) for o in SUPPORTED_OPTIONS_REQ] + + +def parse_requirements( + filename, # type: str + finder=None, # type: Optional[PackageFinder] + comes_from=None, # type: Optional[str] + options=None, # type: Optional[optparse.Values] + session=None, # type: Optional[PipSession] + constraint=False, # type: bool + wheel_cache=None, # type: Optional[WheelCache] + use_pep517=None # type: Optional[bool] +): + # type: (...) -> Iterator[InstallRequirement] + """Parse a requirements file and yield InstallRequirement instances. + + :param filename: Path or url of requirements file. + :param finder: Instance of pip.index.PackageFinder. + :param comes_from: Origin description of requirements. + :param options: cli options. + :param session: Instance of pip.download.PipSession. + :param constraint: If true, parsing a constraint file rather than + requirements file. + :param wheel_cache: Instance of pip.wheel.WheelCache + :param use_pep517: Value of the --use-pep517 option. + """ + if session is None: + raise TypeError( + "parse_requirements() missing 1 required keyword argument: " + "'session'" + ) + + _, content = get_file_content( + filename, comes_from=comes_from, session=session + ) + + lines_enum = preprocess(content, options) + + for line_number, line in lines_enum: + req_iter = process_line(line, filename, line_number, finder, + comes_from, options, session, wheel_cache, + use_pep517=use_pep517, constraint=constraint) + for req in req_iter: + yield req + + +def preprocess(content, options): + # type: (Text, Optional[optparse.Values]) -> ReqFileLines + """Split, filter, and join lines, and return a line iterator + + :param content: the content of the requirements file + :param options: cli options + """ + lines_enum = enumerate(content.splitlines(), start=1) # type: ReqFileLines + lines_enum = join_lines(lines_enum) + lines_enum = ignore_comments(lines_enum) + lines_enum = skip_regex(lines_enum, options) + lines_enum = expand_env_variables(lines_enum) + return lines_enum + + +def process_line( + line, # type: Text + filename, # type: str + line_number, # type: int + finder=None, # type: Optional[PackageFinder] + comes_from=None, # type: Optional[str] + options=None, # type: Optional[optparse.Values] + session=None, # type: Optional[PipSession] + wheel_cache=None, # type: Optional[WheelCache] + use_pep517=None, # type: Optional[bool] + constraint=False # type: bool +): + # type: (...) -> Iterator[InstallRequirement] + """Process a single requirements line; This can result in creating/yielding + requirements, or updating the finder. + + For lines that contain requirements, the only options that have an effect + are from SUPPORTED_OPTIONS_REQ, and they are scoped to the + requirement. Other options from SUPPORTED_OPTIONS may be present, but are + ignored. + + For lines that do not contain requirements, the only options that have an + effect are from SUPPORTED_OPTIONS. Options from SUPPORTED_OPTIONS_REQ may + be present, but are ignored. These lines may contain multiple options + (although our docs imply only one is supported), and all our parsed and + affect the finder. + + :param constraint: If True, parsing a constraints file. + :param options: OptionParser options that we may update + """ + parser = build_parser(line) + defaults = parser.get_default_values() + defaults.index_url = None + if finder: + defaults.format_control = finder.format_control + args_str, options_str = break_args_options(line) + # Prior to 2.7.3, shlex cannot deal with unicode entries + if sys.version_info < (2, 7, 3): + # https://github.com/python/mypy/issues/1174 + options_str = options_str.encode('utf8') # type: ignore + # https://github.com/python/mypy/issues/1174 + opts, _ = parser.parse_args( + shlex.split(options_str), defaults) # type: ignore + + # preserve for the nested code path + line_comes_from = '%s %s (line %s)' % ( + '-c' if constraint else '-r', filename, line_number, + ) + + # yield a line requirement + if args_str: + isolated = options.isolated_mode if options else False + if options: + cmdoptions.check_install_build_global(options, opts) + # get the options that apply to requirements + req_options = {} + for dest in SUPPORTED_OPTIONS_REQ_DEST: + if dest in opts.__dict__ and opts.__dict__[dest]: + req_options[dest] = opts.__dict__[dest] + yield install_req_from_line( + args_str, line_comes_from, constraint=constraint, + use_pep517=use_pep517, + isolated=isolated, options=req_options, wheel_cache=wheel_cache + ) + + # yield an editable requirement + elif opts.editables: + isolated = options.isolated_mode if options else False + yield install_req_from_editable( + opts.editables[0], comes_from=line_comes_from, + use_pep517=use_pep517, + constraint=constraint, isolated=isolated, wheel_cache=wheel_cache + ) + + # parse a nested requirements file + elif opts.requirements or opts.constraints: + if opts.requirements: + req_path = opts.requirements[0] + nested_constraint = False + else: + req_path = opts.constraints[0] + nested_constraint = True + # original file is over http + if SCHEME_RE.search(filename): + # do a url join so relative paths work + req_path = urllib_parse.urljoin(filename, req_path) + # original file and nested file are paths + elif not SCHEME_RE.search(req_path): + # do a join so relative paths work + req_path = os.path.join(os.path.dirname(filename), req_path) + # TODO: Why not use `comes_from='-r {} (line {})'` here as well? + parsed_reqs = parse_requirements( + req_path, finder, comes_from, options, session, + constraint=nested_constraint, wheel_cache=wheel_cache + ) + for req in parsed_reqs: + yield req + + # percolate hash-checking option upward + elif opts.require_hashes: + options.require_hashes = opts.require_hashes + + # set finder options + elif finder: + if opts.index_url: + finder.index_urls = [opts.index_url] + if opts.no_index is True: + finder.index_urls = [] + if opts.extra_index_urls: + finder.index_urls.extend(opts.extra_index_urls) + if opts.find_links: + # FIXME: it would be nice to keep track of the source + # of the find_links: support a find-links local path + # relative to a requirements file. + value = opts.find_links[0] + req_dir = os.path.dirname(os.path.abspath(filename)) + relative_to_reqs_file = os.path.join(req_dir, value) + if os.path.exists(relative_to_reqs_file): + value = relative_to_reqs_file + finder.find_links.append(value) + if opts.pre: + finder.allow_all_prereleases = True + if opts.trusted_hosts: + finder.secure_origins.extend( + ("*", host, "*") for host in opts.trusted_hosts) + + +def break_args_options(line): + # type: (Text) -> Tuple[str, Text] + """Break up the line into an args and options string. We only want to shlex + (and then optparse) the options, not the args. args can contain markers + which are corrupted by shlex. + """ + tokens = line.split(' ') + args = [] + options = tokens[:] + for token in tokens: + if token.startswith('-') or token.startswith('--'): + break + else: + args.append(token) + options.pop(0) + return ' '.join(args), ' '.join(options) # type: ignore + + +def build_parser(line): + # type: (Text) -> optparse.OptionParser + """ + Return a parser for parsing requirement lines + """ + parser = optparse.OptionParser(add_help_option=False) + + option_factories = SUPPORTED_OPTIONS + SUPPORTED_OPTIONS_REQ + for option_factory in option_factories: + option = option_factory() + parser.add_option(option) + + # By default optparse sys.exits on parsing errors. We want to wrap + # that in our own exception. + def parser_exit(self, msg): + # add offending line + msg = 'Invalid requirement: %s\n%s' % (line, msg) + raise RequirementsFileParseError(msg) + # NOTE: mypy disallows assigning to a method + # https://github.com/python/mypy/issues/2427 + parser.exit = parser_exit # type: ignore + + return parser + + +def join_lines(lines_enum): + # type: (ReqFileLines) -> ReqFileLines + """Joins a line ending in '\' with the previous line (except when following + comments). The joined line takes on the index of the first line. + """ + primary_line_number = None + new_line = [] # type: List[Text] + for line_number, line in lines_enum: + if not line.endswith('\\') or COMMENT_RE.match(line): + if COMMENT_RE.match(line): + # this ensures comments are always matched later + line = ' ' + line + if new_line: + new_line.append(line) + yield primary_line_number, ''.join(new_line) + new_line = [] + else: + yield line_number, line + else: + if not new_line: + primary_line_number = line_number + new_line.append(line.strip('\\')) + + # last line contains \ + if new_line: + yield primary_line_number, ''.join(new_line) + + # TODO: handle space after '\'. + + +def ignore_comments(lines_enum): + # type: (ReqFileLines) -> ReqFileLines + """ + Strips comments and filter empty lines. + """ + for line_number, line in lines_enum: + line = COMMENT_RE.sub('', line) + line = line.strip() + if line: + yield line_number, line + + +def skip_regex(lines_enum, options): + # type: (ReqFileLines, Optional[optparse.Values]) -> ReqFileLines + """ + Skip lines that match '--skip-requirements-regex' pattern + + Note: the regex pattern is only built once + """ + skip_regex = options.skip_requirements_regex if options else None + if skip_regex: + pattern = re.compile(skip_regex) + lines_enum = filterfalse(lambda e: pattern.search(e[1]), lines_enum) + return lines_enum + + +def expand_env_variables(lines_enum): + # type: (ReqFileLines) -> ReqFileLines + """Replace all environment variables that can be retrieved via `os.getenv`. + + The only allowed format for environment variables defined in the + requirement file is `${MY_VARIABLE_1}` to ensure two things: + + 1. Strings that contain a `$` aren't accidentally (partially) expanded. + 2. Ensure consistency across platforms for requirement files. + + These points are the result of a discusssion on the `github pull + request #3514 `_. + + Valid characters in variable names follow the `POSIX standard + `_ and are limited + to uppercase letter, digits and the `_` (underscore). + """ + for line_number, line in lines_enum: + for env_var, var_name in ENV_VAR_RE.findall(line): + value = os.getenv(var_name) + if not value: + continue + + line = line.replace(env_var, value) + + yield line_number, line diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_install.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_install.py new file mode 100644 index 0000000..a4834b0 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_install.py @@ -0,0 +1,1021 @@ +from __future__ import absolute_import + +import logging +import os +import shutil +import sys +import sysconfig +import zipfile +from distutils.util import change_root + +from pip._vendor import pkg_resources, six +from pip._vendor.packaging.requirements import Requirement +from pip._vendor.packaging.utils import canonicalize_name +from pip._vendor.packaging.version import Version +from pip._vendor.packaging.version import parse as parse_version +from pip._vendor.pep517.wrappers import Pep517HookCaller + +from pip._internal import wheel +from pip._internal.build_env import NoOpBuildEnvironment +from pip._internal.exceptions import InstallationError +from pip._internal.locations import ( + PIP_DELETE_MARKER_FILENAME, running_under_virtualenv, +) +from pip._internal.models.link import Link +from pip._internal.pyproject import load_pyproject_toml, make_pyproject_path +from pip._internal.req.req_uninstall import UninstallPathSet +from pip._internal.utils.compat import native_str +from pip._internal.utils.hashes import Hashes +from pip._internal.utils.logging import indent_log +from pip._internal.utils.misc import ( + _make_build_dir, ask_path_exists, backup_dir, call_subprocess, + display_path, dist_in_site_packages, dist_in_usersite, ensure_dir, + get_installed_version, redact_password_from_url, rmtree, +) +from pip._internal.utils.packaging import get_metadata +from pip._internal.utils.setuptools_build import SETUPTOOLS_SHIM +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._internal.utils.ui import open_spinner +from pip._internal.vcs import vcs +from pip._internal.wheel import move_wheel_files + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Optional, Iterable, List, Union, Any, Text, Sequence, Dict + ) + from pip._internal.build_env import BuildEnvironment # noqa: F401 + from pip._internal.cache import WheelCache # noqa: F401 + from pip._internal.index import PackageFinder # noqa: F401 + from pip._vendor.pkg_resources import Distribution # noqa: F401 + from pip._vendor.packaging.specifiers import SpecifierSet # noqa: F401 + from pip._vendor.packaging.markers import Marker # noqa: F401 + + +logger = logging.getLogger(__name__) + + +class InstallRequirement(object): + """ + Represents something that may be installed later on, may have information + about where to fetch the relavant requirement and also contains logic for + installing the said requirement. + """ + + def __init__( + self, + req, # type: Optional[Requirement] + comes_from, # type: Optional[Union[str, InstallRequirement]] + source_dir=None, # type: Optional[str] + editable=False, # type: bool + link=None, # type: Optional[Link] + update=True, # type: bool + markers=None, # type: Optional[Marker] + use_pep517=None, # type: Optional[bool] + isolated=False, # type: bool + options=None, # type: Optional[Dict[str, Any]] + wheel_cache=None, # type: Optional[WheelCache] + constraint=False, # type: bool + extras=() # type: Iterable[str] + ): + # type: (...) -> None + assert req is None or isinstance(req, Requirement), req + self.req = req + self.comes_from = comes_from + self.constraint = constraint + if source_dir is not None: + self.source_dir = os.path.normpath(os.path.abspath(source_dir)) + else: + self.source_dir = None + self.editable = editable + + self._wheel_cache = wheel_cache + if link is None and req and req.url: + # PEP 508 URL requirement + link = Link(req.url) + self.link = self.original_link = link + + if extras: + self.extras = extras + elif req: + self.extras = { + pkg_resources.safe_extra(extra) for extra in req.extras + } + else: + self.extras = set() + if markers is None and req: + markers = req.marker + self.markers = markers + + self._egg_info_path = None # type: Optional[str] + # This holds the pkg_resources.Distribution object if this requirement + # is already available: + self.satisfied_by = None + # This hold the pkg_resources.Distribution object if this requirement + # conflicts with another installed distribution: + self.conflicts_with = None + # Temporary build location + self._temp_build_dir = TempDirectory(kind="req-build") + # Used to store the global directory where the _temp_build_dir should + # have been created. Cf _correct_build_location method. + self._ideal_build_dir = None # type: Optional[str] + # True if the editable should be updated: + self.update = update + # Set to True after successful installation + self.install_succeeded = None # type: Optional[bool] + # UninstallPathSet of uninstalled distribution (for possible rollback) + self.uninstalled_pathset = None + self.options = options if options else {} + # Set to True after successful preparation of this requirement + self.prepared = False + self.is_direct = False + + self.isolated = isolated + self.build_env = NoOpBuildEnvironment() # type: BuildEnvironment + + # For PEP 517, the directory where we request the project metadata + # gets stored. We need this to pass to build_wheel, so the backend + # can ensure that the wheel matches the metadata (see the PEP for + # details). + self.metadata_directory = None # type: Optional[str] + + # The static build requirements (from pyproject.toml) + self.pyproject_requires = None # type: Optional[List[str]] + + # Build requirements that we will check are available + self.requirements_to_check = [] # type: List[str] + + # The PEP 517 backend we should use to build the project + self.pep517_backend = None # type: Optional[Pep517HookCaller] + + # Are we using PEP 517 for this requirement? + # After pyproject.toml has been loaded, the only valid values are True + # and False. Before loading, None is valid (meaning "use the default"). + # Setting an explicit value before loading pyproject.toml is supported, + # but after loading this flag should be treated as read only. + self.use_pep517 = use_pep517 + + def __str__(self): + if self.req: + s = str(self.req) + if self.link: + s += ' from %s' % redact_password_from_url(self.link.url) + elif self.link: + s = redact_password_from_url(self.link.url) + else: + s = '' + if self.satisfied_by is not None: + s += ' in %s' % display_path(self.satisfied_by.location) + if self.comes_from: + if isinstance(self.comes_from, six.string_types): + comes_from = self.comes_from + else: + comes_from = self.comes_from.from_path() + if comes_from: + s += ' (from %s)' % comes_from + return s + + def __repr__(self): + return '<%s object: %s editable=%r>' % ( + self.__class__.__name__, str(self), self.editable) + + def populate_link(self, finder, upgrade, require_hashes): + # type: (PackageFinder, bool, bool) -> None + """Ensure that if a link can be found for this, that it is found. + + Note that self.link may still be None - if Upgrade is False and the + requirement is already installed. + + If require_hashes is True, don't use the wheel cache, because cached + wheels, always built locally, have different hashes than the files + downloaded from the index server and thus throw false hash mismatches. + Furthermore, cached wheels at present have undeterministic contents due + to file modification times. + """ + if self.link is None: + self.link = finder.find_requirement(self, upgrade) + if self._wheel_cache is not None and not require_hashes: + old_link = self.link + self.link = self._wheel_cache.get(self.link, self.name) + if old_link != self.link: + logger.debug('Using cached wheel link: %s', self.link) + + # Things that are valid for all kinds of requirements? + @property + def name(self): + # type: () -> Optional[str] + if self.req is None: + return None + return native_str(pkg_resources.safe_name(self.req.name)) + + @property + def specifier(self): + # type: () -> SpecifierSet + return self.req.specifier + + @property + def is_pinned(self): + # type: () -> bool + """Return whether I am pinned to an exact version. + + For example, some-package==1.2 is pinned; some-package>1.2 is not. + """ + specifiers = self.specifier + return (len(specifiers) == 1 and + next(iter(specifiers)).operator in {'==', '==='}) + + @property + def installed_version(self): + return get_installed_version(self.name) + + def match_markers(self, extras_requested=None): + # type: (Optional[Iterable[str]]) -> bool + if not extras_requested: + # Provide an extra to safely evaluate the markers + # without matching any extra + extras_requested = ('',) + if self.markers is not None: + return any( + self.markers.evaluate({'extra': extra}) + for extra in extras_requested) + else: + return True + + @property + def has_hash_options(self): + # type: () -> bool + """Return whether any known-good hashes are specified as options. + + These activate --require-hashes mode; hashes specified as part of a + URL do not. + + """ + return bool(self.options.get('hashes', {})) + + def hashes(self, trust_internet=True): + # type: (bool) -> Hashes + """Return a hash-comparer that considers my option- and URL-based + hashes to be known-good. + + Hashes in URLs--ones embedded in the requirements file, not ones + downloaded from an index server--are almost peers with ones from + flags. They satisfy --require-hashes (whether it was implicitly or + explicitly activated) but do not activate it. md5 and sha224 are not + allowed in flags, which should nudge people toward good algos. We + always OR all hashes together, even ones from URLs. + + :param trust_internet: Whether to trust URL-based (#md5=...) hashes + downloaded from the internet, as by populate_link() + + """ + good_hashes = self.options.get('hashes', {}).copy() + link = self.link if trust_internet else self.original_link + if link and link.hash: + good_hashes.setdefault(link.hash_name, []).append(link.hash) + return Hashes(good_hashes) + + def from_path(self): + # type: () -> Optional[str] + """Format a nice indicator to show where this "comes from" + """ + if self.req is None: + return None + s = str(self.req) + if self.comes_from: + if isinstance(self.comes_from, six.string_types): + comes_from = self.comes_from + else: + comes_from = self.comes_from.from_path() + if comes_from: + s += '->' + comes_from + return s + + def build_location(self, build_dir): + # type: (str) -> Optional[str] + assert build_dir is not None + if self._temp_build_dir.path is not None: + return self._temp_build_dir.path + if self.req is None: + # for requirement via a path to a directory: the name of the + # package is not available yet so we create a temp directory + # Once run_egg_info will have run, we'll be able + # to fix it via _correct_build_location + # Some systems have /tmp as a symlink which confuses custom + # builds (such as numpy). Thus, we ensure that the real path + # is returned. + self._temp_build_dir.create() + self._ideal_build_dir = build_dir + + return self._temp_build_dir.path + if self.editable: + name = self.name.lower() + else: + name = self.name + # FIXME: Is there a better place to create the build_dir? (hg and bzr + # need this) + if not os.path.exists(build_dir): + logger.debug('Creating directory %s', build_dir) + _make_build_dir(build_dir) + return os.path.join(build_dir, name) + + def _correct_build_location(self): + # type: () -> None + """Move self._temp_build_dir to self._ideal_build_dir/self.req.name + + For some requirements (e.g. a path to a directory), the name of the + package is not available until we run egg_info, so the build_location + will return a temporary directory and store the _ideal_build_dir. + + This is only called by self.run_egg_info to fix the temporary build + directory. + """ + if self.source_dir is not None: + return + assert self.req is not None + assert self._temp_build_dir.path + assert (self._ideal_build_dir is not None and + self._ideal_build_dir.path) # type: ignore + old_location = self._temp_build_dir.path + self._temp_build_dir.path = None + + new_location = self.build_location(self._ideal_build_dir) + if os.path.exists(new_location): + raise InstallationError( + 'A package already exists in %s; please remove it to continue' + % display_path(new_location)) + logger.debug( + 'Moving package %s from %s to new location %s', + self, display_path(old_location), display_path(new_location), + ) + shutil.move(old_location, new_location) + self._temp_build_dir.path = new_location + self._ideal_build_dir = None + self.source_dir = os.path.normpath(os.path.abspath(new_location)) + self._egg_info_path = None + + # Correct the metadata directory, if it exists + if self.metadata_directory: + old_meta = self.metadata_directory + rel = os.path.relpath(old_meta, start=old_location) + new_meta = os.path.join(new_location, rel) + new_meta = os.path.normpath(os.path.abspath(new_meta)) + self.metadata_directory = new_meta + + def remove_temporary_source(self): + # type: () -> None + """Remove the source files from this requirement, if they are marked + for deletion""" + if self.source_dir and os.path.exists( + os.path.join(self.source_dir, PIP_DELETE_MARKER_FILENAME)): + logger.debug('Removing source in %s', self.source_dir) + rmtree(self.source_dir) + self.source_dir = None + self._temp_build_dir.cleanup() + self.build_env.cleanup() + + def check_if_exists(self, use_user_site): + # type: (bool) -> bool + """Find an installed distribution that satisfies or conflicts + with this requirement, and set self.satisfied_by or + self.conflicts_with appropriately. + """ + if self.req is None: + return False + try: + # get_distribution() will resolve the entire list of requirements + # anyway, and we've already determined that we need the requirement + # in question, so strip the marker so that we don't try to + # evaluate it. + no_marker = Requirement(str(self.req)) + no_marker.marker = None + self.satisfied_by = pkg_resources.get_distribution(str(no_marker)) + if self.editable and self.satisfied_by: + self.conflicts_with = self.satisfied_by + # when installing editables, nothing pre-existing should ever + # satisfy + self.satisfied_by = None + return True + except pkg_resources.DistributionNotFound: + return False + except pkg_resources.VersionConflict: + existing_dist = pkg_resources.get_distribution( + self.req.name + ) + if use_user_site: + if dist_in_usersite(existing_dist): + self.conflicts_with = existing_dist + elif (running_under_virtualenv() and + dist_in_site_packages(existing_dist)): + raise InstallationError( + "Will not install to the user site because it will " + "lack sys.path precedence to %s in %s" % + (existing_dist.project_name, existing_dist.location) + ) + else: + self.conflicts_with = existing_dist + return True + + # Things valid for wheels + @property + def is_wheel(self): + # type: () -> bool + if not self.link: + return False + return self.link.is_wheel + + def move_wheel_files( + self, + wheeldir, # type: str + root=None, # type: Optional[str] + home=None, # type: Optional[str] + prefix=None, # type: Optional[str] + warn_script_location=True, # type: bool + use_user_site=False, # type: bool + pycompile=True # type: bool + ): + # type: (...) -> None + move_wheel_files( + self.name, self.req, wheeldir, + user=use_user_site, + home=home, + root=root, + prefix=prefix, + pycompile=pycompile, + isolated=self.isolated, + warn_script_location=warn_script_location, + ) + + # Things valid for sdists + @property + def setup_py_dir(self): + # type: () -> str + return os.path.join( + self.source_dir, + self.link and self.link.subdirectory_fragment or '') + + @property + def setup_py(self): + # type: () -> str + assert self.source_dir, "No source dir for %s" % self + + setup_py = os.path.join(self.setup_py_dir, 'setup.py') + + # Python2 __file__ should not be unicode + if six.PY2 and isinstance(setup_py, six.text_type): + setup_py = setup_py.encode(sys.getfilesystemencoding()) + + return setup_py + + @property + def pyproject_toml(self): + # type: () -> str + assert self.source_dir, "No source dir for %s" % self + + return make_pyproject_path(self.setup_py_dir) + + def load_pyproject_toml(self): + # type: () -> None + """Load the pyproject.toml file. + + After calling this routine, all of the attributes related to PEP 517 + processing for this requirement have been set. In particular, the + use_pep517 attribute can be used to determine whether we should + follow the PEP 517 or legacy (setup.py) code path. + """ + pep517_data = load_pyproject_toml( + self.use_pep517, + self.pyproject_toml, + self.setup_py, + str(self) + ) + + if pep517_data is None: + self.use_pep517 = False + else: + self.use_pep517 = True + requires, backend, check = pep517_data + self.requirements_to_check = check + self.pyproject_requires = requires + self.pep517_backend = Pep517HookCaller(self.setup_py_dir, backend) + + # Use a custom function to call subprocesses + self.spin_message = "" + + def runner(cmd, cwd=None, extra_environ=None): + with open_spinner(self.spin_message) as spinner: + call_subprocess( + cmd, + cwd=cwd, + extra_environ=extra_environ, + show_stdout=False, + spinner=spinner + ) + self.spin_message = "" + + self.pep517_backend._subprocess_runner = runner + + def prepare_metadata(self): + # type: () -> None + """Ensure that project metadata is available. + + Under PEP 517, call the backend hook to prepare the metadata. + Under legacy processing, call setup.py egg-info. + """ + assert self.source_dir + + with indent_log(): + if self.use_pep517: + self.prepare_pep517_metadata() + else: + self.run_egg_info() + + if not self.req: + if isinstance(parse_version(self.metadata["Version"]), Version): + op = "==" + else: + op = "===" + self.req = Requirement( + "".join([ + self.metadata["Name"], + op, + self.metadata["Version"], + ]) + ) + self._correct_build_location() + else: + metadata_name = canonicalize_name(self.metadata["Name"]) + if canonicalize_name(self.req.name) != metadata_name: + logger.warning( + 'Generating metadata for package %s ' + 'produced metadata for project name %s. Fix your ' + '#egg=%s fragments.', + self.name, metadata_name, self.name + ) + self.req = Requirement(metadata_name) + + def prepare_pep517_metadata(self): + # type: () -> None + assert self.pep517_backend is not None + + metadata_dir = os.path.join( + self.setup_py_dir, + 'pip-wheel-metadata' + ) + ensure_dir(metadata_dir) + + with self.build_env: + # Note that Pep517HookCaller implements a fallback for + # prepare_metadata_for_build_wheel, so we don't have to + # consider the possibility that this hook doesn't exist. + backend = self.pep517_backend + self.spin_message = "Preparing wheel metadata" + distinfo_dir = backend.prepare_metadata_for_build_wheel( + metadata_dir + ) + + self.metadata_directory = os.path.join(metadata_dir, distinfo_dir) + + def run_egg_info(self): + # type: () -> None + if self.name: + logger.debug( + 'Running setup.py (path:%s) egg_info for package %s', + self.setup_py, self.name, + ) + else: + logger.debug( + 'Running setup.py (path:%s) egg_info for package from %s', + self.setup_py, self.link, + ) + script = SETUPTOOLS_SHIM % self.setup_py + base_cmd = [sys.executable, '-c', script] + if self.isolated: + base_cmd += ["--no-user-cfg"] + egg_info_cmd = base_cmd + ['egg_info'] + # We can't put the .egg-info files at the root, because then the + # source code will be mistaken for an installed egg, causing + # problems + if self.editable: + egg_base_option = [] # type: List[str] + else: + egg_info_dir = os.path.join(self.setup_py_dir, 'pip-egg-info') + ensure_dir(egg_info_dir) + egg_base_option = ['--egg-base', 'pip-egg-info'] + with self.build_env: + call_subprocess( + egg_info_cmd + egg_base_option, + cwd=self.setup_py_dir, + show_stdout=False, + command_desc='python setup.py egg_info') + + @property + def egg_info_path(self): + # type: () -> str + if self._egg_info_path is None: + if self.editable: + base = self.source_dir + else: + base = os.path.join(self.setup_py_dir, 'pip-egg-info') + filenames = os.listdir(base) + if self.editable: + filenames = [] + for root, dirs, files in os.walk(base): + for dir in vcs.dirnames: + if dir in dirs: + dirs.remove(dir) + # Iterate over a copy of ``dirs``, since mutating + # a list while iterating over it can cause trouble. + # (See https://github.com/pypa/pip/pull/462.) + for dir in list(dirs): + # Don't search in anything that looks like a virtualenv + # environment + if ( + os.path.lexists( + os.path.join(root, dir, 'bin', 'python') + ) or + os.path.exists( + os.path.join( + root, dir, 'Scripts', 'Python.exe' + ) + )): + dirs.remove(dir) + # Also don't search through tests + elif dir == 'test' or dir == 'tests': + dirs.remove(dir) + filenames.extend([os.path.join(root, dir) + for dir in dirs]) + filenames = [f for f in filenames if f.endswith('.egg-info')] + + if not filenames: + raise InstallationError( + "Files/directories not found in %s" % base + ) + # if we have more than one match, we pick the toplevel one. This + # can easily be the case if there is a dist folder which contains + # an extracted tarball for testing purposes. + if len(filenames) > 1: + filenames.sort( + key=lambda x: x.count(os.path.sep) + + (os.path.altsep and x.count(os.path.altsep) or 0) + ) + self._egg_info_path = os.path.join(base, filenames[0]) + return self._egg_info_path + + @property + def metadata(self): + if not hasattr(self, '_metadata'): + self._metadata = get_metadata(self.get_dist()) + + return self._metadata + + def get_dist(self): + # type: () -> Distribution + """Return a pkg_resources.Distribution for this requirement""" + if self.metadata_directory: + base_dir, distinfo = os.path.split(self.metadata_directory) + metadata = pkg_resources.PathMetadata( + base_dir, self.metadata_directory + ) + dist_name = os.path.splitext(distinfo)[0] + typ = pkg_resources.DistInfoDistribution + else: + egg_info = self.egg_info_path.rstrip(os.path.sep) + base_dir = os.path.dirname(egg_info) + metadata = pkg_resources.PathMetadata(base_dir, egg_info) + dist_name = os.path.splitext(os.path.basename(egg_info))[0] + # https://github.com/python/mypy/issues/1174 + typ = pkg_resources.Distribution # type: ignore + + return typ( + base_dir, + project_name=dist_name, + metadata=metadata, + ) + + def assert_source_matches_version(self): + # type: () -> None + assert self.source_dir + version = self.metadata['version'] + if self.req.specifier and version not in self.req.specifier: + logger.warning( + 'Requested %s, but installing version %s', + self, + version, + ) + else: + logger.debug( + 'Source in %s has version %s, which satisfies requirement %s', + display_path(self.source_dir), + version, + self, + ) + + # For both source distributions and editables + def ensure_has_source_dir(self, parent_dir): + # type: (str) -> str + """Ensure that a source_dir is set. + + This will create a temporary build dir if the name of the requirement + isn't known yet. + + :param parent_dir: The ideal pip parent_dir for the source_dir. + Generally src_dir for editables and build_dir for sdists. + :return: self.source_dir + """ + if self.source_dir is None: + self.source_dir = self.build_location(parent_dir) + return self.source_dir + + # For editable installations + def install_editable( + self, + install_options, # type: List[str] + global_options=(), # type: Sequence[str] + prefix=None # type: Optional[str] + ): + # type: (...) -> None + logger.info('Running setup.py develop for %s', self.name) + + if self.isolated: + global_options = list(global_options) + ["--no-user-cfg"] + + if prefix: + prefix_param = ['--prefix={}'.format(prefix)] + install_options = list(install_options) + prefix_param + + with indent_log(): + # FIXME: should we do --install-headers here too? + with self.build_env: + call_subprocess( + [ + sys.executable, + '-c', + SETUPTOOLS_SHIM % self.setup_py + ] + + list(global_options) + + ['develop', '--no-deps'] + + list(install_options), + + cwd=self.setup_py_dir, + show_stdout=False, + ) + + self.install_succeeded = True + + def update_editable(self, obtain=True): + # type: (bool) -> None + if not self.link: + logger.debug( + "Cannot update repository at %s; repository location is " + "unknown", + self.source_dir, + ) + return + assert self.editable + assert self.source_dir + if self.link.scheme == 'file': + # Static paths don't get updated + return + assert '+' in self.link.url, "bad url: %r" % self.link.url + if not self.update: + return + vc_type, url = self.link.url.split('+', 1) + backend = vcs.get_backend(vc_type) + if backend: + vcs_backend = backend(self.link.url) + if obtain: + vcs_backend.obtain(self.source_dir) + else: + vcs_backend.export(self.source_dir) + else: + assert 0, ( + 'Unexpected version control type (in %s): %s' + % (self.link, vc_type)) + + # Top-level Actions + def uninstall(self, auto_confirm=False, verbose=False, + use_user_site=False): + # type: (bool, bool, bool) -> Optional[UninstallPathSet] + """ + Uninstall the distribution currently satisfying this requirement. + + Prompts before removing or modifying files unless + ``auto_confirm`` is True. + + Refuses to delete or modify files outside of ``sys.prefix`` - + thus uninstallation within a virtual environment can only + modify that virtual environment, even if the virtualenv is + linked to global site-packages. + + """ + if not self.check_if_exists(use_user_site): + logger.warning("Skipping %s as it is not installed.", self.name) + return None + dist = self.satisfied_by or self.conflicts_with + + uninstalled_pathset = UninstallPathSet.from_dist(dist) + uninstalled_pathset.remove(auto_confirm, verbose) + return uninstalled_pathset + + def _clean_zip_name(self, name, prefix): # only used by archive. + assert name.startswith(prefix + os.path.sep), ( + "name %r doesn't start with prefix %r" % (name, prefix) + ) + name = name[len(prefix) + 1:] + name = name.replace(os.path.sep, '/') + return name + + def _get_archive_name(self, path, parentdir, rootdir): + # type: (str, str, str) -> str + path = os.path.join(parentdir, path) + name = self._clean_zip_name(path, rootdir) + return self.name + '/' + name + + # TODO: Investigate if this should be kept in InstallRequirement + # Seems to be used only when VCS + downloads + def archive(self, build_dir): + # type: (str) -> None + assert self.source_dir + create_archive = True + archive_name = '%s-%s.zip' % (self.name, self.metadata["version"]) + archive_path = os.path.join(build_dir, archive_name) + if os.path.exists(archive_path): + response = ask_path_exists( + 'The file %s exists. (i)gnore, (w)ipe, (b)ackup, (a)bort ' % + display_path(archive_path), ('i', 'w', 'b', 'a')) + if response == 'i': + create_archive = False + elif response == 'w': + logger.warning('Deleting %s', display_path(archive_path)) + os.remove(archive_path) + elif response == 'b': + dest_file = backup_dir(archive_path) + logger.warning( + 'Backing up %s to %s', + display_path(archive_path), + display_path(dest_file), + ) + shutil.move(archive_path, dest_file) + elif response == 'a': + sys.exit(-1) + if create_archive: + zip = zipfile.ZipFile( + archive_path, 'w', zipfile.ZIP_DEFLATED, + allowZip64=True + ) + dir = os.path.normcase(os.path.abspath(self.setup_py_dir)) + for dirpath, dirnames, filenames in os.walk(dir): + if 'pip-egg-info' in dirnames: + dirnames.remove('pip-egg-info') + for dirname in dirnames: + dir_arcname = self._get_archive_name(dirname, + parentdir=dirpath, + rootdir=dir) + zipdir = zipfile.ZipInfo(dir_arcname + '/') + zipdir.external_attr = 0x1ED << 16 # 0o755 + zip.writestr(zipdir, '') + for filename in filenames: + if filename == PIP_DELETE_MARKER_FILENAME: + continue + file_arcname = self._get_archive_name(filename, + parentdir=dirpath, + rootdir=dir) + filename = os.path.join(dirpath, filename) + zip.write(filename, file_arcname) + zip.close() + logger.info('Saved %s', display_path(archive_path)) + + def install( + self, + install_options, # type: List[str] + global_options=None, # type: Optional[Sequence[str]] + root=None, # type: Optional[str] + home=None, # type: Optional[str] + prefix=None, # type: Optional[str] + warn_script_location=True, # type: bool + use_user_site=False, # type: bool + pycompile=True # type: bool + ): + # type: (...) -> None + global_options = global_options if global_options is not None else [] + if self.editable: + self.install_editable( + install_options, global_options, prefix=prefix, + ) + return + if self.is_wheel: + version = wheel.wheel_version(self.source_dir) + wheel.check_compatibility(version, self.name) + + self.move_wheel_files( + self.source_dir, root=root, prefix=prefix, home=home, + warn_script_location=warn_script_location, + use_user_site=use_user_site, pycompile=pycompile, + ) + self.install_succeeded = True + return + + # Extend the list of global and install options passed on to + # the setup.py call with the ones from the requirements file. + # Options specified in requirements file override those + # specified on the command line, since the last option given + # to setup.py is the one that is used. + global_options = list(global_options) + \ + self.options.get('global_options', []) + install_options = list(install_options) + \ + self.options.get('install_options', []) + + if self.isolated: + # https://github.com/python/mypy/issues/1174 + global_options = global_options + ["--no-user-cfg"] # type: ignore + + with TempDirectory(kind="record") as temp_dir: + record_filename = os.path.join(temp_dir.path, 'install-record.txt') + install_args = self.get_install_args( + global_options, record_filename, root, prefix, pycompile, + ) + msg = 'Running setup.py install for %s' % (self.name,) + with open_spinner(msg) as spinner: + with indent_log(): + with self.build_env: + call_subprocess( + install_args + install_options, + cwd=self.setup_py_dir, + show_stdout=False, + spinner=spinner, + ) + + if not os.path.exists(record_filename): + logger.debug('Record file %s not found', record_filename) + return + self.install_succeeded = True + + def prepend_root(path): + if root is None or not os.path.isabs(path): + return path + else: + return change_root(root, path) + + with open(record_filename) as f: + for line in f: + directory = os.path.dirname(line) + if directory.endswith('.egg-info'): + egg_info_dir = prepend_root(directory) + break + else: + logger.warning( + 'Could not find .egg-info directory in install record' + ' for %s', + self, + ) + # FIXME: put the record somewhere + # FIXME: should this be an error? + return + new_lines = [] + with open(record_filename) as f: + for line in f: + filename = line.strip() + if os.path.isdir(filename): + filename += os.path.sep + new_lines.append( + os.path.relpath(prepend_root(filename), egg_info_dir) + ) + new_lines.sort() + ensure_dir(egg_info_dir) + inst_files_path = os.path.join(egg_info_dir, 'installed-files.txt') + with open(inst_files_path, 'w') as f: + f.write('\n'.join(new_lines) + '\n') + + def get_install_args( + self, + global_options, # type: Sequence[str] + record_filename, # type: str + root, # type: Optional[str] + prefix, # type: Optional[str] + pycompile # type: bool + ): + # type: (...) -> List[str] + install_args = [sys.executable, "-u"] + install_args.append('-c') + install_args.append(SETUPTOOLS_SHIM % self.setup_py) + install_args += list(global_options) + \ + ['install', '--record', record_filename] + install_args += ['--single-version-externally-managed'] + + if root is not None: + install_args += ['--root', root] + if prefix is not None: + install_args += ['--prefix', prefix] + + if pycompile: + install_args += ["--compile"] + else: + install_args += ["--no-compile"] + + if running_under_virtualenv(): + py_ver_str = 'python' + sysconfig.get_python_version() + install_args += ['--install-headers', + os.path.join(sys.prefix, 'include', 'site', + py_ver_str, self.name)] + + return install_args diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_set.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_set.py new file mode 100644 index 0000000..d1410e9 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_set.py @@ -0,0 +1,197 @@ +from __future__ import absolute_import + +import logging +from collections import OrderedDict + +from pip._internal.exceptions import InstallationError +from pip._internal.utils.logging import indent_log +from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._internal.wheel import Wheel + +if MYPY_CHECK_RUNNING: + from typing import Optional, List, Tuple, Dict, Iterable # noqa: F401 + from pip._internal.req.req_install import InstallRequirement # noqa: F401 + + +logger = logging.getLogger(__name__) + + +class RequirementSet(object): + + def __init__(self, require_hashes=False, check_supported_wheels=True): + # type: (bool, bool) -> None + """Create a RequirementSet. + """ + + self.requirements = OrderedDict() # type: Dict[str, InstallRequirement] # noqa: E501 + self.require_hashes = require_hashes + self.check_supported_wheels = check_supported_wheels + + # Mapping of alias: real_name + self.requirement_aliases = {} # type: Dict[str, str] + self.unnamed_requirements = [] # type: List[InstallRequirement] + self.successfully_downloaded = [] # type: List[InstallRequirement] + self.reqs_to_cleanup = [] # type: List[InstallRequirement] + + def __str__(self): + reqs = [req for req in self.requirements.values() + if not req.comes_from] + reqs.sort(key=lambda req: req.name.lower()) + return ' '.join([str(req.req) for req in reqs]) + + def __repr__(self): + reqs = [req for req in self.requirements.values()] + reqs.sort(key=lambda req: req.name.lower()) + reqs_str = ', '.join([str(req.req) for req in reqs]) + return ('<%s object; %d requirement(s): %s>' + % (self.__class__.__name__, len(reqs), reqs_str)) + + def add_requirement( + self, + install_req, # type: InstallRequirement + parent_req_name=None, # type: Optional[str] + extras_requested=None # type: Optional[Iterable[str]] + ): + # type: (...) -> Tuple[List[InstallRequirement], Optional[InstallRequirement]] # noqa: E501 + """Add install_req as a requirement to install. + + :param parent_req_name: The name of the requirement that needed this + added. The name is used because when multiple unnamed requirements + resolve to the same name, we could otherwise end up with dependency + links that point outside the Requirements set. parent_req must + already be added. Note that None implies that this is a user + supplied requirement, vs an inferred one. + :param extras_requested: an iterable of extras used to evaluate the + environment markers. + :return: Additional requirements to scan. That is either [] if + the requirement is not applicable, or [install_req] if the + requirement is applicable and has just been added. + """ + name = install_req.name + + # If the markers do not match, ignore this requirement. + if not install_req.match_markers(extras_requested): + logger.info( + "Ignoring %s: markers '%s' don't match your environment", + name, install_req.markers, + ) + return [], None + + # If the wheel is not supported, raise an error. + # Should check this after filtering out based on environment markers to + # allow specifying different wheels based on the environment/OS, in a + # single requirements file. + if install_req.link and install_req.link.is_wheel: + wheel = Wheel(install_req.link.filename) + if self.check_supported_wheels and not wheel.supported(): + raise InstallationError( + "%s is not a supported wheel on this platform." % + wheel.filename + ) + + # This next bit is really a sanity check. + assert install_req.is_direct == (parent_req_name is None), ( + "a direct req shouldn't have a parent and also, " + "a non direct req should have a parent" + ) + + # Unnamed requirements are scanned again and the requirement won't be + # added as a dependency until after scanning. + if not name: + # url or path requirement w/o an egg fragment + self.unnamed_requirements.append(install_req) + return [install_req], None + + try: + existing_req = self.get_requirement(name) + except KeyError: + existing_req = None + + has_conflicting_requirement = ( + parent_req_name is None and + existing_req and + not existing_req.constraint and + existing_req.extras == install_req.extras and + existing_req.req.specifier != install_req.req.specifier + ) + if has_conflicting_requirement: + raise InstallationError( + "Double requirement given: %s (already in %s, name=%r)" + % (install_req, existing_req, name) + ) + + # When no existing requirement exists, add the requirement as a + # dependency and it will be scanned again after. + if not existing_req: + self.requirements[name] = install_req + # FIXME: what about other normalizations? E.g., _ vs. -? + if name.lower() != name: + self.requirement_aliases[name.lower()] = name + # We'd want to rescan this requirements later + return [install_req], install_req + + # Assume there's no need to scan, and that we've already + # encountered this for scanning. + if install_req.constraint or not existing_req.constraint: + return [], existing_req + + does_not_satisfy_constraint = ( + install_req.link and + not ( + existing_req.link and + install_req.link.path == existing_req.link.path + ) + ) + if does_not_satisfy_constraint: + self.reqs_to_cleanup.append(install_req) + raise InstallationError( + "Could not satisfy constraints for '%s': " + "installation from path or url cannot be " + "constrained to a version" % name, + ) + # If we're now installing a constraint, mark the existing + # object for real installation. + existing_req.constraint = False + existing_req.extras = tuple(sorted( + set(existing_req.extras) | set(install_req.extras) + )) + logger.debug( + "Setting %s extras to: %s", + existing_req, existing_req.extras, + ) + # Return the existing requirement for addition to the parent and + # scanning again. + return [existing_req], existing_req + + def has_requirement(self, project_name): + # type: (str) -> bool + name = project_name.lower() + if (name in self.requirements and + not self.requirements[name].constraint or + name in self.requirement_aliases and + not self.requirements[self.requirement_aliases[name]].constraint): + return True + return False + + @property + def has_requirements(self): + # type: () -> List[InstallRequirement] + return list(req for req in self.requirements.values() if not + req.constraint) or self.unnamed_requirements + + def get_requirement(self, project_name): + # type: (str) -> InstallRequirement + for name in project_name, project_name.lower(): + if name in self.requirements: + return self.requirements[name] + if name in self.requirement_aliases: + return self.requirements[self.requirement_aliases[name]] + raise KeyError("No project with the name %r" % project_name) + + def cleanup_files(self): + # type: () -> None + """Clean up files, remove builds.""" + logger.debug('Cleaning up...') + with indent_log(): + for req in self.reqs_to_cleanup: + req.remove_temporary_source() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_tracker.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_tracker.py new file mode 100644 index 0000000..82e084a --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_tracker.py @@ -0,0 +1,88 @@ +from __future__ import absolute_import + +import contextlib +import errno +import hashlib +import logging +import os + +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Set, Iterator # noqa: F401 + from pip._internal.req.req_install import InstallRequirement # noqa: F401 + from pip._internal.models.link import Link # noqa: F401 + +logger = logging.getLogger(__name__) + + +class RequirementTracker(object): + + def __init__(self): + # type: () -> None + self._root = os.environ.get('PIP_REQ_TRACKER') + if self._root is None: + self._temp_dir = TempDirectory(delete=False, kind='req-tracker') + self._temp_dir.create() + self._root = os.environ['PIP_REQ_TRACKER'] = self._temp_dir.path + logger.debug('Created requirements tracker %r', self._root) + else: + self._temp_dir = None + logger.debug('Re-using requirements tracker %r', self._root) + self._entries = set() # type: Set[InstallRequirement] + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + self.cleanup() + + def _entry_path(self, link): + # type: (Link) -> str + hashed = hashlib.sha224(link.url_without_fragment.encode()).hexdigest() + return os.path.join(self._root, hashed) + + def add(self, req): + # type: (InstallRequirement) -> None + link = req.link + info = str(req) + entry_path = self._entry_path(link) + try: + with open(entry_path) as fp: + # Error, these's already a build in progress. + raise LookupError('%s is already being built: %s' + % (link, fp.read())) + except IOError as e: + if e.errno != errno.ENOENT: + raise + assert req not in self._entries + with open(entry_path, 'w') as fp: + fp.write(info) + self._entries.add(req) + logger.debug('Added %s to build tracker %r', req, self._root) + + def remove(self, req): + # type: (InstallRequirement) -> None + link = req.link + self._entries.remove(req) + os.unlink(self._entry_path(link)) + logger.debug('Removed %s from build tracker %r', req, self._root) + + def cleanup(self): + # type: () -> None + for req in set(self._entries): + self.remove(req) + remove = self._temp_dir is not None + if remove: + self._temp_dir.cleanup() + logger.debug('%s build tracker %r', + 'Removed' if remove else 'Cleaned', + self._root) + + @contextlib.contextmanager + def track(self, req): + # type: (InstallRequirement) -> Iterator[None] + self.add(req) + yield + self.remove(req) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_uninstall.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_uninstall.py new file mode 100644 index 0000000..c80959e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_uninstall.py @@ -0,0 +1,596 @@ +from __future__ import absolute_import + +import csv +import functools +import logging +import os +import sys +import sysconfig + +from pip._vendor import pkg_resources + +from pip._internal.exceptions import UninstallationError +from pip._internal.locations import bin_py, bin_user +from pip._internal.utils.compat import WINDOWS, cache_from_source, uses_pycache +from pip._internal.utils.logging import indent_log +from pip._internal.utils.misc import ( + FakeFile, ask, dist_in_usersite, dist_is_local, egg_link_path, is_local, + normalize_path, renames, rmtree, +) +from pip._internal.utils.temp_dir import AdjacentTempDirectory, TempDirectory + +logger = logging.getLogger(__name__) + + +def _script_names(dist, script_name, is_gui): + """Create the fully qualified name of the files created by + {console,gui}_scripts for the given ``dist``. + Returns the list of file names + """ + if dist_in_usersite(dist): + bin_dir = bin_user + else: + bin_dir = bin_py + exe_name = os.path.join(bin_dir, script_name) + paths_to_remove = [exe_name] + if WINDOWS: + paths_to_remove.append(exe_name + '.exe') + paths_to_remove.append(exe_name + '.exe.manifest') + if is_gui: + paths_to_remove.append(exe_name + '-script.pyw') + else: + paths_to_remove.append(exe_name + '-script.py') + return paths_to_remove + + +def _unique(fn): + @functools.wraps(fn) + def unique(*args, **kw): + seen = set() + for item in fn(*args, **kw): + if item not in seen: + seen.add(item) + yield item + return unique + + +@_unique +def uninstallation_paths(dist): + """ + Yield all the uninstallation paths for dist based on RECORD-without-.py[co] + + Yield paths to all the files in RECORD. For each .py file in RECORD, add + the .pyc and .pyo in the same directory. + + UninstallPathSet.add() takes care of the __pycache__ .py[co]. + """ + r = csv.reader(FakeFile(dist.get_metadata_lines('RECORD'))) + for row in r: + path = os.path.join(dist.location, row[0]) + yield path + if path.endswith('.py'): + dn, fn = os.path.split(path) + base = fn[:-3] + path = os.path.join(dn, base + '.pyc') + yield path + path = os.path.join(dn, base + '.pyo') + yield path + + +def compact(paths): + """Compact a path set to contain the minimal number of paths + necessary to contain all paths in the set. If /a/path/ and + /a/path/to/a/file.txt are both in the set, leave only the + shorter path.""" + + sep = os.path.sep + short_paths = set() + for path in sorted(paths, key=len): + should_skip = any( + path.startswith(shortpath.rstrip("*")) and + path[len(shortpath.rstrip("*").rstrip(sep))] == sep + for shortpath in short_paths + ) + if not should_skip: + short_paths.add(path) + return short_paths + + +def compress_for_rename(paths): + """Returns a set containing the paths that need to be renamed. + + This set may include directories when the original sequence of paths + included every file on disk. + """ + case_map = dict((os.path.normcase(p), p) for p in paths) + remaining = set(case_map) + unchecked = sorted(set(os.path.split(p)[0] + for p in case_map.values()), key=len) + wildcards = set() + + def norm_join(*a): + return os.path.normcase(os.path.join(*a)) + + for root in unchecked: + if any(os.path.normcase(root).startswith(w) + for w in wildcards): + # This directory has already been handled. + continue + + all_files = set() + all_subdirs = set() + for dirname, subdirs, files in os.walk(root): + all_subdirs.update(norm_join(root, dirname, d) + for d in subdirs) + all_files.update(norm_join(root, dirname, f) + for f in files) + # If all the files we found are in our remaining set of files to + # remove, then remove them from the latter set and add a wildcard + # for the directory. + if not (all_files - remaining): + remaining.difference_update(all_files) + wildcards.add(root + os.sep) + + return set(map(case_map.__getitem__, remaining)) | wildcards + + +def compress_for_output_listing(paths): + """Returns a tuple of 2 sets of which paths to display to user + + The first set contains paths that would be deleted. Files of a package + are not added and the top-level directory of the package has a '*' added + at the end - to signify that all it's contents are removed. + + The second set contains files that would have been skipped in the above + folders. + """ + + will_remove = list(paths) + will_skip = set() + + # Determine folders and files + folders = set() + files = set() + for path in will_remove: + if path.endswith(".pyc"): + continue + if path.endswith("__init__.py") or ".dist-info" in path: + folders.add(os.path.dirname(path)) + files.add(path) + + _normcased_files = set(map(os.path.normcase, files)) + + folders = compact(folders) + + # This walks the tree using os.walk to not miss extra folders + # that might get added. + for folder in folders: + for dirpath, _, dirfiles in os.walk(folder): + for fname in dirfiles: + if fname.endswith(".pyc"): + continue + + file_ = os.path.join(dirpath, fname) + if (os.path.isfile(file_) and + os.path.normcase(file_) not in _normcased_files): + # We are skipping this file. Add it to the set. + will_skip.add(file_) + + will_remove = files | { + os.path.join(folder, "*") for folder in folders + } + + return will_remove, will_skip + + +class StashedUninstallPathSet(object): + """A set of file rename operations to stash files while + tentatively uninstalling them.""" + def __init__(self): + # Mapping from source file root to [Adjacent]TempDirectory + # for files under that directory. + self._save_dirs = {} + # (old path, new path) tuples for each move that may need + # to be undone. + self._moves = [] + + def _get_directory_stash(self, path): + """Stashes a directory. + + Directories are stashed adjacent to their original location if + possible, or else moved/copied into the user's temp dir.""" + + try: + save_dir = AdjacentTempDirectory(path) + save_dir.create() + except OSError: + save_dir = TempDirectory(kind="uninstall") + save_dir.create() + self._save_dirs[os.path.normcase(path)] = save_dir + + return save_dir.path + + def _get_file_stash(self, path): + """Stashes a file. + + If no root has been provided, one will be created for the directory + in the user's temp directory.""" + path = os.path.normcase(path) + head, old_head = os.path.dirname(path), None + save_dir = None + + while head != old_head: + try: + save_dir = self._save_dirs[head] + break + except KeyError: + pass + head, old_head = os.path.dirname(head), head + else: + # Did not find any suitable root + head = os.path.dirname(path) + save_dir = TempDirectory(kind='uninstall') + save_dir.create() + self._save_dirs[head] = save_dir + + relpath = os.path.relpath(path, head) + if relpath and relpath != os.path.curdir: + return os.path.join(save_dir.path, relpath) + return save_dir.path + + def stash(self, path): + """Stashes the directory or file and returns its new location. + """ + if os.path.isdir(path): + new_path = self._get_directory_stash(path) + else: + new_path = self._get_file_stash(path) + + self._moves.append((path, new_path)) + if os.path.isdir(path) and os.path.isdir(new_path): + # If we're moving a directory, we need to + # remove the destination first or else it will be + # moved to inside the existing directory. + # We just created new_path ourselves, so it will + # be removable. + os.rmdir(new_path) + renames(path, new_path) + return new_path + + def commit(self): + """Commits the uninstall by removing stashed files.""" + for _, save_dir in self._save_dirs.items(): + save_dir.cleanup() + self._moves = [] + self._save_dirs = {} + + def rollback(self): + """Undoes the uninstall by moving stashed files back.""" + for p in self._moves: + logging.info("Moving to %s\n from %s", *p) + + for new_path, path in self._moves: + try: + logger.debug('Replacing %s from %s', new_path, path) + if os.path.isfile(new_path): + os.unlink(new_path) + elif os.path.isdir(new_path): + rmtree(new_path) + renames(path, new_path) + except OSError as ex: + logger.error("Failed to restore %s", new_path) + logger.debug("Exception: %s", ex) + + self.commit() + + @property + def can_rollback(self): + return bool(self._moves) + + +class UninstallPathSet(object): + """A set of file paths to be removed in the uninstallation of a + requirement.""" + def __init__(self, dist): + self.paths = set() + self._refuse = set() + self.pth = {} + self.dist = dist + self._moved_paths = StashedUninstallPathSet() + + def _permitted(self, path): + """ + Return True if the given path is one we are permitted to + remove/modify, False otherwise. + + """ + return is_local(path) + + def add(self, path): + head, tail = os.path.split(path) + + # we normalize the head to resolve parent directory symlinks, but not + # the tail, since we only want to uninstall symlinks, not their targets + path = os.path.join(normalize_path(head), os.path.normcase(tail)) + + if not os.path.exists(path): + return + if self._permitted(path): + self.paths.add(path) + else: + self._refuse.add(path) + + # __pycache__ files can show up after 'installed-files.txt' is created, + # due to imports + if os.path.splitext(path)[1] == '.py' and uses_pycache: + self.add(cache_from_source(path)) + + def add_pth(self, pth_file, entry): + pth_file = normalize_path(pth_file) + if self._permitted(pth_file): + if pth_file not in self.pth: + self.pth[pth_file] = UninstallPthEntries(pth_file) + self.pth[pth_file].add(entry) + else: + self._refuse.add(pth_file) + + def remove(self, auto_confirm=False, verbose=False): + """Remove paths in ``self.paths`` with confirmation (unless + ``auto_confirm`` is True).""" + + if not self.paths: + logger.info( + "Can't uninstall '%s'. No files were found to uninstall.", + self.dist.project_name, + ) + return + + dist_name_version = ( + self.dist.project_name + "-" + self.dist.version + ) + logger.info('Uninstalling %s:', dist_name_version) + + with indent_log(): + if auto_confirm or self._allowed_to_proceed(verbose): + moved = self._moved_paths + + for_rename = compress_for_rename(self.paths) + + for path in sorted(compact(for_rename)): + moved.stash(path) + logger.debug('Removing file or directory %s', path) + + for pth in self.pth.values(): + pth.remove() + + logger.info('Successfully uninstalled %s', dist_name_version) + + def _allowed_to_proceed(self, verbose): + """Display which files would be deleted and prompt for confirmation + """ + + def _display(msg, paths): + if not paths: + return + + logger.info(msg) + with indent_log(): + for path in sorted(compact(paths)): + logger.info(path) + + if not verbose: + will_remove, will_skip = compress_for_output_listing(self.paths) + else: + # In verbose mode, display all the files that are going to be + # deleted. + will_remove = list(self.paths) + will_skip = set() + + _display('Would remove:', will_remove) + _display('Would not remove (might be manually added):', will_skip) + _display('Would not remove (outside of prefix):', self._refuse) + if verbose: + _display('Will actually move:', compress_for_rename(self.paths)) + + return ask('Proceed (y/n)? ', ('y', 'n')) == 'y' + + def rollback(self): + """Rollback the changes previously made by remove().""" + if not self._moved_paths.can_rollback: + logger.error( + "Can't roll back %s; was not uninstalled", + self.dist.project_name, + ) + return False + logger.info('Rolling back uninstall of %s', self.dist.project_name) + self._moved_paths.rollback() + for pth in self.pth.values(): + pth.rollback() + + def commit(self): + """Remove temporary save dir: rollback will no longer be possible.""" + self._moved_paths.commit() + + @classmethod + def from_dist(cls, dist): + dist_path = normalize_path(dist.location) + if not dist_is_local(dist): + logger.info( + "Not uninstalling %s at %s, outside environment %s", + dist.key, + dist_path, + sys.prefix, + ) + return cls(dist) + + if dist_path in {p for p in {sysconfig.get_path("stdlib"), + sysconfig.get_path("platstdlib")} + if p}: + logger.info( + "Not uninstalling %s at %s, as it is in the standard library.", + dist.key, + dist_path, + ) + return cls(dist) + + paths_to_remove = cls(dist) + develop_egg_link = egg_link_path(dist) + develop_egg_link_egg_info = '{}.egg-info'.format( + pkg_resources.to_filename(dist.project_name)) + egg_info_exists = dist.egg_info and os.path.exists(dist.egg_info) + # Special case for distutils installed package + distutils_egg_info = getattr(dist._provider, 'path', None) + + # Uninstall cases order do matter as in the case of 2 installs of the + # same package, pip needs to uninstall the currently detected version + if (egg_info_exists and dist.egg_info.endswith('.egg-info') and + not dist.egg_info.endswith(develop_egg_link_egg_info)): + # if dist.egg_info.endswith(develop_egg_link_egg_info), we + # are in fact in the develop_egg_link case + paths_to_remove.add(dist.egg_info) + if dist.has_metadata('installed-files.txt'): + for installed_file in dist.get_metadata( + 'installed-files.txt').splitlines(): + path = os.path.normpath( + os.path.join(dist.egg_info, installed_file) + ) + paths_to_remove.add(path) + # FIXME: need a test for this elif block + # occurs with --single-version-externally-managed/--record outside + # of pip + elif dist.has_metadata('top_level.txt'): + if dist.has_metadata('namespace_packages.txt'): + namespaces = dist.get_metadata('namespace_packages.txt') + else: + namespaces = [] + for top_level_pkg in [ + p for p + in dist.get_metadata('top_level.txt').splitlines() + if p and p not in namespaces]: + path = os.path.join(dist.location, top_level_pkg) + paths_to_remove.add(path) + paths_to_remove.add(path + '.py') + paths_to_remove.add(path + '.pyc') + paths_to_remove.add(path + '.pyo') + + elif distutils_egg_info: + raise UninstallationError( + "Cannot uninstall {!r}. It is a distutils installed project " + "and thus we cannot accurately determine which files belong " + "to it which would lead to only a partial uninstall.".format( + dist.project_name, + ) + ) + + elif dist.location.endswith('.egg'): + # package installed by easy_install + # We cannot match on dist.egg_name because it can slightly vary + # i.e. setuptools-0.6c11-py2.6.egg vs setuptools-0.6rc11-py2.6.egg + paths_to_remove.add(dist.location) + easy_install_egg = os.path.split(dist.location)[1] + easy_install_pth = os.path.join(os.path.dirname(dist.location), + 'easy-install.pth') + paths_to_remove.add_pth(easy_install_pth, './' + easy_install_egg) + + elif egg_info_exists and dist.egg_info.endswith('.dist-info'): + for path in uninstallation_paths(dist): + paths_to_remove.add(path) + + elif develop_egg_link: + # develop egg + with open(develop_egg_link, 'r') as fh: + link_pointer = os.path.normcase(fh.readline().strip()) + assert (link_pointer == dist.location), ( + 'Egg-link %s does not match installed location of %s ' + '(at %s)' % (link_pointer, dist.project_name, dist.location) + ) + paths_to_remove.add(develop_egg_link) + easy_install_pth = os.path.join(os.path.dirname(develop_egg_link), + 'easy-install.pth') + paths_to_remove.add_pth(easy_install_pth, dist.location) + + else: + logger.debug( + 'Not sure how to uninstall: %s - Check: %s', + dist, dist.location, + ) + + # find distutils scripts= scripts + if dist.has_metadata('scripts') and dist.metadata_isdir('scripts'): + for script in dist.metadata_listdir('scripts'): + if dist_in_usersite(dist): + bin_dir = bin_user + else: + bin_dir = bin_py + paths_to_remove.add(os.path.join(bin_dir, script)) + if WINDOWS: + paths_to_remove.add(os.path.join(bin_dir, script) + '.bat') + + # find console_scripts + _scripts_to_remove = [] + console_scripts = dist.get_entry_map(group='console_scripts') + for name in console_scripts.keys(): + _scripts_to_remove.extend(_script_names(dist, name, False)) + # find gui_scripts + gui_scripts = dist.get_entry_map(group='gui_scripts') + for name in gui_scripts.keys(): + _scripts_to_remove.extend(_script_names(dist, name, True)) + + for s in _scripts_to_remove: + paths_to_remove.add(s) + + return paths_to_remove + + +class UninstallPthEntries(object): + def __init__(self, pth_file): + if not os.path.isfile(pth_file): + raise UninstallationError( + "Cannot remove entries from nonexistent file %s" % pth_file + ) + self.file = pth_file + self.entries = set() + self._saved_lines = None + + def add(self, entry): + entry = os.path.normcase(entry) + # On Windows, os.path.normcase converts the entry to use + # backslashes. This is correct for entries that describe absolute + # paths outside of site-packages, but all the others use forward + # slashes. + if WINDOWS and not os.path.splitdrive(entry)[0]: + entry = entry.replace('\\', '/') + self.entries.add(entry) + + def remove(self): + logger.debug('Removing pth entries from %s:', self.file) + with open(self.file, 'rb') as fh: + # windows uses '\r\n' with py3k, but uses '\n' with py2.x + lines = fh.readlines() + self._saved_lines = lines + if any(b'\r\n' in line for line in lines): + endline = '\r\n' + else: + endline = '\n' + # handle missing trailing newline + if lines and not lines[-1].endswith(endline.encode("utf-8")): + lines[-1] = lines[-1] + endline.encode("utf-8") + for entry in self.entries: + try: + logger.debug('Removing entry: %s', entry) + lines.remove((entry + endline).encode("utf-8")) + except ValueError: + pass + with open(self.file, 'wb') as fh: + fh.writelines(lines) + + def rollback(self): + if self._saved_lines is None: + logger.error( + 'Cannot roll back changes to %s, none were made', self.file + ) + return False + logger.debug('Rolling %s back to previous state', self.file) + with open(self.file, 'wb') as fh: + fh.writelines(self._saved_lines) + return True diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/resolve.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/resolve.py new file mode 100644 index 0000000..33f572f --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/resolve.py @@ -0,0 +1,393 @@ +"""Dependency Resolution + +The dependency resolution in pip is performed as follows: + +for top-level requirements: + a. only one spec allowed per project, regardless of conflicts or not. + otherwise a "double requirement" exception is raised + b. they override sub-dependency requirements. +for sub-dependencies + a. "first found, wins" (where the order is breadth first) +""" + +import logging +from collections import defaultdict +from itertools import chain + +from pip._internal.exceptions import ( + BestVersionAlreadyInstalled, DistributionNotFound, HashError, HashErrors, + UnsupportedPythonVersion, +) +from pip._internal.req.constructors import install_req_from_req_string +from pip._internal.utils.logging import indent_log +from pip._internal.utils.misc import dist_in_usersite, ensure_dir +from pip._internal.utils.packaging import check_dist_requires_python +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Optional, DefaultDict, List, Set # noqa: F401 + from pip._internal.download import PipSession # noqa: F401 + from pip._internal.req.req_install import InstallRequirement # noqa: F401 + from pip._internal.index import PackageFinder # noqa: F401 + from pip._internal.req.req_set import RequirementSet # noqa: F401 + from pip._internal.operations.prepare import ( # noqa: F401 + DistAbstraction, RequirementPreparer + ) + from pip._internal.cache import WheelCache # noqa: F401 + +logger = logging.getLogger(__name__) + + +class Resolver(object): + """Resolves which packages need to be installed/uninstalled to perform \ + the requested operation without breaking the requirements of any package. + """ + + _allowed_strategies = {"eager", "only-if-needed", "to-satisfy-only"} + + def __init__( + self, + preparer, # type: RequirementPreparer + session, # type: PipSession + finder, # type: PackageFinder + wheel_cache, # type: Optional[WheelCache] + use_user_site, # type: bool + ignore_dependencies, # type: bool + ignore_installed, # type: bool + ignore_requires_python, # type: bool + force_reinstall, # type: bool + isolated, # type: bool + upgrade_strategy, # type: str + use_pep517=None # type: Optional[bool] + ): + # type: (...) -> None + super(Resolver, self).__init__() + assert upgrade_strategy in self._allowed_strategies + + self.preparer = preparer + self.finder = finder + self.session = session + + # NOTE: This would eventually be replaced with a cache that can give + # information about both sdist and wheels transparently. + self.wheel_cache = wheel_cache + + # This is set in resolve + self.require_hashes = None # type: Optional[bool] + + self.upgrade_strategy = upgrade_strategy + self.force_reinstall = force_reinstall + self.isolated = isolated + self.ignore_dependencies = ignore_dependencies + self.ignore_installed = ignore_installed + self.ignore_requires_python = ignore_requires_python + self.use_user_site = use_user_site + self.use_pep517 = use_pep517 + + self._discovered_dependencies = \ + defaultdict(list) # type: DefaultDict[str, List] + + def resolve(self, requirement_set): + # type: (RequirementSet) -> None + """Resolve what operations need to be done + + As a side-effect of this method, the packages (and their dependencies) + are downloaded, unpacked and prepared for installation. This + preparation is done by ``pip.operations.prepare``. + + Once PyPI has static dependency metadata available, it would be + possible to move the preparation to become a step separated from + dependency resolution. + """ + # make the wheelhouse + if self.preparer.wheel_download_dir: + ensure_dir(self.preparer.wheel_download_dir) + + # If any top-level requirement has a hash specified, enter + # hash-checking mode, which requires hashes from all. + root_reqs = ( + requirement_set.unnamed_requirements + + list(requirement_set.requirements.values()) + ) + self.require_hashes = ( + requirement_set.require_hashes or + any(req.has_hash_options for req in root_reqs) + ) + + # Display where finder is looking for packages + locations = self.finder.get_formatted_locations() + if locations: + logger.info(locations) + + # Actually prepare the files, and collect any exceptions. Most hash + # exceptions cannot be checked ahead of time, because + # req.populate_link() needs to be called before we can make decisions + # based on link type. + discovered_reqs = [] # type: List[InstallRequirement] + hash_errors = HashErrors() + for req in chain(root_reqs, discovered_reqs): + try: + discovered_reqs.extend( + self._resolve_one(requirement_set, req) + ) + except HashError as exc: + exc.req = req + hash_errors.append(exc) + + if hash_errors: + raise hash_errors + + def _is_upgrade_allowed(self, req): + # type: (InstallRequirement) -> bool + if self.upgrade_strategy == "to-satisfy-only": + return False + elif self.upgrade_strategy == "eager": + return True + else: + assert self.upgrade_strategy == "only-if-needed" + return req.is_direct + + def _set_req_to_reinstall(self, req): + # type: (InstallRequirement) -> None + """ + Set a requirement to be installed. + """ + # Don't uninstall the conflict if doing a user install and the + # conflict is not a user install. + if not self.use_user_site or dist_in_usersite(req.satisfied_by): + req.conflicts_with = req.satisfied_by + req.satisfied_by = None + + # XXX: Stop passing requirement_set for options + def _check_skip_installed(self, req_to_install): + # type: (InstallRequirement) -> Optional[str] + """Check if req_to_install should be skipped. + + This will check if the req is installed, and whether we should upgrade + or reinstall it, taking into account all the relevant user options. + + After calling this req_to_install will only have satisfied_by set to + None if the req_to_install is to be upgraded/reinstalled etc. Any + other value will be a dist recording the current thing installed that + satisfies the requirement. + + Note that for vcs urls and the like we can't assess skipping in this + routine - we simply identify that we need to pull the thing down, + then later on it is pulled down and introspected to assess upgrade/ + reinstalls etc. + + :return: A text reason for why it was skipped, or None. + """ + if self.ignore_installed: + return None + + req_to_install.check_if_exists(self.use_user_site) + if not req_to_install.satisfied_by: + return None + + if self.force_reinstall: + self._set_req_to_reinstall(req_to_install) + return None + + if not self._is_upgrade_allowed(req_to_install): + if self.upgrade_strategy == "only-if-needed": + return 'already satisfied, skipping upgrade' + return 'already satisfied' + + # Check for the possibility of an upgrade. For link-based + # requirements we have to pull the tree down and inspect to assess + # the version #, so it's handled way down. + if not req_to_install.link: + try: + self.finder.find_requirement(req_to_install, upgrade=True) + except BestVersionAlreadyInstalled: + # Then the best version is installed. + return 'already up-to-date' + except DistributionNotFound: + # No distribution found, so we squash the error. It will + # be raised later when we re-try later to do the install. + # Why don't we just raise here? + pass + + self._set_req_to_reinstall(req_to_install) + return None + + def _get_abstract_dist_for(self, req): + # type: (InstallRequirement) -> DistAbstraction + """Takes a InstallRequirement and returns a single AbstractDist \ + representing a prepared variant of the same. + """ + assert self.require_hashes is not None, ( + "require_hashes should have been set in Resolver.resolve()" + ) + + if req.editable: + return self.preparer.prepare_editable_requirement( + req, self.require_hashes, self.use_user_site, self.finder, + ) + + # satisfied_by is only evaluated by calling _check_skip_installed, + # so it must be None here. + assert req.satisfied_by is None + skip_reason = self._check_skip_installed(req) + + if req.satisfied_by: + return self.preparer.prepare_installed_requirement( + req, self.require_hashes, skip_reason + ) + + upgrade_allowed = self._is_upgrade_allowed(req) + abstract_dist = self.preparer.prepare_linked_requirement( + req, self.session, self.finder, upgrade_allowed, + self.require_hashes + ) + + # NOTE + # The following portion is for determining if a certain package is + # going to be re-installed/upgraded or not and reporting to the user. + # This should probably get cleaned up in a future refactor. + + # req.req is only avail after unpack for URL + # pkgs repeat check_if_exists to uninstall-on-upgrade + # (#14) + if not self.ignore_installed: + req.check_if_exists(self.use_user_site) + + if req.satisfied_by: + should_modify = ( + self.upgrade_strategy != "to-satisfy-only" or + self.force_reinstall or + self.ignore_installed or + req.link.scheme == 'file' + ) + if should_modify: + self._set_req_to_reinstall(req) + else: + logger.info( + 'Requirement already satisfied (use --upgrade to upgrade):' + ' %s', req, + ) + + return abstract_dist + + def _resolve_one( + self, + requirement_set, # type: RequirementSet + req_to_install # type: InstallRequirement + ): + # type: (...) -> List[InstallRequirement] + """Prepare a single requirements file. + + :return: A list of additional InstallRequirements to also install. + """ + # Tell user what we are doing for this requirement: + # obtain (editable), skipping, processing (local url), collecting + # (remote url or package name) + if req_to_install.constraint or req_to_install.prepared: + return [] + + req_to_install.prepared = True + + # register tmp src for cleanup in case something goes wrong + requirement_set.reqs_to_cleanup.append(req_to_install) + + abstract_dist = self._get_abstract_dist_for(req_to_install) + + # Parse and return dependencies + dist = abstract_dist.dist() + try: + check_dist_requires_python(dist) + except UnsupportedPythonVersion as err: + if self.ignore_requires_python: + logger.warning(err.args[0]) + else: + raise + + more_reqs = [] # type: List[InstallRequirement] + + def add_req(subreq, extras_requested): + sub_install_req = install_req_from_req_string( + str(subreq), + req_to_install, + isolated=self.isolated, + wheel_cache=self.wheel_cache, + use_pep517=self.use_pep517 + ) + parent_req_name = req_to_install.name + to_scan_again, add_to_parent = requirement_set.add_requirement( + sub_install_req, + parent_req_name=parent_req_name, + extras_requested=extras_requested, + ) + if parent_req_name and add_to_parent: + self._discovered_dependencies[parent_req_name].append( + add_to_parent + ) + more_reqs.extend(to_scan_again) + + with indent_log(): + # We add req_to_install before its dependencies, so that we + # can refer to it when adding dependencies. + if not requirement_set.has_requirement(req_to_install.name): + # 'unnamed' requirements will get added here + req_to_install.is_direct = True + requirement_set.add_requirement( + req_to_install, parent_req_name=None, + ) + + if not self.ignore_dependencies: + if req_to_install.extras: + logger.debug( + "Installing extra requirements: %r", + ','.join(req_to_install.extras), + ) + missing_requested = sorted( + set(req_to_install.extras) - set(dist.extras) + ) + for missing in missing_requested: + logger.warning( + '%s does not provide the extra \'%s\'', + dist, missing + ) + + available_requested = sorted( + set(dist.extras) & set(req_to_install.extras) + ) + for subreq in dist.requires(available_requested): + add_req(subreq, extras_requested=available_requested) + + if not req_to_install.editable and not req_to_install.satisfied_by: + # XXX: --no-install leads this to report 'Successfully + # downloaded' for only non-editable reqs, even though we took + # action on them. + requirement_set.successfully_downloaded.append(req_to_install) + + return more_reqs + + def get_installation_order(self, req_set): + # type: (RequirementSet) -> List[InstallRequirement] + """Create the installation order. + + The installation order is topological - requirements are installed + before the requiring thing. We break cycles at an arbitrary point, + and make no other guarantees. + """ + # The current implementation, which we may change at any point + # installs the user specified things in the order given, except when + # dependencies must come earlier to achieve topological order. + order = [] + ordered_reqs = set() # type: Set[InstallRequirement] + + def schedule(req): + if req.satisfied_by or req in ordered_reqs: + return + if req.constraint: + return + ordered_reqs.add(req) + for dep in self._discovered_dependencies[req.name]: + schedule(dep) + order.append(req) + + for install_req in req_set.requirements.values(): + schedule(install_req) + return order diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6d7acd27d1d5b53538b2f9417c7d0493bf69a294 GIT binary patch literal 217 zcmXr!<>g|0`9FpM2p)q77+?f49Dul(1xTbY1T$zd`mJOr0tq9CUv2ss`MIh3xtZyu zsW~R5X8Hk@$r*`7xdBD_S*gh-#Xx>ZMt)vcfS-F}NosjwrG8mzUYUMQW|DpZSjJe- zOusm@BvrQ{F*!RiJ+)ZBAhST%&{EGp&sevh5-6>gnw}04)Q`{1D@iTNOU%(PEy>I& f){h4YWR}Fo>lIYq;;_lhPbtkwwF9}Y7>F4F_c1+9 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/appdirs.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/appdirs.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e936a555af7957e5b09fcb059853411fdaafe775 GIT binary patch literal 8074 zcmeHMTW=dlcJ6LAFQRp`$CnxJ?4(vZ$eM;sdh8ibRuGKQ>S8NnU1G}inBj(Qv5Qnw z&F-G6Zc9|CU;$5%yaYjjATQbcfc%3z26@P1en1C#%9H=XzHGiz-E4|ldBzBmhX5hL zW_MNfsj5@weCO0x_h)9x`rF?&|NT=<`%mr6=MwI}!cYDiF1FUtY~40oy>B!Oo$hmP zu8~v!X2Zn4>E`=|MxkG96jgoRE%m1wQ~h$Itey+*rT%ndTG#lrc!l;wccwqvnC;Is z=1^aZ$8$ey+5aCgO?w=bja1N(~o0sgPrSM6)~zs9G;zYONp z2(CA-^J|S8FEsB%Q{x{Vmc>8o8h!cI#*LSnXMCgC*Xmxf?*D5zp?DF1$BU#(G zIXki>3#~)$v5xTj>>vySxm2rlo$w&queSYuZKWMLuX#PRLSD0iz;=XWmS?lRZ#x}_ z+vU(_GIB!ZM}h^B2z<$9wfq*E(<*vAXYEVhjY8gX`hhRP?TQiSc3<9$r$T-lw!%Tc zQBr)dxxKdYq8^v|aRBL&O)O$uR7h;Lt;Crfvd2u@|4E3=1#=u=^n3Phhsi8j9Y~xMt zRQJ9L%e_l>?$8i_5>DHudNXVD#z2ctAbG~lqqYFaC{aBr8T2&Nq3ELZMNZSo44r zC2PwoL9mT(9%jv<|KqeZnpf56$IaNSZ`K|$n|G|p4J+A8FC5SIkED8Ub*cFb3XsiZ z(gV%mVH3TqS)tW@;$zg!tkb3%MWTTnkEK%7++@}#x0ySuisxAKbCLaAy{Wy)osZpY?c zs8pJ)p%UWx-W}mveF&yCU^b?p7V;LYPO1bZlofEB?GM;1nsSTUwb03{N|j;eQVD}g zkbKN4h{DmDkwEG9`OyIvoZXH*n~U3OqFs2Wr#hpmDyyTFlEaU!e&BLBUf^oA+T8L_ z9M`p)8<<+hKW^>{zvG})b2+_Ji=65^u?5EH#g%rSH|tTr1xA|GH$SW1P1j_1b9-}V zdnr*-n zOs=)M0=#HF-q~6|DUHmsGAr_cgxK(9Y?1@UCC?XqbvM`Q@~{Pgt&Z}_qd_^^(H(H_J+8=}*qI$mL#W^{UaVc=E5N_KS1!`S@OzyoVWP=XKw8b3C z|4|bk;qNzpUOT`l)%s31;_l~PJgDss+6R{CV+ndNIEm-*!1tc-Za)I-9$AAL*7$YJ zb@pq4s<~f%P?Ju`?*vx+(1PjL0w=ih+0UzYtM~5&15{Uew@Zb!mg9xwU2ZK39aoMp zyc!JRS!IOEamfm=VQBI?F4}d|m^WwjQtpagHcGj9d}j^uBh+lP325m!2Mg? z0B{$Fx|p{0VAeKHjTC$dIL$CWGzfx+8sIVK**0wJN1;rwDAR%^O|ppD**~ zvyyx!>1JA{_sVu5oU)4q$4M_kigqRI*BGQSs`mro%ys`qFnHuZ^uO6*+rGyaSuc{I za$Ois$opfIA*dRGMB)ha-a?8j3+&du@4MXc7BfiMuw2P2011!nbHX;ZCn8RMhNV?~ zq)@3eK+@=Q2C7EW9m5=uvX4F}u;7-oKvp6dx$_8kC!~2iJo3dM^&SQ4g^~Oq#g;|L z!qiAk0*yz2APjgyj2w9FpV`!n>vtUwK*lEg9o4g!Ow5Ks8>I`Td7(yI37nX(g973Fj}@FDG93(J{>6|%3ajBCL-sA zn!Y!1lI+oE3{Zf~Q5jeEqj%5#I~ZEX_%YHRxyU${Tm@X;>p0yD#GDPx zXT<;wRSc|2U=1I?NNs+~pby9U!J&Lg5KF;PA?zZ<&=B4n4|(9ID_9)+W|!Ua{BUGx z6^i!=_iKJT>LY$88Du>T#b@I`g_=y#NaFc_v^lHLHA)z=R3UqNG>+67)fh<9dyPZo zAMZPuY$ESDsxR4v+IjD6Xkv;a?1Cx2TiDYiQ8}YAC2s=;K$f$}jySx-b^Rj+Ae6>Y zimH-+nb}02vODg`0S&~hGSX`ycJY6o+g+ia8&==<&iBPDbxVV9WiYY#%@?xsv zIFBx6m`I^ut|Gd)No{6SJSD84aJqpa`7tiqk4=4A|5z`Z(|SR_X%uiR;DlAeIBn(O;VdgZ10clhm;S(jQ z6A-Tw{*gIf6bUbs_WzOa>=u&rJo-r5pn__caF9%g-xIJ>|GpUAZ;!U0qi*njaZmqE zgj?O&-q?JkLfsEy-1(8F@K({q@4=51qQ!G+gEAI+GL=DCWh#Lv!heeO4Z4r2#x*}G9=-jcFhFxl#$ra>qzQ*#jDE`C=U=6X}8 zEx*y%5*RbP+9|*a)Jy4&u4@XmrmVllh9iY7i@8XFC{qi3Y_CEmB{uG;gvJJ=MHvy{ zmQ?xO{|1GUb@9U-N=BiaO$&Y}`>S2(1~neGDJ4^ZHZ{Yw&8PK0c78cd+-ho;90Uzh zo9A~WaOZ_&Jtiqq;zjRHi&l`VKchVWu`^j3`>sR{<&z0nGwbd-R?kX(_SS~wxIY0i zutXF@S6F>|OEFp&J8*2!EbMl&LApKOA!VY@csy+xl;r9J&BVS;dwQ&dAtwQwawM>6 zw)S1HWr{^YqYFh&j%u7LC3A_dCMnD6&eqn>_J}S@l9rFZZ`CINfR^*5Lq+{7B;{OcLo5W?2cvp7){lWf zl*5cOmEV+?$&*0u1`q#<`k_t>`pKunDYV9*A*;)3#~>f#X7s{|Nn@@|pHHdA*_2AI zvXn}tQE^_vbi%ku42tAITtLVLHwy3UZ&|$}apmH`G2NK+=2Q zb9)A;1%fcW2N(mHVKj|X^E5xi5>!ejf3K`)#1UGo1O9Fw)C^ObRp(pm$&pR$gQBdm z&7bvEULqqfdDuTiV4Av=YAYFnccB0=7z0>0vV;W=2Xt+e(7kP65HE?0TpnRdt+ul8 z(ZnckD=|blVJAy&B8Vd2j*DTQtN4^Il#8EyRmUFt z2s_5+)@aAwO!KGaYJ`z^;d6ik_R!7s@ zAin(g>vd53&z?SA-`;CItFJ$er~fG8V(^@3!1d!wAuhM2W4kTIp4Bjt__8FiDNm=$ zvCklzBtB9zK<;UkZz7`#Jv_`7_SICxRvs$r~Gjs##dBHGs6W4iN ze2MZ2t0Bu-#ZLuDvKq3O)LN92BG@4;!d;Q6_e`5|cg-%qX7V`fDW2wzKN%WpeoIq)OL6=y zt=#V{phI@9j9}yKZ_!|{G8GrvbnqhMYi+^7Ft#Gkq2r*|e$?r35f`vpw(G`4rSSXr z;`#dHM?6f{a~DqfBF_23j!TDN7P*TCmr-3m0Ifl_L?OS3^C~7)3gSLGjV~pO32edH zO%DCUGY6Jz9XQ>C7IB}k-i}Qa-#fo{KRUm5M>v~mCFB1ONR|v2EnBy;e%&u)I+0V;7DyTIZ}J6 zeOvejKdg}k-J90m!MD~ub&{64ggW1WoBG%TgCnl89Xg*tGN!1lgx6*FQjTfM$Jv@X z-BG6$c!yIGBY^<$Dn>J9K9E5$AG|vn0w|K0C|Pn6px{)wIUJOM4fHbxk@D?y3<{X6 z*S-TT9;6)NUthAmb4>D76ScWV8cs7&(uibAdPomQsAk`iIA9>6pbsy{4nIT;Pq>^j zM4C)_JH^+XJ4_4)fu&gKglenZ|NO!Ihp93)JB*VmX;29!uGCjIH`UO#ez95ysG_&U zbbgAPz#$f>LS%vI(3SF2S|P9Aj!k;CVu-J?%;E_ym0Vm<{qXoo`dYGr>q7VD20v9((KjmkUgajxuZ5GSRx2*ITAc_- zfxOicWQ0l7rbrpjfvc~!K=a$as7mKp9YZ8X4>wiSh{mrf8lN~%tbG!L36bIpThUpP z*A+!-P)Hw2)bSKuh|pIAgxUqD_^9Acd5c)4T4G1yOPlKGR_R2|?2I19AX{3-k#OYl shZI)jZCpTm7$v=A%mYWKfvEHO(r4u_$_u4R=|<_M32mX4HY2(J0;WXAqW}N^ literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/compat.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/compat.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7a0db3b8fe7e5f4cfdac70fc393ca2425acd4b39 GIT binary patch literal 6194 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 ZNg^)t37ob&b_X?=>_CuRw{@o3`4`5^;lKa@ literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/encoding.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/encoding.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..41a0d124a9b1f1dbd4df7bb92dd5c58a0839ebd4 GIT binary patch literal 1294 zcmZuw&2k$>5T4mTtz=n%V<_VTY!w#^O1rTIsz3piiYx^RM^PnCQrXz0TJ4Oal}FlT zW)xc~`6S@L190TPjYr`X=E})uZd{;eWx0IFsJ6fUx_i2NdPeol%@V%)@8mBFp}*0s z<$``6KJgm}f(T|PTp(F{#MgIN2T&|dNirS2`s$n06Y=TZtJ=xAfBIQ9#<~$$Fva|90*XIC zT-=rD5S{Lw7?=3cSfDXp;3ekH0!c$_1pjP&h{oo^Si*^ZbY7r~=MZHP-~dtv|m zOLJioi`beI=gi=3X^)+S3At{xabbywrL&R3a#d}exBUV^R#Up;B5{{E`(2jC8%v~X zR*P?bZH{Ps=0#qAE~)T@KtdsTZf5(^#^(N2mnFlOyWU>1rIMk_W3D zG1iYD4}`Ncju`caRA!tGDC{Nc;5~>FwCb_sjCyHCr+ZZ|oqFB59HrBG=N~=F(v<;{ zYxPQt-1v#IBM~P_yINKjwDnY#gp9Zp=ZPFClhLVi2!)Q|5=F)msWw`j=Ho+n3%w^T z

(_c%+;mPiL7>&ZVG-GnzebrJHiDabAemYU^+N>;=OzEG9 ze+1qB`%5rNCp4HO!x?3tf6)lK^LP~TNtdT%n4JKw5Bt2^c^FB09?gT-box4ANk7O| zWAGb+NF=RgFwba6MUW*~ZU0OEu3xWZ^Sa;g>2RoxK`)s~%BK+vW-?(SSa;-SbF~r8 zWZGNJWCt1(TOg2K!6m$F?BHFzgDcp=+yiU%edXxc#e(a1t_)7O-lKM*ihonZ&#U-y zp1~90`j(V)O-vwM{{gtI%`RL~@7Zzto+@5z`wdmTQF{+sx7ktaCaivNzie z4*M#+k`G)s?JIDBaTcMq<(cvPedEug!JrS72>C^BEsFL_Jo+IDPB`Rbexsq) zG^d3(_keJZ``^jj=P)Hv=NhxgI073kg;~^z$rc;QQ*drvh(hk-d4)$`p)kY%hXd6| zoKCU-9xm%0*}>XV-wdqi%G;3xs1j}efLLp)J~g4~IPad$NO|HD(_Qz~IS{wGKP4Z? zj=Ib#_Fe@$Cwm9HeLZPyy1L`4DPrx>H*0I6&e#SxvcPH2l^gd>)VD#F=)@RhX{D|2 zUSoq?TuN=Ua!*l?B^#VgUn^B9+fC9`Xv~}~&feL8OI0R?h&UEh3Mbx{fx;C%W43gY*{r#|!{q@hP4gd^xej~>%|ppGyebyNqH4JsYCRNY6o o_&;3S!o_J-V6Y{wt!fFlB?hiV?|D)2O)g%zkI;_29wLR_Uj%5cc>n+a literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/glibc.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/glibc.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c3b14996c1e24c9599a8ebe152718df6c15c4629 GIT binary patch literal 1710 zcmZ8h-EQPG6t-ht5?A{Q+`zG?g|?1-?0m70PrmOQ@3h-4e)Z4GKUWa?3tejj=3heR zV=xIyaE5X`z*x;mMg~NW#=y{{IWS=~GAp+SHb&HDkKx_STDdcD@}~vh*bO zPATIMi^l~^i_w->GOt$_)Jun6Q3|i-fG(B>J!wTePE&tL+Oe2bluL8(@!_Fd9~E^t zq9Rlt!%L5{^OXRfCqT$PV^$sYZ5e|z`m5B-;chSK7H==}5jUn}5?Cbx3qEEQw#V=pctuM1iT z?rB#+u6A#Eqf&h4eZUW-rC}Hp?zbdiRAC|>OXnGK6F4WLz8 zBUaXxZ?Ze^`?AC6FLlaj5-!}f!EKt?d8pk>oNMtHW=(Cl8;@x`4R7eM2_JX|402Ym ziEWU;#A}#&fW+#;P)*UU=-1T03lo7<5jAjOOdYnS3QXVzsE6VL(tXl9@E7W7Kfb}< zflW;9)S=%F?DcVUN<&3oB+`?NE<)Ue<=g>-h>aZxi@gW)SOKbG=qkXQL7@ifT?b_z zLk2Wx2vw~D^sV#XpRt)IN-v?1p+FM##F*Zc(sey(S2sZ933dH=PymfUc z_})iM8pnXHF+r&9nC3OTl7hJV8SA=Z<;&-GQhQk`}Ga80WvBg@-+*9TaF!C*^+2FsL z4Rp;0aQ8qeG9|mTFJF}Y%u+^GrPfvJp%1zim%4D6PB-UaUM6)$A1S4Dk*^R3gmlOX OG4UP4dD~fa-uxG64#ANC literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/hashes.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/hashes.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2e0dcd744067031e62e5f939acac4991fbe78922 GIT binary patch literal 3624 zcmbVOPjlPG72gFw5~N7|VPwU!oebJc#$j5KwPm}F$J2=_yRw{yRwc)dFlk{3yCfmv z548(gB8R$|n#rltnSOxYd(Q{xN9Y;Xo^tH9m-f8{NlC6UnJF;4`xg7K`}Xbc{r0U_ zDkb{;f4=!wg^+)e3y%Tv=TPK7pkjp4fP~bh6lE>YYzD;6z{ivNTZAUV3gTPJvIC>&PEMS>A!CmHfoqp7n(5-&C zzq9XbK7F$Jg|qurv$@^es^wDSvF|0R@jG88sref}a>Zc#d1^M}U7qwsl$zUMf}5xb z^_~57m?-Dq(n{!nkmhB_y?g(GYS({tPqp{&-1Ts`(?uibX z%s8XA!E!8rM(i9bFcaE5E3y)_1@tnsCabV{Xp3xtEkaw$e46Ib7%qqIhIK65UXKea z>9~n?(Dwr-t*{>?elOq_n#!dGBXQ($%Z-@jb-34+pw2_fZM#1Buw=p0jpE~ItsTeA z%A8+PpPQZr#^Zx6mQ5&f1*#Ecv}=m8PaUIQrH14|E6rz{{~HlEz}SDEH9B#~8=>Fs^Wfh72aTP9*KtL-BjQ8uB@+5cCyrk3 zG`HM@AG?Fb8y>xB1pYyzr$*N64;m7%xz=;Nt_v14dVX*1&S&*s)YsQ~0~oIJb{ju7 z9M}vOksCDni66*DW=Xv_05f6CPaNkqdQrJHKU~O8vpyZ0xx4^MKo^}uhq^!*NCEor?IwcGQsA0GGJ_uA5>6jsn^-LohZY9EdjQY{ zkYrH|((I&}o4EB1m^B}b6ScoE~pN#eHAH)D=;e5J+wZS&01L? z0gLycN(*QloOr57{5UPWL=sZOk``YKdYLFpRL`M$zTX3bxWG71i-61wm}%Y-XjrWv zt}C@{AF0uf6A5~-hJ&b2b7~+p@Qba(s6uL1-NZkaRj@jfFrBbk14bl5nwSP%q#CWl zyP}ooJgsUdn{;>+eZpn^s{d!`LiC~ODxeoZ$Z$2HW9=<7_H+Dhl@j4+v>W2`($wO-as4!=+OFuI1Vz<&!Lx9^T*jz z+6C6l#t`juNYEIYj+2%gCyZG?K)LKVM}0S#j1(M)#h&AcTQFS)Cd9uwErH>wY!P=+ zI^VaFFsub$ocPP5(I=Ap1cZxe#J8kHna1=p6A}qX zB_Kh_eM<~TBjC{TX$43T6Q#_h!@onW5R0y>;-?i0#hXCBeaRUfY-Ant+X9#~`^$1O zrbJEG68xy|3m)=l5_H>%<;7tS@;Q}DSgx0VgR)ri6{QDQ4#< z9`9iiXUR@{j9Gx6U?PB%fOTR*FhLF>W9?8&^fvJ!#Qt=C`TXQ@9NosG zqouMWZoPh;0rmB3t9$HH$^?&>w-6Rwn!NcmQ#84rB1ZL)272 zMmKp-B;FBb-k{}za$W5MjGk5>l4*z@f!h=xK$R{)c2svDv0|~POaDY&o!JGfZq(~) ze40JgXTXrzEu@@)k)OV!sM4%DAlFm0p5C}TPd1zkdVno~o zfE9+OSi-7`6?#6c?7i51-rQ11c(Rw~vr9+?Y=)RCf;}}KWi0Y*q%Qd(RAtT7mbGQQ VOv{=ZVJc^?cB~dmrGN_Om$?CGxY2rPS4K}*r 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 BXaWEL literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/misc.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/misc.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..aad0bb13e95a870e6840848a99a9abe848d89112 GIT binary patch literal 25828 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

    ?8reG=5ooy0gZ)zWI~YVe~T*A^;}{7tqp- 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 bU;hr&%M1+V2D53D9mpQY4xp7JzLWmH;!$62 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/models.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/models.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..19d3556e1948a038361ced445e44f60b6211cb81 GIT binary patch literal 1966 zcmbtU-D?y{5bvIu-E20yNsJK$KbV7i*@x^X(SV>L`XC}M0lDK?4w}wXXSdh+N_Qu^ zVc(K}#(!yEeez%MMXP4AF$QzVksi8gda9=SSD%~RZkvDo{_k4A*cWzY;hDX_Z9^o$ zh734(2_N#;415TV83f8Z@`pZn?^&;Lc>gb_6YaFJ;cjk1P`f(Q*(gkNP>F4SMJsF& z6P+&)UtZw0{~%Fp$nh2rI9UY$m<io)*%mclwjg4xeqC{6GW3jjPYv>O2c$S;(Ea zA8ssNsBO4IKZhul;RiKshqz)NG1DSWj=aKcSCP#4j0raLkfK8ffDd|J*%9?EN}z>u zMa;t^;zU~8^UJ`hWViH5y8Nr~Gczr;`|UUy=c$TPJ=#~vqsLp(_B0+#lcFCJ6+4S( zH_o%aw+FAKQy=9tI#Ag`l<1wPs3e>Ht;lMpHVPSkkRxTILKhnkpY$K}H#dqYiu-Cb zqK}c#nNuc{NwkkywNahKelaau0%h6>u|y72kucumhxdLLeuC!2*IGL_;wTv%#H|ERn ziFZUrjG6NBf|E>@t-Mf1y4;jaArf@C=T(r(M()PSoI_>^&>HSJs5=*gge?6pNT!Qc z4dJbTs8b+@>g_y?8~E)O?n_~yoom1t{fx(NVNfJ)UjYW$xekm=qHz-;+_?&j>qSHD z{dZE<5yJf|z#u!lvG^j5AxB?8a^UH)g?HY0ddlqLLcCBYu9rg{)x`{vI6Mx=C zLD|M}npr2aSQ#1;+eE^6hX>w8 z!{(%K2fZ#$iA<*GMcEbthu3~W?;Rob_GNM+Sr7v9SO`ON$aIKM3ma-6L*;9zcnqb^ zP~hq|q)~hxBh8fs+?I4(Uf{KYmVfp!q|pn^U1TSXobS-kt^{YyRo3e{_q2xnoPMq5 IESmLy09`DrdjJ3c literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/outdated.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/outdated.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4d976b216b9bf21758012c048b53dbdd9cd6555f GIT binary patch literal 4137 zcmZu!-EJGl72erhlFJoEQIciLKS?%D6hnnYB~25whHJ#IrNoG>xRw&fi=x{VXDBYY zKg`TfG6f1Kz@W&Dkv>2lpuKN_UiTq-vAyh-`v|#dzcaLCI|zw6GdnZq%QZ zsh8Emdgh0|(R0(etP#$eb|r0Q3*mxkSJPIu7%rN2EnUi%!)4R<(sS8LxRRX@&zt9Z zdLdg4SD7VNsu>am%hl=NQ#IjvRpY3I!bb-<1`gKdTDg&!IOtiqC1~$-T6Fv^ySXZy`4{? z>fFx9rF%E&XxR22Cc|B!XcxyzYfm=TvW+#qxAxhMwFfuWcEb+6*y+zk;}aBh1wvRM z;}%@XxQ&BwxWir4F0bG~s%3Lmq}@BT?_C{h(IH*>IVcM#cTiLckysNe0ze?ygvp+^ z`%d4TFwUkn^^LFV%EaokDf@o)#Mae*ZDLQE_WJdUM)NUre`7tezP27)`6buVzMj*K zt~2mums#|GV&(SNn1y}WJI76hjhO>&_Z5zQzO3Njv?!aVB1f5%F6}~3Sqi7)sg{@;)g$O_KHkwX34=wq`&y+MGfnn4hi2r%_Q#tl(PCpbLzCJZCc}*ne${@z{o%%NjN!I8IH1l=07eU$$LZ!s zC#l*jMw-JYZx6?%7hyEfQS=shX$iuztE}p{ti^2BU;#Vl9A9|d!|hX@4!M|q6_m>; z#?}8s18%gGPma*+g`3ecg=iVqpee1;0et&M_ zOxcP15)QeWSSRkp?l<)O6wu=A&-TRC&HlnoYo^QXsSQw(c5C8J2*Nd9edaPi=_RO6 zTLwTL-Dp3Jm5vOC%EoX!Oir&{$&U7ZVAp?OH!!QNKmgG|03*HK&CUG*ldClEBF%I8C>yR<aeoQb#5 z0(#>^v5A&?6T)(;%ypKS>n=G>)&wNZ+pgoWCZ2qDy!<0*knYZUg>XeL7Dc5WMOnc| zxNA|_h@x*saXK53S7BX#Kq7cu&^9Dd2W>!6sPUNBGCduJC;Ab~%%K>_-9lr0Rf9Vw z0L%#>&<9&hS#g!yXgky%RCg_KhShh$7r&hG1$TDACfo&IRF3~{I7|gcJ)wI-2B7fZ zC|1E4-3I&P0QbrF1N`=S35HZKQi2D0p#xn6JW<0m9tThlM#BRca}i`y4R0NW|fCd*I1`={eYMpv)f-f|?gBUPrw! zK??D#a^g+Ae#`8!KB=p}nLRG*rAeL7@dna{`Db>2nTQFN&w*sBQyWA^Z{ecXpEwhL zVEu{7s}rZcGV%K>1BagUd9rC*7a*Iwc`}!~oSn?+)&51k06ljyH#Jn1zY7Fk8u*y^ z*$ly$bD6g&MR|tRUc^62RL&p&+u%9q7BYx);E_1rJi$Tj8Hn#ESpwt&u3ag<8Hv0z z4vKDI_)Za`i@YO(Auhv_5QBDL0z4sDf#869k(is3MR!JZWHQva7rHk?z5E!^ z*;!|j7(%{7f++5JjRbMv^P3RcAR@nuG>gzZ069~}^)wpERFx~ppo*giGQyftq#{iIm&Ci7#@RlPZ+%B< zDAw^ic(2o7G7B*6n@AtyRNX>jHXF7a9MAFmEaV3ppoV04{N0mc6vPr7qmul<9MFqI zFj!O9gI;kY@EpACBag+0agxUSsc8G8u6o5NDeGHLI|7>n8CSU2A04bWSX-K@LYUlff*Km z2ixiqgynh6Wv=a`xU6CO_BmE%9;@0d<~yEkW3+)x(PbXZ!QW=*T+DNb^nD}`Rp_DD zX+ncWWdy71*C;ROjx>GPM3REJd_aQooU%s8M#ohvRGTjSEM=m5UD9E+@kTj9pvjm_ zunSjS>4pk@V8Ou5MW2)2vYBw23Ac@_4H(KxuaB4efVoU=XF&avD`{kv*eT^Qr3Vxkl$X^P-4rGz#mVyg>kDvv9@3|YY|;#a^g06i zeFHf8bLxCdYSm(&J}73_h9a;z|5p$YP~Y1$)w?-M)NT>Msh>eKY$RT@KfKql8}M}l Tp}YZ~dQ>~E<2$VnyoLV*s;_S9 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/packaging.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/packaging.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..bfa849b172e24297ae35a8add99e68717ae863e1 GIT binary patch literal 2636 zcma)8+iu%N5ap7TMA4M(_?Fncu|d;7KrA&)nx;Sy)NpP_62-8cCLvnTjJT30^OoI} z6B%+IsuX?gZ}cbnA^TSJDZkK{c4le0w%dnF*xA|H-Qn)cnL}Qy)ok+qukU}iHSG`W z#7_tPTWI_@5TO>5SWAdU2D&7|a&)SMZYlZsbSdMUP&s#i^H&sO7d zJe4?}qx4E#OQyYPrCae#GV9F}jn1-Pz+W{!m&|!{YR-=5lLc=<=~MAyvg9qnI=z3M zUKkT^IdsC>JIz}Or^6ZOKL}^TbI^Yn&V}>Pe-!H5T7BU?+(D}oITO6(Sv(NbkCHrN zq6Iel9;M-Cz&K?vs^xoKpHZF-Sex>?E^VIEcGQU|km(E4PgjmaSqdfy0*z9~wgEGm5~B%%3}zO0S)F@bq~ zq>sp68DdZh?t^RFh2MIQw)fnqR5VWex);R!e>e*>@RVkv zIB?-rIXdOJa2-S(76hrgk?sd^6mCxvi%0(VHG9E6#nn-<+U;ZvqEZ~QwIfO6J*KE$ zWhLmObL?%K3RXr_DMwIAv!6w&G?E~f2ILvUkW1$%JbsjRvbrH>&P3T;K4b8Yqb{e5 zMEFN8e%06oc-)^qH+xw^n@Q9i(D?dSH=3Knb}wMbCd>M?EjWxZ)8B2j?gxUt4u;Kr zn(jB_=w-8Tc&%}x$s<8m^Ps&4(B#cL%2%&`)A*usZ8aalbc1%gXl%l<1!ZXvHvzOU zEL1z9wA;vsaoz@`CjBvCb}z zG=Mn(T4^R~ha|nCtN?U&6Ergf4XjI|)GvpIsDRCaBG7?4OemDaSA9gfo6oXCLX;hoCeN8?ouEq#4>DUE{H48_yPz`cZf|?)8~k(mtmw<97i8- zaSob_{yR`G`WVj<=@S)ieRxwq{KkYo5I{Jg4)HCGbRZuf9$|@U-v;VFCZCS61p9v^ z&$RTqsfnq+vuCrnL_0KycCaLB{pqk&co-RD6X|^$+M)5*c&?@Tb2YA)TL&{+M>tw7 z@OyCm5_c!qatoV#`4YeE0)ZB!GDtC?levgP)>sX$#HK+Ue7#w~8>}wm=VXbWd6WyZ z#D=(T6-0eTMNAryMul94^eittP5B_lmkGQ@iV7=U64J?w%Jb78p$vn|=1|O|z^t%E z6pB7(&vFv`6z492sGIC_=sfjiLb~w7s4dtM*d(E6(k@qu;zOXEt-xEbgMSD@BNpUe z2Wf)D_8FoAdPirgFn^2+{0P9NQ1K-wkTG}-LB%!RU`;Ay+|hnmP&m=Y8e0OqK)Pkvb7ye33Au n4{6;>vTzX7+xR`g5r>X$VRV5>W}(3!SX}jnZCH!etTq2Ptwz>8 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/setuptools_build.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/setuptools_build.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..606c4a37cca7bd76bbf5e40ad463a20d1226e0e4 GIT binary patch literal 412 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/ui.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__pycache__/ui.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8080e7fe5a9cb289821e54769867407a694e987b GIT binary patch literal 12344 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/appdirs.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/appdirs.py new file mode 100644 index 0000000..9af9fa7 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/appdirs.py @@ -0,0 +1,270 @@ +""" +This code was taken from https://github.com/ActiveState/appdirs and modified +to suit our purposes. +""" +from __future__ import absolute_import + +import os +import sys + +from pip._vendor.six import PY2, text_type + +from pip._internal.utils.compat import WINDOWS, expanduser +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + List, Union + ) + + +def user_cache_dir(appname): + # type: (str) -> str + r""" + Return full path to the user-specific cache dir for this application. + + "appname" is the name of application. + + Typical user cache directories are: + macOS: ~/Library/Caches/ + Unix: ~/.cache/ (XDG default) + Windows: C:\Users\\AppData\Local\\Cache + + On Windows the only suggestion in the MSDN docs is that local settings go + in the `CSIDL_LOCAL_APPDATA` directory. This is identical to the + non-roaming app data dir (the default returned by `user_data_dir`). Apps + typically put cache data somewhere *under* the given dir here. Some + examples: + ...\Mozilla\Firefox\Profiles\\Cache + ...\Acme\SuperApp\Cache\1.0 + + OPINION: This function appends "Cache" to the `CSIDL_LOCAL_APPDATA` value. + """ + if WINDOWS: + # Get the base path + path = os.path.normpath(_get_win_folder("CSIDL_LOCAL_APPDATA")) + + # When using Python 2, return paths as bytes on Windows like we do on + # other operating systems. See helper function docs for more details. + if PY2 and isinstance(path, text_type): + path = _win_path_to_bytes(path) + + # Add our app name and Cache directory to it + path = os.path.join(path, appname, "Cache") + elif sys.platform == "darwin": + # Get the base path + path = expanduser("~/Library/Caches") + + # Add our app name to it + path = os.path.join(path, appname) + else: + # Get the base path + path = os.getenv("XDG_CACHE_HOME", expanduser("~/.cache")) + + # Add our app name to it + path = os.path.join(path, appname) + + return path + + +def user_data_dir(appname, roaming=False): + # type: (str, bool) -> str + r""" + Return full path to the user-specific data dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "roaming" (boolean, default False) can be set True to use the Windows + roaming appdata directory. That means that for users on a Windows + network setup for roaming profiles, this user data will be + sync'd on login. See + + for a discussion of issues. + + Typical user data directories are: + macOS: ~/Library/Application Support/ + if it exists, else ~/.config/ + Unix: ~/.local/share/ # or in + $XDG_DATA_HOME, if defined + Win XP (not roaming): C:\Documents and Settings\\ ... + ...Application Data\ + Win XP (roaming): C:\Documents and Settings\\Local ... + ...Settings\Application Data\ + Win 7 (not roaming): C:\\Users\\AppData\Local\ + Win 7 (roaming): C:\\Users\\AppData\Roaming\ + + For Unix, we follow the XDG spec and support $XDG_DATA_HOME. + That means, by default "~/.local/share/". + """ + if WINDOWS: + const = roaming and "CSIDL_APPDATA" or "CSIDL_LOCAL_APPDATA" + path = os.path.join(os.path.normpath(_get_win_folder(const)), appname) + elif sys.platform == "darwin": + path = os.path.join( + expanduser('~/Library/Application Support/'), + appname, + ) if os.path.isdir(os.path.join( + expanduser('~/Library/Application Support/'), + appname, + ) + ) else os.path.join( + expanduser('~/.config/'), + appname, + ) + else: + path = os.path.join( + os.getenv('XDG_DATA_HOME', expanduser("~/.local/share")), + appname, + ) + + return path + + +def user_config_dir(appname, roaming=True): + # type: (str, bool) -> str + """Return full path to the user-specific config dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "roaming" (boolean, default True) can be set False to not use the + Windows roaming appdata directory. That means that for users on a + Windows network setup for roaming profiles, this user data will be + sync'd on login. See + + for a discussion of issues. + + Typical user data directories are: + macOS: same as user_data_dir + Unix: ~/.config/ + Win *: same as user_data_dir + + For Unix, we follow the XDG spec and support $XDG_CONFIG_HOME. + That means, by default "~/.config/". + """ + if WINDOWS: + path = user_data_dir(appname, roaming=roaming) + elif sys.platform == "darwin": + path = user_data_dir(appname) + else: + path = os.getenv('XDG_CONFIG_HOME', expanduser("~/.config")) + path = os.path.join(path, appname) + + return path + + +# for the discussion regarding site_config_dirs locations +# see +def site_config_dirs(appname): + # type: (str) -> List[str] + r"""Return a list of potential user-shared config dirs for this application. + + "appname" is the name of application. + + Typical user config directories are: + macOS: /Library/Application Support// + Unix: /etc or $XDG_CONFIG_DIRS[i]// for each value in + $XDG_CONFIG_DIRS + Win XP: C:\Documents and Settings\All Users\Application ... + ...Data\\ + Vista: (Fail! "C:\ProgramData" is a hidden *system* directory + on Vista.) + Win 7: Hidden, but writeable on Win 7: + C:\ProgramData\\ + """ + if WINDOWS: + path = os.path.normpath(_get_win_folder("CSIDL_COMMON_APPDATA")) + pathlist = [os.path.join(path, appname)] + elif sys.platform == 'darwin': + pathlist = [os.path.join('/Library/Application Support', appname)] + else: + # try looking in $XDG_CONFIG_DIRS + xdg_config_dirs = os.getenv('XDG_CONFIG_DIRS', '/etc/xdg') + if xdg_config_dirs: + pathlist = [ + os.path.join(expanduser(x), appname) + for x in xdg_config_dirs.split(os.pathsep) + ] + else: + pathlist = [] + + # always look in /etc directly as well + pathlist.append('/etc') + + return pathlist + + +# -- Windows support functions -- + +def _get_win_folder_from_registry(csidl_name): + # type: (str) -> str + """ + This is a fallback technique at best. I'm not sure if using the + registry for this guarantees us the correct answer for all CSIDL_* + names. + """ + import _winreg + + shell_folder_name = { + "CSIDL_APPDATA": "AppData", + "CSIDL_COMMON_APPDATA": "Common AppData", + "CSIDL_LOCAL_APPDATA": "Local AppData", + }[csidl_name] + + key = _winreg.OpenKey( + _winreg.HKEY_CURRENT_USER, + r"Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" + ) + directory, _type = _winreg.QueryValueEx(key, shell_folder_name) + return directory + + +def _get_win_folder_with_ctypes(csidl_name): + # type: (str) -> str + csidl_const = { + "CSIDL_APPDATA": 26, + "CSIDL_COMMON_APPDATA": 35, + "CSIDL_LOCAL_APPDATA": 28, + }[csidl_name] + + buf = ctypes.create_unicode_buffer(1024) + ctypes.windll.shell32.SHGetFolderPathW(None, csidl_const, None, 0, buf) + + # Downgrade to short path name if have highbit chars. See + # . + has_high_char = False + for c in buf: + if ord(c) > 255: + has_high_char = True + break + if has_high_char: + buf2 = ctypes.create_unicode_buffer(1024) + if ctypes.windll.kernel32.GetShortPathNameW(buf.value, buf2, 1024): + buf = buf2 + + return buf.value + + +if WINDOWS: + try: + import ctypes + _get_win_folder = _get_win_folder_with_ctypes + except ImportError: + _get_win_folder = _get_win_folder_from_registry + + +def _win_path_to_bytes(path): + """Encode Windows paths to bytes. Only used on Python 2. + + Motivation is to be consistent with other operating systems where paths + are also returned as bytes. This avoids problems mixing bytes and Unicode + elsewhere in the codebase. For more details and discussion see + . + + If encoding using ASCII and MBCS fails, return the original Unicode path. + """ + for encoding in ('ASCII', 'MBCS'): + try: + return path.encode(encoding) + except (UnicodeEncodeError, LookupError): + pass + return path diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/compat.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/compat.py new file mode 100644 index 0000000..2d8b3bf --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/compat.py @@ -0,0 +1,264 @@ +"""Stuff that differs in different Python versions and platform +distributions.""" +from __future__ import absolute_import, division + +import codecs +import locale +import logging +import os +import shutil +import sys + +from pip._vendor.six import text_type + +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Tuple, Text # noqa: F401 + +try: + import ipaddress +except ImportError: + try: + from pip._vendor import ipaddress # type: ignore + except ImportError: + import ipaddr as ipaddress # type: ignore + ipaddress.ip_address = ipaddress.IPAddress # type: ignore + ipaddress.ip_network = ipaddress.IPNetwork # type: ignore + + +__all__ = [ + "ipaddress", "uses_pycache", "console_to_str", "native_str", + "get_path_uid", "stdlib_pkgs", "WINDOWS", "samefile", "get_terminal_size", + "get_extension_suffixes", +] + + +logger = logging.getLogger(__name__) + +if sys.version_info >= (3, 4): + uses_pycache = True + from importlib.util import cache_from_source +else: + import imp + + try: + cache_from_source = imp.cache_from_source # type: ignore + except AttributeError: + # does not use __pycache__ + cache_from_source = None + + uses_pycache = cache_from_source is not None + + +if sys.version_info >= (3, 5): + backslashreplace_decode = "backslashreplace" +else: + # In version 3.4 and older, backslashreplace exists + # but does not support use for decoding. + # We implement our own replace handler for this + # situation, so that we can consistently use + # backslash replacement for all versions. + def backslashreplace_decode_fn(err): + raw_bytes = (err.object[i] for i in range(err.start, err.end)) + if sys.version_info[0] == 2: + # Python 2 gave us characters - convert to numeric bytes + raw_bytes = (ord(b) for b in raw_bytes) + return u"".join(u"\\x%x" % c for c in raw_bytes), err.end + codecs.register_error( + "backslashreplace_decode", + backslashreplace_decode_fn, + ) + backslashreplace_decode = "backslashreplace_decode" + + +def console_to_str(data): + # type: (bytes) -> Text + """Return a string, safe for output, of subprocess output. + + We assume the data is in the locale preferred encoding. + If it won't decode properly, we warn the user but decode as + best we can. + + We also ensure that the output can be safely written to + standard output without encoding errors. + """ + + # First, get the encoding we assume. This is the preferred + # encoding for the locale, unless that is not found, or + # it is ASCII, in which case assume UTF-8 + encoding = locale.getpreferredencoding() + if (not encoding) or codecs.lookup(encoding).name == "ascii": + encoding = "utf-8" + + # Now try to decode the data - if we fail, warn the user and + # decode with replacement. + try: + decoded_data = data.decode(encoding) + except UnicodeDecodeError: + logger.warning( + "Subprocess output does not appear to be encoded as %s", + encoding, + ) + decoded_data = data.decode(encoding, errors=backslashreplace_decode) + + # Make sure we can print the output, by encoding it to the output + # encoding with replacement of unencodable characters, and then + # decoding again. + # We use stderr's encoding because it's less likely to be + # redirected and if we don't find an encoding we skip this + # step (on the assumption that output is wrapped by something + # that won't fail). + # The double getattr is to deal with the possibility that we're + # being called in a situation where sys.__stderr__ doesn't exist, + # or doesn't have an encoding attribute. Neither of these cases + # should occur in normal pip use, but there's no harm in checking + # in case people use pip in (unsupported) unusual situations. + output_encoding = getattr(getattr(sys, "__stderr__", None), + "encoding", None) + + if output_encoding: + output_encoded = decoded_data.encode( + output_encoding, + errors="backslashreplace" + ) + decoded_data = output_encoded.decode(output_encoding) + + return decoded_data + + +if sys.version_info >= (3,): + def native_str(s, replace=False): + # type: (str, bool) -> str + if isinstance(s, bytes): + return s.decode('utf-8', 'replace' if replace else 'strict') + return s + +else: + def native_str(s, replace=False): + # type: (str, bool) -> str + # Replace is ignored -- unicode to UTF-8 can't fail + if isinstance(s, text_type): + return s.encode('utf-8') + return s + + +def get_path_uid(path): + # type: (str) -> int + """ + Return path's uid. + + Does not follow symlinks: + https://github.com/pypa/pip/pull/935#discussion_r5307003 + + Placed this function in compat due to differences on AIX and + Jython, that should eventually go away. + + :raises OSError: When path is a symlink or can't be read. + """ + if hasattr(os, 'O_NOFOLLOW'): + fd = os.open(path, os.O_RDONLY | os.O_NOFOLLOW) + file_uid = os.fstat(fd).st_uid + os.close(fd) + else: # AIX and Jython + # WARNING: time of check vulnerability, but best we can do w/o NOFOLLOW + if not os.path.islink(path): + # older versions of Jython don't have `os.fstat` + file_uid = os.stat(path).st_uid + else: + # raise OSError for parity with os.O_NOFOLLOW above + raise OSError( + "%s is a symlink; Will not return uid for symlinks" % path + ) + return file_uid + + +if sys.version_info >= (3, 4): + from importlib.machinery import EXTENSION_SUFFIXES + + def get_extension_suffixes(): + return EXTENSION_SUFFIXES +else: + from imp import get_suffixes + + def get_extension_suffixes(): + return [suffix[0] for suffix in get_suffixes()] + + +def expanduser(path): + # type: (str) -> str + """ + Expand ~ and ~user constructions. + + Includes a workaround for https://bugs.python.org/issue14768 + """ + expanded = os.path.expanduser(path) + if path.startswith('~/') and expanded.startswith('//'): + expanded = expanded[1:] + return expanded + + +# packages in the stdlib that may have installation metadata, but should not be +# considered 'installed'. this theoretically could be determined based on +# dist.location (py27:`sysconfig.get_paths()['stdlib']`, +# py26:sysconfig.get_config_vars('LIBDEST')), but fear platform variation may +# make this ineffective, so hard-coding +stdlib_pkgs = {"python", "wsgiref", "argparse"} + + +# windows detection, covers cpython and ironpython +WINDOWS = (sys.platform.startswith("win") or + (sys.platform == 'cli' and os.name == 'nt')) + + +def samefile(file1, file2): + # type: (str, str) -> bool + """Provide an alternative for os.path.samefile on Windows/Python2""" + if hasattr(os.path, 'samefile'): + return os.path.samefile(file1, file2) + else: + path1 = os.path.normcase(os.path.abspath(file1)) + path2 = os.path.normcase(os.path.abspath(file2)) + return path1 == path2 + + +if hasattr(shutil, 'get_terminal_size'): + def get_terminal_size(): + # type: () -> Tuple[int, int] + """ + Returns a tuple (x, y) representing the width(x) and the height(y) + in characters of the terminal window. + """ + return tuple(shutil.get_terminal_size()) # type: ignore +else: + def get_terminal_size(): + # type: () -> Tuple[int, int] + """ + Returns a tuple (x, y) representing the width(x) and the height(y) + in characters of the terminal window. + """ + def ioctl_GWINSZ(fd): + try: + import fcntl + import termios + import struct + cr = struct.unpack_from( + 'hh', + fcntl.ioctl(fd, termios.TIOCGWINSZ, '12345678') + ) + except Exception: + return None + if cr == (0, 0): + return None + return cr + cr = ioctl_GWINSZ(0) or ioctl_GWINSZ(1) or ioctl_GWINSZ(2) + if not cr: + try: + fd = os.open(os.ctermid(), os.O_RDONLY) + cr = ioctl_GWINSZ(fd) + os.close(fd) + except Exception: + pass + if not cr: + cr = (os.environ.get('LINES', 25), os.environ.get('COLUMNS', 80)) + return int(cr[1]), int(cr[0]) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/deprecation.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/deprecation.py new file mode 100644 index 0000000..0beaf74 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/deprecation.py @@ -0,0 +1,90 @@ +""" +A module that implements tooling to enable easy warnings about deprecations. +""" +from __future__ import absolute_import + +import logging +import warnings + +from pip._vendor.packaging.version import parse + +from pip import __version__ as current_version +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Any, Optional # noqa: F401 + + +class PipDeprecationWarning(Warning): + pass + + +_original_showwarning = None # type: Any + + +# Warnings <-> Logging Integration +def _showwarning(message, category, filename, lineno, file=None, line=None): + if file is not None: + if _original_showwarning is not None: + _original_showwarning( + message, category, filename, lineno, file, line, + ) + elif issubclass(category, PipDeprecationWarning): + # We use a specially named logger which will handle all of the + # deprecation messages for pip. + logger = logging.getLogger("pip._internal.deprecations") + logger.warning(message) + else: + _original_showwarning( + message, category, filename, lineno, file, line, + ) + + +def install_warning_logger(): + # type: () -> None + # Enable our Deprecation Warnings + warnings.simplefilter("default", PipDeprecationWarning, append=True) + + global _original_showwarning + + if _original_showwarning is None: + _original_showwarning = warnings.showwarning + warnings.showwarning = _showwarning + + +def deprecated(reason, replacement, gone_in, issue=None): + # type: (str, Optional[str], Optional[str], Optional[int]) -> None + """Helper to deprecate existing functionality. + + reason: + Textual reason shown to the user about why this functionality has + been deprecated. + replacement: + Textual suggestion shown to the user about what alternative + functionality they can use. + gone_in: + The version of pip does this functionality should get removed in. + Raises errors if pip's current version is greater than or equal to + this. + issue: + Issue number on the tracker that would serve as a useful place for + users to find related discussion and provide feedback. + + Always pass replacement, gone_in and issue as keyword arguments for clarity + at the call site. + """ + + # Construct a nice message. + # This is purposely eagerly formatted as we want it to appear as if someone + # typed this entire message out. + message = "DEPRECATION: " + reason + if replacement is not None: + message += " A possible replacement is {}.".format(replacement) + if issue is not None: + url = "https://github.com/pypa/pip/issues/" + str(issue) + message += " You can find discussion regarding this at {}.".format(url) + + # Raise as an error if it has to be removed. + if gone_in is not None and parse(current_version) >= parse(gone_in): + raise PipDeprecationWarning(message) + warnings.warn(message, category=PipDeprecationWarning, stacklevel=2) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/encoding.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/encoding.py new file mode 100644 index 0000000..d36defa --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/encoding.py @@ -0,0 +1,39 @@ +import codecs +import locale +import re +import sys + +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import List, Tuple, Text # noqa: F401 + +BOMS = [ + (codecs.BOM_UTF8, 'utf8'), + (codecs.BOM_UTF16, 'utf16'), + (codecs.BOM_UTF16_BE, 'utf16-be'), + (codecs.BOM_UTF16_LE, 'utf16-le'), + (codecs.BOM_UTF32, 'utf32'), + (codecs.BOM_UTF32_BE, 'utf32-be'), + (codecs.BOM_UTF32_LE, 'utf32-le'), +] # type: List[Tuple[bytes, Text]] + +ENCODING_RE = re.compile(br'coding[:=]\s*([-\w.]+)') + + +def auto_decode(data): + # type: (bytes) -> Text + """Check a bytes string for a BOM to correctly detect the encoding + + Fallback to locale.getpreferredencoding(False) like open() on Python3""" + for bom, encoding in BOMS: + if data.startswith(bom): + return data[len(bom):].decode(encoding) + # Lets check the first two lines as in PEP263 + for line in data.split(b'\n')[:2]: + if line[0:1] == b'#' and ENCODING_RE.search(line): + encoding = ENCODING_RE.search(line).groups()[0].decode('ascii') + return data.decode(encoding) + return data.decode( + locale.getpreferredencoding(False) or sys.getdefaultencoding(), + ) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/filesystem.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/filesystem.py new file mode 100644 index 0000000..1e6b033 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/filesystem.py @@ -0,0 +1,30 @@ +import os +import os.path + +from pip._internal.utils.compat import get_path_uid + + +def check_path_owner(path): + # type: (str) -> bool + # If we don't have a way to check the effective uid of this process, then + # we'll just assume that we own the directory. + if not hasattr(os, "geteuid"): + return True + + previous = None + while path != previous: + if os.path.lexists(path): + # Check if path is writable by current user. + if os.geteuid() == 0: + # Special handling for root user in order to handle properly + # cases where users use sudo without -H flag. + try: + path_uid = get_path_uid(path) + except OSError: + return False + return path_uid == 0 + else: + return os.access(path, os.W_OK) + else: + previous, path = path, os.path.dirname(path) + return False # assume we don't own the path diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/glibc.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/glibc.py new file mode 100644 index 0000000..8a51f69 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/glibc.py @@ -0,0 +1,93 @@ +from __future__ import absolute_import + +import ctypes +import re +import warnings + +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Optional, Tuple # noqa: F401 + + +def glibc_version_string(): + # type: () -> Optional[str] + "Returns glibc version string, or None if not using glibc." + + # ctypes.CDLL(None) internally calls dlopen(NULL), and as the dlopen + # manpage says, "If filename is NULL, then the returned handle is for the + # main program". This way we can let the linker do the work to figure out + # which libc our process is actually using. + process_namespace = ctypes.CDLL(None) + try: + gnu_get_libc_version = process_namespace.gnu_get_libc_version + except AttributeError: + # Symbol doesn't exist -> therefore, we are not linked to + # glibc. + return None + + # Call gnu_get_libc_version, which returns a string like "2.5" + gnu_get_libc_version.restype = ctypes.c_char_p + version_str = gnu_get_libc_version() + # py2 / py3 compatibility: + if not isinstance(version_str, str): + version_str = version_str.decode("ascii") + + return version_str + + +# Separated out from have_compatible_glibc for easier unit testing +def check_glibc_version(version_str, required_major, minimum_minor): + # type: (str, int, int) -> bool + # Parse string and check against requested version. + # + # We use a regexp instead of str.split because we want to discard any + # random junk that might come after the minor version -- this might happen + # in patched/forked versions of glibc (e.g. Linaro's version of glibc + # uses version strings like "2.20-2014.11"). See gh-3588. + m = re.match(r"(?P[0-9]+)\.(?P[0-9]+)", version_str) + if not m: + warnings.warn("Expected glibc version with 2 components major.minor," + " got: %s" % version_str, RuntimeWarning) + return False + return (int(m.group("major")) == required_major and + int(m.group("minor")) >= minimum_minor) + + +def have_compatible_glibc(required_major, minimum_minor): + # type: (int, int) -> bool + version_str = glibc_version_string() # type: Optional[str] + if version_str is None: + return False + return check_glibc_version(version_str, required_major, minimum_minor) + + +# platform.libc_ver regularly returns completely nonsensical glibc +# versions. E.g. on my computer, platform says: +# +# ~$ python2.7 -c 'import platform; print(platform.libc_ver())' +# ('glibc', '2.7') +# ~$ python3.5 -c 'import platform; print(platform.libc_ver())' +# ('glibc', '2.9') +# +# But the truth is: +# +# ~$ ldd --version +# ldd (Debian GLIBC 2.22-11) 2.22 +# +# This is unfortunate, because it means that the linehaul data on libc +# versions that was generated by pip 8.1.2 and earlier is useless and +# misleading. Solution: instead of using platform, use our code that actually +# works. +def libc_ver(): + # type: () -> Tuple[str, str] + """Try to determine the glibc version + + Returns a tuple of strings (lib, version) which default to empty strings + in case the lookup fails. + """ + glibc_version = glibc_version_string() + if glibc_version is None: + return ("", "") + else: + return ("glibc", glibc_version) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/hashes.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/hashes.py new file mode 100644 index 0000000..c6df7a1 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/hashes.py @@ -0,0 +1,115 @@ +from __future__ import absolute_import + +import hashlib + +from pip._vendor.six import iteritems, iterkeys, itervalues + +from pip._internal.exceptions import ( + HashMismatch, HashMissing, InstallationError, +) +from pip._internal.utils.misc import read_chunks +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Dict, List, BinaryIO, NoReturn, Iterator + ) + from pip._vendor.six import PY3 + if PY3: + from hashlib import _Hash # noqa: F401 + else: + from hashlib import _hash as _Hash # noqa: F401 + + +# The recommended hash algo of the moment. Change this whenever the state of +# the art changes; it won't hurt backward compatibility. +FAVORITE_HASH = 'sha256' + + +# Names of hashlib algorithms allowed by the --hash option and ``pip hash`` +# Currently, those are the ones at least as collision-resistant as sha256. +STRONG_HASHES = ['sha256', 'sha384', 'sha512'] + + +class Hashes(object): + """A wrapper that builds multiple hashes at once and checks them against + known-good values + + """ + def __init__(self, hashes=None): + # type: (Dict[str, List[str]]) -> None + """ + :param hashes: A dict of algorithm names pointing to lists of allowed + hex digests + """ + self._allowed = {} if hashes is None else hashes + + def check_against_chunks(self, chunks): + # type: (Iterator[bytes]) -> None + """Check good hashes against ones built from iterable of chunks of + data. + + Raise HashMismatch if none match. + + """ + gots = {} + for hash_name in iterkeys(self._allowed): + try: + gots[hash_name] = hashlib.new(hash_name) + except (ValueError, TypeError): + raise InstallationError('Unknown hash name: %s' % hash_name) + + for chunk in chunks: + for hash in itervalues(gots): + hash.update(chunk) + + for hash_name, got in iteritems(gots): + if got.hexdigest() in self._allowed[hash_name]: + return + self._raise(gots) + + def _raise(self, gots): + # type: (Dict[str, _Hash]) -> NoReturn + raise HashMismatch(self._allowed, gots) + + def check_against_file(self, file): + # type: (BinaryIO) -> None + """Check good hashes against a file-like object + + Raise HashMismatch if none match. + + """ + return self.check_against_chunks(read_chunks(file)) + + def check_against_path(self, path): + # type: (str) -> None + with open(path, 'rb') as file: + return self.check_against_file(file) + + def __nonzero__(self): + # type: () -> bool + """Return whether I know any known-good hashes.""" + return bool(self._allowed) + + def __bool__(self): + # type: () -> bool + return self.__nonzero__() + + +class MissingHashes(Hashes): + """A workalike for Hashes used when we're missing a hash for a requirement + + It computes the actual hash of the requirement and raises a HashMissing + exception showing it to the user. + + """ + def __init__(self): + # type: () -> None + """Don't offer the ``hashes`` kwarg.""" + # Pass our favorite hash in to generate a "gotten hash". With the + # empty list, it will never match, so an error will always raise. + super(MissingHashes, self).__init__(hashes={FAVORITE_HASH: []}) + + def _raise(self, gots): + # type: (Dict[str, _Hash]) -> NoReturn + raise HashMissing(gots[FAVORITE_HASH].hexdigest()) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/logging.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/logging.py new file mode 100644 index 0000000..579d696 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/logging.py @@ -0,0 +1,318 @@ +from __future__ import absolute_import + +import contextlib +import errno +import logging +import logging.handlers +import os +import sys + +from pip._vendor.six import PY2 + +from pip._internal.utils.compat import WINDOWS +from pip._internal.utils.misc import ensure_dir + +try: + import threading +except ImportError: + import dummy_threading as threading # type: ignore + + +try: + from pip._vendor import colorama +# Lots of different errors can come from this, including SystemError and +# ImportError. +except Exception: + colorama = None + + +_log_state = threading.local() +_log_state.indentation = 0 + + +class BrokenStdoutLoggingError(Exception): + """ + Raised if BrokenPipeError occurs for the stdout stream while logging. + """ + pass + + +# BrokenPipeError does not exist in Python 2 and, in addition, manifests +# differently in Windows and non-Windows. +if WINDOWS: + # In Windows, a broken pipe can show up as EINVAL rather than EPIPE: + # https://bugs.python.org/issue19612 + # https://bugs.python.org/issue30418 + if PY2: + def _is_broken_pipe_error(exc_class, exc): + """See the docstring for non-Windows Python 3 below.""" + return (exc_class is IOError and + exc.errno in (errno.EINVAL, errno.EPIPE)) + else: + # In Windows, a broken pipe IOError became OSError in Python 3. + def _is_broken_pipe_error(exc_class, exc): + """See the docstring for non-Windows Python 3 below.""" + return ((exc_class is BrokenPipeError) or # noqa: F821 + (exc_class is OSError and + exc.errno in (errno.EINVAL, errno.EPIPE))) +elif PY2: + def _is_broken_pipe_error(exc_class, exc): + """See the docstring for non-Windows Python 3 below.""" + return (exc_class is IOError and exc.errno == errno.EPIPE) +else: + # Then we are in the non-Windows Python 3 case. + def _is_broken_pipe_error(exc_class, exc): + """ + Return whether an exception is a broken pipe error. + + Args: + exc_class: an exception class. + exc: an exception instance. + """ + return (exc_class is BrokenPipeError) # noqa: F821 + + +@contextlib.contextmanager +def indent_log(num=2): + """ + A context manager which will cause the log output to be indented for any + log messages emitted inside it. + """ + _log_state.indentation += num + try: + yield + finally: + _log_state.indentation -= num + + +def get_indentation(): + return getattr(_log_state, 'indentation', 0) + + +class IndentingFormatter(logging.Formatter): + def __init__(self, *args, **kwargs): + """ + A logging.Formatter obeying containing indent_log contexts. + + :param add_timestamp: A bool indicating output lines should be prefixed + with their record's timestamp. + """ + self.add_timestamp = kwargs.pop("add_timestamp", False) + super(IndentingFormatter, self).__init__(*args, **kwargs) + + def format(self, record): + """ + Calls the standard formatter, but will indent all of the log messages + by our current indentation level. + """ + formatted = super(IndentingFormatter, self).format(record) + prefix = '' + if self.add_timestamp: + prefix = self.formatTime(record, "%Y-%m-%dT%H:%M:%S ") + prefix += " " * get_indentation() + formatted = "".join([ + prefix + line + for line in formatted.splitlines(True) + ]) + return formatted + + +def _color_wrap(*colors): + def wrapped(inp): + return "".join(list(colors) + [inp, colorama.Style.RESET_ALL]) + return wrapped + + +class ColorizedStreamHandler(logging.StreamHandler): + + # Don't build up a list of colors if we don't have colorama + if colorama: + COLORS = [ + # This needs to be in order from highest logging level to lowest. + (logging.ERROR, _color_wrap(colorama.Fore.RED)), + (logging.WARNING, _color_wrap(colorama.Fore.YELLOW)), + ] + else: + COLORS = [] + + def __init__(self, stream=None, no_color=None): + logging.StreamHandler.__init__(self, stream) + self._no_color = no_color + + if WINDOWS and colorama: + self.stream = colorama.AnsiToWin32(self.stream) + + def _using_stdout(self): + """ + Return whether the handler is using sys.stdout. + """ + if WINDOWS and colorama: + # Then self.stream is an AnsiToWin32 object. + return self.stream.wrapped is sys.stdout + + return self.stream is sys.stdout + + def should_color(self): + # Don't colorize things if we do not have colorama or if told not to + if not colorama or self._no_color: + return False + + real_stream = ( + self.stream if not isinstance(self.stream, colorama.AnsiToWin32) + else self.stream.wrapped + ) + + # If the stream is a tty we should color it + if hasattr(real_stream, "isatty") and real_stream.isatty(): + return True + + # If we have an ANSI term we should color it + if os.environ.get("TERM") == "ANSI": + return True + + # If anything else we should not color it + return False + + def format(self, record): + msg = logging.StreamHandler.format(self, record) + + if self.should_color(): + for level, color in self.COLORS: + if record.levelno >= level: + msg = color(msg) + break + + return msg + + # The logging module says handleError() can be customized. + def handleError(self, record): + exc_class, exc = sys.exc_info()[:2] + # If a broken pipe occurred while calling write() or flush() on the + # stdout stream in logging's Handler.emit(), then raise our special + # exception so we can handle it in main() instead of logging the + # broken pipe error and continuing. + if (exc_class and self._using_stdout() and + _is_broken_pipe_error(exc_class, exc)): + raise BrokenStdoutLoggingError() + + return super(ColorizedStreamHandler, self).handleError(record) + + +class BetterRotatingFileHandler(logging.handlers.RotatingFileHandler): + + def _open(self): + ensure_dir(os.path.dirname(self.baseFilename)) + return logging.handlers.RotatingFileHandler._open(self) + + +class MaxLevelFilter(logging.Filter): + + def __init__(self, level): + self.level = level + + def filter(self, record): + return record.levelno < self.level + + +def setup_logging(verbosity, no_color, user_log_file): + """Configures and sets up all of the logging + + Returns the requested logging level, as its integer value. + """ + + # Determine the level to be logging at. + if verbosity >= 1: + level = "DEBUG" + elif verbosity == -1: + level = "WARNING" + elif verbosity == -2: + level = "ERROR" + elif verbosity <= -3: + level = "CRITICAL" + else: + level = "INFO" + + level_number = getattr(logging, level) + + # The "root" logger should match the "console" level *unless* we also need + # to log to a user log file. + include_user_log = user_log_file is not None + if include_user_log: + additional_log_file = user_log_file + root_level = "DEBUG" + else: + additional_log_file = "/dev/null" + root_level = level + + # Disable any logging besides WARNING unless we have DEBUG level logging + # enabled for vendored libraries. + vendored_log_level = "WARNING" if level in ["INFO", "ERROR"] else "DEBUG" + + # Shorthands for clarity + log_streams = { + "stdout": "ext://sys.stdout", + "stderr": "ext://sys.stderr", + } + handler_classes = { + "stream": "pip._internal.utils.logging.ColorizedStreamHandler", + "file": "pip._internal.utils.logging.BetterRotatingFileHandler", + } + + logging.config.dictConfig({ + "version": 1, + "disable_existing_loggers": False, + "filters": { + "exclude_warnings": { + "()": "pip._internal.utils.logging.MaxLevelFilter", + "level": logging.WARNING, + }, + }, + "formatters": { + "indent": { + "()": IndentingFormatter, + "format": "%(message)s", + }, + "indent_with_timestamp": { + "()": IndentingFormatter, + "format": "%(message)s", + "add_timestamp": True, + }, + }, + "handlers": { + "console": { + "level": level, + "class": handler_classes["stream"], + "no_color": no_color, + "stream": log_streams["stdout"], + "filters": ["exclude_warnings"], + "formatter": "indent", + }, + "console_errors": { + "level": "WARNING", + "class": handler_classes["stream"], + "no_color": no_color, + "stream": log_streams["stderr"], + "formatter": "indent", + }, + "user_log": { + "level": "DEBUG", + "class": handler_classes["file"], + "filename": additional_log_file, + "delay": True, + "formatter": "indent_with_timestamp", + }, + }, + "root": { + "level": root_level, + "handlers": ["console", "console_errors"] + ( + ["user_log"] if include_user_log else [] + ), + }, + "loggers": { + "pip._vendor": { + "level": vendored_log_level + } + }, + }) + + return level_number diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/misc.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/misc.py new file mode 100644 index 0000000..84605ee --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/misc.py @@ -0,0 +1,1040 @@ +from __future__ import absolute_import + +import contextlib +import errno +import io +import locale +# we have a submodule named 'logging' which would shadow this if we used the +# regular name: +import logging as std_logging +import os +import posixpath +import re +import shutil +import stat +import subprocess +import sys +import tarfile +import zipfile +from collections import deque + +from pip._vendor import pkg_resources +# NOTE: retrying is not annotated in typeshed as on 2017-07-17, which is +# why we ignore the type on this import. +from pip._vendor.retrying import retry # type: ignore +from pip._vendor.six import PY2 +from pip._vendor.six.moves import input +from pip._vendor.six.moves.urllib import parse as urllib_parse +from pip._vendor.six.moves.urllib.parse import unquote as urllib_unquote + +from pip._internal.exceptions import CommandError, InstallationError +from pip._internal.locations import ( + running_under_virtualenv, site_packages, user_site, virtualenv_no_global, + write_delete_marker_file, +) +from pip._internal.utils.compat import ( + WINDOWS, console_to_str, expanduser, stdlib_pkgs, +) +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if PY2: + from io import BytesIO as StringIO +else: + from io import StringIO + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Optional, Tuple, Iterable, List, Match, Union, Any, Mapping, Text, + AnyStr, Container + ) + from pip._vendor.pkg_resources import Distribution # noqa: F401 + from pip._internal.models.link import Link # noqa: F401 + from pip._internal.utils.ui import SpinnerInterface # noqa: F401 + + +__all__ = ['rmtree', 'display_path', 'backup_dir', + 'ask', 'splitext', + 'format_size', 'is_installable_dir', + 'is_svn_page', 'file_contents', + 'split_leading_dir', 'has_leading_dir', + 'normalize_path', + 'renames', 'get_prog', + 'unzip_file', 'untar_file', 'unpack_file', 'call_subprocess', + 'captured_stdout', 'ensure_dir', + 'ARCHIVE_EXTENSIONS', 'SUPPORTED_EXTENSIONS', 'WHEEL_EXTENSION', + 'get_installed_version', 'remove_auth_from_url'] + + +logger = std_logging.getLogger(__name__) + +WHEEL_EXTENSION = '.whl' +BZ2_EXTENSIONS = ('.tar.bz2', '.tbz') +XZ_EXTENSIONS = ('.tar.xz', '.txz', '.tlz', '.tar.lz', '.tar.lzma') +ZIP_EXTENSIONS = ('.zip', WHEEL_EXTENSION) +TAR_EXTENSIONS = ('.tar.gz', '.tgz', '.tar') +ARCHIVE_EXTENSIONS = ( + ZIP_EXTENSIONS + BZ2_EXTENSIONS + TAR_EXTENSIONS + XZ_EXTENSIONS) +SUPPORTED_EXTENSIONS = ZIP_EXTENSIONS + TAR_EXTENSIONS + +try: + import bz2 # noqa + SUPPORTED_EXTENSIONS += BZ2_EXTENSIONS +except ImportError: + logger.debug('bz2 module is not available') + +try: + # Only for Python 3.3+ + import lzma # noqa + SUPPORTED_EXTENSIONS += XZ_EXTENSIONS +except ImportError: + logger.debug('lzma module is not available') + + +def ensure_dir(path): + # type: (AnyStr) -> None + """os.path.makedirs without EEXIST.""" + try: + os.makedirs(path) + except OSError as e: + if e.errno != errno.EEXIST: + raise + + +def get_prog(): + # type: () -> str + try: + prog = os.path.basename(sys.argv[0]) + if prog in ('__main__.py', '-c'): + return "%s -m pip" % sys.executable + else: + return prog + except (AttributeError, TypeError, IndexError): + pass + return 'pip' + + +# Retry every half second for up to 3 seconds +@retry(stop_max_delay=3000, wait_fixed=500) +def rmtree(dir, ignore_errors=False): + # type: (str, bool) -> None + shutil.rmtree(dir, ignore_errors=ignore_errors, + onerror=rmtree_errorhandler) + + +def rmtree_errorhandler(func, path, exc_info): + """On Windows, the files in .svn are read-only, so when rmtree() tries to + remove them, an exception is thrown. We catch that here, remove the + read-only attribute, and hopefully continue without problems.""" + # if file type currently read only + if os.stat(path).st_mode & stat.S_IREAD: + # convert to read/write + os.chmod(path, stat.S_IWRITE) + # use the original function to repeat the operation + func(path) + return + else: + raise + + +def display_path(path): + # type: (Union[str, Text]) -> str + """Gives the display value for a given path, making it relative to cwd + if possible.""" + path = os.path.normcase(os.path.abspath(path)) + if sys.version_info[0] == 2: + path = path.decode(sys.getfilesystemencoding(), 'replace') + path = path.encode(sys.getdefaultencoding(), 'replace') + if path.startswith(os.getcwd() + os.path.sep): + path = '.' + path[len(os.getcwd()):] + return path + + +def backup_dir(dir, ext='.bak'): + # type: (str, str) -> str + """Figure out the name of a directory to back up the given dir to + (adding .bak, .bak2, etc)""" + n = 1 + extension = ext + while os.path.exists(dir + extension): + n += 1 + extension = ext + str(n) + return dir + extension + + +def ask_path_exists(message, options): + # type: (str, Iterable[str]) -> str + for action in os.environ.get('PIP_EXISTS_ACTION', '').split(): + if action in options: + return action + return ask(message, options) + + +def ask(message, options): + # type: (str, Iterable[str]) -> str + """Ask the message interactively, with the given possible responses""" + while 1: + if os.environ.get('PIP_NO_INPUT'): + raise Exception( + 'No input was expected ($PIP_NO_INPUT set); question: %s' % + message + ) + response = input(message) + response = response.strip().lower() + if response not in options: + print( + 'Your response (%r) was not one of the expected responses: ' + '%s' % (response, ', '.join(options)) + ) + else: + return response + + +def format_size(bytes): + # type: (float) -> str + if bytes > 1000 * 1000: + return '%.1fMB' % (bytes / 1000.0 / 1000) + elif bytes > 10 * 1000: + return '%ikB' % (bytes / 1000) + elif bytes > 1000: + return '%.1fkB' % (bytes / 1000.0) + else: + return '%ibytes' % bytes + + +def is_installable_dir(path): + # type: (str) -> bool + """Is path is a directory containing setup.py or pyproject.toml? + """ + if not os.path.isdir(path): + return False + setup_py = os.path.join(path, 'setup.py') + if os.path.isfile(setup_py): + return True + pyproject_toml = os.path.join(path, 'pyproject.toml') + if os.path.isfile(pyproject_toml): + return True + return False + + +def is_svn_page(html): + # type: (Union[str, Text]) -> Optional[Match[Union[str, Text]]] + """ + Returns true if the page appears to be the index page of an svn repository + """ + return (re.search(r'[^<]*Revision \d+:', html) and + re.search(r'Powered by (?:<a[^>]*?>)?Subversion', html, re.I)) + + +def file_contents(filename): + # type: (str) -> Text + with open(filename, 'rb') as fp: + return fp.read().decode('utf-8') + + +def read_chunks(file, size=io.DEFAULT_BUFFER_SIZE): + """Yield pieces of data from a file-like object until EOF.""" + while True: + chunk = file.read(size) + if not chunk: + break + yield chunk + + +def split_leading_dir(path): + # type: (Union[str, Text]) -> List[Union[str, Text]] + path = path.lstrip('/').lstrip('\\') + if '/' in path and (('\\' in path and path.find('/') < path.find('\\')) or + '\\' not in path): + return path.split('/', 1) + elif '\\' in path: + return path.split('\\', 1) + else: + return [path, ''] + + +def has_leading_dir(paths): + # type: (Iterable[Union[str, Text]]) -> bool + """Returns true if all the paths have the same leading path name + (i.e., everything is in one subdirectory in an archive)""" + common_prefix = None + for path in paths: + prefix, rest = split_leading_dir(path) + if not prefix: + return False + elif common_prefix is None: + common_prefix = prefix + elif prefix != common_prefix: + return False + return True + + +def normalize_path(path, resolve_symlinks=True): + # type: (str, bool) -> str + """ + Convert a path to its canonical, case-normalized, absolute version. + + """ + path = expanduser(path) + if resolve_symlinks: + path = os.path.realpath(path) + else: + path = os.path.abspath(path) + return os.path.normcase(path) + + +def splitext(path): + # type: (str) -> Tuple[str, str] + """Like os.path.splitext, but take off .tar too""" + base, ext = posixpath.splitext(path) + if base.lower().endswith('.tar'): + ext = base[-4:] + ext + base = base[:-4] + return base, ext + + +def renames(old, new): + # type: (str, str) -> None + """Like os.renames(), but handles renaming across devices.""" + # Implementation borrowed from os.renames(). + head, tail = os.path.split(new) + if head and tail and not os.path.exists(head): + os.makedirs(head) + + shutil.move(old, new) + + head, tail = os.path.split(old) + if head and tail: + try: + os.removedirs(head) + except OSError: + pass + + +def is_local(path): + # type: (str) -> bool + """ + Return True if path is within sys.prefix, if we're running in a virtualenv. + + If we're not in a virtualenv, all paths are considered "local." + + """ + if not running_under_virtualenv(): + return True + return normalize_path(path).startswith(normalize_path(sys.prefix)) + + +def dist_is_local(dist): + # type: (Distribution) -> bool + """ + Return True if given Distribution object is installed locally + (i.e. within current virtualenv). + + Always True if we're not in a virtualenv. + + """ + return is_local(dist_location(dist)) + + +def dist_in_usersite(dist): + # type: (Distribution) -> bool + """ + Return True if given Distribution is installed in user site. + """ + norm_path = normalize_path(dist_location(dist)) + return norm_path.startswith(normalize_path(user_site)) + + +def dist_in_site_packages(dist): + # type: (Distribution) -> bool + """ + Return True if given Distribution is installed in + sysconfig.get_python_lib(). + """ + return normalize_path( + dist_location(dist) + ).startswith(normalize_path(site_packages)) + + +def dist_is_editable(dist): + # type: (Distribution) -> bool + """ + Return True if given Distribution is an editable install. + """ + for path_item in sys.path: + egg_link = os.path.join(path_item, dist.project_name + '.egg-link') + if os.path.isfile(egg_link): + return True + return False + + +def get_installed_distributions(local_only=True, + skip=stdlib_pkgs, + include_editables=True, + editables_only=False, + user_only=False): + # type: (bool, Container[str], bool, bool, bool) -> List[Distribution] + """ + Return a list of installed Distribution objects. + + If ``local_only`` is True (default), only return installations + local to the current virtualenv, if in a virtualenv. + + ``skip`` argument is an iterable of lower-case project names to + ignore; defaults to stdlib_pkgs + + If ``include_editables`` is False, don't report editables. + + If ``editables_only`` is True , only report editables. + + If ``user_only`` is True , only report installations in the user + site directory. + + """ + if local_only: + local_test = dist_is_local + else: + def local_test(d): + return True + + if include_editables: + def editable_test(d): + return True + else: + def editable_test(d): + return not dist_is_editable(d) + + if editables_only: + def editables_only_test(d): + return dist_is_editable(d) + else: + def editables_only_test(d): + return True + + if user_only: + user_test = dist_in_usersite + else: + def user_test(d): + return True + + # because of pkg_resources vendoring, mypy cannot find stub in typeshed + return [d for d in pkg_resources.working_set # type: ignore + if local_test(d) and + d.key not in skip and + editable_test(d) and + editables_only_test(d) and + user_test(d) + ] + + +def egg_link_path(dist): + # type: (Distribution) -> Optional[str] + """ + Return the path for the .egg-link file if it exists, otherwise, None. + + There's 3 scenarios: + 1) not in a virtualenv + try to find in site.USER_SITE, then site_packages + 2) in a no-global virtualenv + try to find in site_packages + 3) in a yes-global virtualenv + try to find in site_packages, then site.USER_SITE + (don't look in global location) + + For #1 and #3, there could be odd cases, where there's an egg-link in 2 + locations. + + This method will just return the first one found. + """ + sites = [] + if running_under_virtualenv(): + if virtualenv_no_global(): + sites.append(site_packages) + else: + sites.append(site_packages) + if user_site: + sites.append(user_site) + else: + if user_site: + sites.append(user_site) + sites.append(site_packages) + + for site in sites: + egglink = os.path.join(site, dist.project_name) + '.egg-link' + if os.path.isfile(egglink): + return egglink + return None + + +def dist_location(dist): + # type: (Distribution) -> str + """ + Get the site-packages location of this distribution. Generally + this is dist.location, except in the case of develop-installed + packages, where dist.location is the source code location, and we + want to know where the egg-link file is. + + """ + egg_link = egg_link_path(dist) + if egg_link: + return egg_link + return dist.location + + +def current_umask(): + """Get the current umask which involves having to set it temporarily.""" + mask = os.umask(0) + os.umask(mask) + return mask + + +def unzip_file(filename, location, flatten=True): + # type: (str, str, bool) -> None + """ + Unzip the file (with path `filename`) to the destination `location`. All + files are written based on system defaults and umask (i.e. permissions are + not preserved), except that regular file members with any execute + permissions (user, group, or world) have "chmod +x" applied after being + written. Note that for windows, any execute changes using os.chmod are + no-ops per the python docs. + """ + ensure_dir(location) + zipfp = open(filename, 'rb') + try: + zip = zipfile.ZipFile(zipfp, allowZip64=True) + leading = has_leading_dir(zip.namelist()) and flatten + for info in zip.infolist(): + name = info.filename + fn = name + if leading: + fn = split_leading_dir(name)[1] + fn = os.path.join(location, fn) + dir = os.path.dirname(fn) + if fn.endswith('/') or fn.endswith('\\'): + # A directory + ensure_dir(fn) + else: + ensure_dir(dir) + # Don't use read() to avoid allocating an arbitrarily large + # chunk of memory for the file's content + fp = zip.open(name) + try: + with open(fn, 'wb') as destfp: + shutil.copyfileobj(fp, destfp) + finally: + fp.close() + mode = info.external_attr >> 16 + # if mode and regular file and any execute permissions for + # user/group/world? + if mode and stat.S_ISREG(mode) and mode & 0o111: + # make dest file have execute for user/group/world + # (chmod +x) no-op on windows per python docs + os.chmod(fn, (0o777 - current_umask() | 0o111)) + finally: + zipfp.close() + + +def untar_file(filename, location): + # type: (str, str) -> None + """ + Untar the file (with path `filename`) to the destination `location`. + All files are written based on system defaults and umask (i.e. permissions + are not preserved), except that regular file members with any execute + permissions (user, group, or world) have "chmod +x" applied after being + written. Note that for windows, any execute changes using os.chmod are + no-ops per the python docs. + """ + ensure_dir(location) + if filename.lower().endswith('.gz') or filename.lower().endswith('.tgz'): + mode = 'r:gz' + elif filename.lower().endswith(BZ2_EXTENSIONS): + mode = 'r:bz2' + elif filename.lower().endswith(XZ_EXTENSIONS): + mode = 'r:xz' + elif filename.lower().endswith('.tar'): + mode = 'r' + else: + logger.warning( + 'Cannot determine compression type for file %s', filename, + ) + mode = 'r:*' + tar = tarfile.open(filename, mode) + try: + leading = has_leading_dir([ + member.name for member in tar.getmembers() + ]) + for member in tar.getmembers(): + fn = member.name + if leading: + # https://github.com/python/mypy/issues/1174 + fn = split_leading_dir(fn)[1] # type: ignore + path = os.path.join(location, fn) + if member.isdir(): + ensure_dir(path) + elif member.issym(): + try: + # https://github.com/python/typeshed/issues/2673 + tar._extract_member(member, path) # type: ignore + except Exception as exc: + # Some corrupt tar files seem to produce this + # (specifically bad symlinks) + logger.warning( + 'In the tar file %s the member %s is invalid: %s', + filename, member.name, exc, + ) + continue + else: + try: + fp = tar.extractfile(member) + except (KeyError, AttributeError) as exc: + # Some corrupt tar files seem to produce this + # (specifically bad symlinks) + logger.warning( + 'In the tar file %s the member %s is invalid: %s', + filename, member.name, exc, + ) + continue + ensure_dir(os.path.dirname(path)) + with open(path, 'wb') as destfp: + shutil.copyfileobj(fp, destfp) + fp.close() + # Update the timestamp (useful for cython compiled files) + # https://github.com/python/typeshed/issues/2673 + tar.utime(member, path) # type: ignore + # member have any execute permissions for user/group/world? + if member.mode & 0o111: + # make dest file have execute for user/group/world + # no-op on windows per python docs + os.chmod(path, (0o777 - current_umask() | 0o111)) + finally: + tar.close() + + +def unpack_file( + filename, # type: str + location, # type: str + content_type, # type: Optional[str] + link # type: Optional[Link] +): + # type: (...) -> None + filename = os.path.realpath(filename) + if (content_type == 'application/zip' or + filename.lower().endswith(ZIP_EXTENSIONS) or + zipfile.is_zipfile(filename)): + unzip_file( + filename, + location, + flatten=not filename.endswith('.whl') + ) + elif (content_type == 'application/x-gzip' or + tarfile.is_tarfile(filename) or + filename.lower().endswith( + TAR_EXTENSIONS + BZ2_EXTENSIONS + XZ_EXTENSIONS)): + untar_file(filename, location) + elif (content_type and content_type.startswith('text/html') and + is_svn_page(file_contents(filename))): + # We don't really care about this + from pip._internal.vcs.subversion import Subversion + Subversion('svn+' + link.url).unpack(location) + else: + # FIXME: handle? + # FIXME: magic signatures? + logger.critical( + 'Cannot unpack file %s (downloaded from %s, content-type: %s); ' + 'cannot detect archive format', + filename, location, content_type, + ) + raise InstallationError( + 'Cannot determine archive format of %s' % location + ) + + +def call_subprocess( + cmd, # type: List[str] + show_stdout=True, # type: bool + cwd=None, # type: Optional[str] + on_returncode='raise', # type: str + extra_ok_returncodes=None, # type: Optional[Iterable[int]] + command_desc=None, # type: Optional[str] + extra_environ=None, # type: Optional[Mapping[str, Any]] + unset_environ=None, # type: Optional[Iterable[str]] + spinner=None # type: Optional[SpinnerInterface] +): + # type: (...) -> Optional[Text] + """ + Args: + extra_ok_returncodes: an iterable of integer return codes that are + acceptable, in addition to 0. Defaults to None, which means []. + unset_environ: an iterable of environment variable names to unset + prior to calling subprocess.Popen(). + """ + if extra_ok_returncodes is None: + extra_ok_returncodes = [] + if unset_environ is None: + unset_environ = [] + # This function's handling of subprocess output is confusing and I + # previously broke it terribly, so as penance I will write a long comment + # explaining things. + # + # The obvious thing that affects output is the show_stdout= + # kwarg. show_stdout=True means, let the subprocess write directly to our + # stdout. Even though it is nominally the default, it is almost never used + # inside pip (and should not be used in new code without a very good + # reason); as of 2016-02-22 it is only used in a few places inside the VCS + # wrapper code. Ideally we should get rid of it entirely, because it + # creates a lot of complexity here for a rarely used feature. + # + # Most places in pip set show_stdout=False. What this means is: + # - We connect the child stdout to a pipe, which we read. + # - By default, we hide the output but show a spinner -- unless the + # subprocess exits with an error, in which case we show the output. + # - If the --verbose option was passed (= loglevel is DEBUG), then we show + # the output unconditionally. (But in this case we don't want to show + # the output a second time if it turns out that there was an error.) + # + # stderr is always merged with stdout (even if show_stdout=True). + if show_stdout: + stdout = None + else: + stdout = subprocess.PIPE + if command_desc is None: + cmd_parts = [] + for part in cmd: + if ' ' in part or '\n' in part or '"' in part or "'" in part: + part = '"%s"' % part.replace('"', '\\"') + cmd_parts.append(part) + command_desc = ' '.join(cmd_parts) + logger.debug("Running command %s", command_desc) + env = os.environ.copy() + if extra_environ: + env.update(extra_environ) + for name in unset_environ: + env.pop(name, None) + try: + proc = subprocess.Popen( + cmd, stderr=subprocess.STDOUT, stdin=subprocess.PIPE, + stdout=stdout, cwd=cwd, env=env, + ) + proc.stdin.close() + except Exception as exc: + logger.critical( + "Error %s while executing command %s", exc, command_desc, + ) + raise + all_output = [] + if stdout is not None: + while True: + line = console_to_str(proc.stdout.readline()) + if not line: + break + line = line.rstrip() + all_output.append(line + '\n') + if logger.getEffectiveLevel() <= std_logging.DEBUG: + # Show the line immediately + logger.debug(line) + else: + # Update the spinner + if spinner is not None: + spinner.spin() + try: + proc.wait() + finally: + if proc.stdout: + proc.stdout.close() + if spinner is not None: + if proc.returncode: + spinner.finish("error") + else: + spinner.finish("done") + if proc.returncode and proc.returncode not in extra_ok_returncodes: + if on_returncode == 'raise': + if (logger.getEffectiveLevel() > std_logging.DEBUG and + not show_stdout): + logger.info( + 'Complete output from command %s:', command_desc, + ) + logger.info( + ''.join(all_output) + + '\n----------------------------------------' + ) + raise InstallationError( + 'Command "%s" failed with error code %s in %s' + % (command_desc, proc.returncode, cwd)) + elif on_returncode == 'warn': + logger.warning( + 'Command "%s" had error code %s in %s', + command_desc, proc.returncode, cwd, + ) + elif on_returncode == 'ignore': + pass + else: + raise ValueError('Invalid value: on_returncode=%s' % + repr(on_returncode)) + if not show_stdout: + return ''.join(all_output) + return None + + +def read_text_file(filename): + # type: (str) -> str + """Return the contents of *filename*. + + Try to decode the file contents with utf-8, the preferred system encoding + (e.g., cp1252 on some Windows machines), and latin1, in that order. + Decoding a byte string with latin1 will never raise an error. In the worst + case, the returned string will contain some garbage characters. + + """ + with open(filename, 'rb') as fp: + data = fp.read() + + encodings = ['utf-8', locale.getpreferredencoding(False), 'latin1'] + for enc in encodings: + try: + # https://github.com/python/mypy/issues/1174 + data = data.decode(enc) # type: ignore + except UnicodeDecodeError: + continue + break + + assert not isinstance(data, bytes) # Latin1 should have worked. + return data + + +def _make_build_dir(build_dir): + os.makedirs(build_dir) + write_delete_marker_file(build_dir) + + +class FakeFile(object): + """Wrap a list of lines in an object with readline() to make + ConfigParser happy.""" + def __init__(self, lines): + self._gen = (l for l in lines) + + def readline(self): + try: + try: + return next(self._gen) + except NameError: + return self._gen.next() + except StopIteration: + return '' + + def __iter__(self): + return self._gen + + +class StreamWrapper(StringIO): + + @classmethod + def from_stream(cls, orig_stream): + cls.orig_stream = orig_stream + return cls() + + # compileall.compile_dir() needs stdout.encoding to print to stdout + @property + def encoding(self): + return self.orig_stream.encoding + + +@contextlib.contextmanager +def captured_output(stream_name): + """Return a context manager used by captured_stdout/stdin/stderr + that temporarily replaces the sys stream *stream_name* with a StringIO. + + Taken from Lib/support/__init__.py in the CPython repo. + """ + orig_stdout = getattr(sys, stream_name) + setattr(sys, stream_name, StreamWrapper.from_stream(orig_stdout)) + try: + yield getattr(sys, stream_name) + finally: + setattr(sys, stream_name, orig_stdout) + + +def captured_stdout(): + """Capture the output of sys.stdout: + + with captured_stdout() as stdout: + print('hello') + self.assertEqual(stdout.getvalue(), 'hello\n') + + Taken from Lib/support/__init__.py in the CPython repo. + """ + return captured_output('stdout') + + +def captured_stderr(): + """ + See captured_stdout(). + """ + return captured_output('stderr') + + +class cached_property(object): + """A property that is only computed once per instance and then replaces + itself with an ordinary attribute. Deleting the attribute resets the + property. + + Source: https://github.com/bottlepy/bottle/blob/0.11.5/bottle.py#L175 + """ + + def __init__(self, func): + self.__doc__ = getattr(func, '__doc__') + self.func = func + + def __get__(self, obj, cls): + if obj is None: + # We're being accessed from the class itself, not from an object + return self + value = obj.__dict__[self.func.__name__] = self.func(obj) + return value + + +def get_installed_version(dist_name, working_set=None): + """Get the installed version of dist_name avoiding pkg_resources cache""" + # Create a requirement that we'll look for inside of setuptools. + req = pkg_resources.Requirement.parse(dist_name) + + if working_set is None: + # We want to avoid having this cached, so we need to construct a new + # working set each time. + working_set = pkg_resources.WorkingSet() + + # Get the installed distribution from our working set + dist = working_set.find(req) + + # Check to see if we got an installed distribution or not, if we did + # we want to return it's version. + return dist.version if dist else None + + +def consume(iterator): + """Consume an iterable at C speed.""" + deque(iterator, maxlen=0) + + +# Simulates an enum +def enum(*sequential, **named): + enums = dict(zip(sequential, range(len(sequential))), **named) + reverse = {value: key for key, value in enums.items()} + enums['reverse_mapping'] = reverse + return type('Enum', (), enums) + + +def make_vcs_requirement_url(repo_url, rev, project_name, subdir=None): + """ + Return the URL for a VCS requirement. + + Args: + repo_url: the remote VCS url, with any needed VCS prefix (e.g. "git+"). + project_name: the (unescaped) project name. + """ + egg_project_name = pkg_resources.to_filename(project_name) + req = '{}@{}#egg={}'.format(repo_url, rev, egg_project_name) + if subdir: + req += '&subdirectory={}'.format(subdir) + + return req + + +def split_auth_from_netloc(netloc): + """ + Parse out and remove the auth information from a netloc. + + Returns: (netloc, (username, password)). + """ + if '@' not in netloc: + return netloc, (None, None) + + # Split from the right because that's how urllib.parse.urlsplit() + # behaves if more than one @ is present (which can be checked using + # the password attribute of urlsplit()'s return value). + auth, netloc = netloc.rsplit('@', 1) + if ':' in auth: + # Split from the left because that's how urllib.parse.urlsplit() + # behaves if more than one : is present (which again can be checked + # using the password attribute of the return value) + user_pass = auth.split(':', 1) + else: + user_pass = auth, None + + user_pass = tuple( + None if x is None else urllib_unquote(x) for x in user_pass + ) + + return netloc, user_pass + + +def redact_netloc(netloc): + # type: (str) -> str + """ + Replace the password in a netloc with "****", if it exists. + + For example, "user:pass@example.com" returns "user:****@example.com". + """ + netloc, (user, password) = split_auth_from_netloc(netloc) + if user is None: + return netloc + password = '' if password is None else ':****' + return '{user}{password}@{netloc}'.format(user=urllib_parse.quote(user), + password=password, + netloc=netloc) + + +def _transform_url(url, transform_netloc): + purl = urllib_parse.urlsplit(url) + netloc = transform_netloc(purl.netloc) + # stripped url + url_pieces = ( + purl.scheme, netloc, purl.path, purl.query, purl.fragment + ) + surl = urllib_parse.urlunsplit(url_pieces) + return surl + + +def _get_netloc(netloc): + return split_auth_from_netloc(netloc)[0] + + +def remove_auth_from_url(url): + # type: (str) -> str + # Return a copy of url with 'username:password@' removed. + # username/pass params are passed to subversion through flags + # and are not recognized in the url. + return _transform_url(url, _get_netloc) + + +def redact_password_from_url(url): + # type: (str) -> str + """Replace the password in a given url with ****.""" + return _transform_url(url, redact_netloc) + + +def protect_pip_from_modification_on_windows(modifying_pip): + """Protection of pip.exe from modification on Windows + + On Windows, any operation modifying pip should be run as: + python -m pip ... + """ + pip_names = [ + "pip.exe", + "pip{}.exe".format(sys.version_info[0]), + "pip{}.{}.exe".format(*sys.version_info[:2]) + ] + + # See https://github.com/pypa/pip/issues/1299 for more discussion + should_show_use_python_msg = ( + modifying_pip and + WINDOWS and + os.path.basename(sys.argv[0]) in pip_names + ) + + if should_show_use_python_msg: + new_command = [ + sys.executable, "-m", "pip" + ] + sys.argv[1:] + raise CommandError( + 'To modify pip, please run the following command:\n{}' + .format(" ".join(new_command)) + ) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/models.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/models.py new file mode 100644 index 0000000..d5cb80a --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/models.py @@ -0,0 +1,40 @@ +"""Utilities for defining models +""" + +import operator + + +class KeyBasedCompareMixin(object): + """Provides comparision capabilities that is based on a key + """ + + def __init__(self, key, defining_class): + self._compare_key = key + self._defining_class = defining_class + + def __hash__(self): + return hash(self._compare_key) + + def __lt__(self, other): + return self._compare(other, operator.__lt__) + + def __le__(self, other): + return self._compare(other, operator.__le__) + + def __gt__(self, other): + return self._compare(other, operator.__gt__) + + def __ge__(self, other): + return self._compare(other, operator.__ge__) + + def __eq__(self, other): + return self._compare(other, operator.__eq__) + + def __ne__(self, other): + return self._compare(other, operator.__ne__) + + def _compare(self, other, method): + if not isinstance(other, self._defining_class): + return NotImplemented + + return method(self._compare_key, other._compare_key) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/outdated.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/outdated.py new file mode 100644 index 0000000..37c47a4 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/outdated.py @@ -0,0 +1,164 @@ +from __future__ import absolute_import + +import datetime +import json +import logging +import os.path +import sys + +from pip._vendor import lockfile, pkg_resources +from pip._vendor.packaging import version as packaging_version + +from pip._internal.index import PackageFinder +from pip._internal.utils.compat import WINDOWS +from pip._internal.utils.filesystem import check_path_owner +from pip._internal.utils.misc import ensure_dir, get_installed_version +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + import optparse # noqa: F401 + from typing import Any, Dict # noqa: F401 + from pip._internal.download import PipSession # noqa: F401 + + +SELFCHECK_DATE_FMT = "%Y-%m-%dT%H:%M:%SZ" + + +logger = logging.getLogger(__name__) + + +class SelfCheckState(object): + def __init__(self, cache_dir): + # type: (str) -> None + self.state = {} # type: Dict[str, Any] + self.statefile_path = None + + # Try to load the existing state + if cache_dir: + self.statefile_path = os.path.join(cache_dir, "selfcheck.json") + try: + with open(self.statefile_path) as statefile: + self.state = json.load(statefile)[sys.prefix] + except (IOError, ValueError, KeyError): + # Explicitly suppressing exceptions, since we don't want to + # error out if the cache file is invalid. + pass + + def save(self, pypi_version, current_time): + # type: (str, datetime.datetime) -> None + # If we do not have a path to cache in, don't bother saving. + if not self.statefile_path: + return + + # Check to make sure that we own the directory + if not check_path_owner(os.path.dirname(self.statefile_path)): + return + + # Now that we've ensured the directory is owned by this user, we'll go + # ahead and make sure that all our directories are created. + ensure_dir(os.path.dirname(self.statefile_path)) + + # Attempt to write out our version check file + with lockfile.LockFile(self.statefile_path): + if os.path.exists(self.statefile_path): + with open(self.statefile_path) as statefile: + state = json.load(statefile) + else: + state = {} + + state[sys.prefix] = { + "last_check": current_time.strftime(SELFCHECK_DATE_FMT), + "pypi_version": pypi_version, + } + + with open(self.statefile_path, "w") as statefile: + json.dump(state, statefile, sort_keys=True, + separators=(",", ":")) + + +def was_installed_by_pip(pkg): + # type: (str) -> bool + """Checks whether pkg was installed by pip + + This is used not to display the upgrade message when pip is in fact + installed by system package manager, such as dnf on Fedora. + """ + try: + dist = pkg_resources.get_distribution(pkg) + return (dist.has_metadata('INSTALLER') and + 'pip' in dist.get_metadata_lines('INSTALLER')) + except pkg_resources.DistributionNotFound: + return False + + +def pip_version_check(session, options): + # type: (PipSession, optparse.Values) -> None + """Check for an update for pip. + + Limit the frequency of checks to once per week. State is stored either in + the active virtualenv or in the user's USER_CACHE_DIR keyed off the prefix + of the pip script path. + """ + installed_version = get_installed_version("pip") + if not installed_version: + return + + pip_version = packaging_version.parse(installed_version) + pypi_version = None + + try: + state = SelfCheckState(cache_dir=options.cache_dir) + + current_time = datetime.datetime.utcnow() + # Determine if we need to refresh the state + if "last_check" in state.state and "pypi_version" in state.state: + last_check = datetime.datetime.strptime( + state.state["last_check"], + SELFCHECK_DATE_FMT + ) + if (current_time - last_check).total_seconds() < 7 * 24 * 60 * 60: + pypi_version = state.state["pypi_version"] + + # Refresh the version if we need to or just see if we need to warn + if pypi_version is None: + # Lets use PackageFinder to see what the latest pip version is + finder = PackageFinder( + find_links=options.find_links, + index_urls=[options.index_url] + options.extra_index_urls, + allow_all_prereleases=False, # Explicitly set to False + trusted_hosts=options.trusted_hosts, + session=session, + ) + all_candidates = finder.find_all_candidates("pip") + if not all_candidates: + return + pypi_version = str( + max(all_candidates, key=lambda c: c.version).version + ) + + # save that we've performed a check + state.save(pypi_version, current_time) + + remote_version = packaging_version.parse(pypi_version) + + # Determine if our pypi_version is older + if (pip_version < remote_version and + pip_version.base_version != remote_version.base_version and + was_installed_by_pip('pip')): + # Advise "python -m pip" on Windows to avoid issues + # with overwriting pip.exe. + if WINDOWS: + pip_cmd = "python -m pip" + else: + pip_cmd = "pip" + logger.warning( + "You are using pip version %s, however version %s is " + "available.\nYou should consider upgrading via the " + "'%s install --upgrade pip' command.", + pip_version, pypi_version, pip_cmd + ) + except Exception: + logger.debug( + "There was an error checking the latest version of pip", + exc_info=True, + ) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/packaging.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/packaging.py new file mode 100644 index 0000000..7aaf7b5 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/packaging.py @@ -0,0 +1,85 @@ +from __future__ import absolute_import + +import logging +import sys +from email.parser import FeedParser + +from pip._vendor import pkg_resources +from pip._vendor.packaging import specifiers, version + +from pip._internal import exceptions +from pip._internal.utils.misc import display_path +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Optional # noqa: F401 + from email.message import Message # noqa: F401 + from pip._vendor.pkg_resources import Distribution # noqa: F401 + + +logger = logging.getLogger(__name__) + + +def check_requires_python(requires_python): + # type: (Optional[str]) -> bool + """ + Check if the python version in use match the `requires_python` specifier. + + Returns `True` if the version of python in use matches the requirement. + Returns `False` if the version of python in use does not matches the + requirement. + + Raises an InvalidSpecifier if `requires_python` have an invalid format. + """ + if requires_python is None: + # The package provides no information + return True + requires_python_specifier = specifiers.SpecifierSet(requires_python) + + # We only use major.minor.micro + python_version = version.parse('.'.join(map(str, sys.version_info[:3]))) + return python_version in requires_python_specifier + + +def get_metadata(dist): + # type: (Distribution) -> Message + if (isinstance(dist, pkg_resources.DistInfoDistribution) and + dist.has_metadata('METADATA')): + metadata = dist.get_metadata('METADATA') + elif dist.has_metadata('PKG-INFO'): + metadata = dist.get_metadata('PKG-INFO') + else: + logger.warning("No metadata found in %s", display_path(dist.location)) + metadata = '' + + feed_parser = FeedParser() + feed_parser.feed(metadata) + return feed_parser.close() + + +def check_dist_requires_python(dist): + pkg_info_dict = get_metadata(dist) + requires_python = pkg_info_dict.get('Requires-Python') + try: + if not check_requires_python(requires_python): + raise exceptions.UnsupportedPythonVersion( + "%s requires Python '%s' but the running Python is %s" % ( + dist.project_name, + requires_python, + '.'.join(map(str, sys.version_info[:3])),) + ) + except specifiers.InvalidSpecifier as e: + logger.warning( + "Package %s has an invalid Requires-Python entry %s - %s", + dist.project_name, requires_python, e, + ) + return + + +def get_installer(dist): + # type: (Distribution) -> str + if dist.has_metadata('INSTALLER'): + for line in dist.get_metadata_lines('INSTALLER'): + if line.strip(): + return line.strip() + return '' diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/setuptools_build.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/setuptools_build.py new file mode 100644 index 0000000..03973e9 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/setuptools_build.py @@ -0,0 +1,8 @@ +# Shim to wrap setup.py invocation with setuptools +SETUPTOOLS_SHIM = ( + "import setuptools, tokenize;__file__=%r;" + "f=getattr(tokenize, 'open', open)(__file__);" + "code=f.read().replace('\\r\\n', '\\n');" + "f.close();" + "exec(compile(code, __file__, 'exec'))" +) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/temp_dir.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/temp_dir.py new file mode 100644 index 0000000..2c81ad5 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/temp_dir.py @@ -0,0 +1,155 @@ +from __future__ import absolute_import + +import errno +import itertools +import logging +import os.path +import tempfile + +from pip._internal.utils.misc import rmtree + +logger = logging.getLogger(__name__) + + +class TempDirectory(object): + """Helper class that owns and cleans up a temporary directory. + + This class can be used as a context manager or as an OO representation of a + temporary directory. + + Attributes: + path + Location to the created temporary directory or None + delete + Whether the directory should be deleted when exiting + (when used as a contextmanager) + + Methods: + create() + Creates a temporary directory and stores its path in the path + attribute. + cleanup() + Deletes the temporary directory and sets path attribute to None + + When used as a context manager, a temporary directory is created on + entering the context and, if the delete attribute is True, on exiting the + context the created directory is deleted. + """ + + def __init__(self, path=None, delete=None, kind="temp"): + super(TempDirectory, self).__init__() + + if path is None and delete is None: + # If we were not given an explicit directory, and we were not given + # an explicit delete option, then we'll default to deleting. + delete = True + + self.path = path + self.delete = delete + self.kind = kind + + def __repr__(self): + return "<{} {!r}>".format(self.__class__.__name__, self.path) + + def __enter__(self): + self.create() + return self + + def __exit__(self, exc, value, tb): + if self.delete: + self.cleanup() + + def create(self): + """Create a temporary directory and store its path in self.path + """ + if self.path is not None: + logger.debug( + "Skipped creation of temporary directory: {}".format(self.path) + ) + return + # We realpath here because some systems have their default tmpdir + # symlinked to another directory. This tends to confuse build + # scripts, so we canonicalize the path by traversing potential + # symlinks here. + self.path = os.path.realpath( + tempfile.mkdtemp(prefix="pip-{}-".format(self.kind)) + ) + logger.debug("Created temporary directory: {}".format(self.path)) + + def cleanup(self): + """Remove the temporary directory created and reset state + """ + if self.path is not None and os.path.exists(self.path): + rmtree(self.path) + self.path = None + + +class AdjacentTempDirectory(TempDirectory): + """Helper class that creates a temporary directory adjacent to a real one. + + Attributes: + original + The original directory to create a temp directory for. + path + After calling create() or entering, contains the full + path to the temporary directory. + delete + Whether the directory should be deleted when exiting + (when used as a contextmanager) + + """ + # The characters that may be used to name the temp directory + # We always prepend a ~ and then rotate through these until + # a usable name is found. + # pkg_resources raises a different error for .dist-info folder + # with leading '-' and invalid metadata + LEADING_CHARS = "-~.=%0123456789" + + def __init__(self, original, delete=None): + super(AdjacentTempDirectory, self).__init__(delete=delete) + self.original = original.rstrip('/\\') + + @classmethod + def _generate_names(cls, name): + """Generates a series of temporary names. + + The algorithm replaces the leading characters in the name + with ones that are valid filesystem characters, but are not + valid package names (for both Python and pip definitions of + package). + """ + for i in range(1, len(name)): + for candidate in itertools.combinations_with_replacement( + cls.LEADING_CHARS, i - 1): + new_name = '~' + ''.join(candidate) + name[i:] + if new_name != name: + yield new_name + + # If we make it this far, we will have to make a longer name + for i in range(len(cls.LEADING_CHARS)): + for candidate in itertools.combinations_with_replacement( + cls.LEADING_CHARS, i): + new_name = '~' + ''.join(candidate) + name + if new_name != name: + yield new_name + + def create(self): + root, name = os.path.split(self.original) + for candidate in self._generate_names(name): + path = os.path.join(root, candidate) + try: + os.mkdir(path) + except OSError as ex: + # Continue if the name exists already + if ex.errno != errno.EEXIST: + raise + else: + self.path = os.path.realpath(path) + break + + if not self.path: + # Final fallback on the default behavior. + self.path = os.path.realpath( + tempfile.mkdtemp(prefix="pip-{}-".format(self.kind)) + ) + logger.debug("Created temporary directory: {}".format(self.path)) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/typing.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/typing.py new file mode 100644 index 0000000..e085cdf --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/typing.py @@ -0,0 +1,29 @@ +"""For neatly implementing static typing in pip. + +`mypy` - the static type analysis tool we use - uses the `typing` module, which +provides core functionality fundamental to mypy's functioning. + +Generally, `typing` would be imported at runtime and used in that fashion - +it acts as a no-op at runtime and does not have any run-time overhead by +design. + +As it turns out, `typing` is not vendorable - it uses separate sources for +Python 2/Python 3. Thus, this codebase can not expect it to be present. +To work around this, mypy allows the typing import to be behind a False-y +optional to prevent it from running at runtime and type-comments can be used +to remove the need for the types to be accessible directly during runtime. + +This module provides the False-y guard in a nicely named fashion so that a +curious maintainer can reach here to read this. + +In pip, all static-typing related imports should be guarded as follows: + + from pip._internal.utils.typing import MYPY_CHECK_RUNNING + + if MYPY_CHECK_RUNNING: + from typing import ... # noqa: F401 + +Ref: https://github.com/python/mypy/issues/3216 +""" + +MYPY_CHECK_RUNNING = False diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/ui.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/ui.py new file mode 100644 index 0000000..433675d --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/ui.py @@ -0,0 +1,441 @@ +from __future__ import absolute_import, division + +import contextlib +import itertools +import logging +import sys +import time +from signal import SIGINT, default_int_handler, signal + +from pip._vendor import six +from pip._vendor.progress.bar import ( + Bar, ChargingBar, FillingCirclesBar, FillingSquaresBar, IncrementalBar, + ShadyBar, +) +from pip._vendor.progress.helpers import HIDE_CURSOR, SHOW_CURSOR, WritelnMixin +from pip._vendor.progress.spinner import Spinner + +from pip._internal.utils.compat import WINDOWS +from pip._internal.utils.logging import get_indentation +from pip._internal.utils.misc import format_size +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Any, Iterator, IO # noqa: F401 + +try: + from pip._vendor import colorama +# Lots of different errors can come from this, including SystemError and +# ImportError. +except Exception: + colorama = None + +logger = logging.getLogger(__name__) + + +def _select_progress_class(preferred, fallback): + encoding = getattr(preferred.file, "encoding", None) + + # If we don't know what encoding this file is in, then we'll just assume + # that it doesn't support unicode and use the ASCII bar. + if not encoding: + return fallback + + # Collect all of the possible characters we want to use with the preferred + # bar. + characters = [ + getattr(preferred, "empty_fill", six.text_type()), + getattr(preferred, "fill", six.text_type()), + ] + characters += list(getattr(preferred, "phases", [])) + + # Try to decode the characters we're using for the bar using the encoding + # of the given file, if this works then we'll assume that we can use the + # fancier bar and if not we'll fall back to the plaintext bar. + try: + six.text_type().join(characters).encode(encoding) + except UnicodeEncodeError: + return fallback + else: + return preferred + + +_BaseBar = _select_progress_class(IncrementalBar, Bar) # type: Any + + +class InterruptibleMixin(object): + """ + Helper to ensure that self.finish() gets called on keyboard interrupt. + + This allows downloads to be interrupted without leaving temporary state + (like hidden cursors) behind. + + This class is similar to the progress library's existing SigIntMixin + helper, but as of version 1.2, that helper has the following problems: + + 1. It calls sys.exit(). + 2. It discards the existing SIGINT handler completely. + 3. It leaves its own handler in place even after an uninterrupted finish, + which will have unexpected delayed effects if the user triggers an + unrelated keyboard interrupt some time after a progress-displaying + download has already completed, for example. + """ + + def __init__(self, *args, **kwargs): + """ + Save the original SIGINT handler for later. + """ + super(InterruptibleMixin, self).__init__(*args, **kwargs) + + self.original_handler = signal(SIGINT, self.handle_sigint) + + # If signal() returns None, the previous handler was not installed from + # Python, and we cannot restore it. This probably should not happen, + # but if it does, we must restore something sensible instead, at least. + # The least bad option should be Python's default SIGINT handler, which + # just raises KeyboardInterrupt. + if self.original_handler is None: + self.original_handler = default_int_handler + + def finish(self): + """ + Restore the original SIGINT handler after finishing. + + This should happen regardless of whether the progress display finishes + normally, or gets interrupted. + """ + super(InterruptibleMixin, self).finish() + signal(SIGINT, self.original_handler) + + def handle_sigint(self, signum, frame): + """ + Call self.finish() before delegating to the original SIGINT handler. + + This handler should only be in place while the progress display is + active. + """ + self.finish() + self.original_handler(signum, frame) + + +class SilentBar(Bar): + + def update(self): + pass + + +class BlueEmojiBar(IncrementalBar): + + suffix = "%(percent)d%%" + bar_prefix = " " + bar_suffix = " " + phases = (u"\U0001F539", u"\U0001F537", u"\U0001F535") # type: Any + + +class DownloadProgressMixin(object): + + def __init__(self, *args, **kwargs): + super(DownloadProgressMixin, self).__init__(*args, **kwargs) + self.message = (" " * (get_indentation() + 2)) + self.message + + @property + def downloaded(self): + return format_size(self.index) + + @property + def download_speed(self): + # Avoid zero division errors... + if self.avg == 0.0: + return "..." + return format_size(1 / self.avg) + "/s" + + @property + def pretty_eta(self): + if self.eta: + return "eta %s" % self.eta_td + return "" + + def iter(self, it, n=1): + for x in it: + yield x + self.next(n) + self.finish() + + +class WindowsMixin(object): + + def __init__(self, *args, **kwargs): + # The Windows terminal does not support the hide/show cursor ANSI codes + # even with colorama. So we'll ensure that hide_cursor is False on + # Windows. + # This call neds to go before the super() call, so that hide_cursor + # is set in time. The base progress bar class writes the "hide cursor" + # code to the terminal in its init, so if we don't set this soon + # enough, we get a "hide" with no corresponding "show"... + if WINDOWS and self.hide_cursor: + self.hide_cursor = False + + super(WindowsMixin, self).__init__(*args, **kwargs) + + # Check if we are running on Windows and we have the colorama module, + # if we do then wrap our file with it. + if WINDOWS and colorama: + self.file = colorama.AnsiToWin32(self.file) + # The progress code expects to be able to call self.file.isatty() + # but the colorama.AnsiToWin32() object doesn't have that, so we'll + # add it. + self.file.isatty = lambda: self.file.wrapped.isatty() + # The progress code expects to be able to call self.file.flush() + # but the colorama.AnsiToWin32() object doesn't have that, so we'll + # add it. + self.file.flush = lambda: self.file.wrapped.flush() + + +class BaseDownloadProgressBar(WindowsMixin, InterruptibleMixin, + DownloadProgressMixin): + + file = sys.stdout + message = "%(percent)d%%" + suffix = "%(downloaded)s %(download_speed)s %(pretty_eta)s" + +# NOTE: The "type: ignore" comments on the following classes are there to +# work around https://github.com/python/typing/issues/241 + + +class DefaultDownloadProgressBar(BaseDownloadProgressBar, + _BaseBar): + pass + + +class DownloadSilentBar(BaseDownloadProgressBar, SilentBar): # type: ignore + pass + + +class DownloadIncrementalBar(BaseDownloadProgressBar, # type: ignore + IncrementalBar): + pass + + +class DownloadChargingBar(BaseDownloadProgressBar, # type: ignore + ChargingBar): + pass + + +class DownloadShadyBar(BaseDownloadProgressBar, ShadyBar): # type: ignore + pass + + +class DownloadFillingSquaresBar(BaseDownloadProgressBar, # type: ignore + FillingSquaresBar): + pass + + +class DownloadFillingCirclesBar(BaseDownloadProgressBar, # type: ignore + FillingCirclesBar): + pass + + +class DownloadBlueEmojiProgressBar(BaseDownloadProgressBar, # type: ignore + BlueEmojiBar): + pass + + +class DownloadProgressSpinner(WindowsMixin, InterruptibleMixin, + DownloadProgressMixin, WritelnMixin, Spinner): + + file = sys.stdout + suffix = "%(downloaded)s %(download_speed)s" + + def next_phase(self): + if not hasattr(self, "_phaser"): + self._phaser = itertools.cycle(self.phases) + return next(self._phaser) + + def update(self): + message = self.message % self + phase = self.next_phase() + suffix = self.suffix % self + line = ''.join([ + message, + " " if message else "", + phase, + " " if suffix else "", + suffix, + ]) + + self.writeln(line) + + +BAR_TYPES = { + "off": (DownloadSilentBar, DownloadSilentBar), + "on": (DefaultDownloadProgressBar, DownloadProgressSpinner), + "ascii": (DownloadIncrementalBar, DownloadProgressSpinner), + "pretty": (DownloadFillingCirclesBar, DownloadProgressSpinner), + "emoji": (DownloadBlueEmojiProgressBar, DownloadProgressSpinner) +} + + +def DownloadProgressProvider(progress_bar, max=None): + if max is None or max == 0: + return BAR_TYPES[progress_bar][1]().iter + else: + return BAR_TYPES[progress_bar][0](max=max).iter + + +################################################################ +# Generic "something is happening" spinners +# +# We don't even try using progress.spinner.Spinner here because it's actually +# simpler to reimplement from scratch than to coerce their code into doing +# what we need. +################################################################ + +@contextlib.contextmanager +def hidden_cursor(file): + # type: (IO) -> Iterator[None] + # The Windows terminal does not support the hide/show cursor ANSI codes, + # even via colorama. So don't even try. + if WINDOWS: + yield + # We don't want to clutter the output with control characters if we're + # writing to a file, or if the user is running with --quiet. + # See https://github.com/pypa/pip/issues/3418 + elif not file.isatty() or logger.getEffectiveLevel() > logging.INFO: + yield + else: + file.write(HIDE_CURSOR) + try: + yield + finally: + file.write(SHOW_CURSOR) + + +class RateLimiter(object): + def __init__(self, min_update_interval_seconds): + # type: (float) -> None + self._min_update_interval_seconds = min_update_interval_seconds + self._last_update = 0 # type: float + + def ready(self): + # type: () -> bool + now = time.time() + delta = now - self._last_update + return delta >= self._min_update_interval_seconds + + def reset(self): + # type: () -> None + self._last_update = time.time() + + +class SpinnerInterface(object): + def spin(self): + # type: () -> None + raise NotImplementedError() + + def finish(self, final_status): + # type: (str) -> None + raise NotImplementedError() + + +class InteractiveSpinner(SpinnerInterface): + def __init__(self, message, file=None, spin_chars="-\\|/", + # Empirically, 8 updates/second looks nice + min_update_interval_seconds=0.125): + self._message = message + if file is None: + file = sys.stdout + self._file = file + self._rate_limiter = RateLimiter(min_update_interval_seconds) + self._finished = False + + self._spin_cycle = itertools.cycle(spin_chars) + + self._file.write(" " * get_indentation() + self._message + " ... ") + self._width = 0 + + def _write(self, status): + assert not self._finished + # Erase what we wrote before by backspacing to the beginning, writing + # spaces to overwrite the old text, and then backspacing again + backup = "\b" * self._width + self._file.write(backup + " " * self._width + backup) + # Now we have a blank slate to add our status + self._file.write(status) + self._width = len(status) + self._file.flush() + self._rate_limiter.reset() + + def spin(self): + # type: () -> None + if self._finished: + return + if not self._rate_limiter.ready(): + return + self._write(next(self._spin_cycle)) + + def finish(self, final_status): + # type: (str) -> None + if self._finished: + return + self._write(final_status) + self._file.write("\n") + self._file.flush() + self._finished = True + + +# Used for dumb terminals, non-interactive installs (no tty), etc. +# We still print updates occasionally (once every 60 seconds by default) to +# act as a keep-alive for systems like Travis-CI that take lack-of-output as +# an indication that a task has frozen. +class NonInteractiveSpinner(SpinnerInterface): + def __init__(self, message, min_update_interval_seconds=60): + # type: (str, float) -> None + self._message = message + self._finished = False + self._rate_limiter = RateLimiter(min_update_interval_seconds) + self._update("started") + + def _update(self, status): + assert not self._finished + self._rate_limiter.reset() + logger.info("%s: %s", self._message, status) + + def spin(self): + # type: () -> None + if self._finished: + return + if not self._rate_limiter.ready(): + return + self._update("still running...") + + def finish(self, final_status): + # type: (str) -> None + if self._finished: + return + self._update("finished with status '%s'" % (final_status,)) + self._finished = True + + +@contextlib.contextmanager +def open_spinner(message): + # type: (str) -> Iterator[SpinnerInterface] + # Interactive spinner goes directly to sys.stdout rather than being routed + # through the logging system, but it acts like it has level INFO, + # i.e. it's only displayed if we're at level INFO or better. + # Non-interactive spinner goes through the logging system, so it is always + # in sync with logging configuration. + if sys.stdout.isatty() and logger.getEffectiveLevel() <= logging.INFO: + spinner = InteractiveSpinner(message) # type: SpinnerInterface + else: + spinner = NonInteractiveSpinner(message) + try: + with hidden_cursor(sys.stdout): + yield spinner + except KeyboardInterrupt: + spinner.finish("canceled") + raise + except Exception: + spinner.finish("error") + raise + else: + spinner.finish("done") diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/__init__.py new file mode 100644 index 0000000..9cba764 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/__init__.py @@ -0,0 +1,534 @@ +"""Handles all VCS (version control) support""" +from __future__ import absolute_import + +import errno +import logging +import os +import shutil +import sys + +from pip._vendor.six.moves.urllib import parse as urllib_parse + +from pip._internal.exceptions import BadCommand +from pip._internal.utils.misc import ( + display_path, backup_dir, call_subprocess, rmtree, ask_path_exists, +) +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Any, Dict, Iterable, List, Mapping, Optional, Text, Tuple, Type + ) + from pip._internal.utils.ui import SpinnerInterface # noqa: F401 + + AuthInfo = Tuple[Optional[str], Optional[str]] + +__all__ = ['vcs'] + + +logger = logging.getLogger(__name__) + + +class RemoteNotFoundError(Exception): + pass + + +class RevOptions(object): + + """ + Encapsulates a VCS-specific revision to install, along with any VCS + install options. + + Instances of this class should be treated as if immutable. + """ + + def __init__(self, vcs, rev=None, extra_args=None): + # type: (VersionControl, Optional[str], Optional[List[str]]) -> None + """ + Args: + vcs: a VersionControl object. + rev: the name of the revision to install. + extra_args: a list of extra options. + """ + if extra_args is None: + extra_args = [] + + self.extra_args = extra_args + self.rev = rev + self.vcs = vcs + + def __repr__(self): + return '<RevOptions {}: rev={!r}>'.format(self.vcs.name, self.rev) + + @property + def arg_rev(self): + # type: () -> Optional[str] + if self.rev is None: + return self.vcs.default_arg_rev + + return self.rev + + def to_args(self): + # type: () -> List[str] + """ + Return the VCS-specific command arguments. + """ + args = [] # type: List[str] + rev = self.arg_rev + if rev is not None: + args += self.vcs.get_base_rev_args(rev) + args += self.extra_args + + return args + + def to_display(self): + # type: () -> str + if not self.rev: + return '' + + return ' (to revision {})'.format(self.rev) + + def make_new(self, rev): + # type: (str) -> RevOptions + """ + Make a copy of the current instance, but with a new rev. + + Args: + rev: the name of the revision for the new object. + """ + return self.vcs.make_rev_options(rev, extra_args=self.extra_args) + + +class VcsSupport(object): + _registry = {} # type: Dict[str, Type[VersionControl]] + schemes = ['ssh', 'git', 'hg', 'bzr', 'sftp', 'svn'] + + def __init__(self): + # type: () -> None + # Register more schemes with urlparse for various version control + # systems + urllib_parse.uses_netloc.extend(self.schemes) + # Python >= 2.7.4, 3.3 doesn't have uses_fragment + if getattr(urllib_parse, 'uses_fragment', None): + urllib_parse.uses_fragment.extend(self.schemes) + super(VcsSupport, self).__init__() + + def __iter__(self): + return self._registry.__iter__() + + @property + def backends(self): + # type: () -> List[Type[VersionControl]] + return list(self._registry.values()) + + @property + def dirnames(self): + # type: () -> List[str] + return [backend.dirname for backend in self.backends] + + @property + def all_schemes(self): + # type: () -> List[str] + schemes = [] # type: List[str] + for backend in self.backends: + schemes.extend(backend.schemes) + return schemes + + def register(self, cls): + # type: (Type[VersionControl]) -> None + if not hasattr(cls, 'name'): + logger.warning('Cannot register VCS %s', cls.__name__) + return + if cls.name not in self._registry: + self._registry[cls.name] = cls + logger.debug('Registered VCS backend: %s', cls.name) + + def unregister(self, cls=None, name=None): + # type: (Optional[Type[VersionControl]], Optional[str]) -> None + if name in self._registry: + del self._registry[name] + elif cls in self._registry.values(): + del self._registry[cls.name] + else: + logger.warning('Cannot unregister because no class or name given') + + def get_backend_type(self, location): + # type: (str) -> Optional[Type[VersionControl]] + """ + Return the type of the version control backend if found at given + location, e.g. vcs.get_backend_type('/path/to/vcs/checkout') + """ + for vc_type in self._registry.values(): + if vc_type.controls_location(location): + logger.debug('Determine that %s uses VCS: %s', + location, vc_type.name) + return vc_type + return None + + def get_backend(self, name): + # type: (str) -> Optional[Type[VersionControl]] + name = name.lower() + if name in self._registry: + return self._registry[name] + return None + + +vcs = VcsSupport() + + +class VersionControl(object): + name = '' + dirname = '' + repo_name = '' + # List of supported schemes for this Version Control + schemes = () # type: Tuple[str, ...] + # Iterable of environment variable names to pass to call_subprocess(). + unset_environ = () # type: Tuple[str, ...] + default_arg_rev = None # type: Optional[str] + + def __init__(self, url=None, *args, **kwargs): + self.url = url + super(VersionControl, self).__init__(*args, **kwargs) + + def get_base_rev_args(self, rev): + """ + Return the base revision arguments for a vcs command. + + Args: + rev: the name of a revision to install. Cannot be None. + """ + raise NotImplementedError + + def make_rev_options(self, rev=None, extra_args=None): + # type: (Optional[str], Optional[List[str]]) -> RevOptions + """ + Return a RevOptions object. + + Args: + rev: the name of a revision to install. + extra_args: a list of extra options. + """ + return RevOptions(self, rev, extra_args=extra_args) + + @classmethod + def _is_local_repository(cls, repo): + # type: (str) -> bool + """ + posix absolute paths start with os.path.sep, + win32 ones start with drive (like c:\\folder) + """ + drive, tail = os.path.splitdrive(repo) + return repo.startswith(os.path.sep) or bool(drive) + + def export(self, location): + """ + Export the repository at the url to the destination location + i.e. only download the files, without vcs informations + """ + raise NotImplementedError + + def get_netloc_and_auth(self, netloc, scheme): + """ + Parse the repository URL's netloc, and return the new netloc to use + along with auth information. + + Args: + netloc: the original repository URL netloc. + scheme: the repository URL's scheme without the vcs prefix. + + This is mainly for the Subversion class to override, so that auth + information can be provided via the --username and --password options + instead of through the URL. For other subclasses like Git without + such an option, auth information must stay in the URL. + + Returns: (netloc, (username, password)). + """ + return netloc, (None, None) + + def get_url_rev_and_auth(self, url): + # type: (str) -> Tuple[str, Optional[str], AuthInfo] + """ + Parse the repository URL to use, and return the URL, revision, + and auth info to use. + + Returns: (url, rev, (username, password)). + """ + scheme, netloc, path, query, frag = urllib_parse.urlsplit(url) + if '+' not in scheme: + raise ValueError( + "Sorry, {!r} is a malformed VCS url. " + "The format is <vcs>+<protocol>://<url>, " + "e.g. svn+http://myrepo/svn/MyApp#egg=MyApp".format(url) + ) + # Remove the vcs prefix. + scheme = scheme.split('+', 1)[1] + netloc, user_pass = self.get_netloc_and_auth(netloc, scheme) + rev = None + if '@' in path: + path, rev = path.rsplit('@', 1) + url = urllib_parse.urlunsplit((scheme, netloc, path, query, '')) + return url, rev, user_pass + + def make_rev_args(self, username, password): + """ + Return the RevOptions "extra arguments" to use in obtain(). + """ + return [] + + def get_url_rev_options(self, url): + # type: (str) -> Tuple[str, RevOptions] + """ + Return the URL and RevOptions object to use in obtain() and in + some cases export(), as a tuple (url, rev_options). + """ + url, rev, user_pass = self.get_url_rev_and_auth(url) + username, password = user_pass + extra_args = self.make_rev_args(username, password) + rev_options = self.make_rev_options(rev, extra_args=extra_args) + + return url, rev_options + + def normalize_url(self, url): + # type: (str) -> str + """ + Normalize a URL for comparison by unquoting it and removing any + trailing slash. + """ + return urllib_parse.unquote(url).rstrip('/') + + def compare_urls(self, url1, url2): + # type: (str, str) -> bool + """ + Compare two repo URLs for identity, ignoring incidental differences. + """ + return (self.normalize_url(url1) == self.normalize_url(url2)) + + def fetch_new(self, dest, url, rev_options): + """ + Fetch a revision from a repository, in the case that this is the + first fetch from the repository. + + Args: + dest: the directory to fetch the repository to. + rev_options: a RevOptions object. + """ + raise NotImplementedError + + def switch(self, dest, url, rev_options): + """ + Switch the repo at ``dest`` to point to ``URL``. + + Args: + rev_options: a RevOptions object. + """ + raise NotImplementedError + + def update(self, dest, url, rev_options): + """ + Update an already-existing repo to the given ``rev_options``. + + Args: + rev_options: a RevOptions object. + """ + raise NotImplementedError + + def is_commit_id_equal(self, dest, name): + """ + Return whether the id of the current commit equals the given name. + + Args: + dest: the repository directory. + name: a string name. + """ + raise NotImplementedError + + def obtain(self, dest): + # type: (str) -> None + """ + Install or update in editable mode the package represented by this + VersionControl object. + + Args: + dest: the repository directory in which to install or update. + """ + url, rev_options = self.get_url_rev_options(self.url) + + if not os.path.exists(dest): + self.fetch_new(dest, url, rev_options) + return + + rev_display = rev_options.to_display() + if self.is_repository_directory(dest): + existing_url = self.get_remote_url(dest) + if self.compare_urls(existing_url, url): + logger.debug( + '%s in %s exists, and has correct URL (%s)', + self.repo_name.title(), + display_path(dest), + url, + ) + if not self.is_commit_id_equal(dest, rev_options.rev): + logger.info( + 'Updating %s %s%s', + display_path(dest), + self.repo_name, + rev_display, + ) + self.update(dest, url, rev_options) + else: + logger.info('Skipping because already up-to-date.') + return + + logger.warning( + '%s %s in %s exists with URL %s', + self.name, + self.repo_name, + display_path(dest), + existing_url, + ) + prompt = ('(s)witch, (i)gnore, (w)ipe, (b)ackup ', + ('s', 'i', 'w', 'b')) + else: + logger.warning( + 'Directory %s already exists, and is not a %s %s.', + dest, + self.name, + self.repo_name, + ) + # https://github.com/python/mypy/issues/1174 + prompt = ('(i)gnore, (w)ipe, (b)ackup ', # type: ignore + ('i', 'w', 'b')) + + logger.warning( + 'The plan is to install the %s repository %s', + self.name, + url, + ) + response = ask_path_exists('What to do? %s' % prompt[0], prompt[1]) + + if response == 'a': + sys.exit(-1) + + if response == 'w': + logger.warning('Deleting %s', display_path(dest)) + rmtree(dest) + self.fetch_new(dest, url, rev_options) + return + + if response == 'b': + dest_dir = backup_dir(dest) + logger.warning( + 'Backing up %s to %s', display_path(dest), dest_dir, + ) + shutil.move(dest, dest_dir) + self.fetch_new(dest, url, rev_options) + return + + # Do nothing if the response is "i". + if response == 's': + logger.info( + 'Switching %s %s to %s%s', + self.repo_name, + display_path(dest), + url, + rev_display, + ) + self.switch(dest, url, rev_options) + + def unpack(self, location): + # type: (str) -> None + """ + Clean up current location and download the url repository + (and vcs infos) into location + """ + if os.path.exists(location): + rmtree(location) + self.obtain(location) + + @classmethod + def get_src_requirement(cls, location, project_name): + """ + Return a string representing the requirement needed to + redownload the files currently present in location, something + like: + {repository_url}@{revision}#egg={project_name}-{version_identifier} + """ + raise NotImplementedError + + @classmethod + def get_remote_url(cls, location): + """ + Return the url used at location + + Raises RemoteNotFoundError if the repository does not have a remote + url configured. + """ + raise NotImplementedError + + @classmethod + def get_revision(cls, location): + """ + Return the current commit id of the files at the given location. + """ + raise NotImplementedError + + @classmethod + def run_command( + cls, + cmd, # type: List[str] + show_stdout=True, # type: bool + cwd=None, # type: Optional[str] + on_returncode='raise', # type: str + extra_ok_returncodes=None, # type: Optional[Iterable[int]] + command_desc=None, # type: Optional[str] + extra_environ=None, # type: Optional[Mapping[str, Any]] + spinner=None # type: Optional[SpinnerInterface] + ): + # type: (...) -> Optional[Text] + """ + Run a VCS subcommand + This is simply a wrapper around call_subprocess that adds the VCS + command name, and checks that the VCS is available + """ + cmd = [cls.name] + cmd + try: + return call_subprocess(cmd, show_stdout, cwd, + on_returncode=on_returncode, + extra_ok_returncodes=extra_ok_returncodes, + command_desc=command_desc, + extra_environ=extra_environ, + unset_environ=cls.unset_environ, + spinner=spinner) + except OSError as e: + # errno.ENOENT = no such file or directory + # In other words, the VCS executable isn't available + if e.errno == errno.ENOENT: + raise BadCommand( + 'Cannot find command %r - do you have ' + '%r installed and in your ' + 'PATH?' % (cls.name, cls.name)) + else: + raise # re-raise exception if a different error occurred + + @classmethod + def is_repository_directory(cls, path): + # type: (str) -> bool + """ + Return whether a directory path is a repository directory. + """ + logger.debug('Checking in %s for %s (%s)...', + path, cls.dirname, cls.name) + return os.path.exists(os.path.join(path, cls.dirname)) + + @classmethod + def controls_location(cls, location): + # type: (str) -> bool + """ + Check if a location is controlled by the vcs. + It is meant to be overridden to implement smarter detection + mechanisms for specific vcs. + + This can do more than is_repository_directory() alone. For example, + the Git override checks that Git is actually available. + """ + return cls.is_repository_directory(location) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3d4fd478b8c2388d6ca01b9c9783864c135124c5 GIT binary patch literal 15433 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 EUm-DD5dZ)H literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/__pycache__/bazaar.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/__pycache__/bazaar.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1645f6e647ea0bc4fb1d21d2efb043d5ed9c6cd1 GIT binary patch literal 3874 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 XP5(92tqN6PsKd5Vc{i+@-T22Zi`Kwe literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/__pycache__/git.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/__pycache__/git.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..acfd455dc3e70929fbf369a6f28a739eda905175 GIT binary patch literal 9507 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/__pycache__/mercurial.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/__pycache__/mercurial.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..04b3e4974b2dc5f9de229ad743232ee552863efa GIT binary patch literal 3818 zcmbVPTaVku73T0FQJ2+f*K22!*nv>gNtIxwv`!5)a1y7^rI&Q;W{Wr_3J^4BR-(*{ zGDEGrs<tn3fj-p8@90~9&%E|2f59*9cZR##i~UfP0%s0q&X9Ay^PMwCcQ!Vf?1%sS zdA?y;|F$k%F68^T)!)%@i?h_qSil&`c4`N<>7Bqq@1$<#1)iC6(^^&!>PGfbKWhYy ztQj=Tb1iLU?VxSsdb*Kyf=;#>Y%)vOldjlWv0(d4i~GFs%;F8vSvkQqu{qfh*H-jh z`@rfqf52|6KGU1gV^yTHQiMr1Eo8Zmv36YKhskIfNhKtnThpi<hh-7YWZJiNn<r|T zM#muy>)kARBEq9sg;IPsOQgs|UK&lNH~uKH>1P;=%R(MwY3CauRZ`>+ioBFXsvWG0 zX(wlw2jM<$wL~MVfN={5F`#1yE_VWt-wJA#WkH=cdFz=K_`J<G&^LI8Z=!GVF5g1m z5^cWCuRXJX#|Gpbe%;6&$T#?FM&5+H%U?Hgm%qW^#JVkh69~Pf8^04Wp2;LiwLKm! zoWXdcy*Mp$@uEH+y*Dn)=?ni<P%mnblp4S2P+vx667P{lY{L+`sAsqz;8ry>OEzNo z4%`2y1!P<$(nIY?aU{1eX_^;*8;*-i46|f36X^#(zdL+*9FHTJJ(R@+m?}J%<0Aj& z;r^FVDdy4f@JQrG!!&t3oSK<CgS$hOlwxlh#ZRJ<P{V05-TUb;2Ja8<>`jj`JrJW2 z4GzO3FNMsbbO@gevoq5N(__6g5@q-}QUWeM3L`mEH^>NM8C$%$hH3DU-r9Nx3);Ai z_4go@hy-pwXW#$i#9mqxwzMZUu@kbx9bjW~m&UmF++o%ui`V{OeQkY<9+=e^pM3t5 z*xD<{qW7y&Pl{;)J3+EuR1Jcvy|OU#T&Ob1;gKTmrA2H6T@&U7V7L1u$+@maG9D*K z;tTkqrN+fPR3$HFrFP;u-|xG!j!o;@EGHzjYpCCnvpkH8EQ@m9cjPu{`0FqDCCDH0 zM4mfT?m$Hnc(3DDJ{rqzv$pNBMfV)WYHKlN4!VdebQ|oxhOl%d*2+3@O9p&^+|n(9 z*ov)OgP+T7?htxF(K8Y6ad%{6mAA59vrar<>@K|}<F)5D<q$%2e{uZ*sGa1a-gwlz zt!^uV@3xZUwMBDpFE3_O4wfzKz3+g7k^4-(f$4rtH<2Aq(}J$0#b_j?c9Z<DkQCAK z78+fL4w0u{tDthpG1`Hrbc={pOvy#6dN_NTA7|XGx`Lu^9Evg?hq;*l2rpLzzQugz zGTZ!`_73Z^#kF%(*ZON<8(2cYW`O+{gc3xY05(HHwsHWmOQ4;2$M=@rq_%VoMZHO# zAYR%lP_y)xE_YY<_uZ2kbQ;SV>430SMc7AHe%H0iCf?LKw4XHPKbUobw7%FW+mj9M z!A*5~&m-$kSi>>**ZQ|s-Xp5>x^Y{_xXs6|HkUr!=C9q>*bm(CNXFVDLMmP7;xL+} zrDpTR@If(4c`q-@o|-4Xs<+1CV!RkHe@LG00Ri&vnOD2oE|k29QSDBOB*)tmB#2B% zie}wChz<o3IZld)=A_WB6cN{s5~X&FsmQfAmq<Rk{`-T^r7WcG>=y^fTkx`ZmgG5I zpGT5-Cx475!<2r*5JcXlfw!r72TcHyObf&teNop=`&QM5he;~5Bc8^xPYc#L)P$U_ zRR|0)rFPL+Y#Us$S(9~Go9(h2;LS}3e7O*X)si(?h{qI>hAbaIfICbMgNqn<j7t!C z#$n7j%q5MbyPl;u^Wd=QEKM)qY;f<}#&Ux}-+Pt$ud>T5{TO>O2MQT=*@P-eFC}3z z!<g{1OD0gt<?eH5f~}i`Y=hlQzKg_y9wRo*R0cFDJyx(UHVp3ur?f-zl$6=3tl(B* z@2OHIQ@s-=Dx~C?;uJZ{){+qIJ4mvrl5f#U<L)co>(IG^!lFQxf^1>7Pie_Q-mJlc zP55%LyJojJhR)SrZ9dWZ+=ExlrwYm2*L74tC}z~6ySGQlJVpBZ=r2fBCzlO9_1#B! zC60kl&>35TE~*E50UetOl|5H!*{%$$CcnbE(<7lWYjNYMNtNRNZIJvFpIB^NG$t>& z_}{G27p)1$ks4pM#*_(XrW%cdmrS}+EL_r#DXq|TDb(&_zyuNwxDyA57<fp>-ioOn z$DxJ;&B44m04ZND9fTY*GhFEGFP!n{Lu%ebP~FFyw3ilhoJ~!XXtJabAIr}$F6n@U z&f0mpJ*|qYkTM>nHq;x$ysK7UBOfXm!^!LNH-MgMqOoksFg_T%xOLf?S5~ZTCk)nQ zB1H$MBGF#F{b`E&PW2+CW|=T`%~4fL1BN1hr|e}Ba{L!&d#A;SNub&_Df>!DZ6g?| za!JZC;URV&rH}Eks;09SH_tcwvf@5)YC&1zuZ|@<)NE4IMbqEberO;IL){F+tl+a$ zKyHU2eT4QBhVnP0|2`VsFiG8DTvzcJ{~naQPP0@c$#<!ta?xZu-HKD#p9vJb+_+Qz zlIDy9e@)VFsW~^*NT%i@XVCr>#XVIC=4bnk-|*Xh*Z10ub{#)ol4k!p?fr08&Lr*D z#*nU4RYS)V9U{SXl+1$=)iy8WKqXHHS#gA&llSxuGj~=_4|p-p(<0&~*XiBMle02O z)gVh$Top=0Lw)mAI_qlE6rx*~RZy}^swO3sG`aywer0MfNlC>Vv&Js%OEF3m>ik!M fr2Tu9yFMlYD#ER8`^>l7s8PE(C%bmj=|1`|gZ#jt literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/__pycache__/subversion.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/__pycache__/subversion.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4005886c974b4027bcc7a52866fde4dd9cdbb938 GIT binary patch literal 6034 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 T7ulw@G){Nda;>Fb8kheA_5<5^ literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/bazaar.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/bazaar.py new file mode 100644 index 0000000..4c6ac79 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/bazaar.py @@ -0,0 +1,114 @@ +from __future__ import absolute_import + +import logging +import os + +from pip._vendor.six.moves.urllib import parse as urllib_parse + +from pip._internal.download import path_to_url +from pip._internal.utils.misc import ( + display_path, make_vcs_requirement_url, rmtree, +) +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.vcs import VersionControl, vcs + +logger = logging.getLogger(__name__) + + +class Bazaar(VersionControl): + name = 'bzr' + dirname = '.bzr' + repo_name = 'branch' + schemes = ( + 'bzr', 'bzr+http', 'bzr+https', 'bzr+ssh', 'bzr+sftp', 'bzr+ftp', + 'bzr+lp', + ) + + def __init__(self, url=None, *args, **kwargs): + super(Bazaar, self).__init__(url, *args, **kwargs) + # This is only needed for python <2.7.5 + # Register lp but do not expose as a scheme to support bzr+lp. + if getattr(urllib_parse, 'uses_fragment', None): + urllib_parse.uses_fragment.extend(['lp']) + + def get_base_rev_args(self, rev): + return ['-r', rev] + + def export(self, location): + """ + Export the Bazaar repository at the url to the destination location + """ + # Remove the location to make sure Bazaar can export it correctly + if os.path.exists(location): + rmtree(location) + + with TempDirectory(kind="export") as temp_dir: + self.unpack(temp_dir.path) + + self.run_command( + ['export', location], + cwd=temp_dir.path, show_stdout=False, + ) + + def fetch_new(self, dest, url, rev_options): + rev_display = rev_options.to_display() + logger.info( + 'Checking out %s%s to %s', + url, + rev_display, + display_path(dest), + ) + cmd_args = ['branch', '-q'] + rev_options.to_args() + [url, dest] + self.run_command(cmd_args) + + def switch(self, dest, url, rev_options): + self.run_command(['switch', url], cwd=dest) + + def update(self, dest, url, rev_options): + cmd_args = ['pull', '-q'] + rev_options.to_args() + self.run_command(cmd_args, cwd=dest) + + def get_url_rev_and_auth(self, url): + # hotfix the URL scheme after removing bzr+ from bzr+ssh:// readd it + url, rev, user_pass = super(Bazaar, self).get_url_rev_and_auth(url) + if url.startswith('ssh://'): + url = 'bzr+' + url + return url, rev, user_pass + + @classmethod + def get_remote_url(cls, location): + urls = cls.run_command(['info'], show_stdout=False, cwd=location) + for line in urls.splitlines(): + line = line.strip() + for x in ('checkout of branch: ', + 'parent branch: '): + if line.startswith(x): + repo = line.split(x)[1] + if cls._is_local_repository(repo): + return path_to_url(repo) + return repo + return None + + @classmethod + def get_revision(cls, location): + revision = cls.run_command( + ['revno'], show_stdout=False, cwd=location, + ) + return revision.splitlines()[-1] + + @classmethod + def get_src_requirement(cls, location, project_name): + repo = cls.get_remote_url(location) + if not repo: + return None + if not repo.lower().startswith('bzr:'): + repo = 'bzr+' + repo + current_rev = cls.get_revision(location) + return make_vcs_requirement_url(repo, current_rev, project_name) + + def is_commit_id_equal(self, dest, name): + """Always assume the versions don't match""" + return False + + +vcs.register(Bazaar) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/git.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/git.py new file mode 100644 index 0000000..dd2bd61 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/git.py @@ -0,0 +1,369 @@ +from __future__ import absolute_import + +import logging +import os.path +import re + +from pip._vendor.packaging.version import parse as parse_version +from pip._vendor.six.moves.urllib import parse as urllib_parse +from pip._vendor.six.moves.urllib import request as urllib_request + +from pip._internal.exceptions import BadCommand +from pip._internal.utils.compat import samefile +from pip._internal.utils.misc import ( + display_path, make_vcs_requirement_url, redact_password_from_url, +) +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.vcs import RemoteNotFoundError, VersionControl, vcs + +urlsplit = urllib_parse.urlsplit +urlunsplit = urllib_parse.urlunsplit + + +logger = logging.getLogger(__name__) + + +HASH_REGEX = re.compile('[a-fA-F0-9]{40}') + + +def looks_like_hash(sha): + return bool(HASH_REGEX.match(sha)) + + +class Git(VersionControl): + name = 'git' + dirname = '.git' + repo_name = 'clone' + schemes = ( + 'git', 'git+http', 'git+https', 'git+ssh', 'git+git', 'git+file', + ) + # Prevent the user's environment variables from interfering with pip: + # https://github.com/pypa/pip/issues/1130 + unset_environ = ('GIT_DIR', 'GIT_WORK_TREE') + default_arg_rev = 'HEAD' + + def __init__(self, url=None, *args, **kwargs): + + # Works around an apparent Git bug + # (see https://article.gmane.org/gmane.comp.version-control.git/146500) + if url: + scheme, netloc, path, query, fragment = urlsplit(url) + if scheme.endswith('file'): + initial_slashes = path[:-len(path.lstrip('/'))] + newpath = ( + initial_slashes + + urllib_request.url2pathname(path) + .replace('\\', '/').lstrip('/') + ) + url = urlunsplit((scheme, netloc, newpath, query, fragment)) + after_plus = scheme.find('+') + 1 + url = scheme[:after_plus] + urlunsplit( + (scheme[after_plus:], netloc, newpath, query, fragment), + ) + + super(Git, self).__init__(url, *args, **kwargs) + + def get_base_rev_args(self, rev): + return [rev] + + def get_git_version(self): + VERSION_PFX = 'git version ' + version = self.run_command(['version'], show_stdout=False) + if version.startswith(VERSION_PFX): + version = version[len(VERSION_PFX):].split()[0] + else: + version = '' + # get first 3 positions of the git version becasue + # on windows it is x.y.z.windows.t, and this parses as + # LegacyVersion which always smaller than a Version. + version = '.'.join(version.split('.')[:3]) + return parse_version(version) + + def get_current_branch(self, location): + """ + Return the current branch, or None if HEAD isn't at a branch + (e.g. detached HEAD). + """ + # git-symbolic-ref exits with empty stdout if "HEAD" is a detached + # HEAD rather than a symbolic ref. In addition, the -q causes the + # command to exit with status code 1 instead of 128 in this case + # and to suppress the message to stderr. + args = ['symbolic-ref', '-q', 'HEAD'] + output = self.run_command( + args, extra_ok_returncodes=(1, ), show_stdout=False, cwd=location, + ) + ref = output.strip() + + if ref.startswith('refs/heads/'): + return ref[len('refs/heads/'):] + + return None + + def export(self, location): + """Export the Git repository at the url to the destination location""" + if not location.endswith('/'): + location = location + '/' + + with TempDirectory(kind="export") as temp_dir: + self.unpack(temp_dir.path) + self.run_command( + ['checkout-index', '-a', '-f', '--prefix', location], + show_stdout=False, cwd=temp_dir.path + ) + + def get_revision_sha(self, dest, rev): + """ + Return (sha_or_none, is_branch), where sha_or_none is a commit hash + if the revision names a remote branch or tag, otherwise None. + + Args: + dest: the repository directory. + rev: the revision name. + """ + # Pass rev to pre-filter the list. + output = self.run_command(['show-ref', rev], cwd=dest, + show_stdout=False, on_returncode='ignore') + refs = {} + for line in output.strip().splitlines(): + try: + sha, ref = line.split() + except ValueError: + # Include the offending line to simplify troubleshooting if + # this error ever occurs. + raise ValueError('unexpected show-ref line: {!r}'.format(line)) + + refs[ref] = sha + + branch_ref = 'refs/remotes/origin/{}'.format(rev) + tag_ref = 'refs/tags/{}'.format(rev) + + sha = refs.get(branch_ref) + if sha is not None: + return (sha, True) + + sha = refs.get(tag_ref) + + return (sha, False) + + def resolve_revision(self, dest, url, rev_options): + """ + Resolve a revision to a new RevOptions object with the SHA1 of the + branch, tag, or ref if found. + + Args: + rev_options: a RevOptions object. + """ + rev = rev_options.arg_rev + sha, is_branch = self.get_revision_sha(dest, rev) + + if sha is not None: + rev_options = rev_options.make_new(sha) + rev_options.branch_name = rev if is_branch else None + + return rev_options + + # Do not show a warning for the common case of something that has + # the form of a Git commit hash. + if not looks_like_hash(rev): + logger.warning( + "Did not find branch or tag '%s', assuming revision or ref.", + rev, + ) + + if not rev.startswith('refs/'): + return rev_options + + # If it looks like a ref, we have to fetch it explicitly. + self.run_command( + ['fetch', '-q', url] + rev_options.to_args(), + cwd=dest, + ) + # Change the revision to the SHA of the ref we fetched + sha = self.get_revision(dest, rev='FETCH_HEAD') + rev_options = rev_options.make_new(sha) + + return rev_options + + def is_commit_id_equal(self, dest, name): + """ + Return whether the current commit hash equals the given name. + + Args: + dest: the repository directory. + name: a string name. + """ + if not name: + # Then avoid an unnecessary subprocess call. + return False + + return self.get_revision(dest) == name + + def fetch_new(self, dest, url, rev_options): + rev_display = rev_options.to_display() + logger.info( + 'Cloning %s%s to %s', redact_password_from_url(url), + rev_display, display_path(dest), + ) + self.run_command(['clone', '-q', url, dest]) + + if rev_options.rev: + # Then a specific revision was requested. + rev_options = self.resolve_revision(dest, url, rev_options) + branch_name = getattr(rev_options, 'branch_name', None) + if branch_name is None: + # Only do a checkout if the current commit id doesn't match + # the requested revision. + if not self.is_commit_id_equal(dest, rev_options.rev): + cmd_args = ['checkout', '-q'] + rev_options.to_args() + self.run_command(cmd_args, cwd=dest) + elif self.get_current_branch(dest) != branch_name: + # Then a specific branch was requested, and that branch + # is not yet checked out. + track_branch = 'origin/{}'.format(branch_name) + cmd_args = [ + 'checkout', '-b', branch_name, '--track', track_branch, + ] + self.run_command(cmd_args, cwd=dest) + + #: repo may contain submodules + self.update_submodules(dest) + + def switch(self, dest, url, rev_options): + self.run_command(['config', 'remote.origin.url', url], cwd=dest) + cmd_args = ['checkout', '-q'] + rev_options.to_args() + self.run_command(cmd_args, cwd=dest) + + self.update_submodules(dest) + + def update(self, dest, url, rev_options): + # First fetch changes from the default remote + if self.get_git_version() >= parse_version('1.9.0'): + # fetch tags in addition to everything else + self.run_command(['fetch', '-q', '--tags'], cwd=dest) + else: + self.run_command(['fetch', '-q'], cwd=dest) + # Then reset to wanted revision (maybe even origin/master) + rev_options = self.resolve_revision(dest, url, rev_options) + cmd_args = ['reset', '--hard', '-q'] + rev_options.to_args() + self.run_command(cmd_args, cwd=dest) + #: update submodules + self.update_submodules(dest) + + @classmethod + def get_remote_url(cls, location): + """ + Return URL of the first remote encountered. + + Raises RemoteNotFoundError if the repository does not have a remote + url configured. + """ + # We need to pass 1 for extra_ok_returncodes since the command + # exits with return code 1 if there are no matching lines. + stdout = cls.run_command( + ['config', '--get-regexp', r'remote\..*\.url'], + extra_ok_returncodes=(1, ), show_stdout=False, cwd=location, + ) + remotes = stdout.splitlines() + try: + found_remote = remotes[0] + except IndexError: + raise RemoteNotFoundError + + for remote in remotes: + if remote.startswith('remote.origin.url '): + found_remote = remote + break + url = found_remote.split(' ')[1] + return url.strip() + + @classmethod + def get_revision(cls, location, rev=None): + if rev is None: + rev = 'HEAD' + current_rev = cls.run_command( + ['rev-parse', rev], show_stdout=False, cwd=location, + ) + return current_rev.strip() + + @classmethod + def _get_subdirectory(cls, location): + """Return the relative path of setup.py to the git repo root.""" + # find the repo root + git_dir = cls.run_command(['rev-parse', '--git-dir'], + show_stdout=False, cwd=location).strip() + if not os.path.isabs(git_dir): + git_dir = os.path.join(location, git_dir) + root_dir = os.path.join(git_dir, '..') + # find setup.py + orig_location = location + while not os.path.exists(os.path.join(location, 'setup.py')): + last_location = location + location = os.path.dirname(location) + if location == last_location: + # We've traversed up to the root of the filesystem without + # finding setup.py + logger.warning( + "Could not find setup.py for directory %s (tried all " + "parent directories)", + orig_location, + ) + return None + # relative path of setup.py to repo root + if samefile(root_dir, location): + return None + return os.path.relpath(location, root_dir) + + @classmethod + def get_src_requirement(cls, location, project_name): + repo = cls.get_remote_url(location) + if not repo.lower().startswith('git:'): + repo = 'git+' + repo + current_rev = cls.get_revision(location) + subdir = cls._get_subdirectory(location) + req = make_vcs_requirement_url(repo, current_rev, project_name, + subdir=subdir) + + return req + + def get_url_rev_and_auth(self, url): + """ + Prefixes stub URLs like 'user@hostname:user/repo.git' with 'ssh://'. + That's required because although they use SSH they sometimes don't + work with a ssh:// scheme (e.g. GitHub). But we need a scheme for + parsing. Hence we remove it again afterwards and return it as a stub. + """ + if '://' not in url: + assert 'file:' not in url + url = url.replace('git+', 'git+ssh://') + url, rev, user_pass = super(Git, self).get_url_rev_and_auth(url) + url = url.replace('ssh://', '') + else: + url, rev, user_pass = super(Git, self).get_url_rev_and_auth(url) + + return url, rev, user_pass + + def update_submodules(self, location): + if not os.path.exists(os.path.join(location, '.gitmodules')): + return + self.run_command( + ['submodule', 'update', '--init', '--recursive', '-q'], + cwd=location, + ) + + @classmethod + def controls_location(cls, location): + if super(Git, cls).controls_location(location): + return True + try: + r = cls.run_command(['rev-parse'], + cwd=location, + show_stdout=False, + on_returncode='ignore') + return not r + except BadCommand: + logger.debug("could not determine if %s is under git control " + "because git is not available", location) + return False + + +vcs.register(Git) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/mercurial.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/mercurial.py new file mode 100644 index 0000000..26e75de --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/mercurial.py @@ -0,0 +1,103 @@ +from __future__ import absolute_import + +import logging +import os + +from pip._vendor.six.moves import configparser + +from pip._internal.download import path_to_url +from pip._internal.utils.misc import display_path, make_vcs_requirement_url +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.vcs import VersionControl, vcs + +logger = logging.getLogger(__name__) + + +class Mercurial(VersionControl): + name = 'hg' + dirname = '.hg' + repo_name = 'clone' + schemes = ('hg', 'hg+http', 'hg+https', 'hg+ssh', 'hg+static-http') + + def get_base_rev_args(self, rev): + return [rev] + + def export(self, location): + """Export the Hg repository at the url to the destination location""" + with TempDirectory(kind="export") as temp_dir: + self.unpack(temp_dir.path) + + self.run_command( + ['archive', location], show_stdout=False, cwd=temp_dir.path + ) + + def fetch_new(self, dest, url, rev_options): + rev_display = rev_options.to_display() + logger.info( + 'Cloning hg %s%s to %s', + url, + rev_display, + display_path(dest), + ) + self.run_command(['clone', '--noupdate', '-q', url, dest]) + cmd_args = ['update', '-q'] + rev_options.to_args() + self.run_command(cmd_args, cwd=dest) + + def switch(self, dest, url, rev_options): + repo_config = os.path.join(dest, self.dirname, 'hgrc') + config = configparser.SafeConfigParser() + try: + config.read(repo_config) + config.set('paths', 'default', url) + with open(repo_config, 'w') as config_file: + config.write(config_file) + except (OSError, configparser.NoSectionError) as exc: + logger.warning( + 'Could not switch Mercurial repository to %s: %s', url, exc, + ) + else: + cmd_args = ['update', '-q'] + rev_options.to_args() + self.run_command(cmd_args, cwd=dest) + + def update(self, dest, url, rev_options): + self.run_command(['pull', '-q'], cwd=dest) + cmd_args = ['update', '-q'] + rev_options.to_args() + self.run_command(cmd_args, cwd=dest) + + @classmethod + def get_remote_url(cls, location): + url = cls.run_command( + ['showconfig', 'paths.default'], + show_stdout=False, cwd=location).strip() + if cls._is_local_repository(url): + url = path_to_url(url) + return url.strip() + + @classmethod + def get_revision(cls, location): + current_revision = cls.run_command( + ['parents', '--template={rev}'], + show_stdout=False, cwd=location).strip() + return current_revision + + @classmethod + def get_revision_hash(cls, location): + current_rev_hash = cls.run_command( + ['parents', '--template={node}'], + show_stdout=False, cwd=location).strip() + return current_rev_hash + + @classmethod + def get_src_requirement(cls, location, project_name): + repo = cls.get_remote_url(location) + if not repo.lower().startswith('hg:'): + repo = 'hg+' + repo + current_rev_hash = cls.get_revision_hash(location) + return make_vcs_requirement_url(repo, current_rev_hash, project_name) + + def is_commit_id_equal(self, dest, name): + """Always assume the versions don't match""" + return False + + +vcs.register(Mercurial) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/subversion.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/subversion.py new file mode 100644 index 0000000..42ac5ac --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/subversion.py @@ -0,0 +1,200 @@ +from __future__ import absolute_import + +import logging +import os +import re + +from pip._internal.utils.logging import indent_log +from pip._internal.utils.misc import ( + display_path, make_vcs_requirement_url, rmtree, split_auth_from_netloc, +) +from pip._internal.vcs import VersionControl, vcs + +_svn_xml_url_re = re.compile('url="([^"]+)"') +_svn_rev_re = re.compile(r'committed-rev="(\d+)"') +_svn_info_xml_rev_re = re.compile(r'\s*revision="(\d+)"') +_svn_info_xml_url_re = re.compile(r'<url>(.*)</url>') + + +logger = logging.getLogger(__name__) + + +class Subversion(VersionControl): + name = 'svn' + dirname = '.svn' + repo_name = 'checkout' + schemes = ('svn', 'svn+ssh', 'svn+http', 'svn+https', 'svn+svn') + + def get_base_rev_args(self, rev): + return ['-r', rev] + + def export(self, location): + """Export the svn repository at the url to the destination location""" + url, rev_options = self.get_url_rev_options(self.url) + + logger.info('Exporting svn repository %s to %s', url, location) + with indent_log(): + if os.path.exists(location): + # Subversion doesn't like to check out over an existing + # directory --force fixes this, but was only added in svn 1.5 + rmtree(location) + cmd_args = ['export'] + rev_options.to_args() + [url, location] + self.run_command(cmd_args, show_stdout=False) + + def fetch_new(self, dest, url, rev_options): + rev_display = rev_options.to_display() + logger.info( + 'Checking out %s%s to %s', + url, + rev_display, + display_path(dest), + ) + cmd_args = ['checkout', '-q'] + rev_options.to_args() + [url, dest] + self.run_command(cmd_args) + + def switch(self, dest, url, rev_options): + cmd_args = ['switch'] + rev_options.to_args() + [url, dest] + self.run_command(cmd_args) + + def update(self, dest, url, rev_options): + cmd_args = ['update'] + rev_options.to_args() + [dest] + self.run_command(cmd_args) + + @classmethod + def get_revision(cls, location): + """ + Return the maximum revision for all files under a given location + """ + # Note: taken from setuptools.command.egg_info + revision = 0 + + for base, dirs, files in os.walk(location): + if cls.dirname not in dirs: + dirs[:] = [] + continue # no sense walking uncontrolled subdirs + dirs.remove(cls.dirname) + entries_fn = os.path.join(base, cls.dirname, 'entries') + if not os.path.exists(entries_fn): + # FIXME: should we warn? + continue + + dirurl, localrev = cls._get_svn_url_rev(base) + + if base == location: + base = dirurl + '/' # save the root url + elif not dirurl or not dirurl.startswith(base): + dirs[:] = [] + continue # not part of the same svn tree, skip it + revision = max(revision, localrev) + return revision + + def get_netloc_and_auth(self, netloc, scheme): + """ + This override allows the auth information to be passed to svn via the + --username and --password options instead of via the URL. + """ + if scheme == 'ssh': + # The --username and --password options can't be used for + # svn+ssh URLs, so keep the auth information in the URL. + return super(Subversion, self).get_netloc_and_auth( + netloc, scheme) + + return split_auth_from_netloc(netloc) + + def get_url_rev_and_auth(self, url): + # hotfix the URL scheme after removing svn+ from svn+ssh:// readd it + url, rev, user_pass = super(Subversion, self).get_url_rev_and_auth(url) + if url.startswith('ssh://'): + url = 'svn+' + url + return url, rev, user_pass + + def make_rev_args(self, username, password): + extra_args = [] + if username: + extra_args += ['--username', username] + if password: + extra_args += ['--password', password] + + return extra_args + + @classmethod + def get_remote_url(cls, location): + # In cases where the source is in a subdirectory, not alongside + # setup.py we have to look up in the location until we find a real + # setup.py + orig_location = location + while not os.path.exists(os.path.join(location, 'setup.py')): + last_location = location + location = os.path.dirname(location) + if location == last_location: + # We've traversed up to the root of the filesystem without + # finding setup.py + logger.warning( + "Could not find setup.py for directory %s (tried all " + "parent directories)", + orig_location, + ) + return None + + return cls._get_svn_url_rev(location)[0] + + @classmethod + def _get_svn_url_rev(cls, location): + from pip._internal.exceptions import InstallationError + + entries_path = os.path.join(location, cls.dirname, 'entries') + if os.path.exists(entries_path): + with open(entries_path) as f: + data = f.read() + else: # subversion >= 1.7 does not have the 'entries' file + data = '' + + if (data.startswith('8') or + data.startswith('9') or + data.startswith('10')): + data = list(map(str.splitlines, data.split('\n\x0c\n'))) + del data[0][0] # get rid of the '8' + url = data[0][3] + revs = [int(d[9]) for d in data if len(d) > 9 and d[9]] + [0] + elif data.startswith('<?xml'): + match = _svn_xml_url_re.search(data) + if not match: + raise ValueError('Badly formatted data: %r' % data) + url = match.group(1) # get repository URL + revs = [int(m.group(1)) for m in _svn_rev_re.finditer(data)] + [0] + else: + try: + # subversion >= 1.7 + xml = cls.run_command( + ['info', '--xml', location], + show_stdout=False, + ) + url = _svn_info_xml_url_re.search(xml).group(1) + revs = [ + int(m.group(1)) for m in _svn_info_xml_rev_re.finditer(xml) + ] + except InstallationError: + url, revs = None, [] + + if revs: + rev = max(revs) + else: + rev = 0 + + return url, rev + + @classmethod + def get_src_requirement(cls, location, project_name): + repo = cls.get_remote_url(location) + if repo is None: + return None + repo = 'svn+' + repo + rev = cls.get_revision(location) + return make_vcs_requirement_url(repo, rev, project_name) + + def is_commit_id_equal(self, dest, name): + """Always assume the versions don't match""" + return False + + +vcs.register(Subversion) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/wheel.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/wheel.py new file mode 100644 index 0000000..67bcc7f --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/wheel.py @@ -0,0 +1,1095 @@ +""" +Support for installing and building the "wheel" binary package format. +""" +from __future__ import absolute_import + +import collections +import compileall +import csv +import hashlib +import logging +import os.path +import re +import shutil +import stat +import sys +import warnings +from base64 import urlsafe_b64encode +from email.parser import Parser + +from pip._vendor import pkg_resources +from pip._vendor.distlib.scripts import ScriptMaker +from pip._vendor.packaging.utils import canonicalize_name +from pip._vendor.six import StringIO + +from pip._internal import pep425tags +from pip._internal.download import path_to_url, unpack_url +from pip._internal.exceptions import ( + InstallationError, InvalidWheelFilename, UnsupportedWheel, +) +from pip._internal.locations import ( + PIP_DELETE_MARKER_FILENAME, distutils_scheme, +) +from pip._internal.models.link import Link +from pip._internal.utils.logging import indent_log +from pip._internal.utils.misc import ( + call_subprocess, captured_stdout, ensure_dir, read_chunks, +) +from pip._internal.utils.setuptools_build import SETUPTOOLS_SHIM +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._internal.utils.ui import open_spinner + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Dict, List, Optional, Sequence, Mapping, Tuple, IO, Text, Any, + Union, Iterable + ) + from pip._vendor.packaging.requirements import Requirement # noqa: F401 + from pip._internal.req.req_install import InstallRequirement # noqa: F401 + from pip._internal.download import PipSession # noqa: F401 + from pip._internal.index import FormatControl, PackageFinder # noqa: F401 + from pip._internal.operations.prepare import ( # noqa: F401 + RequirementPreparer + ) + from pip._internal.cache import WheelCache # noqa: F401 + from pip._internal.pep425tags import Pep425Tag # noqa: F401 + + InstalledCSVRow = Tuple[str, ...] + + +VERSION_COMPATIBLE = (1, 0) + + +logger = logging.getLogger(__name__) + + +def normpath(src, p): + return os.path.relpath(src, p).replace(os.path.sep, '/') + + +def rehash(path, blocksize=1 << 20): + # type: (str, int) -> Tuple[str, str] + """Return (hash, length) for path using hashlib.sha256()""" + h = hashlib.sha256() + length = 0 + with open(path, 'rb') as f: + for block in read_chunks(f, size=blocksize): + length += len(block) + h.update(block) + digest = 'sha256=' + urlsafe_b64encode( + h.digest() + ).decode('latin1').rstrip('=') + # unicode/str python2 issues + return (digest, str(length)) # type: ignore + + +def open_for_csv(name, mode): + # type: (str, Text) -> IO + if sys.version_info[0] < 3: + nl = {} # type: Dict[str, Any] + bin = 'b' + else: + nl = {'newline': ''} # type: Dict[str, Any] + bin = '' + return open(name, mode + bin, **nl) + + +def replace_python_tag(wheelname, new_tag): + # type: (str, str) -> str + """Replace the Python tag in a wheel file name with a new value. + """ + parts = wheelname.split('-') + parts[-3] = new_tag + return '-'.join(parts) + + +def fix_script(path): + # type: (str) -> Optional[bool] + """Replace #!python with #!/path/to/python + Return True if file was changed.""" + # XXX RECORD hashes will need to be updated + if os.path.isfile(path): + with open(path, 'rb') as script: + firstline = script.readline() + if not firstline.startswith(b'#!python'): + return False + exename = sys.executable.encode(sys.getfilesystemencoding()) + firstline = b'#!' + exename + os.linesep.encode("ascii") + rest = script.read() + with open(path, 'wb') as script: + script.write(firstline) + script.write(rest) + return True + return None + + +dist_info_re = re.compile(r"""^(?P<namever>(?P<name>.+?)(-(?P<ver>.+?))?) + \.dist-info$""", re.VERBOSE) + + +def root_is_purelib(name, wheeldir): + # type: (str, str) -> bool + """ + Return True if the extracted wheel in wheeldir should go into purelib. + """ + name_folded = name.replace("-", "_") + for item in os.listdir(wheeldir): + match = dist_info_re.match(item) + if match and match.group('name') == name_folded: + with open(os.path.join(wheeldir, item, 'WHEEL')) as wheel: + for line in wheel: + line = line.lower().rstrip() + if line == "root-is-purelib: true": + return True + return False + + +def get_entrypoints(filename): + # type: (str) -> Tuple[Dict[str, str], Dict[str, str]] + if not os.path.exists(filename): + return {}, {} + + # This is done because you can pass a string to entry_points wrappers which + # means that they may or may not be valid INI files. The attempt here is to + # strip leading and trailing whitespace in order to make them valid INI + # files. + with open(filename) as fp: + data = StringIO() + for line in fp: + data.write(line.strip()) + data.write("\n") + data.seek(0) + + # get the entry points and then the script names + entry_points = pkg_resources.EntryPoint.parse_map(data) + console = entry_points.get('console_scripts', {}) + gui = entry_points.get('gui_scripts', {}) + + def _split_ep(s): + """get the string representation of EntryPoint, remove space and split + on '='""" + return str(s).replace(" ", "").split("=") + + # convert the EntryPoint objects into strings with module:function + console = dict(_split_ep(v) for v in console.values()) + gui = dict(_split_ep(v) for v in gui.values()) + return console, gui + + +def message_about_scripts_not_on_PATH(scripts): + # type: (Sequence[str]) -> Optional[str] + """Determine if any scripts are not on PATH and format a warning. + + Returns a warning message if one or more scripts are not on PATH, + otherwise None. + """ + if not scripts: + return None + + # Group scripts by the path they were installed in + grouped_by_dir = collections.defaultdict(set) # type: Dict[str, set] + for destfile in scripts: + parent_dir = os.path.dirname(destfile) + script_name = os.path.basename(destfile) + grouped_by_dir[parent_dir].add(script_name) + + # We don't want to warn for directories that are on PATH. + not_warn_dirs = [ + os.path.normcase(i).rstrip(os.sep) for i in + os.environ.get("PATH", "").split(os.pathsep) + ] + # If an executable sits with sys.executable, we don't warn for it. + # This covers the case of venv invocations without activating the venv. + not_warn_dirs.append(os.path.normcase(os.path.dirname(sys.executable))) + warn_for = { + parent_dir: scripts for parent_dir, scripts in grouped_by_dir.items() + if os.path.normcase(parent_dir) not in not_warn_dirs + } + if not warn_for: + return None + + # Format a message + msg_lines = [] + for parent_dir, scripts in warn_for.items(): + scripts = sorted(scripts) + if len(scripts) == 1: + start_text = "script {} is".format(scripts[0]) + else: + start_text = "scripts {} are".format( + ", ".join(scripts[:-1]) + " and " + scripts[-1] + ) + + msg_lines.append( + "The {} installed in '{}' which is not on PATH." + .format(start_text, parent_dir) + ) + + last_line_fmt = ( + "Consider adding {} to PATH or, if you prefer " + "to suppress this warning, use --no-warn-script-location." + ) + if len(msg_lines) == 1: + msg_lines.append(last_line_fmt.format("this directory")) + else: + msg_lines.append(last_line_fmt.format("these directories")) + + # Returns the formatted multiline message + return "\n".join(msg_lines) + + +def sorted_outrows(outrows): + # type: (Iterable[InstalledCSVRow]) -> List[InstalledCSVRow] + """ + Return the given rows of a RECORD file in sorted order. + + Each row is a 3-tuple (path, hash, size) and corresponds to a record of + a RECORD file (see PEP 376 and PEP 427 for details). For the rows + passed to this function, the size can be an integer as an int or string, + or the empty string. + """ + # Normally, there should only be one row per path, in which case the + # second and third elements don't come into play when sorting. + # However, in cases in the wild where a path might happen to occur twice, + # we don't want the sort operation to trigger an error (but still want + # determinism). Since the third element can be an int or string, we + # coerce each element to a string to avoid a TypeError in this case. + # For additional background, see-- + # https://github.com/pypa/pip/issues/5868 + return sorted(outrows, key=lambda row: tuple(str(x) for x in row)) + + +def get_csv_rows_for_installed( + old_csv_rows, # type: Iterable[List[str]] + installed, # type: Dict[str, str] + changed, # type: set + generated, # type: List[str] + lib_dir, # type: str +): + # type: (...) -> List[InstalledCSVRow] + """ + :param installed: A map from archive RECORD path to installation RECORD + path. + """ + installed_rows = [] # type: List[InstalledCSVRow] + for row in old_csv_rows: + if len(row) > 3: + logger.warning( + 'RECORD line has more than three elements: {}'.format(row) + ) + # Make a copy because we are mutating the row. + row = list(row) + old_path = row[0] + new_path = installed.pop(old_path, old_path) + row[0] = new_path + if new_path in changed: + digest, length = rehash(new_path) + row[1] = digest + row[2] = length + installed_rows.append(tuple(row)) + for f in generated: + digest, length = rehash(f) + installed_rows.append((normpath(f, lib_dir), digest, str(length))) + for f in installed: + installed_rows.append((installed[f], '', '')) + return installed_rows + + +def move_wheel_files( + name, # type: str + req, # type: Requirement + wheeldir, # type: str + user=False, # type: bool + home=None, # type: Optional[str] + root=None, # type: Optional[str] + pycompile=True, # type: bool + scheme=None, # type: Optional[Mapping[str, str]] + isolated=False, # type: bool + prefix=None, # type: Optional[str] + warn_script_location=True # type: bool +): + # type: (...) -> None + """Install a wheel""" + # TODO: Investigate and break this up. + # TODO: Look into moving this into a dedicated class for representing an + # installation. + + if not scheme: + scheme = distutils_scheme( + name, user=user, home=home, root=root, isolated=isolated, + prefix=prefix, + ) + + if root_is_purelib(name, wheeldir): + lib_dir = scheme['purelib'] + else: + lib_dir = scheme['platlib'] + + info_dir = [] # type: List[str] + data_dirs = [] + source = wheeldir.rstrip(os.path.sep) + os.path.sep + + # Record details of the files moved + # installed = files copied from the wheel to the destination + # changed = files changed while installing (scripts #! line typically) + # generated = files newly generated during the install (script wrappers) + installed = {} # type: Dict[str, str] + changed = set() + generated = [] # type: List[str] + + # Compile all of the pyc files that we're going to be installing + if pycompile: + with captured_stdout() as stdout: + with warnings.catch_warnings(): + warnings.filterwarnings('ignore') + compileall.compile_dir(source, force=True, quiet=True) + logger.debug(stdout.getvalue()) + + def record_installed(srcfile, destfile, modified=False): + """Map archive RECORD paths to installation RECORD paths.""" + oldpath = normpath(srcfile, wheeldir) + newpath = normpath(destfile, lib_dir) + installed[oldpath] = newpath + if modified: + changed.add(destfile) + + def clobber(source, dest, is_base, fixer=None, filter=None): + ensure_dir(dest) # common for the 'include' path + + for dir, subdirs, files in os.walk(source): + basedir = dir[len(source):].lstrip(os.path.sep) + destdir = os.path.join(dest, basedir) + if is_base and basedir.split(os.path.sep, 1)[0].endswith('.data'): + continue + for s in subdirs: + destsubdir = os.path.join(dest, basedir, s) + if is_base and basedir == '' and destsubdir.endswith('.data'): + data_dirs.append(s) + continue + elif (is_base and + s.endswith('.dist-info') and + canonicalize_name(s).startswith( + canonicalize_name(req.name))): + assert not info_dir, ('Multiple .dist-info directories: ' + + destsubdir + ', ' + + ', '.join(info_dir)) + info_dir.append(destsubdir) + for f in files: + # Skip unwanted files + if filter and filter(f): + continue + srcfile = os.path.join(dir, f) + destfile = os.path.join(dest, basedir, f) + # directory creation is lazy and after the file filtering above + # to ensure we don't install empty dirs; empty dirs can't be + # uninstalled. + ensure_dir(destdir) + + # copyfile (called below) truncates the destination if it + # exists and then writes the new contents. This is fine in most + # cases, but can cause a segfault if pip has loaded a shared + # object (e.g. from pyopenssl through its vendored urllib3) + # Since the shared object is mmap'd an attempt to call a + # symbol in it will then cause a segfault. Unlinking the file + # allows writing of new contents while allowing the process to + # continue to use the old copy. + if os.path.exists(destfile): + os.unlink(destfile) + + # We use copyfile (not move, copy, or copy2) to be extra sure + # that we are not moving directories over (copyfile fails for + # directories) as well as to ensure that we are not copying + # over any metadata because we want more control over what + # metadata we actually copy over. + shutil.copyfile(srcfile, destfile) + + # Copy over the metadata for the file, currently this only + # includes the atime and mtime. + st = os.stat(srcfile) + if hasattr(os, "utime"): + os.utime(destfile, (st.st_atime, st.st_mtime)) + + # If our file is executable, then make our destination file + # executable. + if os.access(srcfile, os.X_OK): + st = os.stat(srcfile) + permissions = ( + st.st_mode | stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH + ) + os.chmod(destfile, permissions) + + changed = False + if fixer: + changed = fixer(destfile) + record_installed(srcfile, destfile, changed) + + clobber(source, lib_dir, True) + + assert info_dir, "%s .dist-info directory not found" % req + + # Get the defined entry points + ep_file = os.path.join(info_dir[0], 'entry_points.txt') + console, gui = get_entrypoints(ep_file) + + def is_entrypoint_wrapper(name): + # EP, EP.exe and EP-script.py are scripts generated for + # entry point EP by setuptools + if name.lower().endswith('.exe'): + matchname = name[:-4] + elif name.lower().endswith('-script.py'): + matchname = name[:-10] + elif name.lower().endswith(".pya"): + matchname = name[:-4] + else: + matchname = name + # Ignore setuptools-generated scripts + return (matchname in console or matchname in gui) + + for datadir in data_dirs: + fixer = None + filter = None + for subdir in os.listdir(os.path.join(wheeldir, datadir)): + fixer = None + if subdir == 'scripts': + fixer = fix_script + filter = is_entrypoint_wrapper + source = os.path.join(wheeldir, datadir, subdir) + dest = scheme[subdir] + clobber(source, dest, False, fixer=fixer, filter=filter) + + maker = ScriptMaker(None, scheme['scripts']) + + # Ensure old scripts are overwritten. + # See https://github.com/pypa/pip/issues/1800 + maker.clobber = True + + # Ensure we don't generate any variants for scripts because this is almost + # never what somebody wants. + # See https://bitbucket.org/pypa/distlib/issue/35/ + maker.variants = {''} + + # This is required because otherwise distlib creates scripts that are not + # executable. + # See https://bitbucket.org/pypa/distlib/issue/32/ + maker.set_mode = True + + # Simplify the script and fix the fact that the default script swallows + # every single stack trace. + # See https://bitbucket.org/pypa/distlib/issue/34/ + # See https://bitbucket.org/pypa/distlib/issue/33/ + def _get_script_text(entry): + if entry.suffix is None: + raise InstallationError( + "Invalid script entry point: %s for req: %s - A callable " + "suffix is required. Cf https://packaging.python.org/en/" + "latest/distributing.html#console-scripts for more " + "information." % (entry, req) + ) + return maker.script_template % { + "module": entry.prefix, + "import_name": entry.suffix.split(".")[0], + "func": entry.suffix, + } + # ignore type, because mypy disallows assigning to a method, + # see https://github.com/python/mypy/issues/2427 + maker._get_script_text = _get_script_text # type: ignore + maker.script_template = r"""# -*- coding: utf-8 -*- +import re +import sys + +from %(module)s import %(import_name)s + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit(%(func)s()) +""" + + # Special case pip and setuptools to generate versioned wrappers + # + # The issue is that some projects (specifically, pip and setuptools) use + # code in setup.py to create "versioned" entry points - pip2.7 on Python + # 2.7, pip3.3 on Python 3.3, etc. But these entry points are baked into + # the wheel metadata at build time, and so if the wheel is installed with + # a *different* version of Python the entry points will be wrong. The + # correct fix for this is to enhance the metadata to be able to describe + # such versioned entry points, but that won't happen till Metadata 2.0 is + # available. + # In the meantime, projects using versioned entry points will either have + # incorrect versioned entry points, or they will not be able to distribute + # "universal" wheels (i.e., they will need a wheel per Python version). + # + # Because setuptools and pip are bundled with _ensurepip and virtualenv, + # we need to use universal wheels. So, as a stopgap until Metadata 2.0, we + # override the versioned entry points in the wheel and generate the + # correct ones. This code is purely a short-term measure until Metadata 2.0 + # is available. + # + # To add the level of hack in this section of code, in order to support + # ensurepip this code will look for an ``ENSUREPIP_OPTIONS`` environment + # variable which will control which version scripts get installed. + # + # ENSUREPIP_OPTIONS=altinstall + # - Only pipX.Y and easy_install-X.Y will be generated and installed + # ENSUREPIP_OPTIONS=install + # - pipX.Y, pipX, easy_install-X.Y will be generated and installed. Note + # that this option is technically if ENSUREPIP_OPTIONS is set and is + # not altinstall + # DEFAULT + # - The default behavior is to install pip, pipX, pipX.Y, easy_install + # and easy_install-X.Y. + pip_script = console.pop('pip', None) + if pip_script: + if "ENSUREPIP_OPTIONS" not in os.environ: + spec = 'pip = ' + pip_script + generated.extend(maker.make(spec)) + + if os.environ.get("ENSUREPIP_OPTIONS", "") != "altinstall": + spec = 'pip%s = %s' % (sys.version[:1], pip_script) + generated.extend(maker.make(spec)) + + spec = 'pip%s = %s' % (sys.version[:3], pip_script) + generated.extend(maker.make(spec)) + # Delete any other versioned pip entry points + pip_ep = [k for k in console if re.match(r'pip(\d(\.\d)?)?$', k)] + for k in pip_ep: + del console[k] + easy_install_script = console.pop('easy_install', None) + if easy_install_script: + if "ENSUREPIP_OPTIONS" not in os.environ: + spec = 'easy_install = ' + easy_install_script + generated.extend(maker.make(spec)) + + spec = 'easy_install-%s = %s' % (sys.version[:3], easy_install_script) + generated.extend(maker.make(spec)) + # Delete any other versioned easy_install entry points + easy_install_ep = [ + k for k in console if re.match(r'easy_install(-\d\.\d)?$', k) + ] + for k in easy_install_ep: + del console[k] + + # Generate the console and GUI entry points specified in the wheel + if len(console) > 0: + generated_console_scripts = maker.make_multiple( + ['%s = %s' % kv for kv in console.items()] + ) + generated.extend(generated_console_scripts) + + if warn_script_location: + msg = message_about_scripts_not_on_PATH(generated_console_scripts) + if msg is not None: + logger.warning(msg) + + if len(gui) > 0: + generated.extend( + maker.make_multiple( + ['%s = %s' % kv for kv in gui.items()], + {'gui': True} + ) + ) + + # Record pip as the installer + installer = os.path.join(info_dir[0], 'INSTALLER') + temp_installer = os.path.join(info_dir[0], 'INSTALLER.pip') + with open(temp_installer, 'wb') as installer_file: + installer_file.write(b'pip\n') + shutil.move(temp_installer, installer) + generated.append(installer) + + # Record details of all files installed + record = os.path.join(info_dir[0], 'RECORD') + temp_record = os.path.join(info_dir[0], 'RECORD.pip') + with open_for_csv(record, 'r') as record_in: + with open_for_csv(temp_record, 'w+') as record_out: + reader = csv.reader(record_in) + outrows = get_csv_rows_for_installed( + reader, installed=installed, changed=changed, + generated=generated, lib_dir=lib_dir, + ) + writer = csv.writer(record_out) + # Sort to simplify testing. + for row in sorted_outrows(outrows): + writer.writerow(row) + shutil.move(temp_record, record) + + +def wheel_version(source_dir): + # type: (Optional[str]) -> Optional[Tuple[int, ...]] + """ + Return the Wheel-Version of an extracted wheel, if possible. + + Otherwise, return None if we couldn't parse / extract it. + """ + try: + dist = [d for d in pkg_resources.find_on_path(None, source_dir)][0] + + wheel_data = dist.get_metadata('WHEEL') + wheel_data = Parser().parsestr(wheel_data) + + version = wheel_data['Wheel-Version'].strip() + version = tuple(map(int, version.split('.'))) + return version + except Exception: + return None + + +def check_compatibility(version, name): + # type: (Optional[Tuple[int, ...]], str) -> None + """ + Raises errors or warns if called with an incompatible Wheel-Version. + + Pip should refuse to install a Wheel-Version that's a major series + ahead of what it's compatible with (e.g 2.0 > 1.1); and warn when + installing a version only minor version ahead (e.g 1.2 > 1.1). + + version: a 2-tuple representing a Wheel-Version (Major, Minor) + name: name of wheel or package to raise exception about + + :raises UnsupportedWheel: when an incompatible Wheel-Version is given + """ + if not version: + raise UnsupportedWheel( + "%s is in an unsupported or invalid wheel" % name + ) + if version[0] > VERSION_COMPATIBLE[0]: + raise UnsupportedWheel( + "%s's Wheel-Version (%s) is not compatible with this version " + "of pip" % (name, '.'.join(map(str, version))) + ) + elif version > VERSION_COMPATIBLE: + logger.warning( + 'Installing from a newer Wheel-Version (%s)', + '.'.join(map(str, version)), + ) + + +class Wheel(object): + """A wheel file""" + + # TODO: Maybe move the class into the models sub-package + # TODO: Maybe move the install code into this class + + wheel_file_re = re.compile( + r"""^(?P<namever>(?P<name>.+?)-(?P<ver>.*?)) + ((-(?P<build>\d[^-]*?))?-(?P<pyver>.+?)-(?P<abi>.+?)-(?P<plat>.+?) + \.whl|\.dist-info)$""", + re.VERBOSE + ) + + def __init__(self, filename): + # type: (str) -> None + """ + :raises InvalidWheelFilename: when the filename is invalid for a wheel + """ + wheel_info = self.wheel_file_re.match(filename) + if not wheel_info: + raise InvalidWheelFilename( + "%s is not a valid wheel filename." % filename + ) + self.filename = filename + self.name = wheel_info.group('name').replace('_', '-') + # we'll assume "_" means "-" due to wheel naming scheme + # (https://github.com/pypa/pip/issues/1150) + self.version = wheel_info.group('ver').replace('_', '-') + self.build_tag = wheel_info.group('build') + self.pyversions = wheel_info.group('pyver').split('.') + self.abis = wheel_info.group('abi').split('.') + self.plats = wheel_info.group('plat').split('.') + + # All the tag combinations from this file + self.file_tags = { + (x, y, z) for x in self.pyversions + for y in self.abis for z in self.plats + } + + def support_index_min(self, tags=None): + # type: (Optional[List[Pep425Tag]]) -> Optional[int] + """ + Return the lowest index that one of the wheel's file_tag combinations + achieves in the supported_tags list e.g. if there are 8 supported tags, + and one of the file tags is first in the list, then return 0. Returns + None is the wheel is not supported. + """ + if tags is None: # for mock + tags = pep425tags.get_supported() + indexes = [tags.index(c) for c in self.file_tags if c in tags] + return min(indexes) if indexes else None + + def supported(self, tags=None): + # type: (Optional[List[Pep425Tag]]) -> bool + """Is this wheel supported on this system?""" + if tags is None: # for mock + tags = pep425tags.get_supported() + return bool(set(tags).intersection(self.file_tags)) + + +def _contains_egg_info( + s, _egg_info_re=re.compile(r'([a-z0-9_.]+)-([a-z0-9_.!+-]+)', re.I)): + """Determine whether the string looks like an egg_info. + + :param s: The string to parse. E.g. foo-2.1 + """ + return bool(_egg_info_re.search(s)) + + +def should_use_ephemeral_cache( + req, # type: InstallRequirement + format_control, # type: FormatControl + autobuilding, # type: bool + cache_available # type: bool +): + # type: (...) -> Optional[bool] + """ + Return whether to build an InstallRequirement object using the + ephemeral cache. + + :param cache_available: whether a cache directory is available for the + autobuilding=True case. + + :return: True or False to build the requirement with ephem_cache=True + or False, respectively; or None not to build the requirement. + """ + if req.constraint: + return None + if req.is_wheel: + if not autobuilding: + logger.info( + 'Skipping %s, due to already being wheel.', req.name, + ) + return None + if not autobuilding: + return False + + if req.editable or not req.source_dir: + return None + + if req.link and not req.link.is_artifact: + # VCS checkout. Build wheel just for this run. + return True + + if "binary" not in format_control.get_allowed_formats( + canonicalize_name(req.name)): + logger.info( + "Skipping bdist_wheel for %s, due to binaries " + "being disabled for it.", req.name, + ) + return None + + link = req.link + base, ext = link.splitext() + if cache_available and _contains_egg_info(base): + return False + + # Otherwise, build the wheel just for this run using the ephemeral + # cache since we are either in the case of e.g. a local directory, or + # no cache directory is available to use. + return True + + +def format_command( + command_args, # type: List[str] + command_output, # type: str +): + # type: (...) -> str + """ + Format command information for logging. + """ + text = 'Command arguments: {}\n'.format(command_args) + + if not command_output: + text += 'Command output: None' + elif logger.getEffectiveLevel() > logging.DEBUG: + text += 'Command output: [use --verbose to show]' + else: + if not command_output.endswith('\n'): + command_output += '\n' + text += ( + 'Command output:\n{}' + '-----------------------------------------' + ).format(command_output) + + return text + + +def get_legacy_build_wheel_path( + names, # type: List[str] + temp_dir, # type: str + req, # type: InstallRequirement + command_args, # type: List[str] + command_output, # type: str +): + # type: (...) -> Optional[str] + """ + Return the path to the wheel in the temporary build directory. + """ + # Sort for determinism. + names = sorted(names) + if not names: + msg = ( + 'Legacy build of wheel for {!r} created no files.\n' + ).format(req.name) + msg += format_command(command_args, command_output) + logger.warning(msg) + return None + + if len(names) > 1: + msg = ( + 'Legacy build of wheel for {!r} created more than one file.\n' + 'Filenames (choosing first): {}\n' + ).format(req.name, names) + msg += format_command(command_args, command_output) + logger.warning(msg) + + return os.path.join(temp_dir, names[0]) + + +class WheelBuilder(object): + """Build wheels from a RequirementSet.""" + + def __init__( + self, + finder, # type: PackageFinder + preparer, # type: RequirementPreparer + wheel_cache, # type: WheelCache + build_options=None, # type: Optional[List[str]] + global_options=None, # type: Optional[List[str]] + no_clean=False # type: bool + ): + # type: (...) -> None + self.finder = finder + self.preparer = preparer + self.wheel_cache = wheel_cache + + self._wheel_dir = preparer.wheel_download_dir + + self.build_options = build_options or [] + self.global_options = global_options or [] + self.no_clean = no_clean + + def _build_one(self, req, output_dir, python_tag=None): + """Build one wheel. + + :return: The filename of the built wheel, or None if the build failed. + """ + # Install build deps into temporary directory (PEP 518) + with req.build_env: + return self._build_one_inside_env(req, output_dir, + python_tag=python_tag) + + def _build_one_inside_env(self, req, output_dir, python_tag=None): + with TempDirectory(kind="wheel") as temp_dir: + if req.use_pep517: + builder = self._build_one_pep517 + else: + builder = self._build_one_legacy + wheel_path = builder(req, temp_dir.path, python_tag=python_tag) + if wheel_path is not None: + wheel_name = os.path.basename(wheel_path) + dest_path = os.path.join(output_dir, wheel_name) + try: + shutil.move(wheel_path, dest_path) + logger.info('Stored in directory: %s', output_dir) + return dest_path + except Exception: + pass + # Ignore return, we can't do anything else useful. + self._clean_one(req) + return None + + def _base_setup_args(self, req): + # NOTE: Eventually, we'd want to also -S to the flags here, when we're + # isolating. Currently, it breaks Python in virtualenvs, because it + # relies on site.py to find parts of the standard library outside the + # virtualenv. + return [ + sys.executable, '-u', '-c', + SETUPTOOLS_SHIM % req.setup_py + ] + list(self.global_options) + + def _build_one_pep517(self, req, tempd, python_tag=None): + """Build one InstallRequirement using the PEP 517 build process. + + Returns path to wheel if successfully built. Otherwise, returns None. + """ + assert req.metadata_directory is not None + try: + req.spin_message = 'Building wheel for %s (PEP 517)' % (req.name,) + logger.debug('Destination directory: %s', tempd) + wheel_name = req.pep517_backend.build_wheel( + tempd, + metadata_directory=req.metadata_directory + ) + if python_tag: + # General PEP 517 backends don't necessarily support + # a "--python-tag" option, so we rename the wheel + # file directly. + new_name = replace_python_tag(wheel_name, python_tag) + os.rename( + os.path.join(tempd, wheel_name), + os.path.join(tempd, new_name) + ) + # Reassign to simplify the return at the end of function + wheel_name = new_name + except Exception: + logger.error('Failed building wheel for %s', req.name) + return None + return os.path.join(tempd, wheel_name) + + def _build_one_legacy(self, req, tempd, python_tag=None): + """Build one InstallRequirement using the "legacy" build process. + + Returns path to wheel if successfully built. Otherwise, returns None. + """ + base_args = self._base_setup_args(req) + + spin_message = 'Building wheel for %s (setup.py)' % (req.name,) + with open_spinner(spin_message) as spinner: + logger.debug('Destination directory: %s', tempd) + wheel_args = base_args + ['bdist_wheel', '-d', tempd] \ + + self.build_options + + if python_tag is not None: + wheel_args += ["--python-tag", python_tag] + + try: + output = call_subprocess(wheel_args, cwd=req.setup_py_dir, + show_stdout=False, spinner=spinner) + except Exception: + spinner.finish("error") + logger.error('Failed building wheel for %s', req.name) + return None + names = os.listdir(tempd) + wheel_path = get_legacy_build_wheel_path( + names=names, + temp_dir=tempd, + req=req, + command_args=wheel_args, + command_output=output, + ) + return wheel_path + + def _clean_one(self, req): + base_args = self._base_setup_args(req) + + logger.info('Running setup.py clean for %s', req.name) + clean_args = base_args + ['clean', '--all'] + try: + call_subprocess(clean_args, cwd=req.source_dir, show_stdout=False) + return True + except Exception: + logger.error('Failed cleaning build dir for %s', req.name) + return False + + def build( + self, + requirements, # type: Iterable[InstallRequirement] + session, # type: PipSession + autobuilding=False # type: bool + ): + # type: (...) -> List[InstallRequirement] + """Build wheels. + + :param unpack: If True, replace the sdist we built from with the + newly built wheel, in preparation for installation. + :return: True if all the wheels built correctly. + """ + buildset = [] + format_control = self.finder.format_control + # Whether a cache directory is available for autobuilding=True. + cache_available = bool(self._wheel_dir or self.wheel_cache.cache_dir) + + for req in requirements: + ephem_cache = should_use_ephemeral_cache( + req, format_control=format_control, autobuilding=autobuilding, + cache_available=cache_available, + ) + if ephem_cache is None: + continue + + buildset.append((req, ephem_cache)) + + if not buildset: + return [] + + # Is any wheel build not using the ephemeral cache? + if any(not ephem_cache for _, ephem_cache in buildset): + have_directory_for_build = self._wheel_dir or ( + autobuilding and self.wheel_cache.cache_dir + ) + assert have_directory_for_build + + # TODO by @pradyunsg + # Should break up this method into 2 separate methods. + + # Build the wheels. + logger.info( + 'Building wheels for collected packages: %s', + ', '.join([req.name for (req, _) in buildset]), + ) + _cache = self.wheel_cache # shorter name + with indent_log(): + build_success, build_failure = [], [] + for req, ephem in buildset: + python_tag = None + if autobuilding: + python_tag = pep425tags.implementation_tag + if ephem: + output_dir = _cache.get_ephem_path_for_link(req.link) + else: + output_dir = _cache.get_path_for_link(req.link) + try: + ensure_dir(output_dir) + except OSError as e: + logger.warning("Building wheel for %s failed: %s", + req.name, e) + build_failure.append(req) + continue + else: + output_dir = self._wheel_dir + wheel_file = self._build_one( + req, output_dir, + python_tag=python_tag, + ) + if wheel_file: + build_success.append(req) + if autobuilding: + # XXX: This is mildly duplicative with prepare_files, + # but not close enough to pull out to a single common + # method. + # The code below assumes temporary source dirs - + # prevent it doing bad things. + if req.source_dir and not os.path.exists(os.path.join( + req.source_dir, PIP_DELETE_MARKER_FILENAME)): + raise AssertionError( + "bad source dir - missing marker") + # Delete the source we built the wheel from + req.remove_temporary_source() + # set the build directory again - name is known from + # the work prepare_files did. + req.source_dir = req.build_location( + self.preparer.build_dir + ) + # Update the link for this. + req.link = Link(path_to_url(wheel_file)) + assert req.link.is_wheel + # extract the wheel into the dir + unpack_url( + req.link, req.source_dir, None, False, + session=session, + ) + else: + build_failure.append(req) + + # notify success/failure + if build_success: + logger.info( + 'Successfully built %s', + ' '.join([req.name for req in build_success]), + ) + if build_failure: + logger.info( + 'Failed to build %s', + ' '.join([req.name for req in build_failure]), + ) + # Return a list of requirements that failed to build + return build_failure diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/__init__.py new file mode 100644 index 0000000..b919b54 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/__init__.py @@ -0,0 +1,111 @@ +""" +pip._vendor is for vendoring dependencies of pip to prevent needing pip to +depend on something external. + +Files inside of pip._vendor should be considered immutable and should only be +updated to versions from upstream. +""" +from __future__ import absolute_import + +import glob +import os.path +import sys + +# Downstream redistributors which have debundled our dependencies should also +# patch this value to be true. This will trigger the additional patching +# to cause things like "six" to be available as pip. +DEBUNDLED = False + +# By default, look in this directory for a bunch of .whl files which we will +# add to the beginning of sys.path before attempting to import anything. This +# is done to support downstream re-distributors like Debian and Fedora who +# wish to create their own Wheels for our dependencies to aid in debundling. +WHEEL_DIR = os.path.abspath(os.path.dirname(__file__)) + + +# Define a small helper function to alias our vendored modules to the real ones +# if the vendored ones do not exist. This idea of this was taken from +# https://github.com/kennethreitz/requests/pull/2567. +def vendored(modulename): + vendored_name = "{0}.{1}".format(__name__, modulename) + + try: + __import__(vendored_name, globals(), locals(), level=0) + except ImportError: + try: + __import__(modulename, globals(), locals(), level=0) + except ImportError: + # We can just silently allow import failures to pass here. If we + # got to this point it means that ``import pip._vendor.whatever`` + # failed and so did ``import whatever``. Since we're importing this + # upfront in an attempt to alias imports, not erroring here will + # just mean we get a regular import error whenever pip *actually* + # tries to import one of these modules to use it, which actually + # gives us a better error message than we would have otherwise + # gotten. + pass + else: + sys.modules[vendored_name] = sys.modules[modulename] + base, head = vendored_name.rsplit(".", 1) + setattr(sys.modules[base], head, sys.modules[modulename]) + + +# If we're operating in a debundled setup, then we want to go ahead and trigger +# the aliasing of our vendored libraries as well as looking for wheels to add +# to our sys.path. This will cause all of this code to be a no-op typically +# however downstream redistributors can enable it in a consistent way across +# all platforms. +if DEBUNDLED: + # Actually look inside of WHEEL_DIR to find .whl files and add them to the + # front of our sys.path. + sys.path[:] = glob.glob(os.path.join(WHEEL_DIR, "*.whl")) + sys.path + + # Actually alias all of our vendored dependencies. + vendored("cachecontrol") + vendored("colorama") + vendored("distlib") + vendored("distro") + vendored("html5lib") + vendored("lockfile") + vendored("six") + vendored("six.moves") + vendored("six.moves.urllib") + vendored("six.moves.urllib.parse") + vendored("packaging") + vendored("packaging.version") + vendored("packaging.specifiers") + vendored("pep517") + vendored("pkg_resources") + vendored("progress") + vendored("pytoml") + vendored("retrying") + vendored("requests") + vendored("requests.packages") + vendored("requests.packages.urllib3") + vendored("requests.packages.urllib3._collections") + vendored("requests.packages.urllib3.connection") + vendored("requests.packages.urllib3.connectionpool") + vendored("requests.packages.urllib3.contrib") + vendored("requests.packages.urllib3.contrib.ntlmpool") + vendored("requests.packages.urllib3.contrib.pyopenssl") + vendored("requests.packages.urllib3.exceptions") + vendored("requests.packages.urllib3.fields") + vendored("requests.packages.urllib3.filepost") + vendored("requests.packages.urllib3.packages") + vendored("requests.packages.urllib3.packages.ordered_dict") + vendored("requests.packages.urllib3.packages.six") + vendored("requests.packages.urllib3.packages.ssl_match_hostname") + vendored("requests.packages.urllib3.packages.ssl_match_hostname." + "_implementation") + vendored("requests.packages.urllib3.poolmanager") + vendored("requests.packages.urllib3.request") + vendored("requests.packages.urllib3.response") + vendored("requests.packages.urllib3.util") + vendored("requests.packages.urllib3.util.connection") + vendored("requests.packages.urllib3.util.request") + vendored("requests.packages.urllib3.util.response") + vendored("requests.packages.urllib3.util.retry") + vendored("requests.packages.urllib3.util.ssl_") + vendored("requests.packages.urllib3.util.timeout") + vendored("requests.packages.urllib3.util.url") + vendored("urllib3") diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5ab544fefece4411bee75dcacfe813ac2ea730f1 GIT binary patch literal 2905 zcmbuB-*4SC6vyo(_vhNJ+sd{A8`<x5qq!?xH-RREpdCz_stE)e(WH>Z?!CEn;$S=7 zZr1X0;Sq_yfG1uM|53ynPvc>K055QyxMgDWc7hwlAIJXY#P&HpzDv{7UHt6NN533H z=r{Dj&w=^}aLeZyA%c8FFtHd;EZ@SqZZq4rD>{CoV$*LD$8XWbus!TlWtScr<1zN9 zNP{%LMgBBx{eZ>q)E?SZ|6w{sT4QUBX>-^<iF8S9Vt;4dMs%9A#~5pN47-M4vud9* zoHjgcc*JnV@TlQ2!{dgthOZf(Fg$5^%5cu`b;CCd-!wdJc*gK8L)Y-E;W@+eh8GMk z8eTHIY<R_R-tem7HN&?J7Yseap5b-FMZ<Rtmke(hE*sv|B=%=${#Nm8H;Xeb*rF-n z!i}Z70jQtiwC@s{K@Ux%m`ay#xFB{FcQZjjqui8IqGfe+w^qA6btO-z8t5+iL{X83 z%<FdV#0;#&sf-CV#`eA}2RvuQU8iouD}kWIjgur-;X0#km=f1Wc*;hg>*g5=6^LLs zTU5vxUUN4DPux6{O3*Ozy3cf&&*Sn)xGp)%6%FDf<3g?7i6GXipN{_HaDN21{0Rzz zhe+XVG`4o|=#;Xyv9iZVIb%dDVt?;o^Z=!WgH&U)D}KaCUzHC1i*DBFzN&R!qV&Co zNHvG8Z8TRC-$vUQc7sD2W9yN%W9`_gQz@)Dv~BNd$2Larw)GHpDEO_pR<xd8-|?O< z?g%{-m}7&1OIV4$XH`SDY=S3~P?hZ<NW+8%LD>z={Gs0JGrk@&SvDDuG!NaamS$B5 zE=pUDWZ6nM$-!e~Q^<_Ps%%NBLZ!sK<9F*mZP=f#!-bOSJEgN8N?JMt8j_!pfNX>Q z_@+02c<3c@Kd0=*^3C4;Q8Wlea$oQvjg*9EHQ?zN_t!oKmp%?hJutb|WAS<~t9q8a zn>`sTx{!s@X4t2)2NAch_^x-|TUy9Q(CyKFUpMwlDEDBlX{>_4%SL5;cZ8?4mrp=} z@RViYQ}{5h%1+ao!82IQLQm1S>OCGXe<}*20flH(f-}DzamGcMgno;}Qo+z52|`71 zzdcY1Th=XYSj)`~h;mrK_({=$!b|uTmBq|n)yo9~ZE@nCEnXH1Sh!9-Mc6vU(Y>l? zBD|RWyGdp=iZ@~ieZQH}Y<clkIh}3x13@LvMMS0F&IIqnqZW)5Phb{;Dlr1vy7qNW zrIN+b-5Ly_Ufg2tr6x1#rQ*`QU0wi7#K4_;Cl(j>*TIsewXC@EDyocgR-B!vR03A? z>VXn3RScpW%w0QJn~gZ+J}KFxxzHyO&FUGu`<nzWF(Qj|lN5|*T&hW$J@@qXx3jD9 zxF8f#Xh7mfO>)}a3p!wzU%@aeNC0Ui8UzCvuTB8P>VJC8)5(a@1kRCAuV8U;f*J5x z5~i^8#iU3u1|}^cY=;culNM+8|5~nMR?JWC_g;wN3421D@^*)H`2dr9W1Fyfj6vAN z#rXrwX-`dZePv3;3FZ03xT|!Kwft6{x|ZgTl&v5jJgU!>ja=md&KF@p_VgWnu#_z> zA)Tl}X>lp0bbDuI^~2BCR_?8?lup&tf<w8kkQn|TBvhYNI(Y_x-+A!K>gv5<<?g3d zN-mutkJIWbd7;q9cG<pNpG5Ds;7MjsIFQ=g7_NrXoNcyGH|+~{^{m_e&sAG}$--YF C>V<*; literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/__pycache__/appdirs.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/__pycache__/appdirs.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..821f65f6afe7ce05ab913388f680e747f92c04f3 GIT binary patch literal 20684 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 CS~5ET literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/__pycache__/distro.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/__pycache__/distro.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..82487b2aab78fe396c197f13b2ebc9feca3feb1d GIT binary patch literal 36200 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 J#m7tO{|h*VXbAuS literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/__pycache__/pyparsing.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/__pycache__/pyparsing.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..124a7f3ae22795d549d2ee3e046706415d6aaed3 GIT binary patch literal 221331 zcmd3P34C4GS?AmJ^t9NPZFz~4+{lY0N0Qe#i6Xo49yhjZVrQum_vuOJN`BJQd-A<c zwxm3@Y2-Fe+q5BtPN9WD=>lyjWq_fy%ut}fPzp>Lrob(fOj!e^EM+N~fzJQ`ox46s zagz2oGqT^k_uPB-^PTT}=iAP{mX=)ng>OCfwVzGK{v;OqdoP~v#n1j|ODv{hLopQ} zimSv>LM4ZiDy7n;)KCidOesB;8ES~f<Xv_sEBD5sM!DyPa&m7PYLa{NP_x`yhFav_ zI@BunRYR-fzItdi?hU0iQ)`CS#A9;|WlL>SYlqgxV-Ls5Mk;2mo6K218jtZGzBc0P zdVYOftekj6r^uDsr#1|2h@^1*6uHty{nbse1-UepHcf3F+AKLX<N2ncn<RCgF7Mg6 zwZl)}RB8#uZP9T<rMKYwmZ6&^{SiO?yiPAIYAM~~$Jp%0sJbPjhi=xnh4O4It)9Ad z=vK*do1fy7I>pJDTBTNBi>cL%iJ@C{Dz!$nskLgITCdvG2DMRbQk&IHYKyvA-J)() zhPq94sI6+7+OBq}PSvHl)lPN0>QTL_Pwi5>)gHB1?Nj^J9qNF(Q{AQRR{iQ8HJ}cv zL+Ul^UUgU<QAgD=bzGfLC)IuGlzOeYU!7KG)Sx=6&Z+NG52*9%f_hLrq#jm}sMo0> z^{9GGT~x1Ec{QvGYDA4HrA#%Z#?>WNR1<1amDH3ftBRUdmzAY#RaG<Uin^+1)ts7F zkE@zm7@rz4%-hVyiH^m%N~<@#Ik71=wAI|IQk!Dx4U>tXZRWOT6V{(2#`d8dX6I0s z**&xq_uKL7F?-EEbC<c>+=D#!n)}TC<{jpN@us0W%Ogl}7gF3k)UV#Cp12kp>KTs> z-3jPOm+l$5XZDDC)5O4H>{#sLfuVzQ>&!bR4w<hp?=cT9CKlr|G91f$Cv(pxt$X#z zJe$1Qs>kEm<mJ|fW9DJ?q*}ZdGyB!G#rUz<Vtg?^bVR*by#=KmHB%GE@H@UCHgrNg zHFVNEsjlPsKJ$cm68BSPw|W}!U#s3aald+-<dd2>?dEa@Q1Euu4Jha~2N#n=XAyoz z-H!0>=2?W#A^Z;2i*T=mzYF1as$B^0GQSJoA3*q7wHM*NlKwox->sfQ_&M_ezCVcY zyHp>-eG-1iylLWL^C7leeUCbU`ahz+S3QjT>(sl|1>A?!e^Bqi{ZaLO>icnjOubjV z5BH1e2h{6vfBmy@z|H&B4_%87<&pajtKG<bx8y#I@CVdg2;XH6qx1s8KcY4wywNNm zJc95C)mDVJN_Z6E4=Dp-L&5;7A=6amaDEJ5KCEuWmz(9wIKm%MYY|>+D&%wt;U86P z2)CKz2p19lF*S$qoW!3%_@n9`gzu5?B*Gt4uR-`V<|N{m5dOH@hwwi6K85g)t33$s zk#HH|PpEYWuaj^E;h#|b2=_~P8sSf>pG5d4C43p-|EO+4_$Ko*^0yHFDRnEtw@TPX z_@~t^2;U;%D#Aab4j_C$!ZQf}Cv^wHcS!gO!au7HB79K7R}ub{8bEkJ!m|kfoa#Zi zM|ye=;ZLhI2(K~cQ2so^pHW>1cS-nhgnwRjAlxD08p8isZ9sT~gclJ0FKQ>kJ0-t2 zAp8qz6T+L!Hz2<^BK%o(8^X6q_z8r6QEfwbn}pwl@Gq%fM);Q{{3ODkQ`-^VZa#_h ziwOUUI)v~c3136_SJkf}{A&U^Z#Lh&7#n&E-u_qBiMO4S%Toydy4sKMehFVk`15Kr z!kZ=hG{V23zJTx-%%@SxTM_<EbvMFy%lEe-{99^0!t2eq;rrVW{%y4d;Vlw=2I2pv z+7WJ-@H-IxqPi2|J0<*1gnvivKzN7L@>%uYRRwe4yD<k&sV}KBm;=w@`L*iz)G0i_ zOZ~q31APA;<*3JS|6cWF^(gM|R)47e2>1Vhxc93+R>O$<9`(E$#JlgqyVL4_sw&=n zzxt}0!MpdWKT%h4f1f$B7@PP3bq@IB2Tfa^F?WaFZ&u~`K|KGEIU~<yJpZtHMV_bd z`~h>)e69LZ^@Hlqo=Hypi28H&7uSHfhCXOcslQx|<IM~1n-Ag5U&))lcHey1{Gj=v zBQf*C_*K-`)HURhI1(HBi20295%ZnuZx-VlV&+FSFuxx)mHPT(+<Z#?E%Nv=^>^~^ z8FSJ6QS&251Xtqi-}9~d2jIhxs&A+g+V(N^k7@|_kE?%DMcjW}{j(a!{S)e6)I9D# zVg7{rrdyv+;`v|Q=buzBs{e)W|55#K^$6}irT$I54)>o{|E?_De+DBJGk+%kpU|&o z)VI_u`t@hcTLE34k}sdi|D1dOwE0fNK@H^&oIaL7IH9f}#b?aV4E?<Mc5@1El8bR% zQ*7<T58x?{R{v-BTSmS$_}{Yl_FwALNiKd&_KD=vh`7IixF+(<p%%X|kzI`WIW^(y zXYnP5AIj8U$5IG2tBa`NFXCwszZPX9^h@T)@Z5?tzbsFy@bo$JrvL*d%v1QX8u=!q z)HPha9!m`U%FwTxzh?edd~4(Si2GWuh(o_FwOxns`ic9^U!VB=BI>(=-`oAVZ9u%= zz?+Tg5_<d#ZhJRLUu^bc-Go@bDY<QNTYNL#{Fc1A1#f<vu!>x6#oPZTZw)uzZFuv= z`drN~`aK64V(53w-x>Pvl4`4)Y8&4EE>bO`)o0Z2BIoVTB+RGGNj&X9|0?yni}6+H zVa^`j*)I0R#Q$(>(uo|tWIl&9G8X2Sj>Obkk-F;{^bF?VNqqmklkAIb^*FG?<DlGr zU&1@_4y!h=f+_w$-u9>k#9ELyj=bqrHN2^r4zSUe%`Z><;lv+Jd`0emJn<FOjBlRz zp7LJ-P1J0CkNH2%FC*tZeEsTTG9GioyAb}9P<S`Oe;Nw!LHN%?;k^j|c__RO;Xm}k z6Mu*j_VdleA4T5XA@81#ygMN8{@8nmly~CIUxdPUA^ex2@ZAW%AmP74?EcBbvn|$# z%}aQ`2Yve2@-%>_ulW#r5Mz@V`WuYK-yqf@^%Y!SLri9V67jwcO!S-yyyK4jy?FPx zh;i8bTi~g`TOrloODf<ZH`NiO`Umr`k?ttq<L_`sJ{X0s;r9;+;X5$aH_UHL{3Alg zNHv+iKk-izI_`%4ITHF837ru7iWKNKhrWpv-$bo{!u;mMzp`Y><C_xiq{K^~k9D1m z$6|#y=VGzk^xSm8vWw+$W2&NNN~Y0k94!@W+q8{BSs7Di^-@LIMzvxnbF5f4<*hku zj?Pp~!%I4D6{e<;P43`#@-LUWa0zA9SFp&M8HG~Sw918Q@d~OmJ#AGAqnB9AQOm?j zGzYcM>3T9`7pJDtIIp5T#udBIs3QBSRZzuhu~IISjFLIKYpyUl>Sx$vR4m5I&Df?< z88a+%e5O>e40CqcGHn~Fkc;tfv3e<}W{)vfnK4wQ+*vispe|Xdl3B3IxdOsh4STL! zEzBBY$XR-nwezaQ;-(7K(Mx<8Dg=YVy1Lz+b4Ln|zEV^iD5F#yu?p54>p1F;UiDI; zDpg_K*)gbW)tVWtN`u@I4OO(v(Q0YVD3*<La~SJ#UoLl_X_*GQ*+3DD$@DDTG&=4x zOQlMW@o>c|soOe?F4VYCo<j>vQ@R~BU{%q)sod~z$ADcZ%~UZWmGYq;W1yfEJI*u@ z-PSQY+}&f0%oIyiV`kcz5g6>3+V>A5do|pX^Ma>~80<o6xJRJRdwaO7h7Gf1PMPJZ zo$F$;-lxvnI|t6O!q##9y)U0f+4=mTVWTpQys8z;*02&J()k5L+mquAV7BNuj0ide z{Zg2zR(jEyS4^v_N7pOVt7UlPy8HWcIRk%VR%ObVE>8F5ub9}oT73ar12ijEm0haP zz|!=kg00hR_2!&6TIk$@-_??>^t*9T5_jpe-Nx-kM^6W?%rX4(who=|C5|By)eWX( zIE|K8jV_7OV|4T$>gdrW_6Y!-m!8m{ySv>P>H<k+raC=S1+I|sM-f-iX<qvyaAWiy zG9K-eSDigZXAds|QGB?q^P<jI!y_ggCmY6Cpok#O0=zB(m|mU%cpzFq6-G)X<}Ax4 z$Rb|OHcMl@m`bGrkVOSkL?Fy47p6>GgA;Re=QqFx6{vLzn03CsGk_J$iVKM64Yk15 z1ExJws@j04kqJy9)Sx<Jl>rkRYae!_U>NGeVPh0{Y{bj~<8V$WqrfRwHf_RHsc2VG zKTOb3!A{nkAS0x3OS?*}!)B;lp^8x%0YbLjY6h_7qKZp^<PtE2U6~R@#x`Saqr0X! zUceLt?dsfgakNk>&E>9`v+TpGm&~$p)dGHGhnllhjRh=QfVvle4)iHVs|ai;2{07) zbYavqWIh%~D!|Vk7P(q1l>p#&#nAN;fOCORhW|DIn+_XB4-hMnjA8JtSsm@`M*Lok zc7^@pPDy!XPK|)t!pqUhltu=*+)1-4wLV`h$UN=M_16F89xB>JL5DuljEt{`JBA}z zCpz@i3Lp$UhyENX06#{s?^MOE8WnuAg5@FS#VD5X9>o(_`iuvOq>+iLjC#n1D}*^) z;JRfK>MvEU0;t*Zy&+^?(x_1{8)3|&F^<<DA2$II*zMl?qo_3UxBc&K^`eE0UMg6H zQQ%<XDo{%AxK#nh4zEudd$R#v#uz&_%#tKSX2*WgZSW8;W;PZLS;CiQ=4CWwT9vcb znTlmfc0|eEr?X|#{o?gI%i&!1VsITeTvms$a`>-modajM#-1ozb~W<l^_>G}Excj1 z!{v1D=o~l>`XaJ;$dWoWLXyZOF2Zd960I<sDb$-_i9wt-Dwx}>A;_!BXt4mKC1}Wy zsSK(CV8S&^0h0)3(TieuxT46!HmfcU8U!9d_w*Vd(J(hS%YnhC$7V{QVKVGXSZ8`c zx!FK3lR+;jvs9b{9I4YlI!k&PwLUu*WG*d2A2V;xw@NuwgiSgk3<f?X%Imn2yR=%6 zga(fJ^xnRGeS7BD@4nl3Eil~P-Fxmf_U`N7d%$?`!qNGi=L#t6%;?D(5G%&ObaiTU z{9e?+viodw+Ng<{GH&*j&FY~SD4Q7Ujyp-q9K$WE(96~0l!@o2F_0RjH3kI4U~@4V zPCszEGCIjLr$}r7HR8GT42Tyzo&kvo{Kj0)S_<TmItILq;HvXNShD{G?TxYm-XDl; zEgfmbgBgQlBnHVy{CuoCVS)BWMUzf8pJ#XE^G+_G*Vr1*&H4Q0nL<f_`LUSQir8{_ z@r}DKVRUy*6~|}H(*8RR>^e8c**SI2s&Emq5hfM)(7C~rX!_N{+%C`?S9XCw+%+v< z_Vpdu1+-`OVgM!!<EFg}R7vliyZd(c?dzSM!{<J8e4H<Lxugmb5-!nx5G_*iXHgwH zflD?fVJC@6=B)CN$^GUW@kH>##V$_nD5`1?R;s7UPQ%fP%pNDju5?nIU{3n@)O2;u z$(^W>d@$9KIj7-7#kyKRZn=|{3zegl(#%xZNuMMNavHpn8ct !DJ-`5-vo!8@TE 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/__pycache__/retrying.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/__pycache__/retrying.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6ef023df834439c8f4dbe4035ae93827239cd01b GIT binary patch literal 8117 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 DhD@X% literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/__pycache__/six.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/__pycache__/six.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cf5514e99716385ccc97af6e12630db6205b7b2e GIT binary patch literal 26535 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/appdirs.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/appdirs.py new file mode 100644 index 0000000..2bd3911 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/appdirs.py @@ -0,0 +1,604 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# Copyright (c) 2005-2010 ActiveState Software Inc. +# Copyright (c) 2013 Eddy Petrișor + +"""Utilities for determining application-specific dirs. + +See <http://github.com/ActiveState/appdirs> for details and usage. +""" +# Dev Notes: +# - MSDN on where to store app data files: +# http://support.microsoft.com/default.aspx?scid=kb;en-us;310294#XSLTH3194121123120121120120 +# - Mac OS X: http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/index.html +# - XDG spec for Un*x: http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html + +__version_info__ = (1, 4, 3) +__version__ = '.'.join(map(str, __version_info__)) + + +import sys +import os + +PY3 = sys.version_info[0] == 3 + +if PY3: + unicode = str + +if sys.platform.startswith('java'): + import platform + os_name = platform.java_ver()[3][0] + if os_name.startswith('Windows'): # "Windows XP", "Windows 7", etc. + system = 'win32' + elif os_name.startswith('Mac'): # "Mac OS X", etc. + system = 'darwin' + else: # "Linux", "SunOS", "FreeBSD", etc. + # Setting this to "linux2" is not ideal, but only Windows or Mac + # are actually checked for and the rest of the module expects + # *sys.platform* style strings. + system = 'linux2' +else: + system = sys.platform + + + +def user_data_dir(appname=None, appauthor=None, version=None, roaming=False): + r"""Return full path to the user-specific data dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "appauthor" (only used on Windows) is the name of the + appauthor or distributing body for this application. Typically + it is the owning company name. This falls back to appname. You may + pass False to disable it. + "version" is an optional version path element to append to the + path. You might want to use this if you want multiple versions + of your app to be able to run independently. If used, this + would typically be "<major>.<minor>". + Only applied when appname is present. + "roaming" (boolean, default False) can be set True to use the Windows + roaming appdata directory. That means that for users on a Windows + network setup for roaming profiles, this user data will be + sync'd on login. See + <http://technet.microsoft.com/en-us/library/cc766489(WS.10).aspx> + for a discussion of issues. + + Typical user data directories are: + Mac OS X: ~/Library/Application Support/<AppName> + Unix: ~/.local/share/<AppName> # or in $XDG_DATA_HOME, if defined + Win XP (not roaming): C:\Documents and Settings\<username>\Application Data\<AppAuthor>\<AppName> + Win XP (roaming): C:\Documents and Settings\<username>\Local Settings\Application Data\<AppAuthor>\<AppName> + Win 7 (not roaming): C:\Users\<username>\AppData\Local\<AppAuthor>\<AppName> + Win 7 (roaming): C:\Users\<username>\AppData\Roaming\<AppAuthor>\<AppName> + + For Unix, we follow the XDG spec and support $XDG_DATA_HOME. + That means, by default "~/.local/share/<AppName>". + """ + if system == "win32": + if appauthor is None: + appauthor = appname + const = roaming and "CSIDL_APPDATA" or "CSIDL_LOCAL_APPDATA" + path = os.path.normpath(_get_win_folder(const)) + if appname: + if appauthor is not False: + path = os.path.join(path, appauthor, appname) + else: + path = os.path.join(path, appname) + elif system == 'darwin': + path = os.path.expanduser('~/Library/Application Support/') + if appname: + path = os.path.join(path, appname) + else: + path = os.getenv('XDG_DATA_HOME', os.path.expanduser("~/.local/share")) + if appname: + path = os.path.join(path, appname) + if appname and version: + path = os.path.join(path, version) + return path + + +def site_data_dir(appname=None, appauthor=None, version=None, multipath=False): + r"""Return full path to the user-shared data dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "appauthor" (only used on Windows) is the name of the + appauthor or distributing body for this application. Typically + it is the owning company name. This falls back to appname. You may + pass False to disable it. + "version" is an optional version path element to append to the + path. You might want to use this if you want multiple versions + of your app to be able to run independently. If used, this + would typically be "<major>.<minor>". + Only applied when appname is present. + "multipath" is an optional parameter only applicable to *nix + which indicates that the entire list of data dirs should be + returned. By default, the first item from XDG_DATA_DIRS is + returned, or '/usr/local/share/<AppName>', + if XDG_DATA_DIRS is not set + + Typical site data directories are: + Mac OS X: /Library/Application Support/<AppName> + Unix: /usr/local/share/<AppName> or /usr/share/<AppName> + Win XP: C:\Documents and Settings\All Users\Application Data\<AppAuthor>\<AppName> + Vista: (Fail! "C:\ProgramData" is a hidden *system* directory on Vista.) + Win 7: C:\ProgramData\<AppAuthor>\<AppName> # Hidden, but writeable on Win 7. + + For Unix, this is using the $XDG_DATA_DIRS[0] default. + + WARNING: Do not use this on Windows. See the Vista-Fail note above for why. + """ + if system == "win32": + if appauthor is None: + appauthor = appname + path = os.path.normpath(_get_win_folder("CSIDL_COMMON_APPDATA")) + if appname: + if appauthor is not False: + path = os.path.join(path, appauthor, appname) + else: + path = os.path.join(path, appname) + elif system == 'darwin': + path = os.path.expanduser('/Library/Application Support') + if appname: + path = os.path.join(path, appname) + else: + # XDG default for $XDG_DATA_DIRS + # only first, if multipath is False + path = os.getenv('XDG_DATA_DIRS', + os.pathsep.join(['/usr/local/share', '/usr/share'])) + pathlist = [os.path.expanduser(x.rstrip(os.sep)) for x in path.split(os.pathsep)] + if appname: + if version: + appname = os.path.join(appname, version) + pathlist = [os.sep.join([x, appname]) for x in pathlist] + + if multipath: + path = os.pathsep.join(pathlist) + else: + path = pathlist[0] + return path + + if appname and version: + path = os.path.join(path, version) + return path + + +def user_config_dir(appname=None, appauthor=None, version=None, roaming=False): + r"""Return full path to the user-specific config dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "appauthor" (only used on Windows) is the name of the + appauthor or distributing body for this application. Typically + it is the owning company name. This falls back to appname. You may + pass False to disable it. + "version" is an optional version path element to append to the + path. You might want to use this if you want multiple versions + of your app to be able to run independently. If used, this + would typically be "<major>.<minor>". + Only applied when appname is present. + "roaming" (boolean, default False) can be set True to use the Windows + roaming appdata directory. That means that for users on a Windows + network setup for roaming profiles, this user data will be + sync'd on login. See + <http://technet.microsoft.com/en-us/library/cc766489(WS.10).aspx> + for a discussion of issues. + + Typical user config directories are: + Mac OS X: same as user_data_dir + Unix: ~/.config/<AppName> # or in $XDG_CONFIG_HOME, if defined + Win *: same as user_data_dir + + For Unix, we follow the XDG spec and support $XDG_CONFIG_HOME. + That means, by default "~/.config/<AppName>". + """ + if system in ["win32", "darwin"]: + path = user_data_dir(appname, appauthor, None, roaming) + else: + path = os.getenv('XDG_CONFIG_HOME', os.path.expanduser("~/.config")) + if appname: + path = os.path.join(path, appname) + if appname and version: + path = os.path.join(path, version) + return path + + +def site_config_dir(appname=None, appauthor=None, version=None, multipath=False): + r"""Return full path to the user-shared data dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "appauthor" (only used on Windows) is the name of the + appauthor or distributing body for this application. Typically + it is the owning company name. This falls back to appname. You may + pass False to disable it. + "version" is an optional version path element to append to the + path. You might want to use this if you want multiple versions + of your app to be able to run independently. If used, this + would typically be "<major>.<minor>". + Only applied when appname is present. + "multipath" is an optional parameter only applicable to *nix + which indicates that the entire list of config dirs should be + returned. By default, the first item from XDG_CONFIG_DIRS is + returned, or '/etc/xdg/<AppName>', if XDG_CONFIG_DIRS is not set + + Typical site config directories are: + Mac OS X: same as site_data_dir + Unix: /etc/xdg/<AppName> or $XDG_CONFIG_DIRS[i]/<AppName> for each value in + $XDG_CONFIG_DIRS + Win *: same as site_data_dir + Vista: (Fail! "C:\ProgramData" is a hidden *system* directory on Vista.) + + For Unix, this is using the $XDG_CONFIG_DIRS[0] default, if multipath=False + + WARNING: Do not use this on Windows. See the Vista-Fail note above for why. + """ + if system in ["win32", "darwin"]: + path = site_data_dir(appname, appauthor) + if appname and version: + path = os.path.join(path, version) + else: + # XDG default for $XDG_CONFIG_DIRS + # only first, if multipath is False + path = os.getenv('XDG_CONFIG_DIRS', '/etc/xdg') + pathlist = [os.path.expanduser(x.rstrip(os.sep)) for x in path.split(os.pathsep)] + if appname: + if version: + appname = os.path.join(appname, version) + pathlist = [os.sep.join([x, appname]) for x in pathlist] + + if multipath: + path = os.pathsep.join(pathlist) + else: + path = pathlist[0] + return path + + +def user_cache_dir(appname=None, appauthor=None, version=None, opinion=True): + r"""Return full path to the user-specific cache dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "appauthor" (only used on Windows) is the name of the + appauthor or distributing body for this application. Typically + it is the owning company name. This falls back to appname. You may + pass False to disable it. + "version" is an optional version path element to append to the + path. You might want to use this if you want multiple versions + of your app to be able to run independently. If used, this + would typically be "<major>.<minor>". + Only applied when appname is present. + "opinion" (boolean) can be False to disable the appending of + "Cache" to the base app data dir for Windows. See + discussion below. + + Typical user cache directories are: + Mac OS X: ~/Library/Caches/<AppName> + Unix: ~/.cache/<AppName> (XDG default) + Win XP: C:\Documents and Settings\<username>\Local Settings\Application Data\<AppAuthor>\<AppName>\Cache + Vista: C:\Users\<username>\AppData\Local\<AppAuthor>\<AppName>\Cache + + On Windows the only suggestion in the MSDN docs is that local settings go in + the `CSIDL_LOCAL_APPDATA` directory. This is identical to the non-roaming + app data dir (the default returned by `user_data_dir` above). Apps typically + put cache data somewhere *under* the given dir here. Some examples: + ...\Mozilla\Firefox\Profiles\<ProfileName>\Cache + ...\Acme\SuperApp\Cache\1.0 + OPINION: This function appends "Cache" to the `CSIDL_LOCAL_APPDATA` value. + This can be disabled with the `opinion=False` option. + """ + if system == "win32": + if appauthor is None: + appauthor = appname + path = os.path.normpath(_get_win_folder("CSIDL_LOCAL_APPDATA")) + if appname: + if appauthor is not False: + path = os.path.join(path, appauthor, appname) + else: + path = os.path.join(path, appname) + if opinion: + path = os.path.join(path, "Cache") + elif system == 'darwin': + path = os.path.expanduser('~/Library/Caches') + if appname: + path = os.path.join(path, appname) + else: + path = os.getenv('XDG_CACHE_HOME', os.path.expanduser('~/.cache')) + if appname: + path = os.path.join(path, appname) + if appname and version: + path = os.path.join(path, version) + return path + + +def user_state_dir(appname=None, appauthor=None, version=None, roaming=False): + r"""Return full path to the user-specific state dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "appauthor" (only used on Windows) is the name of the + appauthor or distributing body for this application. Typically + it is the owning company name. This falls back to appname. You may + pass False to disable it. + "version" is an optional version path element to append to the + path. You might want to use this if you want multiple versions + of your app to be able to run independently. If used, this + would typically be "<major>.<minor>". + Only applied when appname is present. + "roaming" (boolean, default False) can be set True to use the Windows + roaming appdata directory. That means that for users on a Windows + network setup for roaming profiles, this user data will be + sync'd on login. See + <http://technet.microsoft.com/en-us/library/cc766489(WS.10).aspx> + for a discussion of issues. + + Typical user state directories are: + Mac OS X: same as user_data_dir + Unix: ~/.local/state/<AppName> # or in $XDG_STATE_HOME, if defined + Win *: same as user_data_dir + + For Unix, we follow this Debian proposal <https://wiki.debian.org/XDGBaseDirectorySpecification#state> + to extend the XDG spec and support $XDG_STATE_HOME. + + That means, by default "~/.local/state/<AppName>". + """ + if system in ["win32", "darwin"]: + path = user_data_dir(appname, appauthor, None, roaming) + else: + path = os.getenv('XDG_STATE_HOME', os.path.expanduser("~/.local/state")) + if appname: + path = os.path.join(path, appname) + if appname and version: + path = os.path.join(path, version) + return path + + +def user_log_dir(appname=None, appauthor=None, version=None, opinion=True): + r"""Return full path to the user-specific log dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "appauthor" (only used on Windows) is the name of the + appauthor or distributing body for this application. Typically + it is the owning company name. This falls back to appname. You may + pass False to disable it. + "version" is an optional version path element to append to the + path. You might want to use this if you want multiple versions + of your app to be able to run independently. If used, this + would typically be "<major>.<minor>". + Only applied when appname is present. + "opinion" (boolean) can be False to disable the appending of + "Logs" to the base app data dir for Windows, and "log" to the + base cache dir for Unix. See discussion below. + + Typical user log directories are: + Mac OS X: ~/Library/Logs/<AppName> + Unix: ~/.cache/<AppName>/log # or under $XDG_CACHE_HOME if defined + Win XP: C:\Documents and Settings\<username>\Local Settings\Application Data\<AppAuthor>\<AppName>\Logs + Vista: C:\Users\<username>\AppData\Local\<AppAuthor>\<AppName>\Logs + + On Windows the only suggestion in the MSDN docs is that local settings + go in the `CSIDL_LOCAL_APPDATA` directory. (Note: I'm interested in + examples of what some windows apps use for a logs dir.) + + OPINION: This function appends "Logs" to the `CSIDL_LOCAL_APPDATA` + value for Windows and appends "log" to the user cache dir for Unix. + This can be disabled with the `opinion=False` option. + """ + if system == "darwin": + path = os.path.join( + os.path.expanduser('~/Library/Logs'), + appname) + elif system == "win32": + path = user_data_dir(appname, appauthor, version) + version = False + if opinion: + path = os.path.join(path, "Logs") + else: + path = user_cache_dir(appname, appauthor, version) + version = False + if opinion: + path = os.path.join(path, "log") + if appname and version: + path = os.path.join(path, version) + return path + + +class AppDirs(object): + """Convenience wrapper for getting application dirs.""" + def __init__(self, appname=None, appauthor=None, version=None, + roaming=False, multipath=False): + self.appname = appname + self.appauthor = appauthor + self.version = version + self.roaming = roaming + self.multipath = multipath + + @property + def user_data_dir(self): + return user_data_dir(self.appname, self.appauthor, + version=self.version, roaming=self.roaming) + + @property + def site_data_dir(self): + return site_data_dir(self.appname, self.appauthor, + version=self.version, multipath=self.multipath) + + @property + def user_config_dir(self): + return user_config_dir(self.appname, self.appauthor, + version=self.version, roaming=self.roaming) + + @property + def site_config_dir(self): + return site_config_dir(self.appname, self.appauthor, + version=self.version, multipath=self.multipath) + + @property + def user_cache_dir(self): + return user_cache_dir(self.appname, self.appauthor, + version=self.version) + + @property + def user_state_dir(self): + return user_state_dir(self.appname, self.appauthor, + version=self.version) + + @property + def user_log_dir(self): + return user_log_dir(self.appname, self.appauthor, + version=self.version) + + +#---- internal support stuff + +def _get_win_folder_from_registry(csidl_name): + """This is a fallback technique at best. I'm not sure if using the + registry for this guarantees us the correct answer for all CSIDL_* + names. + """ + if PY3: + import winreg as _winreg + else: + import _winreg + + shell_folder_name = { + "CSIDL_APPDATA": "AppData", + "CSIDL_COMMON_APPDATA": "Common AppData", + "CSIDL_LOCAL_APPDATA": "Local AppData", + }[csidl_name] + + key = _winreg.OpenKey( + _winreg.HKEY_CURRENT_USER, + r"Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" + ) + dir, type = _winreg.QueryValueEx(key, shell_folder_name) + return dir + + +def _get_win_folder_with_pywin32(csidl_name): + from win32com.shell import shellcon, shell + dir = shell.SHGetFolderPath(0, getattr(shellcon, csidl_name), 0, 0) + # Try to make this a unicode path because SHGetFolderPath does + # not return unicode strings when there is unicode data in the + # path. + try: + dir = unicode(dir) + + # Downgrade to short path name if have highbit chars. See + # <http://bugs.activestate.com/show_bug.cgi?id=85099>. + has_high_char = False + for c in dir: + if ord(c) > 255: + has_high_char = True + break + if has_high_char: + try: + import win32api + dir = win32api.GetShortPathName(dir) + except ImportError: + pass + except UnicodeError: + pass + return dir + + +def _get_win_folder_with_ctypes(csidl_name): + import ctypes + + csidl_const = { + "CSIDL_APPDATA": 26, + "CSIDL_COMMON_APPDATA": 35, + "CSIDL_LOCAL_APPDATA": 28, + }[csidl_name] + + buf = ctypes.create_unicode_buffer(1024) + ctypes.windll.shell32.SHGetFolderPathW(None, csidl_const, None, 0, buf) + + # Downgrade to short path name if have highbit chars. See + # <http://bugs.activestate.com/show_bug.cgi?id=85099>. + has_high_char = False + for c in buf: + if ord(c) > 255: + has_high_char = True + break + if has_high_char: + buf2 = ctypes.create_unicode_buffer(1024) + if ctypes.windll.kernel32.GetShortPathNameW(buf.value, buf2, 1024): + buf = buf2 + + return buf.value + +def _get_win_folder_with_jna(csidl_name): + import array + from com.sun import jna + from com.sun.jna.platform import win32 + + buf_size = win32.WinDef.MAX_PATH * 2 + buf = array.zeros('c', buf_size) + shell = win32.Shell32.INSTANCE + shell.SHGetFolderPath(None, getattr(win32.ShlObj, csidl_name), None, win32.ShlObj.SHGFP_TYPE_CURRENT, buf) + dir = jna.Native.toString(buf.tostring()).rstrip("\0") + + # Downgrade to short path name if have highbit chars. See + # <http://bugs.activestate.com/show_bug.cgi?id=85099>. + has_high_char = False + for c in dir: + if ord(c) > 255: + has_high_char = True + break + if has_high_char: + buf = array.zeros('c', buf_size) + kernel = win32.Kernel32.INSTANCE + if kernel.GetShortPathName(dir, buf, buf_size): + dir = jna.Native.toString(buf.tostring()).rstrip("\0") + + return dir + +if system == "win32": + try: + from ctypes import windll + _get_win_folder = _get_win_folder_with_ctypes + except ImportError: + try: + import com.sun.jna + _get_win_folder = _get_win_folder_with_jna + except ImportError: + _get_win_folder = _get_win_folder_from_registry + + +#---- self test code + +if __name__ == "__main__": + appname = "MyApp" + appauthor = "MyCompany" + + props = ("user_data_dir", + "user_config_dir", + "user_cache_dir", + "user_state_dir", + "user_log_dir", + "site_data_dir", + "site_config_dir") + + print("-- app dirs %s --" % __version__) + + print("-- app dirs (with optional 'version')") + dirs = AppDirs(appname, appauthor, version="1.0") + for prop in props: + print("%s: %s" % (prop, getattr(dirs, prop))) + + print("\n-- app dirs (without optional 'version')") + dirs = AppDirs(appname, appauthor) + for prop in props: + print("%s: %s" % (prop, getattr(dirs, prop))) + + print("\n-- app dirs (without optional 'appauthor')") + dirs = AppDirs(appname) + for prop in props: + print("%s: %s" % (prop, getattr(dirs, prop))) + + print("\n-- app dirs (with disabled 'appauthor')") + dirs = AppDirs(appname, appauthor=False) + for prop in props: + print("%s: %s" % (prop, getattr(dirs, prop))) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__init__.py new file mode 100644 index 0000000..8fdee66 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__init__.py @@ -0,0 +1,11 @@ +"""CacheControl import Interface. + +Make it easy to import from cachecontrol without long namespaces. +""" +__author__ = "Eric Larson" +__email__ = "eric@ionrock.org" +__version__ = "0.12.5" + +from .wrapper import CacheControl +from .adapter import CacheControlAdapter +from .controller import CacheController diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7cbf4fcf3fe1d90b1bac0c78dc4f90d6dbf4b689 GIT binary patch literal 575 zcmYjN&1xGl5Z?9Q+G~dv`T~3P!BSE;p@mRVLMeqd7z#Zs1);1aYt{Ngl5N(n&?o6D z?X{=8LND#uO<^T8`o0;>%%@qNo#pA{pKl~hl3z(@^$_3S39r$Jq)bFwrlME&M8E8d zff%ZR9+ty2K|E3;ot4=MXKJh`<plBgOERAv?r(XuhFfc*x2llZSs#m!CW3$96_7mt z%r{WTSO5=A5$*pc58mpcI_6eSxqBJcb{h+2O<fqSAvmlMNPd{U_p&NJaUZNXJO?B< z(i(584Y9sHjLyl$OLF;$Urgp{JL@V!{-Vp@3GPrEx}SC33jEzXZ!^Y(tr%-_#`qTH zc*GONKy#@OP8r*Q57-<@w)fmQ@cuZ;Hsk*)`#!QVfBF>G^#gSLO#BqDlllFFuB`^D zWxWOU>hg-Nnrh9xUU~Z+su+-CYx8w=_kl;)^M>xg?5L9W)SV(raz%rTu)qOrcnyI% z=@u7n$T?XqT!Uc(b$xVF)N6$Gv^#0am^3mnMqJa5ueB9h1#gcs!wk(JJ?-8souz*P DaZs@* literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fdafb5856231debcc14fd834542182fc5f1c8cd3 GIT binary patch literal 3066 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__pycache__/cache.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__pycache__/cache.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2377aad8c070724a361642d50f86d3da7b193513 GIT binary patch literal 1791 zcma)7Uu)Dr5Z_I5xm@hoT1635@}R<jO_Zu2h*YbHAV>X!${~bpc6*mL$;M5ta^;?E zAAIZQ@GIrjr+x)rbY|20<00xEJK5dY%=~8NH<$Hx+odNzKi)72`A+7B1?vr%#a$4b z^a!WiNN8&G3`(98ZgT60a7&nnX3v6sgWIsTg$4TtZ@wWN=V04?I}l#PB9L->S45@v zc<Y6?Bb67Yc_LDgm2uXuZxp_Vx4GD1!=&`$!ed@JP=ax{U^~K#v$a&DQjI(wM`bKC zrbfPd0_aGGR@O@y?M1km3<DM$FpFCt1nE%-!oVPoNYAX{_pBN=0_F~!+q?z9-KzD3 z6=D-{M`#8IJ}Jyin1u_XB!}b+7=;&T7Z9B9%JRh|D#4#AB~{0$tU@F^mANNI--v3$ zdq2Jg1DT2-jr&89+`V@{*cwFxrqV4XF+~OJ%Yn?^ZFQfsQha8kU|(eWK@x8Vxz?=v z_k$uX#ahmyJ=PaRkjMGjod^DHe|;?<f!Y`SJ{|@kyvn5tbPXbzl}aY{#?MEU*%u{- zQs^M*L3<ju51PmX6%Ks<Ep&xk>6oek4`qX>8v8663LS1O96U7(QMO_62X~<P?@ZV3 zjG4PdKQ<SMD8<U0tCd+~wKBqhaNu(q90qb)QEjwCYcE*0xj-6GA`5XI4kw{3&+Kbm zx6`bgFw9sg!mx6~FqM3m;Cd+xKMh$@Yg7vjpFy#N0<$w0jdqKvQ&<9A6et|SG4ZEQ zBRH52ytV<e@Ig#D?{b5iM-*5Od<T|W+~!SqHn_uEn)MV&e5PtWg~rmX@BUT{WXC32 zy$AwnKPDj^)BJ3VD`V0EroxMrl|Uy}7H1{v)J5vG;w&yhY}>iuG$kNMS{GhM`<Q-0 z9eS`jMdD8`{DuhQ)QHZ)VoY|)F5uzh(5RcyP*@wC+*1gemJ80c{wiFY6tO+?x=4TQ z67BHjsl(%o6dluDV@$_JOb;m~?}0n7$ZPUp!XfC1RRn@)DtnkiPQ-klC^Wl>3fbVn zoMmGU*J7U_e>5)qlfy(DUjbYck?q;)+63Xh(V4l-|CTGH=XFGd{f#wp>A}h@Uv*RA zA7N8rP1G_9>_Bw^#RAV~{WPQaIk<NT<|)Np3n*?WJneSusu_k{M$kX4`kMfsjhb$D e{bA9)pl{FRb85VD9@Y)`2q~sxu;`Mxviu89)n29m literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__pycache__/compat.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__pycache__/compat.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1a691b2a6ef3854e2f57fd5db56815a4b2aba911 GIT binary patch literal 782 zcmZ`#&2G~`5Z<+uCQXwx;?zSAoR9*Fw<u5vsj9dj;1XF-@v}mT%z8-Nti8+brr<|F z;zf7@Zaj!jNJvP11uihQ)8Hau%d@ld{di`kgF%m8{(ke-Bjg8ZJa;gEh@bt5As@vg zrjn$TQ%YWv>}HFAx9XWAO3JrF{Th8uGVc}1`&jd2i?@+|xMA}x+mmhH-Y`pVU+$zG z-nr)edCT@?w?-R^mfTHyymw9UZL4U>y&Bypy3pqX?BoDD8DihxYbNaTLCuK0=VaWz z#97Ih7M-<`=PJo&nD?KYorTZ9YL!_i?}?qi({mw}g?KzF`pA{Z+dxOgg26SCV()3H zm2r=ZQKsl3USUN?go#*5D0Xyp@<1m#m|s8^D-#%azXt0p8i`f302|cCQ$*^Y8z0U2 zVN>)kh2L(X|F>MbM4DFF>p@d+Wmm$uge(y%hGN&jM>lu5#&i~?P|xLCXTA`#k0w?4 z^@%N23M@?)YmoQuAG0tQ%gCgmQRg6>#k*Uo>_s?x969(9<qRjkV7NP`D`XlRGn+V= zTy211Z<D(Zf}>zM(K*5aEEZ*vZI;GFB$gml=8Td|s8mNT(0S24Nmaa-a7wW|dkcd{ WM|4PU_#W-!Ic#t4-rsr`>wf?%KiNV6 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__pycache__/controller.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__pycache__/controller.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..74563c6408188a99f38dcabc2dbc5b5795c47d4d GIT binary patch literal 7723 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d5d36c03bd1494c24c544d0b36d60339c699d6f5 GIT binary patch literal 2179 zcmZuyUvDEd5VyUXWV=mE;o#^2I?O#?q-z2cPC`0R?~c0@FQrmX{E3h(XYDkbZnBHL zX__iLrO$j1zS6!T9{Lq{ff;X-{?R(}*y|aOf4}jJv%j?!(yRY|`)7lYzsZf}!~6ic z<scMMG$A9}rIfrOiYf1sC{MG6*Y%WtOj@-oup%v5G+xYdZGZSN!tYh{U~&N6z5t;~ zmnza_io#y!sp~6W)h<c5rs}EzV_gMm1IC7WM{TO+CG7@kOKro-h6>@do#Nh0nIt_K zoxY9}{j-r-rj0zKgoGU0@d&hhS}t>G(#cqH$@>{kdqW-Nd^(7u0iVWTm21uQnKrY0 z5RXr|(NghvoTpqmSG`HUugw!K!NYW*$2=d%ocG~W9$OwIsnuW)9?_RR*U==`a8$H} z2kZF&_GsrUO2@e#=a#4a(ogBV9XjoE@F4Tt#69p~0k-CuNzY?A0N{WR4m7k$W{A@v zDA_Exza2P0(po;Tuz#dSJ#B1>KysB%dH~wFuu%%m9}Cgq3GhXKnbH0DoLk^+9hz~P z<FPV|Vg;Ci&y3rFROu9AagDQG62lwDh9iUi61v?5k&^|P6G7(`B%3pko+5CE^swa{ zG%X&8ipvxNVpHr^tNK~-uv)W<d&?_)tCN1gz&2Q|{zXg(C;t0qXONC`XB3}Ibn?~L zPdi7mXdun#$fTGa7QXXAI{xYC@Quv%RL(kQdVJPN;$A0nn*H|Ej*WA@mq7~36Ky+L zob7$_P5blq{$4f%bz7gD;9^I>R+XAgB%^`G1TbmR!P{G=XFHn}fe`UH&V|^)u+>2j z8qhku_@p8-?Uiwa(Zhy8$L@muK1}9h2nD;Kf3TcF$mxPXz}caxfv&}h9U)G1zD_kE zipKK0<(UT96#iI_v<YD90#=Gm)NHQz3h@CfSbQhQMo2F{t;V|aEJOs==^BprpgXwV z!(`S(z(aTyPJ?6OlboG~hEsySU&)yLLS})p@YdSzZfX^E^j<?kAw!3|*nYk$rB}wJ zrl^;-+M<r(9a`OO2&xtROq5oifgAfC2tpZcvTa&tj0QOR7muoW-rRnR>be{_xI-G| zK1%3x$QEP)PpZNa0a=!XXD|Z{2DS(wd}lJ5=xW?Wy#)Lv*e>&?PInp?A5~&>+zxN0 z%^KX3CAc9}DkcuVV?%Gw5FX6^1u>6dtS#V9=9o@UzjYVx!pAqWgj<^$sEXoIb#dMd zk-<D&rJE;5dEqOW%RBdCFvY$_a#**7HsKe*MO^Gw5kwr-><(Zvpofqz*-=GLnc;J$ zSUDb}{x0KZw-|eeR~RmfVk=y+4~3O|E!HtG_d#twL~(<n!MD&nK!HrI3(9;9pRb_X zZ4k(C$Me~e<-;nL*XQ9Kg!p)1wL%q#LX1*1NpRj2;`fP6mYRkTDvg9NO*q5gD|3y| z#n{2P0nLHLf;afEU@AI%LFluf7Bqu*gUv8-I(Wtl7N_M?UN8TVoTAEG5j-mqLj5iy H+4TMg$=e(N literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..132d17d183c78825c0e1eeb3fc09faf77e6c8320 GIT binary patch literal 4263 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 UR<aC1#VCHfXcYO1=~<rjUsp7!6aWAK literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a6226c369d60d99ae2fb708c40bd1b83f5e1b5e6 GIT binary patch literal 683 zcmYjP&5qMB5VrH*KUBnpCqT-fF{rQ-D};a|af>Rk;!q(~-q=dAIE`hyyK3d0mJ<@s zz?oOdmD9cg7Z|6D=vedVn;%bR#+gqhLwxt=^A8W9U+6?);BP?n699%77O251j2-uc z*Z3<Rc+5f;eZ{MQ`5#f5++j#garbCJi;6GWjZv+5%cwM5fqU@2E=(WFFNy?GoeV%7 zUx4a&02a%{pj&jnHj-0=50Q;5wx0EEU_%=-{5?7(7F~JFv&pT8QP2H<92yDoH0(x& zYhuj}Ep<24T-8+6d#<`c#kZ=~rY^c^aqLlWwJrqJx_j8)qL+fN8*ZwW>3v)oBhLxh zCyr=fsjqzKRKe0v7dGv7W75GY&>RYceE}7?c<3N<;MTdC(BmqOpHgn>F248uL~0E7 z?{B1P8%~<K+;Z{!#Ti-dii)acsoE=E7!5XbwfVHnKTyMO=#E_T%{3AAC6Rq(o}Ce0 z8$Oe?_(DsriLB-9*~{!{HlN8Igfm{2&PmpAm9>iW9p7()+$bs~SDD;(<HgA{x>@vN z05lrn1bZhZ@y2-UsRs~C<NP9bl7?yocE2JubgbW)%jpL_feHA!<W<wMt>CZSFQlgc KP%}jM|M?5-3#>!{ literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/_cmd.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/_cmd.py new file mode 100644 index 0000000..f1e0ad9 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/_cmd.py @@ -0,0 +1,57 @@ +import logging + +from pip._vendor import requests + +from pip._vendor.cachecontrol.adapter import CacheControlAdapter +from pip._vendor.cachecontrol.cache import DictCache +from pip._vendor.cachecontrol.controller import logger + +from argparse import ArgumentParser + + +def setup_logging(): + logger.setLevel(logging.DEBUG) + handler = logging.StreamHandler() + logger.addHandler(handler) + + +def get_session(): + adapter = CacheControlAdapter( + DictCache(), cache_etags=True, serializer=None, heuristic=None + ) + sess = requests.Session() + sess.mount("http://", adapter) + sess.mount("https://", adapter) + + sess.cache_controller = adapter.controller + return sess + + +def get_args(): + parser = ArgumentParser() + parser.add_argument("url", help="The URL to try and cache") + return parser.parse_args() + + +def main(args=None): + args = get_args() + sess = get_session() + + # Make a request to get a response + resp = sess.get(args.url) + + # Turn on logging + setup_logging() + + # try setting the cache + sess.cache_controller.cache_response(resp.request, resp.raw) + + # Now try to get it + if sess.cache_controller.cached_request(resp.request): + print("Cached!") + else: + print("Not cached :(") + + +if __name__ == "__main__": + main() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/adapter.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/adapter.py new file mode 100644 index 0000000..780eb28 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/adapter.py @@ -0,0 +1,133 @@ +import types +import functools +import zlib + +from pip._vendor.requests.adapters import HTTPAdapter + +from .controller import CacheController +from .cache import DictCache +from .filewrapper import CallbackFileWrapper + + +class CacheControlAdapter(HTTPAdapter): + invalidating_methods = {"PUT", "DELETE"} + + def __init__( + self, + cache=None, + cache_etags=True, + controller_class=None, + serializer=None, + heuristic=None, + cacheable_methods=None, + *args, + **kw + ): + super(CacheControlAdapter, self).__init__(*args, **kw) + self.cache = cache or DictCache() + self.heuristic = heuristic + self.cacheable_methods = cacheable_methods or ("GET",) + + controller_factory = controller_class or CacheController + self.controller = controller_factory( + self.cache, cache_etags=cache_etags, serializer=serializer + ) + + def send(self, request, cacheable_methods=None, **kw): + """ + Send a request. Use the request information to see if it + exists in the cache and cache the response if we need to and can. + """ + cacheable = cacheable_methods or self.cacheable_methods + if request.method in cacheable: + try: + cached_response = self.controller.cached_request(request) + except zlib.error: + cached_response = None + if cached_response: + return self.build_response(request, cached_response, from_cache=True) + + # check for etags and add headers if appropriate + request.headers.update(self.controller.conditional_headers(request)) + + resp = super(CacheControlAdapter, self).send(request, **kw) + + return resp + + def build_response( + self, request, response, from_cache=False, cacheable_methods=None + ): + """ + Build a response by making a request or using the cache. + + This will end up calling send and returning a potentially + cached response + """ + cacheable = cacheable_methods or self.cacheable_methods + if not from_cache and request.method in cacheable: + # Check for any heuristics that might update headers + # before trying to cache. + if self.heuristic: + response = self.heuristic.apply(response) + + # apply any expiration heuristics + if response.status == 304: + # We must have sent an ETag request. This could mean + # that we've been expired already or that we simply + # have an etag. In either case, we want to try and + # update the cache if that is the case. + cached_response = self.controller.update_cached_response( + request, response + ) + + if cached_response is not response: + from_cache = True + + # We are done with the server response, read a + # possible response body (compliant servers will + # not return one, but we cannot be 100% sure) and + # release the connection back to the pool. + response.read(decode_content=False) + response.release_conn() + + response = cached_response + + # We always cache the 301 responses + elif response.status == 301: + self.controller.cache_response(request, response) + else: + # Wrap the response file with a wrapper that will cache the + # response when the stream has been consumed. + response._fp = CallbackFileWrapper( + response._fp, + functools.partial( + self.controller.cache_response, request, response + ), + ) + if response.chunked: + super_update_chunk_length = response._update_chunk_length + + def _update_chunk_length(self): + super_update_chunk_length() + if self.chunk_left == 0: + self._fp._close() + + response._update_chunk_length = types.MethodType( + _update_chunk_length, response + ) + + resp = super(CacheControlAdapter, self).build_response(request, response) + + # See if we should invalidate the cache. + if request.method in self.invalidating_methods and resp.ok: + cache_url = self.controller.cache_url(request.url) + self.cache.delete(cache_url) + + # Give the request a from_cache attr to let people use it + resp.from_cache = from_cache + + return resp + + def close(self): + self.cache.close() + super(CacheControlAdapter, self).close() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/cache.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/cache.py new file mode 100644 index 0000000..94e0773 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/cache.py @@ -0,0 +1,39 @@ +""" +The cache object API for implementing caches. The default is a thread +safe in-memory dictionary. +""" +from threading import Lock + + +class BaseCache(object): + + def get(self, key): + raise NotImplementedError() + + def set(self, key, value): + raise NotImplementedError() + + def delete(self, key): + raise NotImplementedError() + + def close(self): + pass + + +class DictCache(BaseCache): + + def __init__(self, init_dict=None): + self.lock = Lock() + self.data = init_dict or {} + + def get(self, key): + return self.data.get(key, None) + + def set(self, key, value): + with self.lock: + self.data.update({key: value}) + + def delete(self, key): + with self.lock: + if key in self.data: + self.data.pop(key) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/__init__.py new file mode 100644 index 0000000..0e1658f --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/__init__.py @@ -0,0 +1,2 @@ +from .file_cache import FileCache # noqa +from .redis_cache import RedisCache # noqa diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ce9373bc3adcce7b64b54a657d2d5d7af60739ee GIT binary patch literal 319 zcmX|+K}y6h6o!+w3$4x#yg(Oil<I&WA_%%0h7o2_gb>r%Mw2EanUP+@TX?0}x|%Dv z(U&R)-pl|0UlQ`_*(}HV@5ePl=o9LHC7^Dg{0X!cwOApI8;qk)RHD-+1)V;iBHLp) zQsCX;omAqM@m_$*SE7}Ea*HBs@@HU_N9f|y&5?`zFG(T!KrVxAYG3c9H(C%ayNyui z7jv>4dC#0)I`blU@ZdvlhV^oB&w_YkBiV{!OO$*fb|Q5(Cte0oTE<^lCp@vzmS>mM yX;qhY1YC)(iy@(KwKa}RpW|i-&ZuAG38iw7fzry3yMrrj+Km#|aa<pVIL1F5c3NNn literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..16eda81ce385a68e6c0fd419fdcb9d5bee4eee31 GIT binary patch literal 3253 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1664d9a498b1fb707747cd7608864a8fb65e0c2a GIT binary patch literal 1575 zcmaJ>OOM+&5GF-Q);f0LA`i5eR0VP|(3M(j8#F+W1Wkdo7h}<)4+t#;M&#OZ^a@Gs zt{2Y9`xp8n`j>R=DSx4tc80RM?qX2_Bu5;M=KJQsqw#o1-~avVFN}~s$=+~5egRW| z1&bhp7Nn#Jr6@avQ#y%bWmd4#O<YP|5#b8&k_b<_8<u#&|A9;g@4=c(X%~q6G}n1u zS(zJY@=}6)@HN-+CC?Tz!<)MSXnOC@K#(M%f+UWh!nq^~6HK_UyW+O+#o&^HuRt8Y zi7$rY7VHBt5@Xl{;Q@v_-SB%Ua@~7zwk~kT`4Xlc!m_4ok^(!hpff<`W_49fozB&= zI8i>__=Bhbw!eOl7j-G)GM~4y_~OgQ@$o8Ka8(|wdMPub;oB_g>Zjw`D<FEtSMjN= zPU9kf9XD2U6g`f0ZscLZvp0M$b=>65;pb1H&!VHlW(Dd<&gXa-r(h~-6=ya?b!Ajt z^dCA_$SSp(s9AMEn&wq*()0i+S)TOb?iKZDr_XMT!3bkOmSjoSbVK_nIF@(E=F&_Z zHGmr(dm~pi4E=(>)Gb)heCPD`o>MTLWmrr&aK~wb{uG2Y)Ax2x*Ukn?s(Q3$##yor z`H;M0R_Cs%@z!kVZ^(wiErx~H0~~AtYH1YKOy{>ItLn4FgA;k)vAi<f*wls>sg{sY zp{K4Tq7ZQBo${iU-9Vl<xsv)iu`%4a15;z(33chj8PSV<df?{fa8AHr$82NU=073z zg)9K!HmVlPb?0~C4-a7OqWZyJRD0`;f*J=V6zSWzJ_6zVVeflGz9GL&-a%<YVjWB@ zC2vPRLpuW+=i<9>Wzk3#p42ML3dvPo%|l)kp;^cf60O6$3VA5F;jf`jqwq&9!?WBh zhT(Q(yfx6(pUkGLPlbzS3bFqWx6ZTPK7w1?)&`r<i^(28tNxcB(!^=$;r%WA=hh-@ zwbUVYD>NTq37fhufXJs|Rfm<7A~ZFys{uOFy1E$6Y{;jyF9^)>RZ$~EF!>k``vf@G z0D=-9iUaJsikC7?yJ4D^wP*{JM``-D<wdVi_`ujUQCLzoJnBA5nBcv{TMV|RJWyc6 zX{^)030S~}16X~9n%UGxZzrv36?juv0JZ^=hwy4d+gBs9Zvzm<SEK(>7(V-po4j_x S)1JUH47bKdZv+)TV*db2r(TZ$ literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/file_cache.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/file_cache.py new file mode 100644 index 0000000..1ba0080 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/file_cache.py @@ -0,0 +1,146 @@ +import hashlib +import os +from textwrap import dedent + +from ..cache import BaseCache +from ..controller import CacheController + +try: + FileNotFoundError +except NameError: + # py2.X + FileNotFoundError = (IOError, OSError) + + +def _secure_open_write(filename, fmode): + # We only want to write to this file, so open it in write only mode + flags = os.O_WRONLY + + # os.O_CREAT | os.O_EXCL will fail if the file already exists, so we only + # will open *new* files. + # We specify this because we want to ensure that the mode we pass is the + # mode of the file. + flags |= os.O_CREAT | os.O_EXCL + + # Do not follow symlinks to prevent someone from making a symlink that + # we follow and insecurely open a cache file. + if hasattr(os, "O_NOFOLLOW"): + flags |= os.O_NOFOLLOW + + # On Windows we'll mark this file as binary + if hasattr(os, "O_BINARY"): + flags |= os.O_BINARY + + # Before we open our file, we want to delete any existing file that is + # there + try: + os.remove(filename) + except (IOError, OSError): + # The file must not exist already, so we can just skip ahead to opening + pass + + # Open our file, the use of os.O_CREAT | os.O_EXCL will ensure that if a + # race condition happens between the os.remove and this line, that an + # error will be raised. Because we utilize a lockfile this should only + # happen if someone is attempting to attack us. + fd = os.open(filename, flags, fmode) + try: + return os.fdopen(fd, "wb") + + except: + # An error occurred wrapping our FD in a file object + os.close(fd) + raise + + +class FileCache(BaseCache): + + def __init__( + self, + directory, + forever=False, + filemode=0o0600, + dirmode=0o0700, + use_dir_lock=None, + lock_class=None, + ): + + if use_dir_lock is not None and lock_class is not None: + raise ValueError("Cannot use use_dir_lock and lock_class together") + + try: + from pip._vendor.lockfile import LockFile + from pip._vendor.lockfile.mkdirlockfile import MkdirLockFile + except ImportError: + notice = dedent( + """ + NOTE: In order to use the FileCache you must have + lockfile installed. You can install it via pip: + pip install lockfile + """ + ) + raise ImportError(notice) + + else: + if use_dir_lock: + lock_class = MkdirLockFile + + elif lock_class is None: + lock_class = LockFile + + self.directory = directory + self.forever = forever + self.filemode = filemode + self.dirmode = dirmode + self.lock_class = lock_class + + @staticmethod + def encode(x): + return hashlib.sha224(x.encode()).hexdigest() + + def _fn(self, name): + # NOTE: This method should not change as some may depend on it. + # See: https://github.com/ionrock/cachecontrol/issues/63 + hashed = self.encode(name) + parts = list(hashed[:5]) + [hashed] + return os.path.join(self.directory, *parts) + + def get(self, key): + name = self._fn(key) + try: + with open(name, "rb") as fh: + return fh.read() + + except FileNotFoundError: + return None + + def set(self, key, value): + name = self._fn(key) + + # Make sure the directory exists + try: + os.makedirs(os.path.dirname(name), self.dirmode) + except (IOError, OSError): + pass + + with self.lock_class(name) as lock: + # Write our actual file + with _secure_open_write(lock.path, self.filemode) as fh: + fh.write(value) + + def delete(self, key): + name = self._fn(key) + if not self.forever: + try: + os.remove(name) + except FileNotFoundError: + pass + + +def url_to_file_path(url, filecache): + """Return the file cache path based on the URL. + + This does not ensure the file exists! + """ + key = CacheController.cache_url(url) + return filecache._fn(key) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/redis_cache.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/redis_cache.py new file mode 100644 index 0000000..ed705ce --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/redis_cache.py @@ -0,0 +1,33 @@ +from __future__ import division + +from datetime import datetime +from pip._vendor.cachecontrol.cache import BaseCache + + +class RedisCache(BaseCache): + + def __init__(self, conn): + self.conn = conn + + def get(self, key): + return self.conn.get(key) + + def set(self, key, value, expires=None): + if not expires: + self.conn.set(key, value) + else: + expires = expires - datetime.utcnow() + self.conn.setex(key, int(expires.total_seconds()), value) + + def delete(self, key): + self.conn.delete(key) + + def clear(self): + """Helper for clearing all the keys in a database. Use with + caution!""" + for key in self.conn.keys(): + self.conn.delete(key) + + def close(self): + """Redis uses connection pooling, no need to close the connection.""" + pass diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/compat.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/compat.py new file mode 100644 index 0000000..33b5aed --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/compat.py @@ -0,0 +1,29 @@ +try: + from urllib.parse import urljoin +except ImportError: + from urlparse import urljoin + + +try: + import cPickle as pickle +except ImportError: + import pickle + + +# Handle the case where the requests module has been patched to not have +# urllib3 bundled as part of its source. +try: + from pip._vendor.requests.packages.urllib3.response import HTTPResponse +except ImportError: + from pip._vendor.urllib3.response import HTTPResponse + +try: + from pip._vendor.requests.packages.urllib3.util import is_fp_closed +except ImportError: + from pip._vendor.urllib3.util import is_fp_closed + +# Replicate some six behaviour +try: + text_type = unicode +except NameError: + text_type = str diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/controller.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/controller.py new file mode 100644 index 0000000..1b2b943 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/controller.py @@ -0,0 +1,367 @@ +""" +The httplib2 algorithms ported for use with requests. +""" +import logging +import re +import calendar +import time +from email.utils import parsedate_tz + +from pip._vendor.requests.structures import CaseInsensitiveDict + +from .cache import DictCache +from .serialize import Serializer + + +logger = logging.getLogger(__name__) + +URI = re.compile(r"^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?") + + +def parse_uri(uri): + """Parses a URI using the regex given in Appendix B of RFC 3986. + + (scheme, authority, path, query, fragment) = parse_uri(uri) + """ + groups = URI.match(uri).groups() + return (groups[1], groups[3], groups[4], groups[6], groups[8]) + + +class CacheController(object): + """An interface to see if request should cached or not. + """ + + def __init__( + self, cache=None, cache_etags=True, serializer=None, status_codes=None + ): + self.cache = cache or DictCache() + self.cache_etags = cache_etags + self.serializer = serializer or Serializer() + self.cacheable_status_codes = status_codes or (200, 203, 300, 301) + + @classmethod + def _urlnorm(cls, uri): + """Normalize the URL to create a safe key for the cache""" + (scheme, authority, path, query, fragment) = parse_uri(uri) + if not scheme or not authority: + raise Exception("Only absolute URIs are allowed. uri = %s" % uri) + + scheme = scheme.lower() + authority = authority.lower() + + if not path: + path = "/" + + # Could do syntax based normalization of the URI before + # computing the digest. See Section 6.2.2 of Std 66. + request_uri = query and "?".join([path, query]) or path + defrag_uri = scheme + "://" + authority + request_uri + + return defrag_uri + + @classmethod + def cache_url(cls, uri): + return cls._urlnorm(uri) + + def parse_cache_control(self, headers): + known_directives = { + # https://tools.ietf.org/html/rfc7234#section-5.2 + "max-age": (int, True), + "max-stale": (int, False), + "min-fresh": (int, True), + "no-cache": (None, False), + "no-store": (None, False), + "no-transform": (None, False), + "only-if-cached": (None, False), + "must-revalidate": (None, False), + "public": (None, False), + "private": (None, False), + "proxy-revalidate": (None, False), + "s-maxage": (int, True), + } + + cc_headers = headers.get("cache-control", headers.get("Cache-Control", "")) + + retval = {} + + for cc_directive in cc_headers.split(","): + if not cc_directive.strip(): + continue + + parts = cc_directive.split("=", 1) + directive = parts[0].strip() + + try: + typ, required = known_directives[directive] + except KeyError: + logger.debug("Ignoring unknown cache-control directive: %s", directive) + continue + + if not typ or not required: + retval[directive] = None + if typ: + try: + retval[directive] = typ(parts[1].strip()) + except IndexError: + if required: + logger.debug( + "Missing value for cache-control " "directive: %s", + directive, + ) + except ValueError: + logger.debug( + "Invalid value for cache-control directive " "%s, must be %s", + directive, + typ.__name__, + ) + + return retval + + def cached_request(self, request): + """ + Return a cached response if it exists in the cache, otherwise + return False. + """ + cache_url = self.cache_url(request.url) + logger.debug('Looking up "%s" in the cache', cache_url) + cc = self.parse_cache_control(request.headers) + + # Bail out if the request insists on fresh data + if "no-cache" in cc: + logger.debug('Request header has "no-cache", cache bypassed') + return False + + if "max-age" in cc and cc["max-age"] == 0: + logger.debug('Request header has "max_age" as 0, cache bypassed') + return False + + # Request allows serving from the cache, let's see if we find something + cache_data = self.cache.get(cache_url) + if cache_data is None: + logger.debug("No cache entry available") + return False + + # Check whether it can be deserialized + resp = self.serializer.loads(request, cache_data) + if not resp: + logger.warning("Cache entry deserialization failed, entry ignored") + return False + + # If we have a cached 301, return it immediately. We don't + # need to test our response for other headers b/c it is + # intrinsically "cacheable" as it is Permanent. + # See: + # https://tools.ietf.org/html/rfc7231#section-6.4.2 + # + # Client can try to refresh the value by repeating the request + # with cache busting headers as usual (ie no-cache). + if resp.status == 301: + msg = ( + 'Returning cached "301 Moved Permanently" response ' + "(ignoring date and etag information)" + ) + logger.debug(msg) + return resp + + headers = CaseInsensitiveDict(resp.headers) + if not headers or "date" not in headers: + if "etag" not in headers: + # Without date or etag, the cached response can never be used + # and should be deleted. + logger.debug("Purging cached response: no date or etag") + self.cache.delete(cache_url) + logger.debug("Ignoring cached response: no date") + return False + + now = time.time() + date = calendar.timegm(parsedate_tz(headers["date"])) + current_age = max(0, now - date) + logger.debug("Current age based on date: %i", current_age) + + # TODO: There is an assumption that the result will be a + # urllib3 response object. This may not be best since we + # could probably avoid instantiating or constructing the + # response until we know we need it. + resp_cc = self.parse_cache_control(headers) + + # determine freshness + freshness_lifetime = 0 + + # Check the max-age pragma in the cache control header + if "max-age" in resp_cc: + freshness_lifetime = resp_cc["max-age"] + logger.debug("Freshness lifetime from max-age: %i", freshness_lifetime) + + # If there isn't a max-age, check for an expires header + elif "expires" in headers: + expires = parsedate_tz(headers["expires"]) + if expires is not None: + expire_time = calendar.timegm(expires) - date + freshness_lifetime = max(0, expire_time) + logger.debug("Freshness lifetime from expires: %i", freshness_lifetime) + + # Determine if we are setting freshness limit in the + # request. Note, this overrides what was in the response. + if "max-age" in cc: + freshness_lifetime = cc["max-age"] + logger.debug( + "Freshness lifetime from request max-age: %i", freshness_lifetime + ) + + if "min-fresh" in cc: + min_fresh = cc["min-fresh"] + # adjust our current age by our min fresh + current_age += min_fresh + logger.debug("Adjusted current age from min-fresh: %i", current_age) + + # Return entry if it is fresh enough + if freshness_lifetime > current_age: + logger.debug('The response is "fresh", returning cached response') + logger.debug("%i > %i", freshness_lifetime, current_age) + return resp + + # we're not fresh. If we don't have an Etag, clear it out + if "etag" not in headers: + logger.debug('The cached response is "stale" with no etag, purging') + self.cache.delete(cache_url) + + # return the original handler + return False + + def conditional_headers(self, request): + cache_url = self.cache_url(request.url) + resp = self.serializer.loads(request, self.cache.get(cache_url)) + new_headers = {} + + if resp: + headers = CaseInsensitiveDict(resp.headers) + + if "etag" in headers: + new_headers["If-None-Match"] = headers["ETag"] + + if "last-modified" in headers: + new_headers["If-Modified-Since"] = headers["Last-Modified"] + + return new_headers + + def cache_response(self, request, response, body=None, status_codes=None): + """ + Algorithm for caching requests. + + This assumes a requests Response object. + """ + # From httplib2: Don't cache 206's since we aren't going to + # handle byte range requests + cacheable_status_codes = status_codes or self.cacheable_status_codes + if response.status not in cacheable_status_codes: + logger.debug( + "Status code %s not in %s", response.status, cacheable_status_codes + ) + return + + response_headers = CaseInsensitiveDict(response.headers) + + # If we've been given a body, our response has a Content-Length, that + # Content-Length is valid then we can check to see if the body we've + # been given matches the expected size, and if it doesn't we'll just + # skip trying to cache it. + if ( + body is not None + and "content-length" in response_headers + and response_headers["content-length"].isdigit() + and int(response_headers["content-length"]) != len(body) + ): + return + + cc_req = self.parse_cache_control(request.headers) + cc = self.parse_cache_control(response_headers) + + cache_url = self.cache_url(request.url) + logger.debug('Updating cache with response from "%s"', cache_url) + + # Delete it from the cache if we happen to have it stored there + no_store = False + if "no-store" in cc: + no_store = True + logger.debug('Response header has "no-store"') + if "no-store" in cc_req: + no_store = True + logger.debug('Request header has "no-store"') + if no_store and self.cache.get(cache_url): + logger.debug('Purging existing cache entry to honor "no-store"') + self.cache.delete(cache_url) + if no_store: + return + + # If we've been given an etag, then keep the response + if self.cache_etags and "etag" in response_headers: + logger.debug("Caching due to etag") + self.cache.set( + cache_url, self.serializer.dumps(request, response, body=body) + ) + + # Add to the cache any 301s. We do this before looking that + # the Date headers. + elif response.status == 301: + logger.debug("Caching permanant redirect") + self.cache.set(cache_url, self.serializer.dumps(request, response)) + + # Add to the cache if the response headers demand it. If there + # is no date header then we can't do anything about expiring + # the cache. + elif "date" in response_headers: + # cache when there is a max-age > 0 + if "max-age" in cc and cc["max-age"] > 0: + logger.debug("Caching b/c date exists and max-age > 0") + self.cache.set( + cache_url, self.serializer.dumps(request, response, body=body) + ) + + # If the request can expire, it means we should cache it + # in the meantime. + elif "expires" in response_headers: + if response_headers["expires"]: + logger.debug("Caching b/c of expires header") + self.cache.set( + cache_url, self.serializer.dumps(request, response, body=body) + ) + + def update_cached_response(self, request, response): + """On a 304 we will get a new set of headers that we want to + update our cached value with, assuming we have one. + + This should only ever be called when we've sent an ETag and + gotten a 304 as the response. + """ + cache_url = self.cache_url(request.url) + + cached_response = self.serializer.loads(request, self.cache.get(cache_url)) + + if not cached_response: + # we didn't have a cached response + return response + + # Lets update our headers with the headers from the new request: + # http://tools.ietf.org/html/draft-ietf-httpbis-p4-conditional-26#section-4.1 + # + # The server isn't supposed to send headers that would make + # the cached body invalid. But... just in case, we'll be sure + # to strip out ones we know that might be problmatic due to + # typical assumptions. + excluded_headers = ["content-length"] + + cached_response.headers.update( + dict( + (k, v) + for k, v in response.headers.items() + if k.lower() not in excluded_headers + ) + ) + + # we want a 200 b/c we have content via the cache + cached_response.status = 200 + + # update our cache + self.cache.set(cache_url, self.serializer.dumps(request, cached_response)) + + return cached_response diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/filewrapper.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/filewrapper.py new file mode 100644 index 0000000..30ed4c5 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/filewrapper.py @@ -0,0 +1,80 @@ +from io import BytesIO + + +class CallbackFileWrapper(object): + """ + Small wrapper around a fp object which will tee everything read into a + buffer, and when that file is closed it will execute a callback with the + contents of that buffer. + + All attributes are proxied to the underlying file object. + + This class uses members with a double underscore (__) leading prefix so as + not to accidentally shadow an attribute. + """ + + def __init__(self, fp, callback): + self.__buf = BytesIO() + self.__fp = fp + self.__callback = callback + + def __getattr__(self, name): + # The vaguaries of garbage collection means that self.__fp is + # not always set. By using __getattribute__ and the private + # name[0] allows looking up the attribute value and raising an + # AttributeError when it doesn't exist. This stop thigns from + # infinitely recursing calls to getattr in the case where + # self.__fp hasn't been set. + # + # [0] https://docs.python.org/2/reference/expressions.html#atom-identifiers + fp = self.__getattribute__("_CallbackFileWrapper__fp") + return getattr(fp, name) + + def __is_fp_closed(self): + try: + return self.__fp.fp is None + + except AttributeError: + pass + + try: + return self.__fp.closed + + except AttributeError: + pass + + # We just don't cache it then. + # TODO: Add some logging here... + return False + + def _close(self): + if self.__callback: + self.__callback(self.__buf.getvalue()) + + # We assign this to None here, because otherwise we can get into + # really tricky problems where the CPython interpreter dead locks + # because the callback is holding a reference to something which + # has a __del__ method. Setting this to None breaks the cycle + # and allows the garbage collector to do it's thing normally. + self.__callback = None + + def read(self, amt=None): + data = self.__fp.read(amt) + self.__buf.write(data) + if self.__is_fp_closed(): + self._close() + + return data + + def _safe_read(self, amt): + data = self.__fp._safe_read(amt) + if amt == 2 and data == b"\r\n": + # urllib executes this read to toss the CRLF at the end + # of the chunk. + return data + + self.__buf.write(data) + if self.__is_fp_closed(): + self._close() + + return data diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/heuristics.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/heuristics.py new file mode 100644 index 0000000..6c0e979 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/heuristics.py @@ -0,0 +1,135 @@ +import calendar +import time + +from email.utils import formatdate, parsedate, parsedate_tz + +from datetime import datetime, timedelta + +TIME_FMT = "%a, %d %b %Y %H:%M:%S GMT" + + +def expire_after(delta, date=None): + date = date or datetime.utcnow() + return date + delta + + +def datetime_to_header(dt): + return formatdate(calendar.timegm(dt.timetuple())) + + +class BaseHeuristic(object): + + def warning(self, response): + """ + Return a valid 1xx warning header value describing the cache + adjustments. + + The response is provided too allow warnings like 113 + http://tools.ietf.org/html/rfc7234#section-5.5.4 where we need + to explicitly say response is over 24 hours old. + """ + return '110 - "Response is Stale"' + + def update_headers(self, response): + """Update the response headers with any new headers. + + NOTE: This SHOULD always include some Warning header to + signify that the response was cached by the client, not + by way of the provided headers. + """ + return {} + + def apply(self, response): + updated_headers = self.update_headers(response) + + if updated_headers: + response.headers.update(updated_headers) + warning_header_value = self.warning(response) + if warning_header_value is not None: + response.headers.update({"Warning": warning_header_value}) + + return response + + +class OneDayCache(BaseHeuristic): + """ + Cache the response by providing an expires 1 day in the + future. + """ + + def update_headers(self, response): + headers = {} + + if "expires" not in response.headers: + date = parsedate(response.headers["date"]) + expires = expire_after(timedelta(days=1), date=datetime(*date[:6])) + headers["expires"] = datetime_to_header(expires) + headers["cache-control"] = "public" + return headers + + +class ExpiresAfter(BaseHeuristic): + """ + Cache **all** requests for a defined time period. + """ + + def __init__(self, **kw): + self.delta = timedelta(**kw) + + def update_headers(self, response): + expires = expire_after(self.delta) + return {"expires": datetime_to_header(expires), "cache-control": "public"} + + def warning(self, response): + tmpl = "110 - Automatically cached for %s. Response might be stale" + return tmpl % self.delta + + +class LastModified(BaseHeuristic): + """ + If there is no Expires header already, fall back on Last-Modified + using the heuristic from + http://tools.ietf.org/html/rfc7234#section-4.2.2 + to calculate a reasonable value. + + Firefox also does something like this per + https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching_FAQ + http://lxr.mozilla.org/mozilla-release/source/netwerk/protocol/http/nsHttpResponseHead.cpp#397 + Unlike mozilla we limit this to 24-hr. + """ + cacheable_by_default_statuses = { + 200, 203, 204, 206, 300, 301, 404, 405, 410, 414, 501 + } + + def update_headers(self, resp): + headers = resp.headers + + if "expires" in headers: + return {} + + if "cache-control" in headers and headers["cache-control"] != "public": + return {} + + if resp.status not in self.cacheable_by_default_statuses: + return {} + + if "date" not in headers or "last-modified" not in headers: + return {} + + date = calendar.timegm(parsedate_tz(headers["date"])) + last_modified = parsedate(headers["last-modified"]) + if date is None or last_modified is None: + return {} + + now = time.time() + current_age = max(0, now - date) + delta = date - calendar.timegm(last_modified) + freshness_lifetime = max(0, min(delta / 10, 24 * 3600)) + if freshness_lifetime <= current_age: + return {} + + expires = date + freshness_lifetime + return {"expires": time.strftime(TIME_FMT, time.gmtime(expires))} + + def warning(self, resp): + return None diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/serialize.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/serialize.py new file mode 100644 index 0000000..ec43ff2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/serialize.py @@ -0,0 +1,186 @@ +import base64 +import io +import json +import zlib + +from pip._vendor import msgpack +from pip._vendor.requests.structures import CaseInsensitiveDict + +from .compat import HTTPResponse, pickle, text_type + + +def _b64_decode_bytes(b): + return base64.b64decode(b.encode("ascii")) + + +def _b64_decode_str(s): + return _b64_decode_bytes(s).decode("utf8") + + +class Serializer(object): + + def dumps(self, request, response, body=None): + response_headers = CaseInsensitiveDict(response.headers) + + if body is None: + body = response.read(decode_content=False) + + # NOTE: 99% sure this is dead code. I'm only leaving it + # here b/c I don't have a test yet to prove + # it. Basically, before using + # `cachecontrol.filewrapper.CallbackFileWrapper`, + # this made an effort to reset the file handle. The + # `CallbackFileWrapper` short circuits this code by + # setting the body as the content is consumed, the + # result being a `body` argument is *always* passed + # into cache_response, and in turn, + # `Serializer.dump`. + response._fp = io.BytesIO(body) + + # NOTE: This is all a bit weird, but it's really important that on + # Python 2.x these objects are unicode and not str, even when + # they contain only ascii. The problem here is that msgpack + # understands the difference between unicode and bytes and we + # have it set to differentiate between them, however Python 2 + # doesn't know the difference. Forcing these to unicode will be + # enough to have msgpack know the difference. + data = { + u"response": { + u"body": body, + u"headers": dict( + (text_type(k), text_type(v)) for k, v in response.headers.items() + ), + u"status": response.status, + u"version": response.version, + u"reason": text_type(response.reason), + u"strict": response.strict, + u"decode_content": response.decode_content, + } + } + + # Construct our vary headers + data[u"vary"] = {} + if u"vary" in response_headers: + varied_headers = response_headers[u"vary"].split(",") + for header in varied_headers: + header = text_type(header).strip() + header_value = request.headers.get(header, None) + if header_value is not None: + header_value = text_type(header_value) + data[u"vary"][header] = header_value + + return b",".join([b"cc=4", msgpack.dumps(data, use_bin_type=True)]) + + def loads(self, request, data): + # Short circuit if we've been given an empty set of data + if not data: + return + + # Determine what version of the serializer the data was serialized + # with + try: + ver, data = data.split(b",", 1) + except ValueError: + ver = b"cc=0" + + # Make sure that our "ver" is actually a version and isn't a false + # positive from a , being in the data stream. + if ver[:3] != b"cc=": + data = ver + data + ver = b"cc=0" + + # Get the version number out of the cc=N + ver = ver.split(b"=", 1)[-1].decode("ascii") + + # Dispatch to the actual load method for the given version + try: + return getattr(self, "_loads_v{}".format(ver))(request, data) + + except AttributeError: + # This is a version we don't have a loads function for, so we'll + # just treat it as a miss and return None + return + + def prepare_response(self, request, cached): + """Verify our vary headers match and construct a real urllib3 + HTTPResponse object. + """ + # Special case the '*' Vary value as it means we cannot actually + # determine if the cached response is suitable for this request. + if "*" in cached.get("vary", {}): + return + + # Ensure that the Vary headers for the cached response match our + # request + for header, value in cached.get("vary", {}).items(): + if request.headers.get(header, None) != value: + return + + body_raw = cached["response"].pop("body") + + headers = CaseInsensitiveDict(data=cached["response"]["headers"]) + if headers.get("transfer-encoding", "") == "chunked": + headers.pop("transfer-encoding") + + cached["response"]["headers"] = headers + + try: + body = io.BytesIO(body_raw) + except TypeError: + # This can happen if cachecontrol serialized to v1 format (pickle) + # using Python 2. A Python 2 str(byte string) will be unpickled as + # a Python 3 str (unicode string), which will cause the above to + # fail with: + # + # TypeError: 'str' does not support the buffer interface + body = io.BytesIO(body_raw.encode("utf8")) + + return HTTPResponse(body=body, preload_content=False, **cached["response"]) + + def _loads_v0(self, request, data): + # The original legacy cache data. This doesn't contain enough + # information to construct everything we need, so we'll treat this as + # a miss. + return + + def _loads_v1(self, request, data): + try: + cached = pickle.loads(data) + except ValueError: + return + + return self.prepare_response(request, cached) + + def _loads_v2(self, request, data): + try: + cached = json.loads(zlib.decompress(data).decode("utf8")) + except (ValueError, zlib.error): + return + + # We need to decode the items that we've base64 encoded + cached["response"]["body"] = _b64_decode_bytes(cached["response"]["body"]) + cached["response"]["headers"] = dict( + (_b64_decode_str(k), _b64_decode_str(v)) + for k, v in cached["response"]["headers"].items() + ) + cached["response"]["reason"] = _b64_decode_str(cached["response"]["reason"]) + cached["vary"] = dict( + (_b64_decode_str(k), _b64_decode_str(v) if v is not None else v) + for k, v in cached["vary"].items() + ) + + return self.prepare_response(request, cached) + + def _loads_v3(self, request, data): + # Due to Python 2 encoding issues, it's impossible to know for sure + # exactly how to load v3 entries, thus we'll treat these as a miss so + # that they get rewritten out as v4 entries. + return + + def _loads_v4(self, request, data): + try: + cached = msgpack.loads(data, encoding="utf-8") + except ValueError: + return + + return self.prepare_response(request, cached) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/wrapper.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/wrapper.py new file mode 100644 index 0000000..265bfc8 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/wrapper.py @@ -0,0 +1,29 @@ +from .adapter import CacheControlAdapter +from .cache import DictCache + + +def CacheControl( + sess, + cache=None, + cache_etags=True, + serializer=None, + heuristic=None, + controller_class=None, + adapter_class=None, + cacheable_methods=None, +): + + cache = cache or DictCache() + adapter_class = adapter_class or CacheControlAdapter + adapter = adapter_class( + cache, + cache_etags=cache_etags, + serializer=serializer, + heuristic=heuristic, + controller_class=controller_class, + cacheable_methods=cacheable_methods, + ) + sess.mount("http://", adapter) + sess.mount("https://", adapter) + + return sess diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/__init__.py new file mode 100644 index 0000000..ef71f3a --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/__init__.py @@ -0,0 +1,3 @@ +from .core import where + +__version__ = "2018.11.29" diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/__main__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/__main__.py new file mode 100644 index 0000000..ae2aff5 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/__main__.py @@ -0,0 +1,2 @@ +from pip._vendor.certifi import where +print(where()) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5658686817e54a031991e5b3bc26f6328c7835aa GIT binary patch literal 282 zcmX|6L2AP=5R{w*O4{7|2_LMD<1{o-N^iXdL!gIH5RSFA)!LSj6bJVK{Y$^(Yft$? zFRh$I7G~I;fnhe8&8GD9_qrs6{CHd@@Y|Dzz4auBpcSd<j#46mT_8qV5{^&QTOsWy z#}W;GP8aj|p2aa+tT*APALq)T8Djct&RaBAs)qA#VkTZY)9)9Qsz#_~almSMw}Q0G z%gofNQSX>L>u*=8<|W-cXAX~92Q4-&RB{jc>?CXjRyvGymVaagTF_EQ@tVz966wy{ o42xnA!B=R6GLWNj@=XHgvXPE+rn~;?p;qEh;p6a;9Xj6x|DzdB_y7O^ literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/__pycache__/core.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/__pycache__/core.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..bb012da188bda6bdaffadf10c90b85750aeac183 GIT binary patch literal 543 zcmYjOO=}x55S6s+WV_UVpr<_*T=1&JZJ<y}A&1_Kp&tiR5UMox%Gs3`NltKRbBOzA z`j__FQ~p9P?Z_@^2Igr-gC6f`X5(>5@BVzLC?UVdgJ4*{!wk<5G+7c&HEZdT>P+W9 z$dW;(M;FXLg&f$P>?tLheIS#Q>rbTuAI-|t{jR*ZkFxyOm{4_2Z(FE5#I3iXiVal8 zhA7)sM&oSNI(01Es!}pB)jf1|d51E{TqR6_a!H1Hjv1aHM6#h97PCG5eysCvD0!bG zvH5lRpK3B1m<vPR%h(L3+ITBF7z!a)rUfB}eB+Fr(1EUg5?>(m?_1uu4tQtQTWDXt zI^&C-YNYQL-fcj|fPHM7{k)jJml3Yyj$eYk<gNM2`@>{bpYdQKOna#=<Qf9+O+S6{ zx_(~Iru`1bHLTa^k_&vQo#+3)kSpf_|8W>yHQ-^K+~x>`K4!keGYRjcu|lA)Qz5id nLin`2`*HGzzDB(_HXa;3fJX<8H^;5KO<hQyb6RA@NkRVtnQxXc literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/cacert.pem b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/cacert.pem new file mode 100644 index 0000000..db68797 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/cacert.pem @@ -0,0 +1,4512 @@ + +# Issuer: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA +# Subject: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA +# Label: "GlobalSign Root CA" +# Serial: 4835703278459707669005204 +# MD5 Fingerprint: 3e:45:52:15:09:51:92:e1:b7:5d:37:9f:b1:87:29:8a +# SHA1 Fingerprint: b1:bc:96:8b:d4:f4:9d:62:2a:a8:9a:81:f2:15:01:52:a4:1d:82:9c +# SHA256 Fingerprint: eb:d4:10:40:e4:bb:3e:c7:42:c9:e3:81:d3:1e:f2:a4:1a:48:b6:68:5c:96:e7:ce:f3:c1:df:6c:d4:33:1c:99 +-----BEGIN CERTIFICATE----- +MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG +A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv +b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw +MDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i +YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT +aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ +jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp +xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp +1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG +snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ +U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8 +9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0B +AQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOz +yj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE +38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymP +AbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+WymXUad +DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME +HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R2 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R2 +# Label: "GlobalSign Root CA - R2" +# Serial: 4835703278459682885658125 +# MD5 Fingerprint: 94:14:77:7e:3e:5e:fd:8f:30:bd:41:b0:cf:e7:d0:30 +# SHA1 Fingerprint: 75:e0:ab:b6:13:85:12:27:1c:04:f8:5f:dd:de:38:e4:b7:24:2e:fe +# SHA256 Fingerprint: ca:42:dd:41:74:5f:d0:b8:1e:b9:02:36:2c:f9:d8:bf:71:9d:a1:bd:1b:1e:fc:94:6f:5b:4c:99:f4:2c:1b:9e +-----BEGIN CERTIFICATE----- +MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4G +A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNp +Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1 +MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEG +A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6ErPL +v4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8 +eoLrvozps6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklq +tTleiDTsvHgMCJiEbKjNS7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzd +C9XZzPnqJworc5HGnRusyMvo4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pa +zq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOBnDCB +mTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUm+IH +V2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5n +bG9iYWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG +3lm0mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4Gs +J0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO +291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRDLenVOavS +ot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG79G+dwfCMNYxd +AfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7 +TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg== +-----END CERTIFICATE----- + +# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only +# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only +# Label: "Verisign Class 3 Public Primary Certification Authority - G3" +# Serial: 206684696279472310254277870180966723415 +# MD5 Fingerprint: cd:68:b6:a7:c7:c4:ce:75:e0:1d:4f:57:44:61:92:09 +# SHA1 Fingerprint: 13:2d:0d:45:53:4b:69:97:cd:b2:d5:c3:39:e2:55:76:60:9b:5c:c6 +# SHA256 Fingerprint: eb:04:cf:5e:b1:f3:9a:fa:76:2f:2b:b1:20:f2:96:cb:a5:20:c1:b9:7d:b1:58:95:65:b8:1c:b9:a1:7b:72:44 +-----BEGIN CERTIFICATE----- +MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl +cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu +LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT +aWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp +dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD +VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT +aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ +bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu +IENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg +LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMu6nFL8eB8aHm8b +N3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1EUGO+i2t +KmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGu +kxUccLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBm +CC+Vk7+qRy+oRpfwEuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJ +Xwzw3sJ2zq/3avL6QaaiMxTJ5Xpj055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWu +imi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAERSWwauSCPc/L8my/uRan2Te +2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5fj267Cz3qWhMe +DGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC +/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565p +F4ErWjfJXir0xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGt +TxzhT5yvDwyd93gN2PQ1VoDat20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== +-----END CERTIFICATE----- + +# Issuer: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited +# Subject: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited +# Label: "Entrust.net Premium 2048 Secure Server CA" +# Serial: 946069240 +# MD5 Fingerprint: ee:29:31:bc:32:7e:9a:e6:e8:b5:f7:51:b4:34:71:90 +# SHA1 Fingerprint: 50:30:06:09:1d:97:d4:f5:ae:39:f7:cb:e7:92:7d:7d:65:2d:34:31 +# SHA256 Fingerprint: 6d:c4:71:72:e0:1c:bc:b0:bf:62:58:0d:89:5f:e2:b8:ac:9a:d4:f8:73:80:1e:0c:10:b9:c8:37:d2:1e:b1:77 +-----BEGIN CERTIFICATE----- +MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML +RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp +bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5 +IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQxNzUwNTFaFw0yOTA3 +MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3 +LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp +YWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG +A1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq +K0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOLGp18EzoOH1u3Hs/lJBQe +sYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSrhRSGlVuX +MlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVT +XTzWnLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/ +HoZdenoVve8AjhUiVBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH +4QIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV +HQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJKoZIhvcNAQEFBQADggEBADub +j1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPyT/4xmf3IDExo +U8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf +zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5b +u/8j72gZyxKTJ1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+ +bYQLCIt+jerXmCHG8+c8eS9enNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/Er +fF6adulZkMV8gzURZVE= +-----END CERTIFICATE----- + +# Issuer: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust +# Subject: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust +# Label: "Baltimore CyberTrust Root" +# Serial: 33554617 +# MD5 Fingerprint: ac:b6:94:a5:9c:17:e0:d7:91:52:9b:b1:97:06:a6:e4 +# SHA1 Fingerprint: d4:de:20:d0:5e:66:fc:53:fe:1a:50:88:2c:78:db:28:52:ca:e4:74 +# SHA256 Fingerprint: 16:af:57:a9:f6:76:b0:ab:12:60:95:aa:5e:ba:de:f2:2a:b3:11:19:d6:44:ac:95:cd:4b:93:db:f3:f2:6a:eb +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ +RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD +VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX +DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y +ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy +VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr +mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr +IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK +mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu +XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy +dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye +jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1 +BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3 +DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92 +9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx +jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0 +Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz +ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS +R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp +-----END CERTIFICATE----- + +# Issuer: CN=AddTrust External CA Root O=AddTrust AB OU=AddTrust External TTP Network +# Subject: CN=AddTrust External CA Root O=AddTrust AB OU=AddTrust External TTP Network +# Label: "AddTrust External Root" +# Serial: 1 +# MD5 Fingerprint: 1d:35:54:04:85:78:b0:3f:42:42:4d:bf:20:73:0a:3f +# SHA1 Fingerprint: 02:fa:f3:e2:91:43:54:68:60:78:57:69:4d:f5:e4:5b:68:85:18:68 +# SHA256 Fingerprint: 68:7f:a4:51:38:22:78:ff:f0:c8:b1:1f:8d:43:d5:76:67:1c:6e:b2:bc:ea:b4:13:fb:83:d9:65:d0:6d:2f:f2 +-----BEGIN CERTIFICATE----- +MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU +MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs +IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290 +MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux +FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h +bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v +dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt +H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9 +uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX +mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX +a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN +E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0 +WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD +VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0 +Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU +cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx +IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN +AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH +YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 +6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC +Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX +c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a +mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= +-----END CERTIFICATE----- + +# Issuer: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc. +# Subject: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc. +# Label: "Entrust Root Certification Authority" +# Serial: 1164660820 +# MD5 Fingerprint: d6:a5:c3:ed:5d:dd:3e:00:c1:3d:87:92:1f:1d:3f:e4 +# SHA1 Fingerprint: b3:1e:b1:b7:40:e3:6c:84:02:da:dc:37:d4:4d:f5:d4:67:49:52:f9 +# SHA256 Fingerprint: 73:c1:76:43:4f:1b:c6:d5:ad:f4:5b:0e:76:e7:27:28:7c:8d:e5:76:16:c1:e6:e6:14:1a:2b:2c:bc:7d:8e:4c +-----BEGIN CERTIFICATE----- +MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMC +VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0 +Lm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW +KGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl +cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0MloXDTI2MTEyNzIw +NTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMTkw +NwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSBy +ZWZlcmVuY2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNV +BAMTJEVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBALaVtkNC+sZtKm9I35RMOVcF7sN5EUFo +Nu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYszA9u3g3s+IIRe7bJWKKf4 +4LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOwwCj0Yzfv9 +KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGI +rb68j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi +94DkZfs0Nw4pgHBNrziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOB +sDCBrTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAi +gA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1MzQyWjAfBgNVHSMEGDAWgBRo +kORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DHhmak8fdLQ/uE +vW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA +A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9t +O1KzKtvn1ISMY/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6Zua +AGAT/3B+XxFNSRuzFVJ7yVTav52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP +9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTSW3iDVuycNsMm4hH2Z0kdkquM++v/ +eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0tHuu2guQOHXvgR1m +0vdXcDazv/wor3ElhVsT/h5/WrQ8 +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Global CA O=GeoTrust Inc. +# Subject: CN=GeoTrust Global CA O=GeoTrust Inc. +# Label: "GeoTrust Global CA" +# Serial: 144470 +# MD5 Fingerprint: f7:75:ab:29:fb:51:4e:b7:77:5e:ff:05:3c:99:8e:f5 +# SHA1 Fingerprint: de:28:f4:a4:ff:e5:b9:2f:a3:c5:03:d1:a3:49:a7:f9:96:2a:82:12 +# SHA256 Fingerprint: ff:85:6a:2d:25:1d:cd:88:d3:66:56:f4:50:12:67:98:cf:ab:aa:de:40:79:9c:72:2d:e4:d2:b5:db:36:a7:3a +-----BEGIN CERTIFICATE----- +MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT +MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i +YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG +EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg +R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9 +9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq +fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv +iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU +1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+ +bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW +MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA +ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l +uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn +Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS +tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF +PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un +hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV +5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw== +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Universal CA O=GeoTrust Inc. +# Subject: CN=GeoTrust Universal CA O=GeoTrust Inc. +# Label: "GeoTrust Universal CA" +# Serial: 1 +# MD5 Fingerprint: 92:65:58:8b:a2:1a:31:72:73:68:5c:b4:a5:7a:07:48 +# SHA1 Fingerprint: e6:21:f3:35:43:79:05:9a:4b:68:30:9d:8a:2f:74:22:15:87:ec:79 +# SHA256 Fingerprint: a0:45:9b:9f:63:b2:25:59:f5:fa:5d:4c:6d:b3:f9:f7:2f:f1:93:42:03:35:78:f0:73:bf:1d:1b:46:cb:b9:12 +-----BEGIN CERTIFICATE----- +MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEW +MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVy +c2FsIENBMB4XDTA0MDMwNDA1MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UE +BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xHjAcBgNVBAMTFUdlb1RydXN0 +IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKYV +VaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9tJPi8 +cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTT +QjOgNB0eRXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFh +F7em6fgemdtzbvQKoiFs7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2v +c7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d8Lsrlh/eezJS/R27tQahsiFepdaVaH/w +mZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7VqnJNk22CDtucvc+081xd +VHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3CgaRr0BHdCX +teGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZ +f9hBZ3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfRe +Bi9Fi1jUIxaS5BZuKGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+ +nhutxx9z3SxPGWX9f5NAEC7S8O08ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0XG0D08DYj3rWMB8GA1UdIwQY +MBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG +9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc +aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fX +IwjhmF7DWgh2qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzyn +ANXH/KttgCJwpQzgXQQpAvvLoJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0z +uzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsKxr2EoyNB3tZ3b4XUhRxQ4K5RirqN +Pnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxFKyDuSN/n3QmOGKja +QI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2DFKW +koRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9 +ER/frslKxfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQt +DF4JbAiXfKM9fJP/P6EUp8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/Sfuvm +bJxPgWp6ZKy7PtXny3YuxadIwVyQD8vIP/rmMuGNG2+k5o7Y+SlIis5z/iw= +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Universal CA 2 O=GeoTrust Inc. +# Subject: CN=GeoTrust Universal CA 2 O=GeoTrust Inc. +# Label: "GeoTrust Universal CA 2" +# Serial: 1 +# MD5 Fingerprint: 34:fc:b8:d0:36:db:9e:14:b3:c2:f2:db:8f:e4:94:c7 +# SHA1 Fingerprint: 37:9a:19:7b:41:85:45:35:0c:a6:03:69:f3:3c:2e:af:47:4f:20:79 +# SHA256 Fingerprint: a0:23:4f:3b:c8:52:7c:a5:62:8e:ec:81:ad:5d:69:89:5d:a5:68:0d:c9:1d:1c:b8:47:7f:33:f8:78:b9:5b:0b +-----BEGIN CERTIFICATE----- +MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEW +MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVy +c2FsIENBIDIwHhcNMDQwMzA0MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYD +VQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1 +c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC +AQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0DE81 +WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUG +FF+3Qs17j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdq +XbboW0W63MOhBW9Wjo8QJqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxL +se4YuU6W3Nx2/zu+z18DwPw76L5GG//aQMJS9/7jOvdqdzXQ2o3rXhhqMcceujwb +KNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2WP0+GfPtDCapkzj4T8Fd +IgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP20gaXT73 +y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRt +hAAnZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgoc +QIgfksILAAX/8sgCSqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4 +Lt1ZrtmhN79UNdxzMk+MBB4zsslG8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAfBgNV +HSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8EBAMCAYYwDQYJ +KoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z +dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQ +L1EuxBRa3ugZ4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgr +Fg5fNuH8KrUwJM/gYwx7WBr+mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSo +ag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpqA1Ihn0CoZ1Dy81of398j9tx4TuaY +T1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpgY+RdM4kX2TGq2tbz +GDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiPpm8m +1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJV +OCiNUW7dFGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH +6aLcr34YEoP9VhdBLtUpgn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwX +QMAJKOSLakhT2+zNVVXxxvjpoixMptEmX36vWkzaH6byHCx+rgIW0lbQL1dTR+iS +-----END CERTIFICATE----- + +# Issuer: CN=AAA Certificate Services O=Comodo CA Limited +# Subject: CN=AAA Certificate Services O=Comodo CA Limited +# Label: "Comodo AAA Services root" +# Serial: 1 +# MD5 Fingerprint: 49:79:04:b0:eb:87:19:ac:47:b0:bc:11:51:9b:74:d0 +# SHA1 Fingerprint: d1:eb:23:a4:6d:17:d6:8f:d9:25:64:c2:f1:f1:60:17:64:d8:e3:49 +# SHA256 Fingerprint: d7:a7:a0:fb:5d:7e:27:31:d7:71:e9:48:4e:bc:de:f7:1d:5f:0c:3e:0a:29:48:78:2b:c8:3e:e0:ea:69:9e:f4 +-----BEGIN CERTIFICATE----- +MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb +MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow +GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj +YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL +MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE +BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM +GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua +BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe +3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4 +YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR +rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm +ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU +oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF +MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v +QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t +b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF +AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q +GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz +Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2 +G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi +l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3 +smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg== +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root Certification Authority O=QuoVadis Limited OU=Root Certification Authority +# Subject: CN=QuoVadis Root Certification Authority O=QuoVadis Limited OU=Root Certification Authority +# Label: "QuoVadis Root CA" +# Serial: 985026699 +# MD5 Fingerprint: 27:de:36:fe:72:b7:00:03:00:9d:f4:f0:1e:6c:04:24 +# SHA1 Fingerprint: de:3f:40:bd:50:93:d3:9b:6c:60:f6:da:bc:07:62:01:00:89:76:c9 +# SHA256 Fingerprint: a4:5e:de:3b:bb:f0:9c:8a:e1:5c:72:ef:c0:72:68:d6:93:a2:1c:99:6f:d5:1e:67:ca:07:94:60:fd:6d:88:73 +-----BEGIN CERTIFICATE----- +MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJC +TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0 +aWZpY2F0aW9uIEF1dGhvcml0eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0 +aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAzMTkxODMzMzNaFw0yMTAzMTcxODMz +MzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUw +IwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQDEyVR +dW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Yp +li4kVEAkOPcahdxYTMukJ0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2D +rOpm2RgbaIr1VxqYuvXtdj182d6UajtLF8HVj71lODqV0D1VNk7feVcxKh7YWWVJ +WCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeLYzcS19Dsw3sgQUSj7cug +F+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWenAScOospU +xbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCC +Ak4wPQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVv +dmFkaXNvZmZzaG9yZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREw +ggENMIIBCQYJKwYBBAG+WAABMIH7MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNl +IG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBh +c3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFy +ZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh +Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYI +KwYBBQUHAgEWFmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3T +KbkGGew5Oanwl4Rqy+/fMIGuBgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rq +y+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1p +dGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYD +VQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6tlCL +MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSk +fnIYj9lofFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf8 +7C9TqnN7Az10buYWnuulLsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1R +cHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2xgI4JVrmcGmD+XcHXetwReNDWXcG31a0y +mQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi5upZIof4l/UO/erMkqQW +xFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi5nrQNiOK +SnQ2+Q== +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 2 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 2 O=QuoVadis Limited +# Label: "QuoVadis Root CA 2" +# Serial: 1289 +# MD5 Fingerprint: 5e:39:7b:dd:f8:ba:ec:82:e9:ac:62:ba:0c:54:00:2b +# SHA1 Fingerprint: ca:3a:fb:cf:12:40:36:4b:44:b2:16:20:88:80:48:39:19:93:7c:f7 +# SHA256 Fingerprint: 85:a0:dd:7d:d7:20:ad:b7:ff:05:f8:3d:54:2b:20:9d:c7:ff:45:28:f7:d6:77:b1:83:89:fe:a5:e5:c4:9e:86 +-----BEGIN CERTIFICATE----- +MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x +GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv +b3QgQ0EgMjAeFw0wNjExMjQxODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNV +BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W +YWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCa +GMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6XJxg +Fyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55J +WpzmM+Yklvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bB +rrcCaoF6qUWD4gXmuVbBlDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp ++ARz8un+XJiM9XOva7R+zdRcAitMOeGylZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1 +ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt66/3FsvbzSUr5R/7mp/i +Ucw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1JdxnwQ5hYIiz +PtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og +/zOhD7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UH +oycR7hYQe7xFSkyyBNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuI +yV77zGHcizN300QyNQliBJIWENieJ0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1Ud +EwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBQahGK8SEwzJQTU7tD2 +A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGUa6FJpEcwRTEL +MAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT +ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2f +BluornFdLwUvZ+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzn +g/iN/Ae42l9NLmeyhP3ZRPx3UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2Bl +fF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodmVjB3pjd4M1IQWK4/YY7yarHvGH5K +WWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK+JDSV6IZUaUtl0Ha +B0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrWIozc +hLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPR +TUIZ3Ph1WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWD +mbA4CD/pXvk1B+TJYm5Xf6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0Z +ohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y +4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8VCLAAVBpQ570su9t+Oza +8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 3 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 3 O=QuoVadis Limited +# Label: "QuoVadis Root CA 3" +# Serial: 1478 +# MD5 Fingerprint: 31:85:3c:62:94:97:63:b9:aa:fd:89:4e:af:6f:e0:cf +# SHA1 Fingerprint: 1f:49:14:f7:d8:74:95:1d:dd:ae:02:c0:be:fd:3a:2d:82:75:51:85 +# SHA256 Fingerprint: 18:f1:fc:7f:20:5d:f8:ad:dd:eb:7f:e0:07:dd:57:e3:af:37:5a:9c:4d:8d:73:54:6b:f4:f1:fe:d1:e1:8d:35 +-----BEGIN CERTIFICATE----- +MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x +GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv +b3QgQ0EgMzAeFw0wNjExMjQxOTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNV +BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W +YWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDM +V0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNggDhoB +4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUr +H556VOijKTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd +8lyyBTNvijbO0BNO/79KDDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9Cabwv +vWhDFlaJKjdhkf2mrk7AyxRllDdLkgbvBNDInIjbC3uBr7E9KsRlOni27tyAsdLT +mZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwpp5ijJUMv7/FfJuGITfhe +btfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8nT8KKdjc +T5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDt +WAEXMJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZ +c6tsgLjoC2SToJyMGf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A +4iLItLRkT9a6fUg+qGkM17uGcclzuD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYD +VR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHTBgkrBgEEAb5YAAMwgcUwgZMG +CCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmljYXRlIGNvbnN0 +aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0 +aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVu +dC4wLQYIKwYBBQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2Nw +czALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4G +A1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4ywLQoUmkRzBFMQswCQYDVQQGEwJC +TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UEAxMSUXVvVmFkaXMg +Um9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZVqyM0 +7ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSem +d1o417+shvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd ++LJ2w/w4E6oM3kJpK27zPOuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B +4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadN +t54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp8kokUvd0/bpO5qgdAm6x +DYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBCbjPsMZ57 +k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6s +zHXug/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0j +Wy10QJLZYxkNc91pvGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeT +mJlglFwjz1onl14LBQaTNx47aTbrqZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK +4SVhM7JZG+Ju1zdXtg2pEto= +-----END CERTIFICATE----- + +# Issuer: O=SECOM Trust.net OU=Security Communication RootCA1 +# Subject: O=SECOM Trust.net OU=Security Communication RootCA1 +# Label: "Security Communication Root CA" +# Serial: 0 +# MD5 Fingerprint: f1:bc:63:6a:54:e0:b5:27:f5:cd:e7:1a:e3:4d:6e:4a +# SHA1 Fingerprint: 36:b1:2b:49:f9:81:9e:d7:4c:9e:bc:38:0f:c6:56:8f:5d:ac:b2:f7 +# SHA256 Fingerprint: e7:5e:72:ed:9f:56:0e:ec:6e:b4:80:00:73:a4:3f:c3:ad:19:19:5a:39:22:82:01:78:95:97:4a:99:02:6b:6c +-----BEGIN CERTIFICATE----- +MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEY +MBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21t +dW5pY2F0aW9uIFJvb3RDQTEwHhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5 +WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYD +VQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw8yl8 +9f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJ +DKaVv0uMDPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9 +Ms+k2Y7CI9eNqPPYJayX5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/N +QV3Is00qVUarH9oe4kA92819uZKAnDfdDJZkndwi92SL32HeFZRSFaB9UslLqCHJ +xrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2JChzAgMBAAGjPzA9MB0G +A1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYwDwYDVR0T +AQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vG +kl3g0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfr +Uj94nK9NrvjVT8+amCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5 +Bw+SUEmK3TGXX8npN6o7WWWXlDLJs58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJU +JRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ6rBK+1YWc26sTfcioU+tHXot +RSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAiFL39vmwLAw== +-----END CERTIFICATE----- + +# Issuer: CN=Sonera Class2 CA O=Sonera +# Subject: CN=Sonera Class2 CA O=Sonera +# Label: "Sonera Class 2 Root CA" +# Serial: 29 +# MD5 Fingerprint: a3:ec:75:0f:2e:88:df:fa:48:01:4e:0b:5c:48:6f:fb +# SHA1 Fingerprint: 37:f7:6d:e6:07:7c:90:c5:b1:3e:93:1a:b7:41:10:b4:f2:e4:9a:27 +# SHA256 Fingerprint: 79:08:b4:03:14:c1:38:10:0b:51:8d:07:35:80:7f:fb:fc:f8:51:8a:00:95:33:71:05:ba:38:6b:15:3d:d9:27 +-----BEGIN CERTIFICATE----- +MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEP +MA0GA1UEChMGU29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAx +MDQwNjA3Mjk0MFoXDTIxMDQwNjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNV +BAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJhIENsYXNzMiBDQTCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3/Ei9vX+ALTU74W+o +Z6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybTdXnt +5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s +3TmVToMGf+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2Ej +vOr7nQKV0ba5cTppCD8PtOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu +8nYybieDwnPz3BjotJPqdURrBGAgcVeHnfO+oJAjPYok4doh28MCAwEAAaMzMDEw +DwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITTXjwwCwYDVR0PBAQDAgEG +MA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt0jSv9zil +zqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/ +3DEIcbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvD +FNr450kkkdAdavphOe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6 +Tk6ezAyNlNzZRZxe7EJQY670XcSxEtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2 +ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLHllpwrN9M +-----END CERTIFICATE----- + +# Issuer: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com +# Subject: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com +# Label: "XRamp Global CA Root" +# Serial: 107108908803651509692980124233745014957 +# MD5 Fingerprint: a1:0b:44:b3:ca:10:d8:00:6e:9d:0f:d8:0f:92:0a:d1 +# SHA1 Fingerprint: b8:01:86:d1:eb:9c:86:a5:41:04:cf:30:54:f3:4c:52:b7:e5:58:c6 +# SHA256 Fingerprint: ce:cd:dc:90:50:99:d8:da:df:c5:b1:d2:09:b7:37:cb:e2:c1:8c:fb:2c:10:c0:ff:0b:cf:0d:32:86:fc:1a:a2 +-----BEGIN CERTIFICATE----- +MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCB +gjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEk +MCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRY +UmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQxMTAxMTcx +NDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3 +dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2Vy +dmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS6 +38eMpSe2OAtp87ZOqCwuIR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCP +KZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMxfoArtYzAQDsRhtDLooY2YKTVMIJt2W7Q +DxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FEzG+gSqmUsE3a56k0enI4 +qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqsAxcZZPRa +JSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNVi +PvryxS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0P +BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASs +jVy16bYbMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0 +eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQEwDQYJKoZIhvcNAQEFBQAD +ggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc/Kh4ZzXxHfAR +vbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt +qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLa +IR9NmXmd4c8nnxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSy +i6mx5O+aGtA9aZnuqCij4Tyz8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQ +O+7ETPTsJ3xCwnR8gooJybQDJbw= +-----END CERTIFICATE----- + +# Issuer: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority +# Subject: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority +# Label: "Go Daddy Class 2 CA" +# Serial: 0 +# MD5 Fingerprint: 91:de:06:25:ab:da:fd:32:17:0c:bb:25:17:2a:84:67 +# SHA1 Fingerprint: 27:96:ba:e6:3f:18:01:e2:77:26:1b:a0:d7:77:70:02:8f:20:ee:e4 +# SHA256 Fingerprint: c3:84:6b:f2:4b:9e:93:ca:64:27:4c:0e:c6:7c:1e:cc:5e:02:4f:fc:ac:d2:d7:40:19:35:0e:81:fe:54:6a:e4 +-----BEGIN CERTIFICATE----- +MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh +MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE +YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3 +MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo +ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg +MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN +ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA +PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w +wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi +EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY +avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+ +YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE +sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h +/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5 +IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD +ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy +OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P +TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ +HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER +dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf +ReYNnyicsbkqWletNw+vHX/bvZ8= +-----END CERTIFICATE----- + +# Issuer: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority +# Subject: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority +# Label: "Starfield Class 2 CA" +# Serial: 0 +# MD5 Fingerprint: 32:4a:4b:bb:c8:63:69:9b:be:74:9a:c6:dd:1d:46:24 +# SHA1 Fingerprint: ad:7e:1c:28:b0:64:ef:8f:60:03:40:20:14:c3:d0:e3:37:0e:b5:8a +# SHA256 Fingerprint: 14:65:fa:20:53:97:b8:76:fa:a6:f0:a9:95:8e:55:90:e4:0f:cc:7f:aa:4f:b7:c2:c8:67:75:21:fb:5f:b6:58 +-----BEGIN CERTIFICATE----- +MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzEl +MCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMp +U3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQw +NjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UE +ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZp +ZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3 +DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf +8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN ++lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0 +X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aa +K4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA +1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0G +A1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fR +zt0fhvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0 +YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBD +bGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8w +DQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1epoXkJKtv3 +L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D +eruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl +xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynp +VSJYACPq4xJDKVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEY +WQPJIrSPnNVeKtelttQKbfi3QBFGmh95DmK/D5fs4C8fF5Q= +-----END CERTIFICATE----- + +# Issuer: O=Government Root Certification Authority +# Subject: O=Government Root Certification Authority +# Label: "Taiwan GRCA" +# Serial: 42023070807708724159991140556527066870 +# MD5 Fingerprint: 37:85:44:53:32:45:1f:20:f0:f3:95:e1:25:c4:43:4e +# SHA1 Fingerprint: f4:8b:11:bf:de:ab:be:94:54:20:71:e6:41:de:6b:be:88:2b:40:b9 +# SHA256 Fingerprint: 76:00:29:5e:ef:e8:5b:9e:1f:d6:24:db:76:06:2a:aa:ae:59:81:8a:54:d2:77:4c:d4:c0:b2:c0:11:31:e1:b3 +-----BEGIN CERTIFICATE----- +MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/ +MQswCQYDVQQGEwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5MB4XDTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1ow +PzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dvdmVybm1lbnQgUm9vdCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB +AJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qNw8XR +IePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1q +gQdW8or5BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKy +yhwOeYHWtXBiCAEuTk8O1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAts +F/tnyMKtsc2AtJfcdgEWFelq16TheEfOhtX7MfP6Mb40qij7cEwdScevLJ1tZqa2 +jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wovJ5pGfaENda1UhhXcSTvx +ls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7Q3hub/FC +VGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHK +YS1tB6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoH +EgKXTiCQ8P8NHuJBO9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThN +Xo+EHWbNxWCWtFJaBYmOlXqYwZE8lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1Ud +DgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNVHRMEBTADAQH/MDkGBGcqBwAE +MTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg209yewDL7MTqK +UWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ +TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyf +qzvS/3WXy6TjZwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaK +ZEk9GhiHkASfQlK3T8v+R0F2Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFE +JPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlUD7gsL0u8qV1bYH+Mh6XgUmMqvtg7 +hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6QzDxARvBMB1uUO07+1 +EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+HbkZ6Mm +nD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WX +udpVBrkk7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44Vbnz +ssQwmSNOXfJIoRIM3BKQCZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDe +LMDDav7v3Aun+kbfYNucpllQdSNpc5Oy+fwC00fmcc4QAu4njIT/rEUNE1yDMuAl +pYYsfPQS +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Assured ID Root CA" +# Serial: 17154717934120587862167794914071425081 +# MD5 Fingerprint: 87:ce:0b:7b:2a:0e:49:00:e1:58:71:9b:37:a8:93:72 +# SHA1 Fingerprint: 05:63:b8:63:0d:62:d7:5a:bb:c8:ab:1e:4b:df:b5:a8:99:b2:4d:43 +# SHA256 Fingerprint: 3e:90:99:b5:01:5e:8f:48:6c:00:bc:ea:9d:11:1e:e7:21:fa:ba:35:5a:89:bc:f1:df:69:56:1e:3d:c6:32:5c +-----BEGIN CERTIFICATE----- +MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv +b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl +cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c +JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP +mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+ +wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4 +VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/ +AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB +AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW +BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun +pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC +dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf +fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm +NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx +H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe ++o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Global Root CA" +# Serial: 10944719598952040374951832963794454346 +# MD5 Fingerprint: 79:e4:a9:84:0d:7d:3a:96:d7:c0:4f:e2:43:4c:89:2e +# SHA1 Fingerprint: a8:98:5d:3a:65:e5:e5:c4:b2:d7:d6:6d:40:c6:dd:2f:b1:9c:54:36 +# SHA256 Fingerprint: 43:48:a0:e9:44:4c:78:cb:26:5e:05:8d:5e:89:44:b4:d8:4f:96:62:bd:26:db:25:7f:89:34:a4:43:c7:01:61 +-----BEGIN CERTIFICATE----- +MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD +QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT +MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j +b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB +CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97 +nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt +43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P +T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4 +gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO +BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR +TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw +DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr +hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg +06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF +PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls +YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk +CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert High Assurance EV Root CA" +# Serial: 3553400076410547919724730734378100087 +# MD5 Fingerprint: d4:74:de:57:5c:39:b2:d3:9c:85:83:c5:c0:65:49:8a +# SHA1 Fingerprint: 5f:b7:ee:06:33:e2:59:db:ad:0c:4c:9a:e6:d3:8f:1a:61:c7:dc:25 +# SHA256 Fingerprint: 74:31:e5:f4:c3:c1:ce:46:90:77:4f:0b:61:e0:54:40:88:3b:a9:a0:1e:d0:0b:a6:ab:d7:80:6e:d3:b1:18:cf +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j +ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL +MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 +LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug +RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm ++9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW +PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM +xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB +Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3 +hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg +EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA +FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec +nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z +eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF +hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2 +Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe +vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep ++OkuE6N36B9K +-----END CERTIFICATE----- + +# Issuer: CN=Class 2 Primary CA O=Certplus +# Subject: CN=Class 2 Primary CA O=Certplus +# Label: "Certplus Class 2 Primary CA" +# Serial: 177770208045934040241468760488327595043 +# MD5 Fingerprint: 88:2c:8c:52:b8:a2:3c:f3:f7:bb:03:ea:ae:ac:42:0b +# SHA1 Fingerprint: 74:20:74:41:72:9c:dd:92:ec:79:31:d8:23:10:8d:c2:81:92:e2:bb +# SHA256 Fingerprint: 0f:99:3c:8a:ef:97:ba:af:56:87:14:0e:d5:9a:d1:82:1b:b4:af:ac:f0:aa:9a:58:b5:d5:7a:33:8a:3a:fb:cb +-----BEGIN CERTIFICATE----- +MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAw +PTELMAkGA1UEBhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFz +cyAyIFByaW1hcnkgQ0EwHhcNOTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9 +MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2VydHBsdXMxGzAZBgNVBAMTEkNsYXNz +IDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxQ +ltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR5aiR +VhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyL +kcAbmXuZVg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCd +EgETjdyAYveVqUSISnFOYFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yas +H7WLO7dDWWuwJKZtkIvEcupdM5i3y95ee++U8Rs+yskhwcWYAqqi9lt3m/V+llU0 +HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRMECDAGAQH/AgEKMAsGA1Ud +DwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJYIZIAYb4 +QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMu +Y29tL0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/ +AN9WM2K191EBkOvDP9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8 +yfFC82x/xXp8HVGIutIKPidd3i1RTtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMR +FcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+7UCmnYR0ObncHoUW2ikbhiMA +ybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW//1IMwrh3KWB +kJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7 +l7+ijrRU +-----END CERTIFICATE----- + +# Issuer: CN=DST Root CA X3 O=Digital Signature Trust Co. +# Subject: CN=DST Root CA X3 O=Digital Signature Trust Co. +# Label: "DST Root CA X3" +# Serial: 91299735575339953335919266965803778155 +# MD5 Fingerprint: 41:03:52:dc:0f:f7:50:1b:16:f0:02:8e:ba:6f:45:c5 +# SHA1 Fingerprint: da:c9:02:4f:54:d8:f6:df:94:93:5f:b1:73:26:38:ca:6a:d7:7c:13 +# SHA256 Fingerprint: 06:87:26:03:31:a7:24:03:d9:09:f1:05:e6:9b:cf:0d:32:e1:bd:24:93:ff:c6:d9:20:6d:11:bc:d6:77:07:39 +-----BEGIN CERTIFICATE----- +MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/ +MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT +DkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow +PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD +Ew5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +AN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4O +rz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq +OLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b +xiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw +7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD +aeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV +HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqG +SIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69 +ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXr +AvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZz +R8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5 +JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYo +Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ +-----END CERTIFICATE----- + +# Issuer: CN=SwissSign Gold CA - G2 O=SwissSign AG +# Subject: CN=SwissSign Gold CA - G2 O=SwissSign AG +# Label: "SwissSign Gold CA - G2" +# Serial: 13492815561806991280 +# MD5 Fingerprint: 24:77:d9:a8:91:d1:3b:fa:88:2d:c2:ff:f8:cd:33:93 +# SHA1 Fingerprint: d8:c5:38:8a:b7:30:1b:1b:6e:d4:7a:e6:45:25:3a:6f:9f:1a:27:61 +# SHA256 Fingerprint: 62:dd:0b:e9:b9:f5:0a:16:3e:a0:f8:e7:5c:05:3b:1e:ca:57:ea:55:c8:68:8f:64:7c:68:81:f2:c8:35:7b:95 +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +# Issuer: CN=SwissSign Silver CA - G2 O=SwissSign AG +# Subject: CN=SwissSign Silver CA - G2 O=SwissSign AG +# Label: "SwissSign Silver CA - G2" +# Serial: 5700383053117599563 +# MD5 Fingerprint: e0:06:a1:c9:7d:cf:c9:fc:0d:c0:56:75:96:d8:62:13 +# SHA1 Fingerprint: 9b:aa:e5:9f:56:ee:21:cb:43:5a:be:25:93:df:a7:f0:40:d1:1d:cb +# SHA256 Fingerprint: be:6c:4d:a2:bb:b9:ba:59:b6:f3:93:97:68:37:42:46:c3:c0:05:99:3f:a9:8f:02:0d:1d:ed:be:d4:8a:81:d5 +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Primary Certification Authority O=GeoTrust Inc. +# Subject: CN=GeoTrust Primary Certification Authority O=GeoTrust Inc. +# Label: "GeoTrust Primary Certification Authority" +# Serial: 32798226551256963324313806436981982369 +# MD5 Fingerprint: 02:26:c3:01:5e:08:30:37:43:a9:d0:7d:cf:37:e6:bf +# SHA1 Fingerprint: 32:3c:11:8e:1b:f7:b8:b6:52:54:e2:e2:10:0d:d6:02:90:37:f0:96 +# SHA256 Fingerprint: 37:d5:10:06:c5:12:ea:ab:62:64:21:f1:ec:8c:92:01:3f:c5:f8:2a:e9:8e:e5:33:eb:46:19:b8:de:b4:d0:6c +-----BEGIN CERTIFICATE----- +MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBY +MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMo +R2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEx +MjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgxCzAJBgNVBAYTAlVTMRYwFAYDVQQK +Ew1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQcmltYXJ5IENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9 +AWbK7hWNb6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjA +ZIVcFU2Ix7e64HXprQU9nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE0 +7e9GceBrAqg1cmuXm2bgyxx5X9gaBGgeRwLmnWDiNpcB3841kt++Z8dtd1k7j53W +kBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGttm/81w7a4DSwDRp35+MI +mO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G +A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJ +KoZIhvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ1 +6CePbJC/kRYkRj5KTs4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl +4b7UVXGYNTq+k+qurUKykG/g/CFNNWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6K +oKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHaFloxt/m0cYASSJlyc1pZU8Fj +UjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG1riR/aYNKxoU +AT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk= +-----END CERTIFICATE----- + +# Issuer: CN=thawte Primary Root CA O=thawte, Inc. OU=Certification Services Division/(c) 2006 thawte, Inc. - For authorized use only +# Subject: CN=thawte Primary Root CA O=thawte, Inc. OU=Certification Services Division/(c) 2006 thawte, Inc. - For authorized use only +# Label: "thawte Primary Root CA" +# Serial: 69529181992039203566298953787712940909 +# MD5 Fingerprint: 8c:ca:dc:0b:22:ce:f5:be:72:ac:41:1a:11:a8:d8:12 +# SHA1 Fingerprint: 91:c6:d6:ee:3e:8a:c8:63:84:e5:48:c2:99:29:5c:75:6c:81:7b:81 +# SHA256 Fingerprint: 8d:72:2f:81:a9:c1:13:c0:79:1d:f1:36:a2:96:6d:b2:6c:95:0a:97:1d:b4:6b:41:99:f4:ea:54:b7:8b:fb:9f +-----BEGIN CERTIFICATE----- +MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCB +qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf +Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw +MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV +BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3MDAwMDAwWhcNMzYw +NzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5j +LjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYG +A1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl +IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFs +W0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta +3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk +6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6 +Sk/KaAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94J +NqR32HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA +MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XP +r87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7ORtvzw6WfU +DW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeEuzLlQRHAd9mz +YJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX +xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2 +/qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/ +LHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7 +jVaMaA== +-----END CERTIFICATE----- + +# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G5 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2006 VeriSign, Inc. - For authorized use only +# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G5 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2006 VeriSign, Inc. - For authorized use only +# Label: "VeriSign Class 3 Public Primary Certification Authority - G5" +# Serial: 33037644167568058970164719475676101450 +# MD5 Fingerprint: cb:17:e4:31:67:3e:e2:09:fe:45:57:93:f3:0a:fa:1c +# SHA1 Fingerprint: 4e:b6:d5:78:49:9b:1c:cf:5f:58:1e:ad:56:be:3d:9b:67:44:a5:e5 +# SHA256 Fingerprint: 9a:cf:ab:7e:43:c8:d8:80:d0:6b:26:2a:94:de:ee:e4:b4:65:99:89:c3:d0:ca:f1:9b:af:64:05:e4:1a:b7:df +-----BEGIN CERTIFICATE----- +MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCB +yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL +ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp +U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW +ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCByjEL +MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW +ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2ln +biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp +U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y +aXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1 +nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbex +t0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIz +SdhDY2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQG +BO+QueQA5N06tRn/Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+ +rCpSx4/VBEnkjWNHiDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/ +NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E +BAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAH +BgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy +aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKv +MzEzMA0GCSqGSIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzE +p6B4Eq1iDkVwZMXnl2YtmAl+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y +5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKEKQsTb47bDN0lAtukixlE0kF6BWlK +WE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiCKm0oHw0LxOXnGiYZ +4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vEZV8N +hnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq +-----END CERTIFICATE----- + +# Issuer: CN=SecureTrust CA O=SecureTrust Corporation +# Subject: CN=SecureTrust CA O=SecureTrust Corporation +# Label: "SecureTrust CA" +# Serial: 17199774589125277788362757014266862032 +# MD5 Fingerprint: dc:32:c3:a7:6d:25:57:c7:68:09:9d:ea:2d:a9:a2:d1 +# SHA1 Fingerprint: 87:82:c6:c3:04:35:3b:cf:d2:96:92:d2:59:3e:7d:44:d9:34:ff:11 +# SHA256 Fingerprint: f1:c1:b5:0a:e5:a2:0d:d8:03:0e:c9:f6:bc:24:82:3d:d3:67:b5:25:57:59:b4:e7:1b:61:fc:e9:f7:37:5d:73 +-----BEGIN CERTIFICATE----- +MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBI +MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x +FzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIz +MTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENv +cnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCCASIwDQYJKoZIhvcN +AQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQXOZEz +Zum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO +0gMdA+9tDWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIao +wW8xQmxSPmjL8xk037uHGFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj +7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b01k/unK8RCSc43Oz969XL0Imnal0ugBS +8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmHursCAwEAAaOBnTCBmjAT +BgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCeg +JYYjaHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGC +NxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt3 +6Z3q059c4EVlew3KW+JwULKUBRSuSceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/ +3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHfmbx8IVQr5Fiiu1cprp6poxkm +D5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZnMUFdAvnZyPS +CPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR +3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= +-----END CERTIFICATE----- + +# Issuer: CN=Secure Global CA O=SecureTrust Corporation +# Subject: CN=Secure Global CA O=SecureTrust Corporation +# Label: "Secure Global CA" +# Serial: 9751836167731051554232119481456978597 +# MD5 Fingerprint: cf:f4:27:0d:d4:ed:dc:65:16:49:6d:3d:da:bf:6e:de +# SHA1 Fingerprint: 3a:44:73:5a:e5:81:90:1f:24:86:61:46:1e:3b:9c:c4:5f:f5:3a:1b +# SHA256 Fingerprint: 42:00:f5:04:3a:c8:59:0e:bb:52:7d:20:9e:d1:50:30:29:fb:cb:d4:1c:a1:b5:06:ec:27:f1:5a:de:7d:ac:69 +-----BEGIN CERTIFICATE----- +MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBK +MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x +GTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkx +MjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3Qg +Q29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jxYDiJ +iQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa +/FHtaMbQbqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJ +jnIFHovdRIWCQtBJwB1g8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnI +HmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYVHDGA76oYa8J719rO+TMg1fW9ajMtgQT7 +sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi0XPnj3pDAgMBAAGjgZ0w +gZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCsw +KaAnoCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsG +AQQBgjcVAQQDAgEAMA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0L +URYD7xh8yOOvaliTFGCRsoTciE6+OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXO +H0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cnCDpOGR86p1hcF895P4vkp9Mm +I50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/53CYNv6ZHdAbY +iNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc +f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW +-----END CERTIFICATE----- + +# Issuer: CN=COMODO Certification Authority O=COMODO CA Limited +# Subject: CN=COMODO Certification Authority O=COMODO CA Limited +# Label: "COMODO Certification Authority" +# Serial: 104350513648249232941998508985834464573 +# MD5 Fingerprint: 5c:48:dc:f7:42:72:ec:56:94:6d:1c:cc:71:35:80:75 +# SHA1 Fingerprint: 66:31:bf:9e:f7:4f:9e:b6:c9:d5:a6:0c:ba:6a:be:d1:f7:bd:ef:7b +# SHA256 Fingerprint: 0c:2c:d6:3d:f7:80:6f:a3:99:ed:e8:09:11:6b:57:5b:f8:79:89:f0:65:18:f9:80:8c:86:05:03:17:8b:af:66 +-----BEGIN CERTIFICATE----- +MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCB +gTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G +A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNV +BAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEyMDEwMDAw +MDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl +YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01P +RE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3 +UcEbVASY06m/weaKXTuH+7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI +2GqGd0S7WWaXUF601CxwRM/aN5VCaTwwxHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8 +Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV4EajcNxo2f8ESIl33rXp ++2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA1KGzqSX+ +DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5O +nKVIrLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW +/zAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6g +PKA6hjhodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9u +QXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOCAQEAPpiem/Yb6dc5t3iuHXIY +SdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CPOGEIqB6BCsAv +IC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ +RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4 +zJVSk/BwJVmcIGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5dd +BA6+C4OmF4O5MBKgxTMVBbkN+8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IB +ZQ== +-----END CERTIFICATE----- + +# Issuer: CN=Network Solutions Certificate Authority O=Network Solutions L.L.C. +# Subject: CN=Network Solutions Certificate Authority O=Network Solutions L.L.C. +# Label: "Network Solutions Certificate Authority" +# Serial: 116697915152937497490437556386812487904 +# MD5 Fingerprint: d3:f3:a6:16:c0:fa:6b:1d:59:b1:2d:96:4d:0e:11:2e +# SHA1 Fingerprint: 74:f8:a3:c3:ef:e7:b3:90:06:4b:83:90:3c:21:64:60:20:e5:df:ce +# SHA256 Fingerprint: 15:f0:ba:00:a3:ac:7a:f3:ac:88:4c:07:2b:10:11:a0:77:bd:77:c0:97:f4:01:64:b2:f8:59:8a:bd:83:86:0c +-----BEGIN CERTIFICATE----- +MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBi +MQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu +MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3Jp +dHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMxMjM1OTU5WjBiMQswCQYDVQQGEwJV +UzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydO +ZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwz +c7MEL7xxjOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPP +OCwGJgl6cvf6UDL4wpPTaaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rl +mGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXTcrA/vGp97Eh/jcOrqnErU2lBUzS1sLnF +BgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc/Qzpf14Dl847ABSHJ3A4 +qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMBAAGjgZcw +gZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIB +BjAPBgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwu +bmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3Jp +dHkuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc8 +6fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q4LqILPxFzBiwmZVRDuwduIj/ +h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/GGUsyfJj4akH +/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv +wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHN +pGxlaKFJdlxDydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey +-----END CERTIFICATE----- + +# Issuer: CN=COMODO ECC Certification Authority O=COMODO CA Limited +# Subject: CN=COMODO ECC Certification Authority O=COMODO CA Limited +# Label: "COMODO ECC Certification Authority" +# Serial: 41578283867086692638256921589707938090 +# MD5 Fingerprint: 7c:62:ff:74:9d:31:53:5e:68:4a:d5:78:aa:1e:bf:23 +# SHA1 Fingerprint: 9f:74:4e:9f:2b:4d:ba:ec:0f:31:2c:50:b6:56:3b:8e:2d:93:c3:11 +# SHA256 Fingerprint: 17:93:92:7a:06:14:54:97:89:ad:ce:2f:8f:34:f7:f0:b6:6d:0f:3a:e3:a3:b8:4d:21:ec:15:db:ba:4f:ad:c7 +-----BEGIN CERTIFICATE----- +MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTEL +MAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE +BxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMT +IkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwMzA2MDAw +MDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdy +ZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09N +T0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSR +FtSrYpn1PlILBs5BAH+X4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0J +cfRK9ChQtP6IHG4/bC8vCVlbpVsLM5niwz2J+Wos77LTBumjQjBAMB0GA1UdDgQW +BBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ +BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VGFAkK+qDm +fQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdv +GDeAU/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= +-----END CERTIFICATE----- + +# Issuer: CN=OISTE WISeKey Global Root GA CA O=WISeKey OU=Copyright (c) 2005/OISTE Foundation Endorsed +# Subject: CN=OISTE WISeKey Global Root GA CA O=WISeKey OU=Copyright (c) 2005/OISTE Foundation Endorsed +# Label: "OISTE WISeKey Global Root GA CA" +# Serial: 86718877871133159090080555911823548314 +# MD5 Fingerprint: bc:6c:51:33:a7:e9:d3:66:63:54:15:72:1b:21:92:93 +# SHA1 Fingerprint: 59:22:a1:e1:5a:ea:16:35:21:f8:98:39:6a:46:46:b0:44:1b:0f:a9 +# SHA256 Fingerprint: 41:c9:23:86:6a:b4:ca:d6:b7:ad:57:80:81:58:2e:02:07:97:a6:cb:df:4f:ff:78:ce:83:96:b3:89:37:d7:f5 +-----BEGIN CERTIFICATE----- +MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCB +ijELMAkGA1UEBhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHly +aWdodCAoYykgMjAwNTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl +ZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQSBDQTAeFw0w +NTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYDVQQGEwJDSDEQMA4G +A1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIwIAYD +VQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBX +SVNlS2V5IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAy0+zAJs9Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxR +VVuuk+g3/ytr6dTqvirdqFEr12bDYVxgAsj1znJ7O7jyTmUIms2kahnBAbtzptf2 +w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbDd50kc3vkDIzh2TbhmYsF +mQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ/yxViJGg +4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t9 +4B3RLoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYw +DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQw +EAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOx +SPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vImMMkQyh2I+3QZH4VFvbBsUfk2 +ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4+vg1YFkCExh8 +vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa +hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZi +Fj4A4xylNoEYokxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ +/L7fCg0= +-----END CERTIFICATE----- + +# Issuer: CN=Certigna O=Dhimyotis +# Subject: CN=Certigna O=Dhimyotis +# Label: "Certigna" +# Serial: 18364802974209362175 +# MD5 Fingerprint: ab:57:a6:5b:7d:42:82:19:b5:d8:58:26:28:5e:fd:ff +# SHA1 Fingerprint: b1:2e:13:63:45:86:a4:6f:1a:b2:60:68:37:58:2d:c4:ac:fd:94:97 +# SHA256 Fingerprint: e3:b6:a2:db:2e:d7:ce:48:84:2f:7a:c5:32:41:c7:b7:1d:54:14:4b:fb:40:c1:1f:3f:1d:0b:42:f5:ee:a1:2d +-----BEGIN CERTIFICATE----- +MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNV +BAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4X +DTA3MDYyOTE1MTMwNVoXDTI3MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQ +BgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwIQ2VydGlnbmEwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7qXOEm7RFHYeGifBZ4 +QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyHGxny +gQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbw +zBfsV1/pogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q +130yGLMLLGq/jj8UEYkgDncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2 +JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKfIrjxwo1p3Po6WAbfAgMBAAGjgbwwgbkw +DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQtCRZvgHyUtVF9lo53BEw +ZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJBgNVBAYT +AkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzj +AQ/JSP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG +9w0BAQUFAAOCAQEAhQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8h +bV6lUmPOEvjvKtpv6zf+EwLHyzs+ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFnc +fca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1kluPBS1xp81HlDQwY9qcEQCYsuu +HWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY1gkIl2PlwS6w +t0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw +WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg== +-----END CERTIFICATE----- + +# Issuer: CN=Deutsche Telekom Root CA 2 O=Deutsche Telekom AG OU=T-TeleSec Trust Center +# Subject: CN=Deutsche Telekom Root CA 2 O=Deutsche Telekom AG OU=T-TeleSec Trust Center +# Label: "Deutsche Telekom Root CA 2" +# Serial: 38 +# MD5 Fingerprint: 74:01:4a:91:b1:08:c4:58:ce:47:cd:f0:dd:11:53:08 +# SHA1 Fingerprint: 85:a4:08:c0:9c:19:3e:5d:51:58:7d:cd:d6:13:30:fd:8c:de:37:bf +# SHA256 Fingerprint: b6:19:1a:50:d0:c3:97:7f:7d:a9:9b:cd:aa:c8:6a:22:7d:ae:b9:67:9e:c7:0b:a3:b0:c9:d9:22:71:c1:70:d3 +-----BEGIN CERTIFICATE----- +MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEc +MBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2Vj +IFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENB +IDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5MjM1OTAwWjBxMQswCQYDVQQGEwJE +RTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxl +U2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290 +IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEU +ha88EOQ5bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhC +QN/Po7qCWWqSG6wcmtoIKyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1Mjwr +rFDa1sPeg5TKqAyZMg4ISFZbavva4VhYAUlfckE8FQYBjl2tqriTtM2e66foai1S +NNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aKSe5TBY8ZTNXeWHmb0moc +QqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTVjlsB9WoH +txa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAP +BgNVHRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOC +AQEAlGRZrTlk5ynrE/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756Abrsp +tJh6sTtU6zkXR34ajgv8HzFZMQSyzhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpa +IzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8rZ7/gFnkm0W09juwzTkZmDLl +6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4Gdyd1Lx+4ivn+ +xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU +Cm26OWMohpLzGITY+9HPBVZkVw== +-----END CERTIFICATE----- + +# Issuer: CN=Cybertrust Global Root O=Cybertrust, Inc +# Subject: CN=Cybertrust Global Root O=Cybertrust, Inc +# Label: "Cybertrust Global Root" +# Serial: 4835703278459682877484360 +# MD5 Fingerprint: 72:e4:4a:87:e3:69:40:80:77:ea:bc:e3:f4:ff:f0:e1 +# SHA1 Fingerprint: 5f:43:e5:b1:bf:f8:78:8c:ac:1c:c7:ca:4a:9a:c6:22:2b:cc:34:c6 +# SHA256 Fingerprint: 96:0a:df:00:63:e9:63:56:75:0c:29:65:dd:0a:08:67:da:0b:9c:bd:6e:77:71:4a:ea:fb:23:49:ab:39:3d:a3 +-----BEGIN CERTIFICATE----- +MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYG +A1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2Jh +bCBSb290MB4XDTA2MTIxNTA4MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UE +ChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBS +b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+Mi8vRRQZhP/8NN5 +7CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW0ozS +J8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2y +HLtgwEZLAfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iP +t3sMpTjr3kfb1V05/Iin89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNz +FtApD0mpSPCzqrdsxacwOUBdrsTiXSZT8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAY +XSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/ +MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2MDSgMqAw +hi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3Js +MB8GA1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUA +A4IBAQBW7wojoFROlZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMj +Wqd8BfP9IjsO0QbE2zZMcwSO5bAi5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUx +XOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2hO0j9n0Hq0V+09+zv+mKts2o +omcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+TX3EJIrduPuoc +A06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW +WL1WMRJOEcgh4LMRkWXbtKaIOM5V +-----END CERTIFICATE----- + +# Issuer: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority +# Subject: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority +# Label: "ePKI Root Certification Authority" +# Serial: 28956088682735189655030529057352760477 +# MD5 Fingerprint: 1b:2e:00:ca:26:06:90:3d:ad:fe:6f:15:68:d3:6b:b3 +# SHA1 Fingerprint: 67:65:0d:f1:7e:8e:7e:5b:82:40:a4:f4:56:4b:cf:e2:3d:69:c6:f0 +# SHA256 Fingerprint: c0:a6:f4:dc:63:a2:4b:fd:cf:54:ef:2a:6a:08:2a:0a:72:de:35:80:3e:2f:f5:ff:52:7a:e5:d8:72:06:df:d5 +-----BEGIN CERTIFICATE----- +MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBe +MQswCQYDVQQGEwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0 +ZC4xKjAoBgNVBAsMIWVQS0kgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe +Fw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMxMjdaMF4xCzAJBgNVBAYTAlRXMSMw +IQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEqMCgGA1UECwwhZVBL +SSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAH +SyZbCUNsIZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAh +ijHyl3SJCRImHJ7K2RKilTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3X +DZoTM1PRYfl61dd4s5oz9wCGzh1NlDivqOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1 +TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX12ruOzjjK9SXDrkb5wdJ +fzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0OWQqraffA +sgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uU +WH1+ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLS +nT0IFaUQAS2zMnaolQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pH +dmX2Os+PYhcZewoozRrSgx4hxyy/vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJip +NiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXiZo1jDiVN1Rmy5nk3pyKdVDEC +AwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/QkqiMAwGA1UdEwQF +MAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH +ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGB +uvl2ICO1J2B01GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6Yl +PwZpVnPDimZI+ymBV3QGypzqKOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkP +JXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdVxrsStZf0X4OFunHB2WyBEXYKCrC/ +gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEPNXubrjlpC2JgQCA2 +j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+rGNm6 +5ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUB +o2M3IUxExJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS +/jQ6fbjpKdx2qcgw+BRxgMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2z +Gp1iro2C6pSe3VkQw63d4k3jMdXH7OjysP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTE +W9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmODBCEIZ43ygknQW/2xzQ+D +hNQ+IIX3Sj0rnP0qCglN6oH4EZw= +-----END CERTIFICATE----- + +# Issuer: O=certSIGN OU=certSIGN ROOT CA +# Subject: O=certSIGN OU=certSIGN ROOT CA +# Label: "certSIGN ROOT CA" +# Serial: 35210227249154 +# MD5 Fingerprint: 18:98:c0:d6:e9:3a:fc:f9:b0:f5:0c:f7:4b:01:44:17 +# SHA1 Fingerprint: fa:b7:ee:36:97:26:62:fb:2d:b0:2a:f6:bf:03:fd:e8:7c:4b:2f:9b +# SHA256 Fingerprint: ea:a9:62:c4:fa:4a:6b:af:eb:e4:15:19:6d:35:1c:cd:88:8d:4f:53:f3:fa:8a:e6:d7:c4:66:a9:4e:60:42:bb +-----BEGIN CERTIFICATE----- +MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYT +AlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBD +QTAeFw0wNjA3MDQxNzIwMDRaFw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJP +MREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTCC +ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7IJUqOtdu0KBuqV5Do +0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHHrfAQ +UySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5d +RdY4zTW2ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQ +OA7+j0xbm0bqQfWwCHTD0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwv +JoIQ4uNllAoEwF73XVv4EOLQunpL+943AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08C +AwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAcYwHQYDVR0O +BBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IBAQA+0hyJ +LjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecY +MnQ8SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ +44gx+FkagQnIl6Z0x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6I +Jd1hJyMctTEHBDa0GpC9oHRxUIltvBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNw +i/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7NzTogVZ96edhBiIL5VaZVDADlN +9u6wWk5JRFRYX0KD +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Primary Certification Authority - G3 O=GeoTrust Inc. OU=(c) 2008 GeoTrust Inc. - For authorized use only +# Subject: CN=GeoTrust Primary Certification Authority - G3 O=GeoTrust Inc. OU=(c) 2008 GeoTrust Inc. - For authorized use only +# Label: "GeoTrust Primary Certification Authority - G3" +# Serial: 28809105769928564313984085209975885599 +# MD5 Fingerprint: b5:e8:34:36:c9:10:44:58:48:70:6d:2e:83:d4:b8:05 +# SHA1 Fingerprint: 03:9e:ed:b8:0b:e7:a0:3c:69:53:89:3b:20:d2:d9:32:3a:4c:2a:fd +# SHA256 Fingerprint: b4:78:b8:12:25:0d:f8:78:63:5c:2a:a7:ec:7d:15:5e:aa:62:5e:e8:29:16:e2:cd:29:43:61:88:6c:d1:fb:d4 +-----BEGIN CERTIFICATE----- +MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCB +mDELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsT +MChjKSAyMDA4IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s +eTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv +cml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIzNTk1OVowgZgxCzAJ +BgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg +MjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0 +BgNVBAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg +LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz ++uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5jK/BGvESyiaHAKAxJcCGVn2TAppMSAmUm +hsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdEc5IiaacDiGydY8hS2pgn +5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3CIShwiP/W +JmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exAL +DmKudlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZC +huOl1UcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw +HQYDVR0OBBYEFMR5yo6hTgMdHNxr2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IB +AQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9cr5HqQ6XErhK8WTTOd8lNNTB +zU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbEAp7aDHdlDkQN +kv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD +AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUH +SJsMC8tJP33st/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2G +spki4cErx5z481+oghLrGREt +-----END CERTIFICATE----- + +# Issuer: CN=thawte Primary Root CA - G2 O=thawte, Inc. OU=(c) 2007 thawte, Inc. - For authorized use only +# Subject: CN=thawte Primary Root CA - G2 O=thawte, Inc. OU=(c) 2007 thawte, Inc. - For authorized use only +# Label: "thawte Primary Root CA - G2" +# Serial: 71758320672825410020661621085256472406 +# MD5 Fingerprint: 74:9d:ea:60:24:c4:fd:22:53:3e:cc:3a:72:d9:29:4f +# SHA1 Fingerprint: aa:db:bc:22:23:8f:c4:01:a1:27:bb:38:dd:f4:1d:db:08:9e:f0:12 +# SHA256 Fingerprint: a4:31:0d:50:af:18:a6:44:71:90:37:2a:86:af:af:8b:95:1f:fb:43:1d:83:7f:1e:56:88:b4:59:71:ed:15:57 +-----BEGIN CERTIFICATE----- +MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDEL +MAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMp +IDIwMDcgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAi +BgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMjAeFw0wNzExMDUwMDAw +MDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh +d3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBGb3Ig +YXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9v +dCBDQSAtIEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/ +BebfowJPDQfGAFG6DAJSLSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6 +papu+7qzcMBniKI11KOasf2twu8x+qi58/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUmtgAMADna3+FGO6Lts6K +DPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUNG4k8VIZ3 +KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41ox +XZ3Krr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg== +-----END CERTIFICATE----- + +# Issuer: CN=thawte Primary Root CA - G3 O=thawte, Inc. OU=Certification Services Division/(c) 2008 thawte, Inc. - For authorized use only +# Subject: CN=thawte Primary Root CA - G3 O=thawte, Inc. OU=Certification Services Division/(c) 2008 thawte, Inc. - For authorized use only +# Label: "thawte Primary Root CA - G3" +# Serial: 127614157056681299805556476275995414779 +# MD5 Fingerprint: fb:1b:5d:43:8a:94:cd:44:c6:76:f2:43:4b:47:e7:31 +# SHA1 Fingerprint: f1:8b:53:8d:1b:e9:03:b6:a6:f0:56:43:5b:17:15:89:ca:f3:6b:f2 +# SHA256 Fingerprint: 4b:03:f4:58:07:ad:70:f2:1b:fc:2c:ae:71:c9:fd:e4:60:4c:06:4c:f5:ff:b6:86:ba:e5:db:aa:d7:fd:d3:4c +-----BEGIN CERTIFICATE----- +MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCB +rjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf +Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw +MDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNV +BAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0wODA0MDIwMDAwMDBa +Fw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3Rl +LCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9u +MTgwNgYDVQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXpl +ZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEcz +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsr8nLPvb2FvdeHsbnndm +gcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2AtP0LMqmsywCPLLEHd5N/8 +YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC+BsUa0Lf +b1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS9 +9irY7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2S +zhkGcuYMXDhpxwTWvGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUk +OQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV +HQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJKoZIhvcNAQELBQADggEBABpA +2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweKA3rD6z8KLFIW +oCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu +t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7c +KUGRIjxpp7sC8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fM +m7v/OeZWYdMKp8RcTGB7BXcmer/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZu +MdRAGmI0Nj81Aa6sY6A= +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Primary Certification Authority - G2 O=GeoTrust Inc. OU=(c) 2007 GeoTrust Inc. - For authorized use only +# Subject: CN=GeoTrust Primary Certification Authority - G2 O=GeoTrust Inc. OU=(c) 2007 GeoTrust Inc. - For authorized use only +# Label: "GeoTrust Primary Certification Authority - G2" +# Serial: 80682863203381065782177908751794619243 +# MD5 Fingerprint: 01:5e:d8:6b:bd:6f:3d:8e:a1:31:f8:12:e0:98:73:6a +# SHA1 Fingerprint: 8d:17:84:d5:37:f3:03:7d:ec:70:fe:57:8b:51:9a:99:e6:10:d7:b0 +# SHA256 Fingerprint: 5e:db:7a:c4:3b:82:a0:6a:87:61:e8:d7:be:49:79:eb:f2:61:1f:7d:d7:9b:f9:1c:1c:6b:56:6a:21:9e:d7:66 +-----BEGIN CERTIFICATE----- +MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDEL +MAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChj +KSAyMDA3IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2 +MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 +eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1OVowgZgxCzAJBgNV +BAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykgMjAw +NyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNV +BAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBH +MjB2MBAGByqGSM49AgEGBSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcL +So17VDs6bl8VAsBQps8lL33KSLjHUGMcKiEIfJo22Av+0SbFWDEwKCXzXV2juLal +tJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO +BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+EVXVMAoG +CCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGT +qQ7mndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBucz +rD6ogRLQy7rQkgu2npaqBA+K +-----END CERTIFICATE----- + +# Issuer: CN=VeriSign Universal Root Certification Authority O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2008 VeriSign, Inc. - For authorized use only +# Subject: CN=VeriSign Universal Root Certification Authority O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2008 VeriSign, Inc. - For authorized use only +# Label: "VeriSign Universal Root Certification Authority" +# Serial: 85209574734084581917763752644031726877 +# MD5 Fingerprint: 8e:ad:b5:01:aa:4d:81:e4:8c:1d:d1:e1:14:00:95:19 +# SHA1 Fingerprint: 36:79:ca:35:66:87:72:30:4d:30:a5:fb:87:3b:0f:a7:7b:b7:0d:54 +# SHA256 Fingerprint: 23:99:56:11:27:a5:71:25:de:8c:ef:ea:61:0d:df:2f:a0:78:b5:c8:06:7f:4e:82:82:90:bf:b8:60:e8:4b:3c +-----BEGIN CERTIFICATE----- +MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCB +vTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL +ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJp +U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MTgwNgYDVQQDEy9W +ZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe +Fw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJVUzEX +MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0 +IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9y +IGF1dGhvcml6ZWQgdXNlIG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNh +bCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj1mCOkdeQmIN65lgZOIzF +9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGPMiJhgsWH +H26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+H +LL729fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN +/BMReYTtXlT2NJ8IAfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPT +rJ9VAMf2CGqUuV/c4DPxhGD5WycRtPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1Ud +EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0GCCsGAQUFBwEMBGEwX6FdoFsw +WTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2Oa8PPgGrUSBgs +exkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud +DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4 +sAPmLGd75JR3Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+ +seQxIcaBlVZaDrHC1LGmWazxY8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz +4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTxP/jgdFcrGJ2BtMQo2pSXpXDrrB2+ +BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+PwGZsY6rp2aQW9IHR +lRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4mJO3 +7M2CYfE45k+XmCpajQ== +-----END CERTIFICATE----- + +# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G4 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2007 VeriSign, Inc. - For authorized use only +# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G4 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2007 VeriSign, Inc. - For authorized use only +# Label: "VeriSign Class 3 Public Primary Certification Authority - G4" +# Serial: 63143484348153506665311985501458640051 +# MD5 Fingerprint: 3a:52:e1:e7:fd:6f:3a:e3:6f:f3:6f:99:1b:f9:22:41 +# SHA1 Fingerprint: 22:d5:d8:df:8f:02:31:d1:8d:f7:9d:b7:cf:8a:2d:64:c9:3f:6c:3a +# SHA256 Fingerprint: 69:dd:d7:ea:90:bb:57:c9:3e:13:5d:c8:5e:a6:fc:d5:48:0b:60:32:39:bd:c4:54:fc:75:8b:2a:26:cf:7f:79 +-----BEGIN CERTIFICATE----- +MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjEL +MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW +ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2ln +biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp +U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y +aXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjELMAkG +A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJp +U2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwg +SW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2ln +biBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8Utpkmw4tXNherJI9/gHm +GUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGzrl0Bp3ve +fLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJ +aW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYj +aHR0cDovL2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMW +kf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMDA2gAMGUCMGYhDBgmYFo4e1ZC +4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIxAJw9SDkjOVga +FRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA== +-----END CERTIFICATE----- + +# Issuer: CN=NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny O=NetLock Kft. OU=Tan\xfas\xedtv\xe1nykiad\xf3k (Certification Services) +# Subject: CN=NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny O=NetLock Kft. OU=Tan\xfas\xedtv\xe1nykiad\xf3k (Certification Services) +# Label: "NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny" +# Serial: 80544274841616 +# MD5 Fingerprint: c5:a1:b7:ff:73:dd:d6:d7:34:32:18:df:fc:3c:ad:88 +# SHA1 Fingerprint: 06:08:3f:59:3f:15:a1:04:a0:69:a4:6b:a9:03:d0:06:b7:97:09:91 +# SHA256 Fingerprint: 6c:61:da:c3:a2:de:f0:31:50:6b:e0:36:d2:a6:fe:40:19:94:fb:d1:3d:f9:c8:d4:66:59:92:74:c4:46:ec:98 +-----BEGIN CERTIFICATE----- +MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQG +EwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3 +MDUGA1UECwwuVGFuw7pzw610dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNl +cnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBBcmFueSAoQ2xhc3MgR29sZCkgRsWR +dGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgxMjA2MTUwODIxWjCB +pzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxOZXRM +b2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlm +aWNhdGlvbiBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNz +IEdvbGQpIEbFkXRhbsO6c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAxCRec75LbRTDofTjl5Bu0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrT +lF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw/HpYzY6b7cNGbIRwXdrz +AZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAkH3B5r9s5 +VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRG +ILdwfzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2 +BJtr+UBdADTHLpl1neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAG +AQH/AgEEMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2M +U9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwWqZw8UQCgwBEIBaeZ5m8BiFRh +bvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTtaYtOUZcTh5m2C ++C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC +bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2F +uLjbvrW5KfnaNwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2 +XjG4Kvte9nHfRCaexOYNkbQudZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E= +-----END CERTIFICATE----- + +# Issuer: CN=Staat der Nederlanden Root CA - G2 O=Staat der Nederlanden +# Subject: CN=Staat der Nederlanden Root CA - G2 O=Staat der Nederlanden +# Label: "Staat der Nederlanden Root CA - G2" +# Serial: 10000012 +# MD5 Fingerprint: 7c:a5:0f:f8:5b:9a:7d:6d:30:ae:54:5a:e3:42:a2:8a +# SHA1 Fingerprint: 59:af:82:79:91:86:c7:b4:75:07:cb:cf:03:57:46:eb:04:dd:b7:16 +# SHA256 Fingerprint: 66:8c:83:94:7d:a6:3b:72:4b:ec:e1:74:3c:31:a0:e6:ae:d0:db:8e:c5:b3:1b:e3:77:bb:78:4f:91:b6:71:6f +-----BEGIN CERTIFICATE----- +MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJO +TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFh +dCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oX +DTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMCTkwxHjAcBgNVBAoMFVN0YWF0IGRl +ciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5lZGVybGFuZGVuIFJv +b3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ5291 +qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8Sp +uOUfiUtnvWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPU +Z5uW6M7XxgpT0GtJlvOjCwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvE +pMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiile7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp +5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCROME4HYYEhLoaJXhena/M +UGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpICT0ugpTN +GmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy +5V6548r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv +6q012iDTiIJh8BIitrzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEK +eN5KzlW/HdXZt1bv8Hb/C3m1r737qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6 +B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMBAAGjgZcwgZQwDwYDVR0TAQH/ +BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcCARYxaHR0cDov +L3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV +HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqG +SIb3DQEBCwUAA4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLyS +CZa59sCrI2AGeYwRTlHSeYAz+51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen +5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwjf/ST7ZwaUb7dRUG/kSS0H4zpX897 +IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaNkqbG9AclVMwWVxJK +gnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfkCpYL ++63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxL +vJxxcypFURmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkm +bEgeqmiSBeGCc1qb3AdbCG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvk +N1trSt8sV4pAWja63XVECDdCcAz+3F4hoKOKwJCcaNpQ5kUQR3i2TtJlycM33+FC +Y7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoVIPVVYpbtbZNQvOSqeK3Z +ywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm66+KAQ== +-----END CERTIFICATE----- + +# Issuer: CN=Hongkong Post Root CA 1 O=Hongkong Post +# Subject: CN=Hongkong Post Root CA 1 O=Hongkong Post +# Label: "Hongkong Post Root CA 1" +# Serial: 1000 +# MD5 Fingerprint: a8:0d:6f:39:78:b9:43:6d:77:42:6d:98:5a:cc:23:ca +# SHA1 Fingerprint: d6:da:a8:20:8d:09:d2:15:4d:24:b5:2f:cb:34:6e:b2:58:b2:8a:58 +# SHA256 Fingerprint: f9:e6:7d:33:6c:51:00:2a:c0:54:c6:32:02:2d:66:dd:a2:e7:e3:ff:f1:0a:d0:61:ed:31:d8:bb:b4:10:cf:b2 +-----BEGIN CERTIFICATE----- +MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsx +FjAUBgNVBAoTDUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3Qg +Um9vdCBDQSAxMB4XDTAzMDUxNTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkG +A1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdr +b25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1ApzQ +jVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEn +PzlTCeqrauh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjh +ZY4bXSNmO7ilMlHIhqqhqZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9 +nnV0ttgCXjqQesBCNnLsak3c78QA3xMYV18meMjWCnl3v/evt3a5pQuEF10Q6m/h +q5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNVHRMBAf8ECDAGAQH/AgED +MA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7ih9legYsC +mEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI3 +7piol7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clB +oiMBdDhViw+5LmeiIAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJs +EhTkYY2sEJCehFC78JZvRZ+K88psT/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpO +fMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilTc4afU9hDDl3WY4JxHYB0yvbi +AmvZWg== +-----END CERTIFICATE----- + +# Issuer: CN=SecureSign RootCA11 O=Japan Certification Services, Inc. +# Subject: CN=SecureSign RootCA11 O=Japan Certification Services, Inc. +# Label: "SecureSign RootCA11" +# Serial: 1 +# MD5 Fingerprint: b7:52:74:e2:92:b4:80:93:f2:75:e4:cc:d7:f2:ea:26 +# SHA1 Fingerprint: 3b:c4:9f:48:f8:f3:73:a0:9c:1e:bd:f8:5b:b1:c3:65:c7:d8:11:b3 +# SHA256 Fingerprint: bf:0f:ee:fb:9e:3a:58:1a:d5:f9:e9:db:75:89:98:57:43:d2:61:08:5c:4d:31:4f:6f:5d:72:59:aa:42:16:12 +-----BEGIN CERTIFICATE----- +MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDEr +MCkGA1UEChMiSmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoG +A1UEAxMTU2VjdXJlU2lnbiBSb290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0 +MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSswKQYDVQQKEyJKYXBhbiBDZXJ0aWZp +Y2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1cmVTaWduIFJvb3RD +QTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvLTJsz +i1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8 +h9uuywGOwvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOV +MdrAG/LuYpmGYz+/3ZMqg6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9 +UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rPO7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni +8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitAbpSACW22s293bzUIUPsC +h8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZXt94wDgYD +VR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEB +AKChOBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xm +KbabfSVSSUOrTC4rbnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQ +X5Ucv+2rIrVls4W6ng+4reV6G4pQOh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWr +QbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01y8hSyn+B/tlr0/cR7SXf+Of5 +pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061lgeLKBObjBmN +QSdJQO7e5iNEOdyhIta6A/I= +-----END CERTIFICATE----- + +# Issuer: CN=Microsec e-Szigno Root CA 2009 O=Microsec Ltd. +# Subject: CN=Microsec e-Szigno Root CA 2009 O=Microsec Ltd. +# Label: "Microsec e-Szigno Root CA 2009" +# Serial: 14014712776195784473 +# MD5 Fingerprint: f8:49:f4:03:bc:44:2d:83:be:48:69:7d:29:64:fc:b1 +# SHA1 Fingerprint: 89:df:74:fe:5c:f4:0f:4a:80:f9:e3:37:7d:54:da:91:e1:01:31:8e +# SHA256 Fingerprint: 3c:5f:81:fe:a5:fa:b8:2c:64:bf:a2:ea:ec:af:cd:e8:e0:77:fc:86:20:a7:ca:e5:37:16:3d:f3:6e:db:f3:78 +-----BEGIN CERTIFICATE----- +MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYD +VQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0 +ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0G +CSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTAeFw0wOTA2MTYxMTMwMThaFw0y +OTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3Qx +FjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3pp +Z25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o +dTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvP +kd6mJviZpWNwrZuuyjNAfW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tc +cbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG0IMZfcChEhyVbUr02MelTTMuhTlAdX4U +fIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKApxn1ntxVUwOXewdI/5n7 +N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm1HxdrtbC +xkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1 ++rUCAwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G +A1UdDgQWBBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPM +Pcu1SCOhGnqmKrs0aDAbBgNVHREEFDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqG +SIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0olZMEyL/azXm4Q5DwpL7v8u8h +mLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfXI/OMn74dseGk +ddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775 +tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c +2Pm2G2JwCz02yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5t +HMN1Rq41Bab2XD0h7lbwyYIiLXpUq3DDfSJlgnCW +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3 +# Label: "GlobalSign Root CA - R3" +# Serial: 4835703278459759426209954 +# MD5 Fingerprint: c5:df:b8:49:ca:05:13:55:ee:2d:ba:1a:c3:3e:b0:28 +# SHA1 Fingerprint: d6:9b:56:11:48:f0:1c:77:c5:45:78:c1:09:26:df:5b:85:69:76:ad +# SHA256 Fingerprint: cb:b5:22:d7:b7:f1:27:ad:6a:01:13:86:5b:df:1c:d4:10:2e:7d:07:59:af:63:5a:7c:f4:72:0d:c9:63:c5:3b +-----BEGIN CERTIFICATE----- +MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G +A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp +Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4 +MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG +A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8 +RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT +gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm +KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd +QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ +XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw +DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o +LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU +RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp +jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK +6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX +mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs +Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH +WD9f +-----END CERTIFICATE----- + +# Issuer: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068 +# Subject: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068 +# Label: "Autoridad de Certificacion Firmaprofesional CIF A62634068" +# Serial: 6047274297262753887 +# MD5 Fingerprint: 73:3a:74:7a:ec:bb:a3:96:a6:c2:e4:e2:c8:9b:c0:c3 +# SHA1 Fingerprint: ae:c5:fb:3f:c8:e1:bf:c4:e5:4f:03:07:5a:9a:e8:00:b7:f7:b6:fa +# SHA256 Fingerprint: 04:04:80:28:bf:1f:28:64:d4:8f:9a:d4:d8:32:94:36:6a:82:88:56:55:3f:3b:14:30:3f:90:14:7f:5d:40:ef +-----BEGIN CERTIFICATE----- +MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UE +BhMCRVMxQjBABgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1h +cHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEy +MzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIwQAYDVQQDDDlBdXRvcmlkYWQgZGUg +Q2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBBNjI2MzQwNjgwggIi +MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDDUtd9 +thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQM +cas9UX4PB99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefG +L9ItWY16Ck6WaVICqjaY7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15i +NA9wBj4gGFrO93IbJWyTdBSTo3OxDqqHECNZXyAFGUftaI6SEspd/NYrspI8IM/h +X68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyIplD9amML9ZMWGxmPsu2b +m8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctXMbScyJCy +Z/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirja +EbsXLZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/T +KI8xWVvTyQKmtFLKbpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF +6NkBiDkal4ZkQdU7hwxu+g/GvUgUvzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVh +OSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1UdEwEB/wQIMAYBAf8CAQEwDgYD +VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNHDhpkLzCBpgYD +VR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp +cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBv +ACAAZABlACAAbABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBl +AGwAbwBuAGEAIAAwADgAMAAxADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF +661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx51tkljYyGOylMnfX40S2wBEqgLk9 +am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qkR71kMrv2JYSiJ0L1 +ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaPT481 +PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS +3a/DTg4fJl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5k +SeTy36LssUzAKh3ntLFlosS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF +3dvd6qJ2gHN99ZwExEWN57kci57q13XRcrHedUTnQn3iV2t93Jm8PYMo6oCTjcVM +ZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoRsaS8I8nkvof/uZS2+F0g +StRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTDKCOM/icz +Q0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQB +jLMi6Et8Vcad+qMUu2WFbm5PEn4KPJ2V +-----END CERTIFICATE----- + +# Issuer: CN=Izenpe.com O=IZENPE S.A. +# Subject: CN=Izenpe.com O=IZENPE S.A. +# Label: "Izenpe.com" +# Serial: 917563065490389241595536686991402621 +# MD5 Fingerprint: a6:b0:cd:85:80:da:5c:50:34:a3:39:90:2f:55:67:73 +# SHA1 Fingerprint: 2f:78:3d:25:52:18:a7:4a:65:39:71:b5:2c:a2:9c:45:15:6f:e9:19 +# SHA256 Fingerprint: 25:30:cc:8e:98:32:15:02:ba:d9:6f:9b:1f:ba:1b:09:9e:2d:29:9e:0f:45:48:bb:91:4f:36:3b:c0:d4:53:1f +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +# Issuer: CN=Chambers of Commerce Root - 2008 O=AC Camerfirma S.A. +# Subject: CN=Chambers of Commerce Root - 2008 O=AC Camerfirma S.A. +# Label: "Chambers of Commerce Root - 2008" +# Serial: 11806822484801597146 +# MD5 Fingerprint: 5e:80:9e:84:5a:0e:65:0b:17:02:f3:55:18:2a:3e:d7 +# SHA1 Fingerprint: 78:6a:74:ac:76:ab:14:7f:9c:6a:30:50:ba:9e:a8:7e:fe:9a:ce:3c +# SHA256 Fingerprint: 06:3e:4a:fa:c4:91:df:d3:32:f3:08:9b:85:42:e9:46:17:d8:93:d7:fe:94:4e:10:a7:93:7e:e2:9d:96:93:c0 +-----BEGIN CERTIFICATE----- +MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD +VQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0 +IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3 +MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xKTAnBgNVBAMTIENoYW1iZXJz +IG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEyMjk1MFoXDTM4MDcz +MTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBj +dXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIw +EAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEp +MCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0G +CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW9 +28sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKAXuFixrYp4YFs8r/lfTJq +VKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorjh40G072Q +DuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR +5gN/ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfL +ZEFHcpOrUMPrCXZkNNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05a +Sd+pZgvMPMZ4fKecHePOjlO+Bd5gD2vlGts/4+EhySnB8esHnFIbAURRPHsl18Tl +UlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331lubKgdaX8ZSD6e2wsWsSaR6s ++12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ0wlf2eOKNcx5 +Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj +ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAx +hduub+84Mxh2EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNV +HQ4EFgQU+SSsD7K1+HnA+mCIG8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1 ++HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpN +YWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29t +L2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVy +ZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAt +IDIwMDiCCQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRV +HSAAMCowKAYIKwYBBQUHAgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20w +DQYJKoZIhvcNAQEFBQADggIBAJASryI1wqM58C7e6bXpeHxIvj99RZJe6dqxGfwW +PJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH3qLPaYRgM+gQDROpI9CF +5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbURWpGqOt1 +glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaH +FoI6M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2 +pSB7+R5KBWIBpih1YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MD +xvbxrN8y8NmBGuScvfaAFPDRLLmF9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QG +tjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcKzBIKinmwPQN/aUv0NCB9szTq +jktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvGnrDQWzilm1De +fhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg +OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZ +d0jQ +-----END CERTIFICATE----- + +# Issuer: CN=Global Chambersign Root - 2008 O=AC Camerfirma S.A. +# Subject: CN=Global Chambersign Root - 2008 O=AC Camerfirma S.A. +# Label: "Global Chambersign Root - 2008" +# Serial: 14541511773111788494 +# MD5 Fingerprint: 9e:80:ff:78:01:0c:2e:c1:36:bd:fe:96:90:6e:08:f3 +# SHA1 Fingerprint: 4a:bd:ee:ec:95:0d:35:9c:89:ae:c7:52:a1:2c:5b:29:f6:d6:aa:0c +# SHA256 Fingerprint: 13:63:35:43:93:34:a7:69:80:16:a0:d3:24:de:72:28:4e:07:9d:7b:52:20:bb:8f:bd:74:78:16:ee:be:ba:ca +-----BEGIN CERTIFICATE----- +MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYD +VQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0 +IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3 +MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD +aGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMxNDBaFw0zODA3MzEx +MjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3Vy +cmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAG +A1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAl +BgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZI +hvcNAQEBBQADggIPADCCAgoCggIBAMDfVtPkOpt2RbQT2//BthmLN0EYlVJH6xed +KYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXfXjaOcNFccUMd2drvXNL7 +G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0ZJJ0YPP2 +zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4 +ddPB/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyG +HoiMvvKRhI9lNNgATH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2 +Id3UwD2ln58fQ1DJu7xsepeY7s2MH/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3V +yJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfeOx2YItaswTXbo6Al/3K1dh3e +beksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSFHTynyQbehP9r +6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh +wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsog +zCtLkykPAgMBAAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQW +BBS5CcqcHtvTbDprru1U8VuTBjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDpr +ru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UEBhMCRVUxQzBBBgNVBAcTOk1hZHJp +ZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJmaXJtYS5jb20vYWRk +cmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJmaXJt +YSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiC +CQDJzdPp1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCow +KAYIKwYBBQUHAgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZI +hvcNAQEFBQADggIBAICIf3DekijZBZRG/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZ +UohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6ReAJ3spED8IXDneRRXoz +X1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/sdZ7LoR/x +fxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVz +a2Mg9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yyd +Yhz2rXzdpjEetrHHfoUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMd +SqlapskD7+3056huirRXhOukP9DuqqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9O +AP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETrP3iZ8ntxPjzxmKfFGBI/5rso +M0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVqc5iJWzouE4ge +v8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z +09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B +-----END CERTIFICATE----- + +# Issuer: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc. +# Subject: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc. +# Label: "Go Daddy Root Certificate Authority - G2" +# Serial: 0 +# MD5 Fingerprint: 80:3a:bc:22:c1:e6:fb:8d:9b:3b:27:4a:32:1b:9a:01 +# SHA1 Fingerprint: 47:be:ab:c9:22:ea:e8:0e:78:78:34:62:a7:9f:45:c2:54:fd:e6:8b +# SHA256 Fingerprint: 45:14:0b:32:47:eb:9c:c8:c5:b4:f0:d7:b5:30:91:f7:32:92:08:9e:6e:5a:63:e2:74:9d:d3:ac:a9:19:8e:da +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx +EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT +EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp +ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIz +NTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH +EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8GA1UE +AxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKD +E6bFIEMBO4Tx5oVJnyfq9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH +/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZFAXK6sOoBJQ7Rnwy +DfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutdfMh8+7ArU6SSYmlRJQVh +GkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMlNAJWJwGR +tDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEA +AaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE +FDqahQcQZyi27/a9BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmX +WWcDYfF+OwYxdS2hII5PZYe096acvNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu +9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r5N9ss4UXnT3ZJE95kTXWXwTr +gIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYVN8Gb5DKj7Tjo +2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO +LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI +4uJEvlz36hz1 +-----END CERTIFICATE----- + +# Issuer: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc. +# Subject: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc. +# Label: "Starfield Root Certificate Authority - G2" +# Serial: 0 +# MD5 Fingerprint: d6:39:81:c6:52:7e:96:69:fc:fc:ca:66:ed:05:f2:96 +# SHA1 Fingerprint: b5:1c:06:7c:ee:2b:0c:3d:f8:55:ab:2d:92:f4:fe:39:d4:e7:0f:0e +# SHA256 Fingerprint: 2c:e1:cb:0b:f9:d2:f9:e1:02:99:3f:be:21:51:52:c3:b2:dd:0c:ab:de:1c:68:e5:31:9b:83:91:54:db:b7:f5 +-----BEGIN CERTIFICATE----- +MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMx +EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT +HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVs +ZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAw +MFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 +b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQgVGVj +aG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZp +Y2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAL3twQP89o/8ArFvW59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMg +nLRJdzIpVv257IzdIvpy3Cdhl+72WoTsbhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1 +HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNkN3mSwOxGXn/hbVNMYq/N +Hwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7NfZTD4p7dN +dloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0 +HZbUJtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO +BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0G +CSqGSIb3DQEBCwUAA4IBAQARWfolTwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjU +sHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx4mcujJUDJi5DnUox9g61DLu3 +4jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUwF5okxBDgBPfg +8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K +pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1 +mMpYjn0q7pBZc2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 +-----END CERTIFICATE----- + +# Issuer: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc. +# Subject: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc. +# Label: "Starfield Services Root Certificate Authority - G2" +# Serial: 0 +# MD5 Fingerprint: 17:35:74:af:7b:61:1c:eb:f4:f9:3c:e2:ee:40:f9:a2 +# SHA1 Fingerprint: 92:5a:8f:8d:2c:6d:04:e0:66:5f:59:6a:ff:22:d8:63:e8:25:6f:3f +# SHA256 Fingerprint: 56:8d:69:05:a2:c8:87:08:a4:b3:02:51:90:ed:cf:ed:b1:97:4a:60:6a:13:c6:e5:29:0f:cb:2a:e6:3e:da:b5 +-----BEGIN CERTIFICATE----- +MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMx +EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT +HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVs +ZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 +MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNVBAYTAlVTMRAwDgYD +VQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFy +ZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2Vy +dmljZXMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20p +OsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm2 +8xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4PahHQUw2eeBGg6345AWh1K +Ts9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLPLJGmpufe +hRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk +6mFBrMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAw +DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+q +AdcwKziIorhtSpzyEZGDMA0GCSqGSIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMI +bw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPPE95Dz+I0swSdHynVv/heyNXB +ve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTyxQGjhdByPq1z +qwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd +iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn +0q23KXB56jzaYyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCN +sSi6 +-----END CERTIFICATE----- + +# Issuer: CN=AffirmTrust Commercial O=AffirmTrust +# Subject: CN=AffirmTrust Commercial O=AffirmTrust +# Label: "AffirmTrust Commercial" +# Serial: 8608355977964138876 +# MD5 Fingerprint: 82:92:ba:5b:ef:cd:8a:6f:a6:3d:55:f9:84:f6:d6:b7 +# SHA1 Fingerprint: f9:b5:b6:32:45:5f:9c:be:ec:57:5f:80:dc:e9:6e:2c:c7:b2:78:b7 +# SHA256 Fingerprint: 03:76:ab:1d:54:c5:f9:80:3c:e4:b2:e2:01:a0:ee:7e:ef:7b:57:b6:36:e8:a9:3c:9b:8d:48:60:c9:6f:5f:a7 +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UE +BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz +dCBDb21tZXJjaWFsMB4XDTEwMDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDEL +MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp +cm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6EqdbDuKP +Hx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yr +ba0F8PrVC8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPAL +MeIrJmqbTFeurCA+ukV6BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1 +yHp52UKqK39c/s4mT6NmgTWvRLpUHhwwMmWd5jyTXlBOeuM61G7MGvv50jeuJCqr +VwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNVHQ4EFgQUnZPGU4teyq8/ +nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ +KoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYG +XUPGhi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNj +vbz4YYCanrHOQnDiqX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivt +Z8SOyUOyXGsViQK8YvxO8rUzqrJv0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9g +N53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0khsUlHRUe072o0EclNmsxZt9YC +nlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= +-----END CERTIFICATE----- + +# Issuer: CN=AffirmTrust Networking O=AffirmTrust +# Subject: CN=AffirmTrust Networking O=AffirmTrust +# Label: "AffirmTrust Networking" +# Serial: 8957382827206547757 +# MD5 Fingerprint: 42:65:ca:be:01:9a:9a:4c:a9:8c:41:49:cd:c0:d5:7f +# SHA1 Fingerprint: 29:36:21:02:8b:20:ed:02:f5:66:c5:32:d1:d6:ed:90:9f:45:00:2f +# SHA256 Fingerprint: 0a:81:ec:5a:92:97:77:f1:45:90:4a:f3:8d:5d:50:9f:66:b5:e2:c5:8f:cd:b5:31:05:8b:0e:17:f3:f0:b4:1b +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UE +BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz +dCBOZXR3b3JraW5nMB4XDTEwMDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDEL +MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp +cm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SEHi3y +YJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbua +kCNrmreIdIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRL +QESxG9fhwoXA3hA/Pe24/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp +6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gbh+0t+nvujArjqWaJGctB+d1ENmHP4ndG +yH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNVHQ4EFgQUBx/S55zawm6i +QLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ +KoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfO +tDIuUFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzu +QY0x2+c06lkh1QF612S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZ +Lgo/bNjR9eUJtGxUAArgFU2HdW23WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4u +olu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9/ZFvgrG+CJPbFEfxojfHRZ48 +x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= +-----END CERTIFICATE----- + +# Issuer: CN=AffirmTrust Premium O=AffirmTrust +# Subject: CN=AffirmTrust Premium O=AffirmTrust +# Label: "AffirmTrust Premium" +# Serial: 7893706540734352110 +# MD5 Fingerprint: c4:5d:0e:48:b6:ac:28:30:4e:0a:bc:f9:38:16:87:57 +# SHA1 Fingerprint: d8:a6:33:2c:e0:03:6f:b1:85:f6:63:4f:7d:6a:06:65:26:32:28:27 +# SHA256 Fingerprint: 70:a7:3f:7f:37:6b:60:07:42:48:90:45:34:b1:14:82:d5:bf:0e:69:8e:cc:49:8d:f5:25:77:eb:f2:e9:3b:9a +-----BEGIN CERTIFICATE----- +MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UE +BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVz +dCBQcmVtaXVtMB4XDTEwMDEyOTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkG +A1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1U +cnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxBLf +qV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtnBKAQ +JG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ ++jjeRFcV5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrS +s8PhaJyJ+HoAVt70VZVs+7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5 +HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmdGPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d7 +70O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5Rp9EixAqnOEhss/n/fauG +V+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NIS+LI+H+S +qHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S +5u046uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4Ia +C1nEWTJ3s7xgaVY5/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TX +OwF0lkLgAOIua+rF7nKsu7/+6qqo+Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYE +FJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ +BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByvMiPIs0laUZx2 +KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg +Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B +8OWycvpEgjNC6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQ +MKSOyARiqcTtNd56l+0OOF6SL5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc +0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK+4w1IX2COPKpVJEZNZOUbWo6xbLQ +u4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmVBtWVyuEklut89pMF +u+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFgIxpH +YoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8 +GKa1qF60g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaO +RtGdFNrHF+QFlozEJLUbzxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6e +KeC2uAloGRwYQw== +-----END CERTIFICATE----- + +# Issuer: CN=AffirmTrust Premium ECC O=AffirmTrust +# Subject: CN=AffirmTrust Premium ECC O=AffirmTrust +# Label: "AffirmTrust Premium ECC" +# Serial: 8401224907861490260 +# MD5 Fingerprint: 64:b0:09:55:cf:b1:d5:99:e2:be:13:ab:a6:5d:ea:4d +# SHA1 Fingerprint: b8:23:6b:00:2f:1d:16:86:53:01:55:6c:11:a4:37:ca:eb:ff:c3:bb +# SHA256 Fingerprint: bd:71:fd:f6:da:97:e4:cf:62:d1:64:7a:dd:25:81:b0:7d:79:ad:f8:39:7e:b4:ec:ba:9c:5e:84:88:82:14:23 +-----BEGIN CERTIFICATE----- +MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMC +VVMxFDASBgNVBAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQ +cmVtaXVtIEVDQzAeFw0xMDAxMjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJ +BgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1UcnVzdDEgMB4GA1UEAwwXQWZmaXJt +VHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQNMF4bFZ0D +0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQN8O9 +ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0G +A1UdDgQWBBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4G +A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/Vs +aobgxCd05DhT1wV/GzTjxi+zygk8N53X57hG8f2h4nECMEJZh0PUUd+60wkyWs6I +flc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKMeQ== +-----END CERTIFICATE----- + +# Issuer: CN=Certum Trusted Network CA O=Unizeto Technologies S.A. OU=Certum Certification Authority +# Subject: CN=Certum Trusted Network CA O=Unizeto Technologies S.A. OU=Certum Certification Authority +# Label: "Certum Trusted Network CA" +# Serial: 279744 +# MD5 Fingerprint: d5:e9:81:40:c5:18:69:fc:46:2c:89:75:62:0f:aa:78 +# SHA1 Fingerprint: 07:e0:32:e0:20:b7:2c:3f:19:2f:06:28:a2:59:3a:19:a7:0f:06:9e +# SHA256 Fingerprint: 5c:58:46:8d:55:f5:8e:49:7e:74:39:82:d2:b5:00:10:b6:d1:65:37:4a:cf:83:a7:d4:a3:2d:b7:68:c4:40:8e +-----BEGIN CERTIFICATE----- +MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBM +MSIwIAYDVQQKExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5D +ZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBU +cnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIyMTIwNzM3WhcNMjkxMjMxMTIwNzM3 +WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMg +Uy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSIw +IAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0B +AQEFAAOCAQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rH +UV+rpDKmYYe2bg+G0jACl/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LM +TXPb865Px1bVWqeWifrzq2jUI4ZZJ88JJ7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVU +BBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4fOQtf/WsX+sWn7Et0brM +kUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0cvW0QM8x +AcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNV +HQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15y +sHhE49wcrwn9I0j6vSrEuVUEtRCjjSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfL +I9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1mS1FhIrlQgnXdAIv94nYmem8 +J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5ajZt3hrvJBW8qY +VoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI +03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= +-----END CERTIFICATE----- + +# Issuer: CN=TWCA Root Certification Authority O=TAIWAN-CA OU=Root CA +# Subject: CN=TWCA Root Certification Authority O=TAIWAN-CA OU=Root CA +# Label: "TWCA Root Certification Authority" +# Serial: 1 +# MD5 Fingerprint: aa:08:8f:f6:f9:7b:b7:f2:b1:a7:1e:9b:ea:ea:bd:79 +# SHA1 Fingerprint: cf:9e:87:6d:d3:eb:fc:42:26:97:a3:b5:a3:7a:a0:76:a9:06:23:48 +# SHA256 Fingerprint: bf:d8:8f:e1:10:1c:41:ae:3e:80:1b:f8:be:56:35:0e:e9:ba:d1:a6:b9:bd:51:5e:dc:5c:6d:5b:87:11:ac:44 +-----BEGIN CERTIFICATE----- +MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzES +MBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFU +V0NBIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMz +WhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJVEFJV0FO +LUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlm +aWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +AQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFE +AcK0HMMxQhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HH +K3XLfJ+utdGdIzdjp9xCoi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeX +RfwZVzsrb+RH9JlF/h3x+JejiB03HFyP4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/z +rX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1ry+UPizgN7gr8/g+YnzAx +3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkq +hkiG9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeC +MErJk/9q56YAf4lCmtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdls +XebQ79NqZp4VKIV66IIArB6nCWlWQtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62D +lhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVYT0bf+215WfKEIlKuD8z7fDvn +aspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocnyYh0igzyXxfkZ +YiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw== +-----END CERTIFICATE----- + +# Issuer: O=SECOM Trust Systems CO.,LTD. OU=Security Communication RootCA2 +# Subject: O=SECOM Trust Systems CO.,LTD. OU=Security Communication RootCA2 +# Label: "Security Communication RootCA2" +# Serial: 0 +# MD5 Fingerprint: 6c:39:7d:a4:0e:55:59:b2:3f:d6:41:b1:12:50:de:43 +# SHA1 Fingerprint: 5f:3b:8c:f2:f8:10:b3:7d:78:b4:ce:ec:19:19:c3:73:34:b9:c7:74 +# SHA256 Fingerprint: 51:3b:2c:ec:b8:10:d4:cd:e5:dd:85:39:1a:df:c6:c2:dd:60:d8:7b:b7:36:d2:b5:21:48:4a:a4:7a:0e:be:f6 +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDEl +MCMGA1UEChMcU0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMe +U2VjdXJpdHkgQ29tbXVuaWNhdGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoX +DTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRy +dXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3VyaXR5IENvbW11bmlj +YXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANAV +OVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGr +zbl+dp+++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVM +VAX3NuRFg3sUZdbcDE3R3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQ +hNBqyjoGADdH5H5XTz+L62e4iKrFvlNVspHEfbmwhRkGeC7bYRr6hfVKkaHnFtWO +ojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1KEOtOghY6rCcMU/Gt1SSw +awNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8QIH4D5cs +OPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3 +DQEBCwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpF +coJxDjrSzG+ntKEju/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXc +okgfGT+Ok+vx+hfuzU7jBBJV1uXk3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8 +t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6qtnRGEmyR7jTV7JqR50S+kDFy +1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29mvVXIwAHIRc/ +SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03 +-----END CERTIFICATE----- + +# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2011 O=Hellenic Academic and Research Institutions Cert. Authority +# Subject: CN=Hellenic Academic and Research Institutions RootCA 2011 O=Hellenic Academic and Research Institutions Cert. Authority +# Label: "Hellenic Academic and Research Institutions RootCA 2011" +# Serial: 0 +# MD5 Fingerprint: 73:9f:4c:4b:73:5b:79:e9:fa:ba:1c:ef:6e:cb:d5:c9 +# SHA1 Fingerprint: fe:45:65:9b:79:03:5b:98:a1:61:b5:51:2e:ac:da:58:09:48:22:4d +# SHA256 Fingerprint: bc:10:4f:15:a4:8b:e7:09:dc:a5:42:a7:e1:d4:b9:df:6f:05:45:27:e8:02:ea:a9:2d:59:54:44:25:8a:fe:71 +-----BEGIN CERTIFICATE----- +MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1Ix +RDBCBgNVBAoTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1 +dGlvbnMgQ2VydC4gQXV0aG9yaXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1p +YyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIFJvb3RDQSAyMDExMB4XDTExMTIw +NjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYTAkdSMUQwQgYDVQQK +EztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIENl +cnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl +c2VhcmNoIEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEB +BQADggEPADCCAQoCggEBAKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPz +dYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJ +fel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa71HFK9+WXesyHgLacEns +bgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u8yBRQlqD +75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSP +FEDH3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNV +HRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp +5dgTBCPuQSUwRwYDVR0eBEAwPqA8MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQu +b3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQub3JnMA0GCSqGSIb3DQEBBQUA +A4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVtXdMiKahsog2p +6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8 +TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7 +dIsXRSZMFpGD/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8Acys +Nnq/onN694/BtZqhFLKPM58N7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXI +l7WdmplNsDz4SgCbZN2fOUvRJ9e4 +-----END CERTIFICATE----- + +# Issuer: CN=Actalis Authentication Root CA O=Actalis S.p.A./03358520967 +# Subject: CN=Actalis Authentication Root CA O=Actalis S.p.A./03358520967 +# Label: "Actalis Authentication Root CA" +# Serial: 6271844772424770508 +# MD5 Fingerprint: 69:c1:0d:4f:07:a3:1b:c3:fe:56:3d:04:bc:11:f6:a6 +# SHA1 Fingerprint: f3:73:b3:87:06:5a:28:84:8a:f2:f3:4a:ce:19:2b:dd:c7:8e:9c:ac +# SHA256 Fingerprint: 55:92:60:84:ec:96:3a:64:b9:6e:2a:be:01:ce:0b:a8:6a:64:fb:fe:bc:c7:aa:b5:af:c1:55:b3:7f:d7:60:66 +-----BEGIN CERTIFICATE----- +MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UE +BhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8w +MzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290 +IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDkyMjExMjIwMlowazELMAkGA1UEBhMC +SVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1 +ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENB +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNv +UTufClrJwkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX +4ay8IMKx4INRimlNAJZaby/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9 +KK3giq0itFZljoZUj5NDKd45RnijMCO6zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/ +gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1fYVEiVRvjRuPjPdA1Yprb +rxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2oxgkg4YQ +51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2F +be8lEfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxe +KF+w6D9Fz8+vm2/7hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4F +v6MGn8i1zeQf1xcGDXqVdFUNaBr8EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbn +fpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5jF66CyCU3nuDuP/jVo23Eek7 +jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLYiDrIn3hm7Ynz +ezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt +ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAL +e3KHwGCmSUyIWOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70 +jsNjLiNmsGe+b7bAEzlgqqI0JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDz +WochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKxK3JCaKygvU5a2hi/a5iB0P2avl4V +SM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+Xlff1ANATIGk0k9j +pwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC4yyX +X04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+Ok +fcvHlXHo2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7R +K4X9p2jIugErsWx0Hbhzlefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btU +ZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXemOR/qnuOf0GZvBeyqdn6/axag67XH/JJU +LysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9vwGYT7JZVEc+NHt4bVaT +LnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg== +-----END CERTIFICATE----- + +# Issuer: O=Trustis Limited OU=Trustis FPS Root CA +# Subject: O=Trustis Limited OU=Trustis FPS Root CA +# Label: "Trustis FPS Root CA" +# Serial: 36053640375399034304724988975563710553 +# MD5 Fingerprint: 30:c9:e7:1e:6b:e6:14:eb:65:b2:16:69:20:31:67:4d +# SHA1 Fingerprint: 3b:c0:38:0b:33:c3:f6:a6:0c:86:15:22:93:d9:df:f5:4b:81:c0:04 +# SHA256 Fingerprint: c1:b4:82:99:ab:a5:20:8f:e9:63:0a:ce:55:ca:68:a0:3e:da:5a:51:9c:88:02:a0:d3:a6:73:be:8f:8e:55:7d +-----BEGIN CERTIFICATE----- +MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBF +MQswCQYDVQQGEwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQL +ExNUcnVzdGlzIEZQUyBSb290IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTEx +MzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNVBAoTD1RydXN0aXMgTGltaXRlZDEc +MBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQRUN+ +AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihH +iTHcDnlkH5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjj +vSkCqPoc4Vu5g6hBSLwacY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA +0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zto3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlB +OrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEAAaNTMFEwDwYDVR0TAQH/ +BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAdBgNVHQ4E +FgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01 +GX2cGE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmW +zaD+vkAMXBJV+JOCyinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP4 +1BIy+Q7DsdwyhEQsb8tGD+pmQQ9P8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZE +f1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHVl/9D7S3B2l0pKoU/rGXuhg8F +jZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYliB6XzCGcKQEN +ZetX2fNXlrtIzYE= +-----END CERTIFICATE----- + +# Issuer: CN=Buypass Class 2 Root CA O=Buypass AS-983163327 +# Subject: CN=Buypass Class 2 Root CA O=Buypass AS-983163327 +# Label: "Buypass Class 2 Root CA" +# Serial: 2 +# MD5 Fingerprint: 46:a7:d2:fe:45:fb:64:5a:a8:59:90:9b:78:44:9b:29 +# SHA1 Fingerprint: 49:0a:75:74:de:87:0a:47:fe:58:ee:f6:c7:6b:eb:c6:0b:12:40:99 +# SHA256 Fingerprint: 9a:11:40:25:19:7c:5b:b9:5d:94:e6:3d:55:cd:43:79:08:47:b6:46:b2:3c:df:11:ad:a4:a0:0e:ff:15:fb:48 +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd +MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg +Q2xhc3MgMiBSb290IENBMB4XDTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1ow +TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw +HgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB +BQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1g1Lr +6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPV +L4O2fuPn9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC91 +1K2GScuVr1QGbNgGE41b/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHx +MlAQTn/0hpPshNOOvEu/XAFOBz3cFIqUCqTqc/sLUegTBxj6DvEr0VQVfTzh97QZ +QmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeffawrbD02TTqigzXsu8lkB +arcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgIzRFo1clr +Us3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLi +FRhnBkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRS +P/TizPJhk9H9Z2vXUq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN +9SG9dKpN6nIDSdvHXx1iY8f93ZHsM+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxP +AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMmAd+BikoL1Rpzz +uvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAU18h +9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s +A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3t +OluwlN5E40EIosHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo ++fsicdl9sz1Gv7SEr5AcD48Saq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7 +KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYdDnkM/crqJIByw5c/8nerQyIKx+u2 +DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWDLfJ6v9r9jv6ly0Us +H8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0oyLQ +I+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK7 +5t98biGCwWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h +3PFaTWwyI0PurKju7koSCTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPz +Y11aWOIv4x3kqdbQCtCev9eBCfHJxyYNrJgWVqA= +-----END CERTIFICATE----- + +# Issuer: CN=Buypass Class 3 Root CA O=Buypass AS-983163327 +# Subject: CN=Buypass Class 3 Root CA O=Buypass AS-983163327 +# Label: "Buypass Class 3 Root CA" +# Serial: 2 +# MD5 Fingerprint: 3d:3b:18:9e:2c:64:5a:e8:d5:88:ce:0e:f9:37:c2:ec +# SHA1 Fingerprint: da:fa:f7:fa:66:84:ec:06:8f:14:50:bd:c7:c2:81:a5:bc:a9:64:57 +# SHA256 Fingerprint: ed:f7:eb:bc:a2:7a:2a:38:4d:38:7b:7d:40:10:c6:66:e2:ed:b4:84:3e:4c:29:b4:ae:1d:5b:93:32:e6:b2:4d +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd +MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg +Q2xhc3MgMyBSb290IENBMB4XDTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFow +TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw +HgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB +BQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRHsJ8Y +ZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3E +N3coTRiR5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9 +tznDDgFHmV0ST9tD+leh7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX +0DJq1l1sDPGzbjniazEuOQAnFN44wOwZZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c +/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH2xc519woe2v1n/MuwU8X +KhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV/afmiSTY +zIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvS +O1UQRwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D +34xFMFbG02SrZvPAXpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgP +K9Dx2hzLabjKSWJtyNBjYt1gD1iqj6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3 +AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFEe4zf/lb+74suwv +Tg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAACAj +QTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV +cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXS +IGrs/CIBKM+GuIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2 +HJLw5QY33KbmkJs4j1xrG0aGQ0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsa +O5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8ZORK15FTAaggiG6cX0S5y2CBNOxv +033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2KSb12tjE8nVhz36u +dmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz6MkE +kbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg41 +3OEMXbugUZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvD +u79leNKGef9JOxqDDPDeeOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq +4/g7u9xN12TyUb7mqqta6THuBrxzvxNiCp/HuZc= +-----END CERTIFICATE----- + +# Issuer: CN=T-TeleSec GlobalRoot Class 3 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center +# Subject: CN=T-TeleSec GlobalRoot Class 3 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center +# Label: "T-TeleSec GlobalRoot Class 3" +# Serial: 1 +# MD5 Fingerprint: ca:fb:40:a8:4e:39:92:8a:1d:fe:8e:2f:c4:27:ea:ef +# SHA1 Fingerprint: 55:a6:72:3e:cb:f2:ec:cd:c3:23:74:70:19:9d:2a:be:11:e3:81:d1 +# SHA256 Fingerprint: fd:73:da:d3:1c:64:4f:f1:b4:3b:ef:0c:cd:da:96:71:0b:9c:d9:87:5e:ca:7e:31:70:7a:f3:e9:6d:52:2b:bd +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx +KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd +BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl +YyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgxMDAxMTAyOTU2WhcNMzMxMDAxMjM1 +OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy +aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 +ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN +8ELg63iIVl6bmlQdTQyK9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/ +RLyTPWGrTs0NvvAgJ1gORH8EGoel15YUNpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4 +hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZFiP0Zf3WHHx+xGwpzJFu5 +ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W0eDrXltM +EnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGj +QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1 +A/d2O2GCahKqGFPrAyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOy +WL6ukK2YJ5f+AbGwUgC4TeQbIXQbfsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ +1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzTucpH9sry9uetuUg/vBa3wW30 +6gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7hP0HHRwA11fXT +91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml +e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4p +TpPDpFQUWw== +-----END CERTIFICATE----- + +# Issuer: CN=EE Certification Centre Root CA O=AS Sertifitseerimiskeskus +# Subject: CN=EE Certification Centre Root CA O=AS Sertifitseerimiskeskus +# Label: "EE Certification Centre Root CA" +# Serial: 112324828676200291871926431888494945866 +# MD5 Fingerprint: 43:5e:88:d4:7d:1a:4a:7e:fd:84:2e:52:eb:01:d4:6f +# SHA1 Fingerprint: c9:a8:b9:e7:55:80:5e:58:e3:53:77:a7:25:eb:af:c3:7b:27:cc:d7 +# SHA256 Fingerprint: 3e:84:ba:43:42:90:85:16:e7:75:73:c0:99:2f:09:79:ca:08:4e:46:85:68:1f:f1:95:cc:ba:8a:22:9b:8a:76 +-----BEGIN CERTIFICATE----- +MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1 +MQswCQYDVQQGEwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1 +czEoMCYGA1UEAwwfRUUgQ2VydGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYG +CSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIwMTAxMDMwMTAxMDMwWhgPMjAzMDEy +MTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlBUyBTZXJ0aWZpdHNl +ZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRyZSBS +b290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEB +AQUAA4IBDwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUy +euuOF0+W2Ap7kaJjbMeMTC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvO +bntl8jixwKIy72KyaOBhU8E2lf/slLo2rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIw +WFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw93X2PaRka9ZP585ArQ/d +MtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtNP2MbRMNE +1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYD +VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/ +zQas8fElyalL1BSZMEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYB +BQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEF +BQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+RjxY6hUFaTlrg4wCQiZrxTFGGV +v9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqMlIpPnTX/dqQG +E5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u +uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIW +iAYLtqZLICjU3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/v +GVCJYMzpJJUPwssd8m92kMfMdcGWxZ0= +-----END CERTIFICATE----- + +# Issuer: CN=D-TRUST Root Class 3 CA 2 2009 O=D-Trust GmbH +# Subject: CN=D-TRUST Root Class 3 CA 2 2009 O=D-Trust GmbH +# Label: "D-TRUST Root Class 3 CA 2 2009" +# Serial: 623603 +# MD5 Fingerprint: cd:e0:25:69:8d:47:ac:9c:89:35:90:f7:fd:51:3d:2f +# SHA1 Fingerprint: 58:e8:ab:b0:36:15:33:fb:80:f7:9b:1b:6d:29:d3:ff:8d:5f:00:f0 +# SHA256 Fingerprint: 49:e7:a4:42:ac:f0:ea:62:87:05:00:54:b5:25:64:b6:50:e4:f4:9e:42:e3:48:d6:aa:38:e0:39:e9:57:b1:c1 +-----BEGIN CERTIFICATE----- +MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRF +MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBD +bGFzcyAzIENBIDIgMjAwOTAeFw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NTha +ME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMM +HkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIwDQYJKoZIhvcNAQEB +BQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOADER03 +UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42 +tSHKXzlABF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9R +ySPocq60vFYJfxLLHLGvKZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsM +lFqVlNpQmvH/pStmMaTJOKDfHR+4CS7zp+hnUquVH+BGPtikw8paxTGA6Eian5Rp +/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUCAwEAAaOCARowggEWMA8G +A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ4PGEMA4G +A1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVj +dG9yeS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUy +MENBJTIwMiUyMDIwMDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRl +cmV2b2NhdGlvbmxpc3QwQ6BBoD+GPWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3Js +L2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAwOS5jcmwwDQYJKoZIhvcNAQEL +BQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm2H6NMLVwMeni +acfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0 +o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4K +zCUqNQT4YJEVdT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8 +PIWmawomDeCTmGCufsYkl4phX5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3Y +Johw1+qRzT65ysCQblrGXnRl11z+o+I= +-----END CERTIFICATE----- + +# Issuer: CN=D-TRUST Root Class 3 CA 2 EV 2009 O=D-Trust GmbH +# Subject: CN=D-TRUST Root Class 3 CA 2 EV 2009 O=D-Trust GmbH +# Label: "D-TRUST Root Class 3 CA 2 EV 2009" +# Serial: 623604 +# MD5 Fingerprint: aa:c6:43:2c:5e:2d:cd:c4:34:c0:50:4f:11:02:4f:b6 +# SHA1 Fingerprint: 96:c9:1b:0b:95:b4:10:98:42:fa:d0:d8:22:79:fe:60:fa:b9:16:83 +# SHA256 Fingerprint: ee:c5:49:6b:98:8c:e9:86:25:b9:34:09:2e:ec:29:08:be:d0:b0:f3:16:c2:d4:73:0c:84:ea:f1:f3:d3:48:81 +-----BEGIN CERTIFICATE----- +MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRF +MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBD +bGFzcyAzIENBIDIgRVYgMjAwOTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUw +NDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNV +BAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAwOTCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfSegpn +ljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM0 +3TP1YtHhzRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6Z +qQTMFexgaDbtCHu39b+T7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lR +p75mpoo6Kr3HGrHhFPC+Oh25z1uxav60sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8 +HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure3511H3a6UCAwEAAaOCASQw +ggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyvcop9Ntea +HNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFw +Oi8vZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xh +c3MlMjAzJTIwQ0ElMjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1E +RT9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0MEagRKBChkBodHRwOi8vd3d3LmQt +dHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xhc3NfM19jYV8yX2V2XzIwMDku +Y3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+PPoeUSbrh/Yp +3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05 +nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNF +CSuGdXzfX2lXANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7na +xpeG0ILD5EJt/rDiZE4OJudANCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqX +KVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVvw9y4AyHqnxbxLFS1 +-----END CERTIFICATE----- + +# Issuer: CN=CA Disig Root R2 O=Disig a.s. +# Subject: CN=CA Disig Root R2 O=Disig a.s. +# Label: "CA Disig Root R2" +# Serial: 10572350602393338211 +# MD5 Fingerprint: 26:01:fb:d8:27:a7:17:9a:45:54:38:1a:43:01:3b:03 +# SHA1 Fingerprint: b5:61:eb:ea:a4:de:e4:25:4b:69:1a:98:a5:57:47:c2:34:c7:d9:71 +# SHA256 Fingerprint: e2:3d:4a:03:6d:7b:70:e9:f5:95:b1:42:20:79:d2:b9:1e:df:bb:1f:b6:51:a0:63:3e:aa:8a:9d:c5:f8:07:03 +-----BEGIN CERTIFICATE----- +MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNV +BAYTAlNLMRMwEQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMu +MRkwFwYDVQQDExBDQSBEaXNpZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQy +MDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sxEzARBgNVBAcTCkJyYXRpc2xhdmEx +EzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERpc2lnIFJvb3QgUjIw +ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbCw3Oe +NcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNH +PWSb6WiaxswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3I +x2ymrdMxp7zo5eFm1tL7A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbe +QTg06ov80egEFGEtQX6sx3dOy1FU+16SGBsEWmjGycT6txOgmLcRK7fWV8x8nhfR +yyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqVg8NTEQxzHQuyRpDRQjrO +QG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa5Beny912 +H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJ +QfYEkoopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUD +i/ZnWejBBhG93c+AAk9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORs +nLMOPReisjQS1n6yqEm70XooQL6iFh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1 +rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud +DwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5uQu0wDQYJKoZI +hvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM +tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqf +GopTpti72TVVsRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkb +lvdhuDvEK7Z4bLQjb/D907JedR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka ++elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W81k/BfDxujRNt+3vrMNDcTa/F1bal +TFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjxmHHEt38OFdAlab0i +nSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01utI3 +gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18Dr +G5gPcFw0sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3Os +zMOl6W8KjptlwlCFtaOgUxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8x +L4ysEr3vQCj8KWefshNPZiTEUxnpHikV7+ZtsH8tZ/3zbBt1RqPlShfppNcL +-----END CERTIFICATE----- + +# Issuer: CN=ACCVRAIZ1 O=ACCV OU=PKIACCV +# Subject: CN=ACCVRAIZ1 O=ACCV OU=PKIACCV +# Label: "ACCVRAIZ1" +# Serial: 6828503384748696800 +# MD5 Fingerprint: d0:a0:5a:ee:05:b6:09:94:21:a1:7d:f1:b2:29:82:02 +# SHA1 Fingerprint: 93:05:7a:88:15:c6:4f:ce:88:2f:fa:91:16:52:28:78:bc:53:64:17 +# SHA256 Fingerprint: 9a:6e:c0:12:e1:a7:da:9d:be:34:19:4d:47:8a:d7:c0:db:18:22:fb:07:1d:f1:29:81:49:6e:d1:04:38:41:13 +-----BEGIN CERTIFICATE----- +MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UE +AwwJQUNDVlJBSVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQsw +CQYDVQQGEwJFUzAeFw0xMTA1MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQ +BgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwHUEtJQUNDVjENMAsGA1UECgwEQUND +VjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCb +qau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gMjmoY +HtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWo +G2ioPej0RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpA +lHPrzg5XPAOBOp0KoVdDaaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhr +IA8wKFSVf+DuzgpmndFALW4ir50awQUZ0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/ +0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDGWuzndN9wrqODJerWx5eH +k6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs78yM2x/47 +4KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMO +m3WR5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpa +cXpkatcnYGMN285J9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPl +uUsXQA+xtrn13k/c4LOsOxFwYIRKQ26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYI +KwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRwOi8vd3d3LmFjY3YuZXMvZmls +ZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEuY3J0MB8GCCsG +AQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2 +VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeT +VfZW6oHlNsyMHj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIG +CCsGAQUFBwICMIIBFB6CARAAQQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUA +cgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBhAO0AegAgAGQAZQAgAGwAYQAgAEEA +QwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUAYwBuAG8AbABvAGcA +7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBjAHQA +cgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAA +QwBQAFMAIABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUA +czAwBggrBgEFBQcCARYkaHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2Mu +aHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRt +aW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2MV9kZXIuY3JsMA4GA1Ud +DwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZIhvcNAQEF +BQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdp +D70ER9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gU +JyCpZET/LtZ1qmxNYEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+m +AM/EKXMRNt6GGT6d7hmKG9Ww7Y49nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepD +vV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJTS+xJlsndQAJxGJ3KQhfnlms +tn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3sCPdK6jT2iWH +7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h +I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szA +h1xA2syVP1XgNce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xF +d3+YJ5oyXSrjhO7FmGYvliAd3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2H +pPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3pEfbRD0tVNEYqi4Y7 +-----END CERTIFICATE----- + +# Issuer: CN=TWCA Global Root CA O=TAIWAN-CA OU=Root CA +# Subject: CN=TWCA Global Root CA O=TAIWAN-CA OU=Root CA +# Label: "TWCA Global Root CA" +# Serial: 3262 +# MD5 Fingerprint: f9:03:7e:cf:e6:9e:3c:73:7a:2a:90:07:69:ff:2b:96 +# SHA1 Fingerprint: 9c:bb:48:53:f6:a4:f6:d3:52:a4:e8:32:52:55:60:13:f5:ad:af:65 +# SHA256 Fingerprint: 59:76:90:07:f7:68:5d:0f:cd:50:87:2f:9f:95:d5:75:5a:5b:2b:45:7d:81:f3:69:2b:61:0a:98:67:2f:0e:1b +-----BEGIN CERTIFICATE----- +MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcx +EjAQBgNVBAoTCVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMT +VFdDQSBHbG9iYWwgUm9vdCBDQTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5 +NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQKEwlUQUlXQU4tQ0ExEDAOBgNVBAsT +B1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3QgQ0EwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2CnJfF +10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz +0ALfUPZVr2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfCh +MBwqoJimFb3u/Rk28OKRQ4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbH +zIh1HrtsBv+baz4X7GGqcXzGHaL3SekVtTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc +46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1WKKD+u4ZqyPpcC1jcxkt2 +yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99sy2sbZCi +laLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYP +oA/pyJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQA +BDzfuBSO6N+pjWxnkjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcE +qYSjMq+u7msXi7Kx/mzhkIyIqJdIzshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm +4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB +/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6gcFGn90xHNcgL +1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn +LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WF +H6vPNOw/KP4M8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNo +RI2T9GRwoD2dKAXDOXC4Ynsg/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+ +nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlglPx4mI88k1HtQJAH32RjJMtOcQWh +15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryPA9gK8kxkRr05YuWW +6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3mi4TW +nsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5j +wa19hAM8EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWz +aGHQRiapIVJpLesux+t3zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmy +KwbQBM0= +-----END CERTIFICATE----- + +# Issuer: CN=TeliaSonera Root CA v1 O=TeliaSonera +# Subject: CN=TeliaSonera Root CA v1 O=TeliaSonera +# Label: "TeliaSonera Root CA v1" +# Serial: 199041966741090107964904287217786801558 +# MD5 Fingerprint: 37:41:49:1b:18:56:9a:26:f5:ad:c2:66:fb:40:a5:4c +# SHA1 Fingerprint: 43:13:bb:96:f1:d5:86:9b:c1:4e:6a:92:f6:cf:f6:34:69:87:82:37 +# SHA256 Fingerprint: dd:69:36:fe:21:f8:f0:77:c1:23:a1:a5:21:c1:22:24:f7:22:55:b7:3e:03:a7:26:06:93:e8:a2:4b:0f:a3:89 +-----BEGIN CERTIFICATE----- +MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAw +NzEUMBIGA1UECgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJv +b3QgQ0EgdjEwHhcNMDcxMDE4MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYD +VQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwWVGVsaWFTb25lcmEgUm9vdCBDQSB2 +MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+6yfwIaPzaSZVfp3F +VRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA3GV1 +7CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+X +Z75Ljo1kB1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+ +/jXh7VB7qTCNGdMJjmhnXb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs +81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxHoLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkm +dtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3F0fUTPHSiXk+TT2YqGHe +Oh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJoWjiUIMu +sDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4 +pgd7gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fs +slESl1MpWtTwEhDcTwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQ +arMCpgKIv7NHfirZ1fpoeDVNAgMBAAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYD +VR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qWDNXr+nuqF+gTEjANBgkqhkiG +9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNmzqjMDfz1mgbl +dxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx +0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1Tj +TQpgcmLNkQfWpb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBed +Y2gea+zDTYa4EzAvXUYNR0PVG6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7 +Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpcc41teyWRyu5FrgZLAMzTsVlQ2jqI +OylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOTJsjrDNYmiLbAJM+7 +vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2qReW +t88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcn +HL/EVlP6Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVx +SK236thZiNSQvxaz2emsWWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY= +-----END CERTIFICATE----- + +# Issuer: CN=E-Tugra Certification Authority O=E-Tu\u011fra EBG Bili\u015fim Teknolojileri ve Hizmetleri A.\u015e. OU=E-Tugra Sertifikasyon Merkezi +# Subject: CN=E-Tugra Certification Authority O=E-Tu\u011fra EBG Bili\u015fim Teknolojileri ve Hizmetleri A.\u015e. OU=E-Tugra Sertifikasyon Merkezi +# Label: "E-Tugra Certification Authority" +# Serial: 7667447206703254355 +# MD5 Fingerprint: b8:a1:03:63:b0:bd:21:71:70:8a:6f:13:3a:bb:79:49 +# SHA1 Fingerprint: 51:c6:e7:08:49:06:6e:f3:92:d4:5c:a0:0d:6d:a3:62:8f:c3:52:39 +# SHA256 Fingerprint: b0:bf:d5:2b:b0:d7:d9:bd:92:bf:5d:4d:c1:3d:a2:55:c0:2c:54:2f:37:83:65:ea:89:39:11:f5:5e:55:f2:3c +-----BEGIN CERTIFICATE----- +MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNV +BAYTAlRSMQ8wDQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBC +aWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNV +BAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQDDB9FLVR1 +Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMwNTEyMDk0OFoXDTIz +MDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmExQDA+ +BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhp +em1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN +ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA4vU/kwVRHoViVF56C/UY +B4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vdhQd2h8y/L5VMzH2nPbxH +D5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5KCKpbknSF +Q9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEo +q1+gElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3D +k14opz8n8Y4e0ypQBaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcH +fC425lAcP9tDJMW/hkd5s3kc91r0E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsut +dEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gzrt48Ue7LE3wBf4QOXVGUnhMM +ti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAqjqFGOjGY5RH8 +zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn +rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUX +U8u3Zg5mTPj5dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6 +Jyr+zE7S6E5UMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5 +XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAF +Nzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAKkEh47U6YA5n+KGCR +HTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jOXKqY +GwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c +77NCR807VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3 ++GbHeJAAFS6LrVE1Uweoa2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WK +vJUawSg5TB9D0pH0clmKuVb8P7Sd2nCcdlqMQ1DujjByTd//SffGqWfZbawCEeI6 +FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEVKV0jq9BgoRJP3vQXzTLl +yb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gTDx4JnW2P +AJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpD +y4Q08ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8d +NL/+I5c30jn6PQ0GC7TbO6Orb1wdtn7os4I07QZcJA== +-----END CERTIFICATE----- + +# Issuer: CN=T-TeleSec GlobalRoot Class 2 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center +# Subject: CN=T-TeleSec GlobalRoot Class 2 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center +# Label: "T-TeleSec GlobalRoot Class 2" +# Serial: 1 +# MD5 Fingerprint: 2b:9b:9e:e4:7b:6c:1f:00:72:1a:cc:c1:77:79:df:6a +# SHA1 Fingerprint: 59:0d:2d:7d:88:4f:40:2e:61:7e:a5:62:32:17:65:cf:17:d8:94:e9 +# SHA256 Fingerprint: 91:e2:f5:78:8d:58:10:eb:a7:ba:58:73:7d:e1:54:8a:8e:ca:cd:01:45:98:bc:0b:14:3e:04:1b:17:05:25:52 +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx +KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd +BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl +YyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgxMDAxMTA0MDE0WhcNMzMxMDAxMjM1 +OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy +aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 +ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUd +AqSzm1nzHoqvNK38DcLZSBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiC +FoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/FvudocP05l03Sx5iRUKrERLMjfTlH6VJi +1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx9702cu+fjOlbpSD8DT6Iavq +jnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGVWOHAD3bZ +wI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGj +QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/ +WSA2AHmgoCJrjNXyYdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhy +NsZt+U2e+iKo4YFWz827n+qrkRk4r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPAC +uvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNfvNoBYimipidx5joifsFvHZVw +IEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR3p1m0IvVVGb6 +g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN +9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlP +BSeOE6Fuwg== +-----END CERTIFICATE----- + +# Issuer: CN=Atos TrustedRoot 2011 O=Atos +# Subject: CN=Atos TrustedRoot 2011 O=Atos +# Label: "Atos TrustedRoot 2011" +# Serial: 6643877497813316402 +# MD5 Fingerprint: ae:b9:c4:32:4b:ac:7f:5d:66:cc:77:94:bb:2a:77:56 +# SHA1 Fingerprint: 2b:b1:f5:3e:55:0c:1d:c5:f1:d4:e6:b7:6a:46:4b:55:06:02:ac:21 +# SHA256 Fingerprint: f3:56:be:a2:44:b7:a9:1e:b3:5d:53:ca:9a:d7:86:4a:ce:01:8e:2d:35:d5:f8:f9:6d:df:68:a6:f4:1a:a4:74 +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UE +AwwVQXRvcyBUcnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQG +EwJERTAeFw0xMTA3MDcxNDU4MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMM +FUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsGA1UECgwEQXRvczELMAkGA1UEBhMC +REUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCVhTuXbyo7LjvPpvMp +Nb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr54rM +VD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+ +SZFhyBH+DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ +4J7sVaE3IqKHBAUsR320HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0L +cp2AMBYHlT8oDv3FdU9T1nSatCQujgKRz3bFmx5VdJx4IbHwLfELn8LVlhgf8FQi +eowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7Rl+lwrrw7GWzbITAPBgNV +HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZbNshMBgG +A1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3 +DQEBCwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8j +vZfza1zv7v1Apt+hk6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kP +DpFrdRbhIfzYJsdHt6bPWHJxfrrhTZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pc +maHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a961qn8FYiqTxlVMYVqL2Gns2D +lmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G3mB/ufNPRJLv +KrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 1 G3 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 1 G3 O=QuoVadis Limited +# Label: "QuoVadis Root CA 1 G3" +# Serial: 687049649626669250736271037606554624078720034195 +# MD5 Fingerprint: a4:bc:5b:3f:fe:37:9a:fa:64:f0:e2:fa:05:3d:0b:ab +# SHA1 Fingerprint: 1b:8e:ea:57:96:29:1a:c9:39:ea:b8:0a:81:1a:73:73:c0:93:79:67 +# SHA256 Fingerprint: 8a:86:6f:d1:b2:76:b5:7e:57:8e:92:1c:65:82:8a:2b:ed:58:e9:f2:f2:88:05:41:34:b7:f1:f4:bf:c9:cc:74 +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQEL +BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc +BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00 +MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEgRzMwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakEPBtV +wedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWe +rNrwU8lmPNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF341 +68Xfuw6cwI2H44g4hWf6Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh +4Pw5qlPafX7PGglTvF0FBM+hSo+LdoINofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXp +UhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/lg6AnhF4EwfWQvTA9xO+o +abw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV7qJZjqlc +3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/G +KubX9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSt +hfbZxbGL0eUQMk1fiyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KO +Tk0k+17kBL5yG6YnLUlamXrXXAkgt3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOt +zCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZIhvcNAQELBQAD +ggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC +MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2 +cDMT/uFPpiN3GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUN +qXsCHKnQO18LwIE6PWThv6ctTr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5 +YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP+V04ikkwj+3x6xn0dxoxGE1nVGwv +b2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh3jRJjehZrJ3ydlo2 +8hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fawx/k +NSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNj +ZgKAvQU6O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhp +q1467HxpvMc7hU6eFbm0FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFt +nh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOVhMJKzRwuJIczYOXD +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 2 G3 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 2 G3 O=QuoVadis Limited +# Label: "QuoVadis Root CA 2 G3" +# Serial: 390156079458959257446133169266079962026824725800 +# MD5 Fingerprint: af:0c:86:6e:bf:40:2d:7f:0b:3e:12:50:ba:12:3d:06 +# SHA1 Fingerprint: 09:3c:61:f3:8b:8b:dc:7d:55:df:75:38:02:05:00:e1:25:f5:c8:36 +# SHA256 Fingerprint: 8f:e4:fb:0a:f9:3a:4d:0d:67:db:0b:eb:b2:3e:37:c7:1b:f3:25:dc:bc:dd:24:0e:a0:4d:af:58:b4:7e:18:40 +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQEL +BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc +BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00 +MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIgRzMwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFhZiFf +qq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMW +n4rjyduYNM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ym +c5GQYaYDFCDy54ejiK2toIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+ +O7q414AB+6XrW7PFXmAqMaCvN+ggOp+oMiwMzAkd056OXbxMmO7FGmh77FOm6RQ1 +o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+lV0POKa2Mq1W/xPtbAd0j +IaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZoL1NesNKq +IcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz +8eQQsSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43eh +vNURG3YBZwjgQQvD6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l +7ZizlWNof/k19N+IxWA1ksB8aRxhlRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALG +cC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZIhvcNAQELBQAD +ggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66 +AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RC +roijQ1h5fq7KpVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0Ga +W/ZZGYjeVYg3UQt4XAoeo0L9x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4n +lv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgzdWqTHBLmYF5vHX/JHyPLhGGfHoJE ++V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6XU/IyAgkwo1jwDQHV +csaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+NwmNtd +dbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNg +KCLjsZWDzYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeM +HVOyToV7BjjHLPj4sHKNJeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4 +WSr2Rz0ZiC3oheGe7IUIarFsNMkd7EgrO3jtZsSOeWmD3n+M +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 3 G3 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 3 G3 O=QuoVadis Limited +# Label: "QuoVadis Root CA 3 G3" +# Serial: 268090761170461462463995952157327242137089239581 +# MD5 Fingerprint: df:7d:b9:ad:54:6f:68:a1:df:89:57:03:97:43:b0:d7 +# SHA1 Fingerprint: 48:12:bd:92:3c:a8:c4:39:06:e7:30:6d:27:96:e6:a4:cf:22:2e:7d +# SHA256 Fingerprint: 88:ef:81:de:20:2e:b0:18:45:2e:43:f8:64:72:5c:ea:5f:bd:1f:c2:d9:d2:05:73:07:09:c5:d8:b8:69:0f:46 +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQEL +BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc +BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00 +MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMgRzMwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286IxSR +/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNu +FoM7pmRLMon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXR +U7Ox7sWTaYI+FrUoRqHe6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+c +ra1AdHkrAj80//ogaX3T7mH1urPnMNA3I4ZyYUUpSFlob3emLoG+B01vr87ERROR +FHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3UVDmrJqMz6nWB2i3ND0/k +A9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f75li59wzw +eyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634Ryl +sSqiMd5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBp +VzgeAVuNVejH38DMdyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0Q +A4XN8f+MFrXBsj6IbGB/kE+V9/YtrQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ +ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZIhvcNAQELBQAD +ggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px +KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnI +FUBhynLWcKzSt/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5Wvv +oxXqA/4Ti2Tk08HS6IT7SdEQTXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFg +u/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9DuDcpmvJRPpq3t/O5jrFc/ZSXPsoaP +0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGibIh6BJpsQBJFxwAYf +3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmDhPbl +8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+ +DhcI00iX0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HN +PlopNLk9hM6xZdRZkZFWdSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ +ywaZWWDYWGWVjUTR939+J399roD1B0y2PpxxVJkES/1Y+Zj0 +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Assured ID Root G2 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Assured ID Root G2 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Assured ID Root G2" +# Serial: 15385348160840213938643033620894905419 +# MD5 Fingerprint: 92:38:b9:f8:63:24:82:65:2c:57:33:e6:fe:81:8f:9d +# SHA1 Fingerprint: a1:4b:48:d9:43:ee:0a:0e:40:90:4f:3c:e0:a4:c0:91:93:51:5d:3f +# SHA256 Fingerprint: 7d:05:eb:b6:82:33:9f:8c:94:51:ee:09:4e:eb:fe:fa:79:53:a1:14:ed:b2:f4:49:49:45:2f:ab:7d:2f:c1:85 +-----BEGIN CERTIFICATE----- +MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBl +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv +b3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl +cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSA +n61UQbVH35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4Htecc +biJVMWWXvdMX0h5i89vqbFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9Hp +EgjAALAcKxHad3A2m67OeYfcgnDmCXRwVWmvo2ifv922ebPynXApVfSr/5Vh88lA +bx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OPYLfykqGxvYmJHzDNw6Yu +YjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+RnlTGNAgMB +AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQW +BBTOw0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPI +QW5pJ6d1Ee88hjZv0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I +0jJmwYrA8y8678Dj1JGG0VDjA9tzd29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4Gni +lmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAWhsI6yLETcDbYz+70CjTVW0z9 +B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0MjomZmWzwPDCv +ON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo +IhNzbM8m9Yop5w== +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Assured ID Root G3 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Assured ID Root G3 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Assured ID Root G3" +# Serial: 15459312981008553731928384953135426796 +# MD5 Fingerprint: 7c:7f:65:31:0c:81:df:8d:ba:3e:99:e2:5c:ad:6e:fb +# SHA1 Fingerprint: f5:17:a2:4f:9a:48:c6:c9:f8:a2:00:26:9f:dc:0f:48:2c:ab:30:89 +# SHA256 Fingerprint: 7e:37:cb:8b:4c:47:09:0c:ab:36:55:1b:a6:f4:5d:b8:40:68:0f:ba:16:6a:95:2d:b1:00:71:7f:43:05:3f:c2 +-----BEGIN CERTIFICATE----- +MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQsw +CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu +ZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3Qg +RzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu +Y29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQBgcq +hkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJf +Zn4f5dwbRXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17Q +RSAPWXYQ1qAk8C3eNvJsKTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ +BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgFUaFNN6KDec6NHSrkhDAKBggqhkjOPQQD +AwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5FyYZ5eEJJZVrmDxxDnOOlY +JjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy1vUhZscv +6pZjamVFkpUBtA== +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Global Root G2 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Global Root G2 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Global Root G2" +# Serial: 4293743540046975378534879503202253541 +# MD5 Fingerprint: e4:a6:8a:c8:54:ac:52:42:46:0a:fd:72:48:1b:2a:44 +# SHA1 Fingerprint: df:3c:24:f9:bf:d6:66:76:1b:26:80:73:fe:06:d1:cc:8d:4f:82:a4 +# SHA256 Fingerprint: cb:3c:cb:b7:60:31:e5:e0:13:8f:8d:d3:9a:23:f9:de:47:ff:c3:5e:43:c1:14:4c:ea:27:d4:6a:5a:b1:cb:5f +-----BEGIN CERTIFICATE----- +MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH +MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT +MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j +b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI +2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx +1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ +q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz +tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ +vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP +BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV +5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY +1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4 +NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG +Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91 +8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe +pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl +MrY= +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Global Root G3 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Global Root G3 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Global Root G3" +# Serial: 7089244469030293291760083333884364146 +# MD5 Fingerprint: f5:5d:a4:50:a5:fb:28:7e:1e:0f:0d:cc:96:57:56:ca +# SHA1 Fingerprint: 7e:04:de:89:6a:3e:66:6d:00:e6:87:d3:3f:fa:d9:3b:e8:3d:34:9e +# SHA256 Fingerprint: 31:ad:66:48:f8:10:41:38:c7:38:f3:9e:a4:32:01:33:39:3e:3a:18:cc:02:29:6e:f9:7c:2a:c9:ef:67:31:d0 +-----BEGIN CERTIFICATE----- +MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQsw +CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu +ZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAe +Fw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVTMRUw +EwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20x +IDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0CAQYF +K4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FG +fp4tn+6OYwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPO +Z9wj/wMco+I+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAd +BgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNpYim8S8YwCgYIKoZIzj0EAwMDaAAwZQIx +AK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y3maTD/HMsQmP3Wyr+mt/ +oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34VOKa5Vt8 +sycX +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Trusted Root G4 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Trusted Root G4 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Trusted Root G4" +# Serial: 7451500558977370777930084869016614236 +# MD5 Fingerprint: 78:f2:fc:aa:60:1f:2f:b4:eb:c9:37:ba:53:2e:75:49 +# SHA1 Fingerprint: dd:fb:16:cd:49:31:c9:73:a2:03:7d:3f:c8:3a:4d:7d:77:5d:05:e4 +# SHA256 Fingerprint: 55:2f:7b:dc:f1:a7:af:9e:6c:e6:72:01:7f:4f:12:ab:f7:72:40:c7:8e:76:1a:c2:03:d1:d9:d2:0a:c8:99:88 +-----BEGIN CERTIFICATE----- +MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBi +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3Qg +RzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBiMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu +Y29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3y +ithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1If +xp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDV +ySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJz82sNEBfsXpm7nfISKhmV1efVFiO +DCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGYQJB5w3jHtrHEtWoYOAMQ +jdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6MUSaM0C/ +CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCi +EhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADM +fRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QY +uKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXK +chYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8oR7FwI+isX4KJpn15GkvmB0t +9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +hjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD +ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2 +SV1EY+CtnJYYZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd ++SeuMIW59mdNOj6PWTkiU0TryF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWc +fFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy7zBZLq7gcfJW5GqXb5JQbZaNaHqa +sjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iahixTXTBmyUEFxPT9N +cCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN5r5N +0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie +4u1Ki7wb/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mI +r/OSmbaz5mEP0oUA51Aa5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1 +/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tKG48BtieVU+i2iW1bvGjUI+iLUaJW+fCm +gKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP82Z+ +-----END CERTIFICATE----- + +# Issuer: CN=COMODO RSA Certification Authority O=COMODO CA Limited +# Subject: CN=COMODO RSA Certification Authority O=COMODO CA Limited +# Label: "COMODO RSA Certification Authority" +# Serial: 101909084537582093308941363524873193117 +# MD5 Fingerprint: 1b:31:b0:71:40:36:cc:14:36:91:ad:c4:3e:fd:ec:18 +# SHA1 Fingerprint: af:e5:d2:44:a8:d1:19:42:30:ff:47:9f:e2:f8:97:bb:cd:7a:8c:b4 +# SHA256 Fingerprint: 52:f0:e1:c4:e5:8e:c6:29:29:1b:60:31:7f:07:46:71:b8:5d:7e:a8:0d:5b:07:27:34:63:53:4b:32:b4:02:34 +-----BEGIN CERTIFICATE----- +MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCB +hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G +A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV +BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMTE5 +MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgT +EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR +Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR +6FSS0gpWsawNJN3Fz0RndJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8X +pz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZFGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC +9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+5eNu/Nio5JIk2kNrYrhV +/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pGx8cgoLEf +Zd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z ++pUX2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7w +qP/0uK3pN/u6uPQLOvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZah +SL0896+1DSJMwBGB7FY79tOi4lu3sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVIC +u9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+CGCe01a60y1Dma/RMhnEw6abf +Fobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5WdYgGq/yapiq +crxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E +FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB +/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvl +wFTPoCWOAvn9sKIN9SCYPBMtrFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM +4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+nq6PK7o9mfjYcwlYRm6mnPTXJ9OV +2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSgtZx8jb8uk2Intzna +FxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwWsRqZ +CuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiK +boHGhfKppC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmcke +jkk9u+UJueBPSZI9FoJAzMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yL +S0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHqZJx64SIDqZxubw5lT2yHh17zbqD5daWb +QOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk527RH89elWsn2/x20Kk4yl +0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7ILaZRfyHB +NVOFBkpdn627G190 +-----END CERTIFICATE----- + +# Issuer: CN=USERTrust RSA Certification Authority O=The USERTRUST Network +# Subject: CN=USERTrust RSA Certification Authority O=The USERTRUST Network +# Label: "USERTrust RSA Certification Authority" +# Serial: 2645093764781058787591871645665788717 +# MD5 Fingerprint: 1b:fe:69:d1:91:b7:19:33:a3:72:a8:0f:e1:55:e5:b5 +# SHA1 Fingerprint: 2b:8f:1b:57:33:0d:bb:a2:d0:7a:6c:51:f7:0e:e9:0d:da:b9:ad:8e +# SHA256 Fingerprint: e7:93:c9:b0:2f:d8:aa:13:e2:1c:31:22:8a:cc:b0:81:19:64:3b:74:9c:89:89:64:b1:74:6d:46:c3:d4:cb:d2 +-----BEGIN CERTIFICATE----- +MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCB +iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl +cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV +BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAw +MjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNV +BAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU +aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy +dGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK +AoICAQCAEmUXNg7D2wiz0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B +3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2jY0K2dvKpOyuR+OJv0OwWIJAJPuLodMkY +tJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFnRghRy4YUVD+8M/5+bJz/ +Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O+T23LLb2 +VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT +79uq/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6 +c0Plfg6lZrEpfDKEY1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmT +Yo61Zs8liM2EuLE/pDkP2QKe6xJMlXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97l +c6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8yexDJtC/QV9AqURE9JnnV4ee +UB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+eLf8ZxXhyVeE +Hg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd +BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8G +A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPF +Up/L+M+ZBn8b2kMVn54CVVeWFPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KO +VWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ7l8wXEskEVX/JJpuXior7gtNn3/3 +ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQEg9zKC7F4iRO/Fjs +8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM8WcR +iQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYze +Sf7dNXGiFSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZ +XHlKYC6SQK5MNyosycdiyA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/ +qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9cJ2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRB +VXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGwsAvgnEzDHNb842m1R0aB +L6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gxQ+6IHdfG +jjxDah2nGN59PRbxYvnKkKj9 +-----END CERTIFICATE----- + +# Issuer: CN=USERTrust ECC Certification Authority O=The USERTRUST Network +# Subject: CN=USERTrust ECC Certification Authority O=The USERTRUST Network +# Label: "USERTrust ECC Certification Authority" +# Serial: 123013823720199481456569720443997572134 +# MD5 Fingerprint: fa:68:bc:d9:b5:7f:ad:fd:c9:1d:06:83:28:cc:24:c1 +# SHA1 Fingerprint: d1:cb:ca:5d:b2:d5:2a:7f:69:3b:67:4d:e5:f0:5a:1d:0c:95:7d:f0 +# SHA256 Fingerprint: 4f:f4:60:d5:4b:9c:86:da:bf:bc:fc:57:12:e0:40:0d:2b:ed:3f:bc:4d:4f:bd:aa:86:e0:6a:dc:d2:a9:ad:7a +-----BEGIN CERTIFICATE----- +MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDEL +MAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNl +eSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMT +JVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMjAx +MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT +Ck5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVUaGUg +VVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlm +aWNhdGlvbiBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqflo +I+d61SRvU8Za2EurxtW20eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinng +o4N+LZfQYcTxmdwlkWOrfzCjtHDix6EznPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0G +A1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNVHQ8BAf8EBAMCAQYwDwYD +VR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBBHU6+4WMB +zzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbW +RNZu9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg= +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R4 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R4 +# Label: "GlobalSign ECC Root CA - R4" +# Serial: 14367148294922964480859022125800977897474 +# MD5 Fingerprint: 20:f0:27:68:d1:7e:a0:9d:0e:e6:2a:ca:df:5c:89:8e +# SHA1 Fingerprint: 69:69:56:2e:40:80:f4:24:a1:e7:19:9f:14:ba:f3:ee:58:ab:6a:bb +# SHA256 Fingerprint: be:c9:49:11:c2:95:56:76:db:6c:0a:55:09:86:d7:6e:3b:a0:05:66:7c:44:2c:97:62:b4:fb:b7:73:de:22:8c +-----BEGIN CERTIFICATE----- +MIIB4TCCAYegAwIBAgIRKjikHJYKBN5CsiilC+g0mAIwCgYIKoZIzj0EAwIwUDEk +MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpH +bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX +DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD +QSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu +MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuMZ5049sJQ6fLjkZHAOkrprlOQcJ +FspjsbmG+IpXwVfOQvpzofdlQv8ewQCybnMO/8ch5RikqtlxP6jUuc6MHaNCMEAw +DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFSwe61F +uOJAf/sKbvu+M8k8o4TVMAoGCCqGSM49BAMCA0gAMEUCIQDckqGgE6bPA7DmxCGX +kPoUVy0D7O48027KqGx2vKLeuwIgJ6iFJzWbVsaj8kfSt24bAgAXqmemFZHe+pTs +ewv4n4Q= +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R5 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R5 +# Label: "GlobalSign ECC Root CA - R5" +# Serial: 32785792099990507226680698011560947931244 +# MD5 Fingerprint: 9f:ad:3b:1c:02:1e:8a:ba:17:74:38:81:0c:a2:bc:08 +# SHA1 Fingerprint: 1f:24:c6:30:cd:a4:18:ef:20:69:ff:ad:4f:dd:5f:46:3a:1b:69:aa +# SHA256 Fingerprint: 17:9f:bc:14:8a:3d:d0:0f:d2:4e:a1:34:58:cc:43:bf:a7:f5:9c:81:82:d7:83:a5:13:f6:eb:ec:10:0c:89:24 +-----BEGIN CERTIFICATE----- +MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEk +MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpH +bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX +DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD +QSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu +MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6SFkc +8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8ke +hOvRnkmSh5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD +VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYI +KoZIzj0EAwMDaAAwZQIxAOVpEslu28YxuglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg +515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7yFz9SO8NdCKoCOJuxUnO +xwy8p2Fp8fc74SrL+SvzZpA3 +-----END CERTIFICATE----- + +# Issuer: CN=Staat der Nederlanden Root CA - G3 O=Staat der Nederlanden +# Subject: CN=Staat der Nederlanden Root CA - G3 O=Staat der Nederlanden +# Label: "Staat der Nederlanden Root CA - G3" +# Serial: 10003001 +# MD5 Fingerprint: 0b:46:67:07:db:10:2f:19:8c:35:50:60:d1:0b:f4:37 +# SHA1 Fingerprint: d8:eb:6b:41:51:92:59:e0:f3:e7:85:00:c0:3d:b6:88:97:c9:ee:fc +# SHA256 Fingerprint: 3c:4f:b0:b9:5a:b8:b3:00:32:f4:32:b8:6f:53:5f:e1:72:c1:85:d0:fd:39:86:58:37:cf:36:18:7f:a6:f4:28 +-----BEGIN CERTIFICATE----- +MIIFdDCCA1ygAwIBAgIEAJiiOTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJO +TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFh +dCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQSAtIEczMB4XDTEzMTExNDExMjg0MloX +DTI4MTExMzIzMDAwMFowWjELMAkGA1UEBhMCTkwxHjAcBgNVBAoMFVN0YWF0IGRl +ciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5lZGVybGFuZGVuIFJv +b3QgQ0EgLSBHMzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL4yolQP +cPssXFnrbMSkUeiFKrPMSjTysF/zDsccPVMeiAho2G89rcKezIJnByeHaHE6n3WW +IkYFsO2tx1ueKt6c/DrGlaf1F2cY5y9JCAxcz+bMNO14+1Cx3Gsy8KL+tjzk7FqX +xz8ecAgwoNzFs21v0IJyEavSgWhZghe3eJJg+szeP4TrjTgzkApyI/o1zCZxMdFy +KJLZWyNtZrVtB0LrpjPOktvA9mxjeM3KTj215VKb8b475lRgsGYeCasH/lSJEULR +9yS6YHgamPfJEf0WwTUaVHXvQ9Plrk7O53vDxk5hUUurmkVLoR9BvUhTFXFkC4az +5S6+zqQbwSmEorXLCCN2QyIkHxcE1G6cxvx/K2Ya7Irl1s9N9WMJtxU51nus6+N8 +6U78dULI7ViVDAZCopz35HCz33JvWjdAidiFpNfxC95DGdRKWCyMijmev4SH8RY7 +Ngzp07TKbBlBUgmhHbBqv4LvcFEhMtwFdozL92TkA1CvjJFnq8Xy7ljY3r735zHP +bMk7ccHViLVlvMDoFxcHErVc0qsgk7TmgoNwNsXNo42ti+yjwUOH5kPiNL6VizXt +BznaqB16nzaeErAMZRKQFWDZJkBE41ZgpRDUajz9QdwOWke275dhdU/Z/seyHdTt +XUmzqWrLZoQT1Vyg3N9udwbRcXXIV2+vD3dbAgMBAAGjQjBAMA8GA1UdEwEB/wQF +MAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRUrfrHkleuyjWcLhL75Lpd +INyUVzANBgkqhkiG9w0BAQsFAAOCAgEAMJmdBTLIXg47mAE6iqTnB/d6+Oea31BD +U5cqPco8R5gu4RV78ZLzYdqQJRZlwJ9UXQ4DO1t3ApyEtg2YXzTdO2PCwyiBwpwp +LiniyMMB8jPqKqrMCQj3ZWfGzd/TtiunvczRDnBfuCPRy5FOCvTIeuXZYzbB1N/8 +Ipf3YF3qKS9Ysr1YvY2WTxB1v0h7PVGHoTx0IsL8B3+A3MSs/mrBcDCw6Y5p4ixp +gZQJut3+TcCDjJRYwEYgr5wfAvg1VUkvRtTA8KCWAg8zxXHzniN9lLf9OtMJgwYh +/WA9rjLA0u6NpvDntIJ8CsxwyXmA+P5M9zWEGYox+wrZ13+b8KKaa8MFSu1BYBQw +0aoRQm7TIwIEC8Zl3d1Sd9qBa7Ko+gE4uZbqKmxnl4mUnrzhVNXkanjvSr0rmj1A +fsbAddJu+2gw7OyLnflJNZoaLNmzlTnVHpL3prllL+U9bTpITAjc5CgSKL59NVzq +4BZ+Extq1z7XnvwtdbLBFNUjA9tbbws+eC8N3jONFrdI54OagQ97wUNNVQQXOEpR +1VmiiXTTn74eS9fGbbeIJG9gkaSChVtWQbzQRKtqE77RLFi3EjNYsjdj3BP1lB0/ +QFH1T/U67cjF68IeHRaVesd+QnGTbksVtzDfqu1XhUisHWrdOWnk4Xl4vs4Fv6EM +94B7IWcnMFk= +-----END CERTIFICATE----- + +# Issuer: CN=Staat der Nederlanden EV Root CA O=Staat der Nederlanden +# Subject: CN=Staat der Nederlanden EV Root CA O=Staat der Nederlanden +# Label: "Staat der Nederlanden EV Root CA" +# Serial: 10000013 +# MD5 Fingerprint: fc:06:af:7b:e8:1a:f1:9a:b4:e8:d2:70:1f:c0:f5:ba +# SHA1 Fingerprint: 76:e2:7e:c1:4f:db:82:c1:c0:a6:75:b5:05:be:3d:29:b4:ed:db:bb +# SHA256 Fingerprint: 4d:24:91:41:4c:fe:95:67:46:ec:4c:ef:a6:cf:6f:72:e2:8a:13:29:43:2f:9d:8a:90:7a:c4:cb:5d:ad:c1:5a +-----BEGIN CERTIFICATE----- +MIIFcDCCA1igAwIBAgIEAJiWjTANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQGEwJO +TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSkwJwYDVQQDDCBTdGFh +dCBkZXIgTmVkZXJsYW5kZW4gRVYgUm9vdCBDQTAeFw0xMDEyMDgxMTE5MjlaFw0y +MjEyMDgxMTEwMjhaMFgxCzAJBgNVBAYTAk5MMR4wHAYDVQQKDBVTdGFhdCBkZXIg +TmVkZXJsYW5kZW4xKTAnBgNVBAMMIFN0YWF0IGRlciBOZWRlcmxhbmRlbiBFViBS +b290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA48d+ifkkSzrS +M4M1LGns3Amk41GoJSt5uAg94JG6hIXGhaTK5skuU6TJJB79VWZxXSzFYGgEt9nC +UiY4iKTWO0Cmws0/zZiTs1QUWJZV1VD+hq2kY39ch/aO5ieSZxeSAgMs3NZmdO3d +Z//BYY1jTw+bbRcwJu+r0h8QoPnFfxZpgQNH7R5ojXKhTbImxrpsX23Wr9GxE46p +rfNeaXUmGD5BKyF/7otdBwadQ8QpCiv8Kj6GyzyDOvnJDdrFmeK8eEEzduG/L13l +pJhQDBXd4Pqcfzho0LKmeqfRMb1+ilgnQ7O6M5HTp5gVXJrm0w912fxBmJc+qiXb +j5IusHsMX/FjqTf5m3VpTCgmJdrV8hJwRVXj33NeN/UhbJCONVrJ0yPr08C+eKxC +KFhmpUZtcALXEPlLVPxdhkqHz3/KRawRWrUgUY0viEeXOcDPusBCAUCZSCELa6fS +/ZbV0b5GnUngC6agIk440ME8MLxwjyx1zNDFjFE7PZQIZCZhfbnDZY8UnCHQqv0X +cgOPvZuM5l5Tnrmd74K74bzickFbIZTTRTeU0d8JOV3nI6qaHcptqAqGhYqCvkIH +1vI4gnPah1vlPNOePqc7nvQDs/nxfRN0Av+7oeX6AHkcpmZBiFxgV6YuCcS6/ZrP +px9Aw7vMWgpVSzs4dlG4Y4uElBbmVvMCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB +/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFP6rAJCYniT8qcwaivsnuL8wbqg7 +MA0GCSqGSIb3DQEBCwUAA4ICAQDPdyxuVr5Os7aEAJSrR8kN0nbHhp8dB9O2tLsI +eK9p0gtJ3jPFrK3CiAJ9Brc1AsFgyb/E6JTe1NOpEyVa/m6irn0F3H3zbPB+po3u +2dfOWBfoqSmuc0iH55vKbimhZF8ZE/euBhD/UcabTVUlT5OZEAFTdfETzsemQUHS +v4ilf0X8rLiltTMMgsT7B/Zq5SWEXwbKwYY5EdtYzXc7LMJMD16a4/CrPmEbUCTC +wPTxGfARKbalGAKb12NMcIxHowNDXLldRqANb/9Zjr7dn3LDWyvfjFvO5QxGbJKy +CqNMVEIYFRIYvdr8unRu/8G2oGTYqV9Vrp9canaW2HNnh/tNf1zuacpzEPuKqf2e +vTY4SUmH9A4U8OmHuD+nT3pajnnUk+S7aFKErGzp85hwVXIy+TSrK0m1zSBi5Dp6 +Z2Orltxtrpfs/J92VoguZs9btsmksNcFuuEnL5O7Jiqik7Ab846+HUCjuTaPPoIa +Gl6I6lD4WeKDRikL40Rc4ZW2aZCaFG+XroHPaO+Zmr615+F/+PoTRxZMzG0IQOeL +eG9QgkRQP2YGiqtDhFZKDyAthg710tvSeopLzaXoTvFeJiUBWSOgftL2fiFX1ye8 +FVdMpEbB4IMeDExNH08GGeL5qPQ6gqGyeUN51q1veieQA6TqJIc/2b3Z6fJfUEkc +7uzXLg== +-----END CERTIFICATE----- + +# Issuer: CN=IdenTrust Commercial Root CA 1 O=IdenTrust +# Subject: CN=IdenTrust Commercial Root CA 1 O=IdenTrust +# Label: "IdenTrust Commercial Root CA 1" +# Serial: 13298821034946342390520003877796839426 +# MD5 Fingerprint: b3:3e:77:73:75:ee:a0:d3:e3:7e:49:63:49:59:bb:c7 +# SHA1 Fingerprint: df:71:7e:aa:4a:d9:4e:c9:55:84:99:60:2d:48:de:5f:bc:f0:3a:25 +# SHA256 Fingerprint: 5d:56:49:9b:e4:d2:e0:8b:cf:ca:d0:8a:3e:38:72:3d:50:50:3b:de:70:69:48:e4:2f:55:60:30:19:e5:28:ae +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBK +MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVu +VHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQw +MTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScw +JQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ldhNlT +3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU ++ehcCuz/mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gp +S0l4PJNgiCL8mdo2yMKi1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1 +bVoE/c40yiTcdCMbXTMTEl3EASX2MN0CXZ/g1Ue9tOsbobtJSdifWwLziuQkkORi +T0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl3ZBWzvurpWCdxJ35UrCL +vYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzyNeVJSQjK +Vsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZK +dHzVWYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHT +c+XvvqDtMwt0viAgxGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hv +l7yTmvmcEpB4eoCHFddydJxVdHixuuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5N +iGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZIhvcNAQELBQAD +ggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH +6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwt +LRvM7Kqas6pgghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93 +nAbowacYXVKV7cndJZ5t+qntozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3 ++wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmVYjzlVYA211QC//G5Xc7UI2/YRYRK +W2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUXfeu+h1sXIFRRk0pT +AwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/rokTLq +l1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG +4iZZRHUe2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZ +mUlO+KWA2yUPHGNiiskzZ2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A +7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7RcGzM7vRX+Bi6hG6H +-----END CERTIFICATE----- + +# Issuer: CN=IdenTrust Public Sector Root CA 1 O=IdenTrust +# Subject: CN=IdenTrust Public Sector Root CA 1 O=IdenTrust +# Label: "IdenTrust Public Sector Root CA 1" +# Serial: 13298821034946342390521976156843933698 +# MD5 Fingerprint: 37:06:a5:b0:fc:89:9d:ba:f4:6b:8c:1a:64:cd:d5:ba +# SHA1 Fingerprint: ba:29:41:60:77:98:3f:f4:f3:ef:f2:31:05:3b:2e:ea:6d:4d:45:fd +# SHA256 Fingerprint: 30:d0:89:5a:9a:44:8a:26:20:91:63:55:22:d1:f5:20:10:b5:86:7a:ca:e1:2c:78:ef:95:8f:d4:f4:38:9f:2f +-----BEGIN CERTIFICATE----- +MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBN +MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVu +VHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcN +MzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0 +MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwggIi +MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTyP4o7 +ekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGy +RBb06tD6Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlS +bdsHyo+1W/CD80/HLaXIrcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF +/YTLNiCBWS2ab21ISGHKTN9T0a9SvESfqy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R +3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoSmJxZZoY+rfGwyj4GD3vw +EUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFnol57plzy +9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9V +GxyhLrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ +2fjXctscvG29ZV/viDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsV +WaFHVCkugyhfHMKiq3IXAAaOReyL4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gD +W/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMwDQYJKoZIhvcN +AQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj +t2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHV +DRDtfULAj+7AmgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9 +TaDKQGXSc3z1i9kKlT/YPyNtGtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8G +lwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFtm6/n6J91eEyrRjuazr8FGF1NFTwW +mhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMxNRF4eKLg6TCMf4Df +WN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4Mhn5 ++bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJ +tshquDDIajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhA +GaQdp/lLQzfcaFpPz+vCZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv +8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ3Wl9af0AVqW3rLatt8o+Ae+c +-----END CERTIFICATE----- + +# Issuer: CN=Entrust Root Certification Authority - G2 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2009 Entrust, Inc. - for authorized use only +# Subject: CN=Entrust Root Certification Authority - G2 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2009 Entrust, Inc. - for authorized use only +# Label: "Entrust Root Certification Authority - G2" +# Serial: 1246989352 +# MD5 Fingerprint: 4b:e2:c9:91:96:65:0c:f4:0e:5a:93:92:a0:0a:fe:b2 +# SHA1 Fingerprint: 8c:f4:27:fd:79:0c:3a:d1:66:06:8d:e8:1e:57:ef:bb:93:22:72:d4 +# SHA256 Fingerprint: 43:df:57:74:b0:3e:7f:ef:5f:e4:0d:93:1a:7b:ed:f1:bb:2e:6b:42:73:8c:4e:6d:38:41:10:3d:3a:a7:f3:39 +-----BEGIN CERTIFICATE----- +MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMC +VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50 +cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3Qs +IEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVz +dCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwHhcNMDkwNzA3MTcy +NTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVu +dHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwt +dGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0 +aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP/vaCeb9zYQYKpSfYs1/T +RU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXzHHfV1IWN +cCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hW +wcKUs/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1 +U1+cPvQXLOZprE4yTGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0 +jaWvYkxN4FisZDQSA/i2jZRjJKRxAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAP +BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ60B7vfec7aVHUbI2fkBJmqzAN +BgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5ZiXMRrEPR9RP/ +jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ +Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v +1fN2D807iDginWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4R +nAuknZoh8/CbCzB428Hch0P+vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmH +VHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xOe4pIb4tF9g== +-----END CERTIFICATE----- + +# Issuer: CN=Entrust Root Certification Authority - EC1 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2012 Entrust, Inc. - for authorized use only +# Subject: CN=Entrust Root Certification Authority - EC1 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2012 Entrust, Inc. - for authorized use only +# Label: "Entrust Root Certification Authority - EC1" +# Serial: 51543124481930649114116133369 +# MD5 Fingerprint: b6:7e:1d:f0:58:c5:49:6c:24:3b:3d:ed:98:18:ed:bc +# SHA1 Fingerprint: 20:d8:06:40:df:9b:25:f5:12:25:3a:11:ea:f7:59:8a:eb:14:b5:47 +# SHA256 Fingerprint: 02:ed:0e:b2:8c:14:da:45:16:5c:56:67:91:70:0d:64:51:d7:fb:56:f0:b2:ab:1d:3b:8e:b0:70:e5:6e:df:f5 +-----BEGIN CERTIFICATE----- +MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkG +A1UEBhMCVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3 +d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVu +dHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEzMDEGA1UEAxMq +RW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRUMxMB4XDTEy +MTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYwFAYD +VQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0 +L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0g +Zm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBD +ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEVDMTB2MBAGByqGSM49AgEGBSuBBAAi +A2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHyAsWfoPZb1YsGGYZPUxBt +ByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef9eNi1KlH +Bz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O +BBYEFLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVC +R98crlOZF7ZvHH3hvxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nX +hTcGtXsI/esni0qU+eH6p44mCOh8kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G +-----END CERTIFICATE----- + +# Issuer: CN=CFCA EV ROOT O=China Financial Certification Authority +# Subject: CN=CFCA EV ROOT O=China Financial Certification Authority +# Label: "CFCA EV ROOT" +# Serial: 407555286 +# MD5 Fingerprint: 74:e1:b6:ed:26:7a:7a:44:30:33:94:ab:7b:27:81:30 +# SHA1 Fingerprint: e2:b8:29:4b:55:84:ab:6b:58:c2:90:46:6c:ac:3f:b8:39:8f:84:83 +# SHA256 Fingerprint: 5c:c3:d7:8e:4e:1d:5e:45:54:7a:04:e6:87:3e:64:f9:0c:f9:53:6d:1c:cc:2e:f8:00:f3:55:c4:c5:fd:70:fd +-----BEGIN CERTIFICATE----- +MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJD +TjEwMC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9y +aXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkx +MjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEwMC4GA1UECgwnQ2hpbmEgRmluYW5j +aWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJP +T1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnVBU03 +sQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpL +TIpTUnrD7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5 +/ZOkVIBMUtRSqy5J35DNuF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp +7hZZLDRJGqgG16iI0gNyejLi6mhNbiyWZXvKWfry4t3uMCz7zEasxGPrb382KzRz +EpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7xzbh72fROdOXW3NiGUgt +hxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9fpy25IGvP +a931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqot +aK8KgWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNg +TnYGmE69g60dWIolhdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfV +PKPtl8MeNPo4+QgO48BdK4PRVmrJtqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hv +cWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAfBgNVHSMEGDAWgBTj/i39KNAL +tbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAd +BgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB +ACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObT +ej/tUxPQ4i9qecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdL +jOztUmCypAbqTuv0axn96/Ua4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBS +ESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sGE5uPhnEFtC+NiWYzKXZUmhH4J/qy +P5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfXBDrDMlI1Dlb4pd19 +xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjnaH9d +Ci77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN +5mydLIhyPDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe +/v5WOaHIz16eGWRGENoXkbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+Z +AAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3CekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ +5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su +-----END CERTIFICATE----- + +# Issuer: CN=Certinomis - Root CA O=Certinomis OU=0002 433998903 +# Subject: CN=Certinomis - Root CA O=Certinomis OU=0002 433998903 +# Label: "Certinomis - Root CA" +# Serial: 1 +# MD5 Fingerprint: 14:0a:fd:8d:a8:28:b5:38:69:db:56:7e:61:22:03:3f +# SHA1 Fingerprint: 9d:70:bb:01:a5:a4:a0:18:11:2e:f7:1c:01:b9:32:c5:34:e7:88:a8 +# SHA256 Fingerprint: 2a:99:f5:bc:11:74:b7:3c:bb:1d:62:08:84:e0:1c:34:e5:1c:cb:39:78:da:12:5f:0e:33:26:88:83:bf:41:58 +-----BEGIN CERTIFICATE----- +MIIFkjCCA3qgAwIBAgIBATANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJGUjET +MBEGA1UEChMKQ2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxHTAb +BgNVBAMTFENlcnRpbm9taXMgLSBSb290IENBMB4XDTEzMTAyMTA5MTcxOFoXDTMz +MTAyMTA5MTcxOFowWjELMAkGA1UEBhMCRlIxEzARBgNVBAoTCkNlcnRpbm9taXMx +FzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMR0wGwYDVQQDExRDZXJ0aW5vbWlzIC0g +Um9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANTMCQosP5L2 +fxSeC5yaah1AMGT9qt8OHgZbn1CF6s2Nq0Nn3rD6foCWnoR4kkjW4znuzuRZWJfl +LieY6pOod5tK8O90gC3rMB+12ceAnGInkYjwSond3IjmFPnVAy//ldu9n+ws+hQV +WZUKxkd8aRi5pwP5ynapz8dvtF4F/u7BUrJ1Mofs7SlmO/NKFoL21prbcpjp3vDF +TKWrteoB4owuZH9kb/2jJZOLyKIOSY008B/sWEUuNKqEUL3nskoTuLAPrjhdsKkb +5nPJWqHZZkCqqU2mNAKthH6yI8H7KsZn9DS2sJVqM09xRLWtwHkziOC/7aOgFLSc +CbAK42C++PhmiM1b8XcF4LVzbsF9Ri6OSyemzTUK/eVNfaoqoynHWmgE6OXWk6Ri +wsXm9E/G+Z8ajYJJGYrKWUM66A0ywfRMEwNvbqY/kXPLynNvEiCL7sCCeN5LLsJJ +wx3tFvYk9CcbXFcx3FXuqB5vbKziRcxXV4p1VxngtViZSTYxPDMBbRZKzbgqg4SG +m/lg0h9tkQPTYKbVPZrdd5A9NaSfD171UkRpucC63M9933zZxKyGIjK8e2uR73r4 +F2iw4lNVYC2vPsKD2NkJK/DAZNuHi5HMkesE/Xa0lZrmFAYb1TQdvtj/dBxThZng +WVJKYe2InmtJiUZ+IFrZ50rlau7SZRFDAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIB +BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTvkUz1pcMw6C8I6tNxIqSSaHh0 +2TAfBgNVHSMEGDAWgBTvkUz1pcMw6C8I6tNxIqSSaHh02TANBgkqhkiG9w0BAQsF +AAOCAgEAfj1U2iJdGlg+O1QnurrMyOMaauo++RLrVl89UM7g6kgmJs95Vn6RHJk/ +0KGRHCwPT5iVWVO90CLYiF2cN/z7ZMF4jIuaYAnq1fohX9B0ZedQxb8uuQsLrbWw +F6YSjNRieOpWauwK0kDDPAUwPk2Ut59KA9N9J0u2/kTO+hkzGm2kQtHdzMjI1xZS +g081lLMSVX3l4kLr5JyTCcBMWwerx20RoFAXlCOotQqSD7J6wWAsOMwaplv/8gzj +qh8c3LigkyfeY+N/IZ865Z764BNqdeuWXGKRlI5nU7aJ+BIJy29SWwNyhlCVCNSN +h4YVH5Uk2KRvms6knZtt0rJ2BobGVgjF6wnaNsIbW0G+YSrjcOa4pvi2WsS9Iff/ +ql+hbHY5ZtbqTFXhADObE5hjyW/QASAJN1LnDE8+zbz1X5YnpyACleAu6AdBBR8V +btaw5BngDwKTACdyxYvRVB9dSsNAl35VpnzBMwQUAR1JIGkLGZOdblgi90AMRgwj +Y/M50n92Uaf0yKHxDHYiI0ZSKS3io0EHVmmY0gUJvGnHWmHNj4FgFU2A3ZDifcRQ +8ow7bkrHxuaAKzyBvBGAFhAn1/DNP3nMcyrDflOR1m749fPH0FFNjkulW+YZFzvW +gQncItzujrnEj1PhZ7szuIgVRs/taTX/dQ1G885x4cVrhkIGuUE= +-----END CERTIFICATE----- + +# Issuer: CN=OISTE WISeKey Global Root GB CA O=WISeKey OU=OISTE Foundation Endorsed +# Subject: CN=OISTE WISeKey Global Root GB CA O=WISeKey OU=OISTE Foundation Endorsed +# Label: "OISTE WISeKey Global Root GB CA" +# Serial: 157768595616588414422159278966750757568 +# MD5 Fingerprint: a4:eb:b9:61:28:2e:b7:2f:98:b0:35:26:90:99:51:1d +# SHA1 Fingerprint: 0f:f9:40:76:18:d3:d7:6a:4b:98:f0:a8:35:9e:0c:fd:27:ac:cc:ed +# SHA256 Fingerprint: 6b:9c:08:e8:6e:b0:f7:67:cf:ad:65:cd:98:b6:21:49:e5:49:4a:67:f5:84:5e:7b:d1:ed:01:9f:27:b8:6b:d6 +-----BEGIN CERTIFICATE----- +MIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBt +MQswCQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUg +Rm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9i +YWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAwMzJaFw0zOTEyMDExNTEwMzFaMG0x +CzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQLExlPSVNURSBG +b3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2Jh +bCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3 +HEokKtaXscriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGx +WuR51jIjK+FTzJlFXHtPrby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX +1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNk +u7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4oQnc/nSMbsrY9gBQHTC5P +99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvgGUpuuy9r +M2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw +AwEB/zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUB +BAMCAQAwDQYJKoZIhvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrgh +cViXfa43FK8+5/ea4n32cZiZBKpDdHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5 +gSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0VQreUGdNZtGn//3ZwLWoo4rO +ZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEuiHZeeevJuQHHf +aPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic +Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM= +-----END CERTIFICATE----- + +# Issuer: CN=SZAFIR ROOT CA2 O=Krajowa Izba Rozliczeniowa S.A. +# Subject: CN=SZAFIR ROOT CA2 O=Krajowa Izba Rozliczeniowa S.A. +# Label: "SZAFIR ROOT CA2" +# Serial: 357043034767186914217277344587386743377558296292 +# MD5 Fingerprint: 11:64:c1:89:b0:24:b1:8c:b1:07:7e:89:9e:51:9e:99 +# SHA1 Fingerprint: e2:52:fa:95:3f:ed:db:24:60:bd:6e:28:f3:9c:cc:cf:5e:b3:3f:de +# SHA256 Fingerprint: a1:33:9d:33:28:1a:0b:56:e5:57:d3:d3:2b:1c:e7:f9:36:7e:b0:94:bd:5f:a7:2a:7e:50:04:c8:de:d7:ca:fe +-----BEGIN CERTIFICATE----- +MIIDcjCCAlqgAwIBAgIUPopdB+xV0jLVt+O2XwHrLdzk1uQwDQYJKoZIhvcNAQEL +BQAwUTELMAkGA1UEBhMCUEwxKDAmBgNVBAoMH0tyYWpvd2EgSXpiYSBSb3psaWN6 +ZW5pb3dhIFMuQS4xGDAWBgNVBAMMD1NaQUZJUiBST09UIENBMjAeFw0xNTEwMTkw +NzQzMzBaFw0zNTEwMTkwNzQzMzBaMFExCzAJBgNVBAYTAlBMMSgwJgYDVQQKDB9L +cmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRgwFgYDVQQDDA9TWkFGSVIg +Uk9PVCBDQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3vD5QqEvN +QLXOYeeWyrSh2gwisPq1e3YAd4wLz32ohswmUeQgPYUM1ljj5/QqGJ3a0a4m7utT +3PSQ1hNKDJA8w/Ta0o4NkjrcsbH/ON7Dui1fgLkCvUqdGw+0w8LBZwPd3BucPbOw +3gAeqDRHu5rr/gsUvTaE2g0gv/pby6kWIK05YO4vdbbnl5z5Pv1+TW9NL++IDWr6 +3fE9biCloBK0TXC5ztdyO4mTp4CEHCdJckm1/zuVnsHMyAHs6A6KCpbns6aH5db5 +BSsNl0BwPLqsdVqc1U2dAgrSS5tmS0YHF2Wtn2yIANwiieDhZNRnvDF5YTy7ykHN +XGoAyDw4jlivAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD +AgEGMB0GA1UdDgQWBBQuFqlKGLXLzPVvUPMjX/hd56zwyDANBgkqhkiG9w0BAQsF +AAOCAQEAtXP4A9xZWx126aMqe5Aosk3AM0+qmrHUuOQn/6mWmc5G4G18TKI4pAZw +8PRBEew/R40/cof5O/2kbytTAOD/OblqBw7rHRz2onKQy4I9EYKL0rufKq8h5mOG +nXkZ7/e7DDWQw4rtTw/1zBLZpD67oPwglV9PJi8RI4NOdQcPv5vRtB3pEAT+ymCP +oky4rc/hkA/NrgrHXXu3UNLUYfrVFdvXn4dRVOul4+vJhaAlIDf7js4MNIThPIGy +d05DpYhfhmehPea0XGG2Ptv+tyjFogeutcrKjSoS75ftwjCkySp6+/NNIxuZMzSg +LvWpCz/UXeHPhJ/iGcJfitYgHuNztw== +-----END CERTIFICATE----- + +# Issuer: CN=Certum Trusted Network CA 2 O=Unizeto Technologies S.A. OU=Certum Certification Authority +# Subject: CN=Certum Trusted Network CA 2 O=Unizeto Technologies S.A. OU=Certum Certification Authority +# Label: "Certum Trusted Network CA 2" +# Serial: 44979900017204383099463764357512596969 +# MD5 Fingerprint: 6d:46:9e:d9:25:6d:08:23:5b:5e:74:7d:1e:27:db:f2 +# SHA1 Fingerprint: d3:dd:48:3e:2b:bf:4c:05:e8:af:10:f5:fa:76:26:cf:d3:dc:30:92 +# SHA256 Fingerprint: b6:76:f2:ed:da:e8:77:5c:d3:6c:b0:f6:3c:d1:d4:60:39:61:f4:9e:62:65:ba:01:3a:2f:03:07:b6:d0:b8:04 +-----BEGIN CERTIFICATE----- +MIIF0jCCA7qgAwIBAgIQIdbQSk8lD8kyN/yqXhKN6TANBgkqhkiG9w0BAQ0FADCB +gDELMAkGA1UEBhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMu +QS4xJzAlBgNVBAsTHkNlcnR1bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIG +A1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0d29yayBDQSAyMCIYDzIwMTExMDA2MDgz +OTU2WhgPMjA0NjEwMDYwODM5NTZaMIGAMQswCQYDVQQGEwJQTDEiMCAGA1UEChMZ +VW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5MSQwIgYDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZXR3 +b3JrIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9+Xj45tWA +DGSdhhuWZGc/IjoedQF97/tcZ4zJzFxrqZHmuULlIEub2pt7uZld2ZuAS9eEQCsn +0+i6MLs+CRqnSZXvK0AkwpfHp+6bJe+oCgCXhVqqndwpyeI1B+twTUrWwbNWuKFB +OJvR+zF/j+Bf4bE/D44WSWDXBo0Y+aomEKsq09DRZ40bRr5HMNUuctHFY9rnY3lE +fktjJImGLjQ/KUxSiyqnwOKRKIm5wFv5HdnnJ63/mgKXwcZQkpsCLL2puTRZCr+E +Sv/f/rOf69me4Jgj7KZrdxYq28ytOxykh9xGc14ZYmhFV+SQgkK7QtbwYeDBoz1m +o130GO6IyY0XRSmZMnUCMe4pJshrAua1YkV/NxVaI2iJ1D7eTiew8EAMvE0Xy02i +sx7QBlrd9pPPV3WZ9fqGGmd4s7+W/jTcvedSVuWz5XV710GRBdxdaeOVDUO5/IOW +OZV7bIBaTxNyxtd9KXpEulKkKtVBRgkg/iKgtlswjbyJDNXXcPiHUv3a76xRLgez +Tv7QCdpw75j6VuZt27VXS9zlLCUVyJ4ueE742pyehizKV/Ma5ciSixqClnrDvFAS +adgOWkaLOusm+iPJtrCBvkIApPjW/jAux9JG9uWOdf3yzLnQh1vMBhBgu4M1t15n +3kfsmUjxpKEV/q2MYo45VU85FrmxY53/twIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MB0GA1UdDgQWBBS2oVQ5AsOgP46KvPrU+Bym0ToO/TAOBgNVHQ8BAf8EBAMC +AQYwDQYJKoZIhvcNAQENBQADggIBAHGlDs7k6b8/ONWJWsQCYftMxRQXLYtPU2sQ +F/xlhMcQSZDe28cmk4gmb3DWAl45oPePq5a1pRNcgRRtDoGCERuKTsZPpd1iHkTf +CVn0W3cLN+mLIMb4Ck4uWBzrM9DPhmDJ2vuAL55MYIR4PSFk1vtBHxgP58l1cb29 +XN40hz5BsA72udY/CROWFC/emh1auVbONTqwX3BNXuMp8SMoclm2q8KMZiYcdywm +djWLKKdpoPk79SPdhRB0yZADVpHnr7pH1BKXESLjokmUbOe3lEu6LaTaM4tMpkT/ +WjzGHWTYtTHkpjx6qFcL2+1hGsvxznN3Y6SHb0xRONbkX8eftoEq5IVIeVheO/jb +AoJnwTnbw3RLPTYe+SmTiGhbqEQZIfCn6IENLOiTNrQ3ssqwGyZ6miUfmpqAnksq +P/ujmv5zMnHCnsZy4YpoJ/HkD7TETKVhk/iXEAcqMCWpuchxuO9ozC1+9eB+D4Ko +b7a6bINDd82Kkhehnlt4Fj1F4jNy3eFmypnTycUm/Q1oBEauttmbjL4ZvrHG8hnj +XALKLNhvSgfZyTXaQHXyxKcZb55CEJh15pWLYLztxRLXis7VmFxWlgPF7ncGNf/P +5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7zAYspsbi +DrW5viSP +-----END CERTIFICATE----- + +# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority +# Subject: CN=Hellenic Academic and Research Institutions RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority +# Label: "Hellenic Academic and Research Institutions RootCA 2015" +# Serial: 0 +# MD5 Fingerprint: ca:ff:e2:db:03:d9:cb:4b:e9:0f:ad:84:fd:7b:18:ce +# SHA1 Fingerprint: 01:0c:06:95:a6:98:19:14:ff:bf:5f:c6:b0:b6:95:ea:29:e9:12:a6 +# SHA256 Fingerprint: a0:40:92:9a:02:ce:53:b4:ac:f4:f2:ff:c6:98:1c:e4:49:6f:75:5e:6d:45:fe:0b:2a:69:2b:cd:52:52:3f:36 +-----BEGIN CERTIFICATE----- +MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1Ix +DzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5k +IFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMT +N0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9v +dENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAxMTIxWjCBpjELMAkG +A1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNh +ZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkx +QDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1 +dGlvbnMgUm9vdENBIDIwMTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC +AQDC+Kk/G4n8PDwEXT2QNrCROnk8ZlrvbTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA +4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+ehiGsxr/CL0BgzuNtFajT0 +AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+6PAQZe10 +4S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06C +ojXdFPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV +9Cz82XBST3i4vTwri5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrD +gfgXy5I2XdGj2HUb4Ysn6npIQf1FGQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6 +Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2fu/Z8VFRfS0myGlZYeCsargq +NhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9muiNX6hME6wGko +LfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc +Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNV +HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVd +ctA4GGqd83EkVAswDQYJKoZIhvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0I +XtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+D1hYc2Ryx+hFjtyp8iY/xnmMsVMI +M4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrMd/K4kPFox/la/vot +9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+yd+2V +Z5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/ea +j8GsGsVn82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnh +X9izjFk0WaSrT2y7HxjbdavYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQ +l033DlZdwJVqwjbDG2jJ9SrcR5q+ss7FJej6A7na+RZukYT1HCjI/CbM1xyQVqdf +bzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVtJ94Cj8rDtSvK6evIIVM4 +pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGaJI7ZjnHK +e7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0 +vm9qp/UsQu0yrbYhnr68 +-----END CERTIFICATE----- + +# Issuer: CN=Hellenic Academic and Research Institutions ECC RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority +# Subject: CN=Hellenic Academic and Research Institutions ECC RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority +# Label: "Hellenic Academic and Research Institutions ECC RootCA 2015" +# Serial: 0 +# MD5 Fingerprint: 81:e5:b4:17:eb:c2:f5:e1:4b:0d:41:7b:49:92:fe:ef +# SHA1 Fingerprint: 9f:f1:71:8d:92:d5:9a:f3:7d:74:97:b4:bc:6f:84:68:0b:ba:b6:66 +# SHA256 Fingerprint: 44:b5:45:aa:8a:25:e6:5a:73:ca:15:dc:27:fc:36:d2:4c:1c:b9:95:3a:06:65:39:b1:15:82:dc:48:7b:48:33 +-----BEGIN CERTIFICATE----- +MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzAN +BgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl +c2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hl +bGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgRUNDIFJv +b3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEwMzcxMlowgaoxCzAJ +BgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmljIEFj +YWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5 +MUQwQgYDVQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0 +dXRpb25zIEVDQyBSb290Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKg +QehLgoRc4vgxEZmGZE4JJS+dQS8KrjVPdJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJa +jq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoKVlp8aQuqgAkkbH7BRqNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFLQi +C4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaep +lSTAGiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7Sof +TUwJCA3sS61kFyjndc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR +-----END CERTIFICATE----- + +# Issuer: CN=ISRG Root X1 O=Internet Security Research Group +# Subject: CN=ISRG Root X1 O=Internet Security Research Group +# Label: "ISRG Root X1" +# Serial: 172886928669790476064670243504169061120 +# MD5 Fingerprint: 0c:d2:f9:e0:da:17:73:e9:ed:86:4d:a5:e3:70:e7:4e +# SHA1 Fingerprint: ca:bd:2a:79:a1:07:6a:31:f2:1d:25:36:35:cb:03:9d:43:29:a5:e8 +# SHA256 Fingerprint: 96:bc:ec:06:26:49:76:f3:74:60:77:9a:cf:28:c5:a7:cf:e8:a3:c0:aa:e1:1a:8f:fc:ee:05:c0:bd:df:08:c6 +-----BEGIN CERTIFICATE----- +MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw +TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh +cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4 +WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu +ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY +MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc +h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+ +0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U +A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW +T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH +B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC +B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv +KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn +OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn +jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw +qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI +rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq +hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL +ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ +3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK +NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5 +ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur +TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC +jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc +oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq +4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA +mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d +emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc= +-----END CERTIFICATE----- + +# Issuer: O=FNMT-RCM OU=AC RAIZ FNMT-RCM +# Subject: O=FNMT-RCM OU=AC RAIZ FNMT-RCM +# Label: "AC RAIZ FNMT-RCM" +# Serial: 485876308206448804701554682760554759 +# MD5 Fingerprint: e2:09:04:b4:d3:bd:d1:a0:14:fd:1a:d2:47:c4:57:1d +# SHA1 Fingerprint: ec:50:35:07:b2:15:c4:95:62:19:e2:a8:9a:5b:42:99:2c:4c:2c:20 +# SHA256 Fingerprint: eb:c5:57:0c:29:01:8c:4d:67:b1:aa:12:7b:af:12:f7:03:b4:61:1e:bc:17:b7:da:b5:57:38:94:17:9b:93:fa +-----BEGIN CERTIFICATE----- +MIIFgzCCA2ugAwIBAgIPXZONMGc2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDsx +CzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJ +WiBGTk1ULVJDTTAeFw0wODEwMjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxCzAJ +BgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBG +Tk1ULVJDTTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALpxgHpMhm5/ +yBNtwMZ9HACXjywMI7sQmkCpGreHiPibVmr75nuOi5KOpyVdWRHbNi63URcfqQgf +BBckWKo3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0fsjz50Q7qsNI1NOHZnjrDIbzAz +WHFctPVrbtQBULgTfmxKo0nRIBnuvMApGGWn3v7v3QqQIecaZ5JCEJhfTzC8PhxF +tBDXaEAUwED653cXeuYLj2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7kvqcfw+Z +374jNUUeAlz+taibmSXaXvMiwzn15Cou08YfxGyqxRxqAQVKL9LFwag0Jl1mpdIC +IfkYtwb1TplvqKtMUejPUBjFd8g5CSxJkjKZqLsXF3mwWsXmo8RZZUc1g16p6DUL +mbvkzSDGm0oGObVo/CK67lWMK07q87Hj/LaZmtVC+nFNCM+HHmpxffnTtOmlcYF7 +wk5HlqX2doWjKI/pgG6BU6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86xsc3i1w4peS +MKGJ47xVqCfWS+2QrYv6YyVZLag13cqXM7zlzced0ezvXg5KkAYmY6252TUtB7p2 +ZSysV4999AeU14ECll2jB0nVetBX+RvnU0Z1qrB5QstocQjpYL05ac70r8NWQMet +UqIJ5G+GR4of6ygnXYMgrwTJbFaai0b1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFPd9xf3E6Jobd2Sn9R2gzL+H +YJptMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1odHRwOi8vd3d3 +LmNlcnQuZm5tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQsFAAOCAgEAB5BK3/MjTvDD +nFFlm5wioooMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU+8B1 +RXxlDPiyN8+sD8+Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmqOFGYM +LVN0V2Ue1bLdI4E7pWYjJ2cJj+F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO6kO8Rf +77IzlhEYt8llvhjho6Tc+hj507wTmzl6NLrTQfv6MooqtyuGC2mDOL7Nii4LcK2N +JpLuHvUBKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn71uSANA+iW+YJF1DngoABd15jm +fZ5nc8OaKveri6E6FO80vFIOiZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb+dY7Ixjp +6o7RTUaN8Tvkasq6+yO3m/qZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mWj2zs3gyLp +1txyM/1d8iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwzn+evQoFt9B +9kiABdcPUXmsEKvU7ANm5mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8kORdOag0wok +RqEIr9baRRmW1FMdW4R58MD3R++Lj8UGrp1MYp3/RgT408m2ECVAdf4WqslKYIYv +uu8wd+RU4riEmViAqhOLUTpPSPaLtrM= +-----END CERTIFICATE----- + +# Issuer: CN=Amazon Root CA 1 O=Amazon +# Subject: CN=Amazon Root CA 1 O=Amazon +# Label: "Amazon Root CA 1" +# Serial: 143266978916655856878034712317230054538369994 +# MD5 Fingerprint: 43:c6:bf:ae:ec:fe:ad:2f:18:c6:88:68:30:fc:c8:e6 +# SHA1 Fingerprint: 8d:a7:f9:65:ec:5e:fc:37:91:0f:1c:6e:59:fd:c1:cc:6a:6e:de:16 +# SHA256 Fingerprint: 8e:cd:e6:88:4f:3d:87:b1:12:5b:a3:1a:c3:fc:b1:3d:70:16:de:7f:57:cc:90:4f:e1:cb:97:c6:ae:98:19:6e +-----BEGIN CERTIFICATE----- +MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsF +ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 +b24gUm9vdCBDQSAxMB4XDTE1MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTEL +MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv +b3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJ4gHHKeNXj +ca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgHFzZM +9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qw +IFAGbHrQgLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6 +VOujw5H5SNz/0egwLX0tdHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L +93FcXmn/6pUCyziKrlA4b9v7LWIbxcceVOF34GfID5yHI9Y/QCB/IIDEgEw+OyQm +jgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3DQEBCwUA +A4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDI +U5PMCCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUs +N+gDS63pYaACbvXy8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vv +o/ufQJVtMVT8QtPHRh8jrdkPSHCa2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU +5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2xJNDd2ZhwLnoQdeXeGADbkpy +rqXRfboQnoZsG4q5WTP468SQvvG5 +-----END CERTIFICATE----- + +# Issuer: CN=Amazon Root CA 2 O=Amazon +# Subject: CN=Amazon Root CA 2 O=Amazon +# Label: "Amazon Root CA 2" +# Serial: 143266982885963551818349160658925006970653239 +# MD5 Fingerprint: c8:e5:8d:ce:a8:42:e2:7a:c0:2a:5c:7c:9e:26:bf:66 +# SHA1 Fingerprint: 5a:8c:ef:45:d7:a6:98:59:76:7a:8c:8b:44:96:b5:78:cf:47:4b:1a +# SHA256 Fingerprint: 1b:a5:b2:aa:8c:65:40:1a:82:96:01:18:f8:0b:ec:4f:62:30:4d:83:ce:c4:71:3a:19:c3:9c:01:1e:a4:6d:b4 +-----BEGIN CERTIFICATE----- +MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwF +ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 +b24gUm9vdCBDQSAyMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTEL +MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv +b3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK2Wny2cSkxK +gXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4kHbZ +W0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg +1dKmSYXpN+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K +8nu+NQWpEjTj82R0Yiw9AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r +2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvdfLC6HM783k81ds8P+HgfajZRRidhW+me +z/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAExkv8LV/SasrlX6avvDXbR +8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSSbtqDT6Zj +mUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz +7Mt0Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6 ++XUyo05f7O0oYtlNc/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI +0u1ufm8/0i2BWSlmy5A5lREedCf+3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMB +Af8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSwDPBMMPQFWAJI/TPlUq9LhONm +UjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oAA7CXDpO8Wqj2 +LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY ++gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kS +k5Nrp+gvU5LEYFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl +7uxMMne0nxrpS10gxdr9HIcWxkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygm +btmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQgj9sAq+uEjonljYE1x2igGOpm/Hl +urR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbWaQbLU8uz/mtBzUF+ +fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoVYh63 +n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE +76KlXIx3KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H +9jVlpNMKVv/1F2Rs76giJUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT +4PsJYGw= +-----END CERTIFICATE----- + +# Issuer: CN=Amazon Root CA 3 O=Amazon +# Subject: CN=Amazon Root CA 3 O=Amazon +# Label: "Amazon Root CA 3" +# Serial: 143266986699090766294700635381230934788665930 +# MD5 Fingerprint: a0:d4:ef:0b:f7:b5:d8:49:95:2a:ec:f5:c4:fc:81:87 +# SHA1 Fingerprint: 0d:44:dd:8c:3c:8c:1a:1a:58:75:64:81:e9:0f:2e:2a:ff:b3:d2:6e +# SHA256 Fingerprint: 18:ce:6c:fe:7b:f1:4e:60:b2:e3:47:b8:df:e8:68:cb:31:d0:2e:bb:3a:da:27:15:69:f5:03:43:b4:6d:b3:a4 +-----BEGIN CERTIFICATE----- +MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5 +MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g +Um9vdCBDQSAzMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG +A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg +Q0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZBf8ANm+gBG1bG8lKl +ui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjrZt6j +QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSr +ttvXBp43rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkr +BqWTrBqYaGFy+uGh0PsceGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteM +YyRIHN8wfdVoOw== +-----END CERTIFICATE----- + +# Issuer: CN=Amazon Root CA 4 O=Amazon +# Subject: CN=Amazon Root CA 4 O=Amazon +# Label: "Amazon Root CA 4" +# Serial: 143266989758080763974105200630763877849284878 +# MD5 Fingerprint: 89:bc:27:d5:eb:17:8d:06:6a:69:d5:fd:89:47:b4:cd +# SHA1 Fingerprint: f6:10:84:07:d6:f8:bb:67:98:0c:c2:e2:44:c2:eb:ae:1c:ef:63:be +# SHA256 Fingerprint: e3:5d:28:41:9e:d0:20:25:cf:a6:90:38:cd:62:39:62:45:8d:a5:c6:95:fb:de:a3:c2:2b:0b:fb:25:89:70:92 +-----BEGIN CERTIFICATE----- +MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5 +MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g +Um9vdCBDQSA0MB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG +A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg +Q0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN/sGKe0uoe0ZLY7Bi +9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri83Bk +M6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB +/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WB +MAoGCCqGSM49BAMDA2gAMGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlw +CkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1AE47xDqUEpHJWEadIRNyp4iciuRMStuW +1KyLa2tJElMzrdfkviT8tQp21KW8EA== +-----END CERTIFICATE----- + +# Issuer: CN=LuxTrust Global Root 2 O=LuxTrust S.A. +# Subject: CN=LuxTrust Global Root 2 O=LuxTrust S.A. +# Label: "LuxTrust Global Root 2" +# Serial: 59914338225734147123941058376788110305822489521 +# MD5 Fingerprint: b2:e1:09:00:61:af:f7:f1:91:6f:c4:ad:8d:5e:3b:7c +# SHA1 Fingerprint: 1e:0e:56:19:0a:d1:8b:25:98:b2:04:44:ff:66:8a:04:17:99:5f:3f +# SHA256 Fingerprint: 54:45:5f:71:29:c2:0b:14:47:c4:18:f9:97:16:8f:24:c5:8f:c5:02:3b:f5:da:5b:e2:eb:6e:1d:d8:90:2e:d5 +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +# Issuer: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK OU=Kamu Sertifikasyon Merkezi - Kamu SM +# Subject: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK OU=Kamu Sertifikasyon Merkezi - Kamu SM +# Label: "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" +# Serial: 1 +# MD5 Fingerprint: dc:00:81:dc:69:2f:3e:2f:b0:3b:f6:3d:5a:91:8e:49 +# SHA1 Fingerprint: 31:43:64:9b:ec:ce:27:ec:ed:3a:3f:0b:8f:0d:e4:e8:91:dd:ee:ca +# SHA256 Fingerprint: 46:ed:c3:68:90:46:d5:3a:45:3f:b3:10:4a:b8:0d:ca:ec:65:8b:26:60:ea:16:29:dd:7e:86:79:90:64:87:16 +-----BEGIN CERTIFICATE----- +MIIEYzCCA0ugAwIBAgIBATANBgkqhkiG9w0BAQsFADCB0jELMAkGA1UEBhMCVFIx +GDAWBgNVBAcTD0dlYnplIC0gS29jYWVsaTFCMEAGA1UEChM5VHVya2l5ZSBCaWxp +bXNlbCB2ZSBUZWtub2xvamlrIEFyYXN0aXJtYSBLdXJ1bXUgLSBUVUJJVEFLMS0w +KwYDVQQLEyRLYW11IFNlcnRpZmlrYXN5b24gTWVya2V6aSAtIEthbXUgU00xNjA0 +BgNVBAMTLVRVQklUQUsgS2FtdSBTTSBTU0wgS29rIFNlcnRpZmlrYXNpIC0gU3Vy +dW0gMTAeFw0xMzExMjUwODI1NTVaFw00MzEwMjUwODI1NTVaMIHSMQswCQYDVQQG +EwJUUjEYMBYGA1UEBxMPR2ViemUgLSBLb2NhZWxpMUIwQAYDVQQKEzlUdXJraXll +IEJpbGltc2VsIHZlIFRla25vbG9qaWsgQXJhc3Rpcm1hIEt1cnVtdSAtIFRVQklU +QUsxLTArBgNVBAsTJEthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppIC0gS2FtdSBT +TTE2MDQGA1UEAxMtVFVCSVRBSyBLYW11IFNNIFNTTCBLb2sgU2VydGlmaWthc2kg +LSBTdXJ1bSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr3UwM6q7 +a9OZLBI3hNmNe5eA027n/5tQlT6QlVZC1xl8JoSNkvoBHToP4mQ4t4y86Ij5iySr +LqP1N+RAjhgleYN1Hzv/bKjFxlb4tO2KRKOrbEz8HdDc72i9z+SqzvBV96I01INr +N3wcwv61A+xXzry0tcXtAA9TNypN9E8Mg/uGz8v+jE69h/mniyFXnHrfA2eJLJ2X +YacQuFWQfw4tJzh03+f92k4S400VIgLI4OD8D62K18lUUMw7D8oWgITQUVbDjlZ/ +iSIzL+aFCr2lqBs23tPcLG07xxO9WSMs5uWk99gL7eqQQESolbuT1dCANLZGeA4f +AJNG4e7p+exPFwIDAQABo0IwQDAdBgNVHQ4EFgQUZT/HiobGPN08VFw1+DrtUgxH +V8gwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL +BQADggEBACo/4fEyjq7hmFxLXs9rHmoJ0iKpEsdeV31zVmSAhHqT5Am5EM2fKifh +AHe+SMg1qIGf5LgsyX8OsNJLN13qudULXjS99HMpw+0mFZx+CFOKWI3QSyjfwbPf +IPP54+M638yclNhOT8NrF7f3cuitZjO1JVOr4PhMqZ398g26rrnZqsZr+ZO7rqu4 +lzwDGrpDxpa5RXI4s6ehlj2Re37AIVNMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU7c +8jEyVupk+eq1nRZmQnLzf9OxMUP8pI4X8W0jq5Rm+K37DwhuJi1/FwcJsoz7UMCf +lo3Ptv0AnVoUmr8CRPXBwp8iXqIPoeM= +-----END CERTIFICATE----- + +# Issuer: CN=GDCA TrustAUTH R5 ROOT O=GUANG DONG CERTIFICATE AUTHORITY CO.,LTD. +# Subject: CN=GDCA TrustAUTH R5 ROOT O=GUANG DONG CERTIFICATE AUTHORITY CO.,LTD. +# Label: "GDCA TrustAUTH R5 ROOT" +# Serial: 9009899650740120186 +# MD5 Fingerprint: 63:cc:d9:3d:34:35:5c:6f:53:a3:e2:08:70:48:1f:b4 +# SHA1 Fingerprint: 0f:36:38:5b:81:1a:25:c3:9b:31:4e:83:ca:e9:34:66:70:cc:74:b4 +# SHA256 Fingerprint: bf:ff:8f:d0:44:33:48:7d:6a:8a:a6:0c:1a:29:76:7a:9f:c2:bb:b0:5e:42:0f:71:3a:13:b9:92:89:1d:38:93 +-----BEGIN CERTIFICATE----- +MIIFiDCCA3CgAwIBAgIIfQmX/vBH6nowDQYJKoZIhvcNAQELBQAwYjELMAkGA1UE +BhMCQ04xMjAwBgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZ +IENPLixMVEQuMR8wHQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMB4XDTE0 +MTEyNjA1MTMxNVoXDTQwMTIzMTE1NTk1OVowYjELMAkGA1UEBhMCQ04xMjAwBgNV +BAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZIENPLixMVEQuMR8w +HQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEA2aMW8Mh0dHeb7zMNOwZ+Vfy1YI92hhJCfVZmPoiC7XJj +Dp6L3TQsAlFRwxn9WVSEyfFrs0yw6ehGXTjGoqcuEVe6ghWinI9tsJlKCvLriXBj +TnnEt1u9ol2x8kECK62pOqPseQrsXzrj/e+APK00mxqriCZ7VqKChh/rNYmDf1+u +KU49tm7srsHwJ5uu4/Ts765/94Y9cnrrpftZTqfrlYwiOXnhLQiPzLyRuEH3FMEj +qcOtmkVEs7LXLM3GKeJQEK5cy4KOFxg2fZfmiJqwTTQJ9Cy5WmYqsBebnh52nUpm +MUHfP/vFBu8btn4aRjb3ZGM74zkYI+dndRTVdVeSN72+ahsmUPI2JgaQxXABZG12 +ZuGR224HwGGALrIuL4xwp9E7PLOR5G62xDtw8mySlwnNR30YwPO7ng/Wi64HtloP +zgsMR6flPri9fcebNaBhlzpBdRfMK5Z3KpIhHtmVdiBnaM8Nvd/WHwlqmuLMc3Gk +L30SgLdTMEZeS1SZD2fJpcjyIMGC7J0R38IC+xo70e0gmu9lZJIQDSri3nDxGGeC +jGHeuLzRL5z7D9Ar7Rt2ueQ5Vfj4oR24qoAATILnsn8JuLwwoC8N9VKejveSswoA +HQBUlwbgsQfZxw9cZX08bVlX5O2ljelAU58VS6Bx9hoh49pwBiFYFIeFd3mqgnkC +AwEAAaNCMEAwHQYDVR0OBBYEFOLJQJ9NzuiaoXzPDj9lxSmIahlRMA8GA1UdEwEB +/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQDRSVfg +p8xoWLoBDysZzY2wYUWsEe1jUGn4H3++Fo/9nesLqjJHdtJnJO29fDMylyrHBYZm +DRd9FBUb1Ov9H5r2XpdptxolpAqzkT9fNqyL7FeoPueBihhXOYV0GkLH6VsTX4/5 +COmSdI31R9KrO9b7eGZONn356ZLpBN79SWP8bfsUcZNnL0dKt7n/HipzcEYwv1ry +L3ml4Y0M2fmyYzeMN2WFcGpcWwlyua1jPLHd+PwyvzeG5LuOmCd+uh8W4XAR8gPf +JWIyJyYYMoSf/wA6E7qaTfRPuBRwIrHKK5DOKcFw9C+df/KQHtZa37dG/OaG+svg +IHZ6uqbL9XzeYqWxi+7egmaKTjowHz+Ay60nugxe19CxVsp3cbK1daFQqUBDF8Io +2c9Si1vIY9RCPqAzekYu9wogRlR+ak8x8YF+QnQ4ZXMn7sZ8uI7XpTrXmKGcjBBV +09tL7ECQ8s1uV9JiDnxXk7Gnbc2dg7sq5+W2O3FYrf3RRbxake5TFW/TRQl1brqQ +XR4EzzffHqhmsYzmIGrv/EhOdJhCrylvLmrH+33RZjEizIYAfmaDDEL0vTSSwxrq +T8p+ck0LcIymSLumoRT2+1hEmRSuqguTaaApJUqlyyvdimYHFngVV3Eb7PVHhPOe +MTd61X8kreS8/f3MboPoDKi3QWwH3b08hpcv0g== +-----END CERTIFICATE----- + +# Issuer: CN=TrustCor RootCert CA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Subject: CN=TrustCor RootCert CA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Label: "TrustCor RootCert CA-1" +# Serial: 15752444095811006489 +# MD5 Fingerprint: 6e:85:f1:dc:1a:00:d3:22:d5:b2:b2:ac:6b:37:05:45 +# SHA1 Fingerprint: ff:bd:cd:e7:82:c8:43:5e:3c:6f:26:86:5c:ca:a8:3a:45:5b:c3:0a +# SHA256 Fingerprint: d4:0e:9c:86:cd:8f:e4:68:c1:77:69:59:f4:9e:a7:74:fa:54:86:84:b6:c4:06:f3:90:92:61:f4:dc:e2:57:5c +-----BEGIN CERTIFICATE----- +MIIEMDCCAxigAwIBAgIJANqb7HHzA7AZMA0GCSqGSIb3DQEBCwUAMIGkMQswCQYD +VQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEk +MCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5U +cnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgNVBAMMFlRydXN0Q29y +IFJvb3RDZXJ0IENBLTEwHhcNMTYwMjA0MTIzMjE2WhcNMjkxMjMxMTcyMzE2WjCB +pDELMAkGA1UEBhMCUEExDzANBgNVBAgMBlBhbmFtYTEUMBIGA1UEBwwLUGFuYW1h +IENpdHkxJDAiBgNVBAoMG1RydXN0Q29yIFN5c3RlbXMgUy4gZGUgUi5MLjEnMCUG +A1UECwweVHJ1c3RDb3IgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MR8wHQYDVQQDDBZU +cnVzdENvciBSb290Q2VydCBDQS0xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEAv463leLCJhJrMxnHQFgKq1mqjQCj/IDHUHuO1CAmujIS2CNUSSUQIpid +RtLByZ5OGy4sDjjzGiVoHKZaBeYei0i/mJZ0PmnK6bV4pQa81QBeCQryJ3pS/C3V +seq0iWEk8xoT26nPUu0MJLq5nux+AHT6k61sKZKuUbS701e/s/OojZz0JEsq1pme +9J7+wH5COucLlVPat2gOkEz7cD+PSiyU8ybdY2mplNgQTsVHCJCZGxdNuWxu72CV +EY4hgLW9oHPY0LJ3xEXqWib7ZnZ2+AYfYW0PVcWDtxBWcgYHpfOxGgMFZA6dWorW +hnAbJN7+KIor0Gqw/Hqi3LJ5DotlDwIDAQABo2MwYTAdBgNVHQ4EFgQU7mtJPHo/ +DeOxCbeKyKsZn3MzUOcwHwYDVR0jBBgwFoAU7mtJPHo/DeOxCbeKyKsZn3MzUOcw +DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQAD +ggEBACUY1JGPE+6PHh0RU9otRCkZoB5rMZ5NDp6tPVxBb5UrJKF5mDo4Nvu7Zp5I +/5CQ7z3UuJu0h3U/IJvOcs+hVcFNZKIZBqEHMwwLKeXx6quj7LUKdJDHfXLy11yf +ke+Ri7fc7Waiz45mO7yfOgLgJ90WmMCV1Aqk5IGadZQ1nJBfiDcGrVmVCrDRZ9MZ +yonnMlo2HD6CqFqTvsbQZJG2z9m2GM/bftJlo6bEjhcxwft+dtvTheNYsnd6djts +L1Ac59v2Z3kf9YKVmgenFK+P3CghZwnS1k1aHBkcjndcw5QkPTJrS37UeJSDvjdN +zl/HHk484IkzlQsPpTLWPFp5LBk= +-----END CERTIFICATE----- + +# Issuer: CN=TrustCor RootCert CA-2 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Subject: CN=TrustCor RootCert CA-2 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Label: "TrustCor RootCert CA-2" +# Serial: 2711694510199101698 +# MD5 Fingerprint: a2:e1:f8:18:0b:ba:45:d5:c7:41:2a:bb:37:52:45:64 +# SHA1 Fingerprint: b8:be:6d:cb:56:f1:55:b9:63:d4:12:ca:4e:06:34:c7:94:b2:1c:c0 +# SHA256 Fingerprint: 07:53:e9:40:37:8c:1b:d5:e3:83:6e:39:5d:ae:a5:cb:83:9e:50:46:f1:bd:0e:ae:19:51:cf:10:fe:c7:c9:65 +-----BEGIN CERTIFICATE----- +MIIGLzCCBBegAwIBAgIIJaHfyjPLWQIwDQYJKoZIhvcNAQELBQAwgaQxCzAJBgNV +BAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5MSQw +IgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRy +dXN0Q29yIENlcnRpZmljYXRlIEF1dGhvcml0eTEfMB0GA1UEAwwWVHJ1c3RDb3Ig +Um9vdENlcnQgQ0EtMjAeFw0xNjAyMDQxMjMyMjNaFw0zNDEyMzExNzI2MzlaMIGk +MQswCQYDVQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEg +Q2l0eTEkMCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYD +VQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgNVBAMMFlRy +dXN0Q29yIFJvb3RDZXJ0IENBLTIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK +AoICAQCnIG7CKqJiJJWQdsg4foDSq8GbZQWU9MEKENUCrO2fk8eHyLAnK0IMPQo+ +QVqedd2NyuCb7GgypGmSaIwLgQ5WoD4a3SwlFIIvl9NkRvRUqdw6VC0xK5mC8tkq +1+9xALgxpL56JAfDQiDyitSSBBtlVkxs1Pu2YVpHI7TYabS3OtB0PAx1oYxOdqHp +2yqlO/rOsP9+aij9JxzIsekp8VduZLTQwRVtDr4uDkbIXvRR/u8OYzo7cbrPb1nK +DOObXUm4TOJXsZiKQlecdu/vvdFoqNL0Cbt3Nb4lggjEFixEIFapRBF37120Hape +az6LMvYHL1cEksr1/p3C6eizjkxLAjHZ5DxIgif3GIJ2SDpxsROhOdUuxTTCHWKF +3wP+TfSvPd9cW436cOGlfifHhi5qjxLGhF5DUVCcGZt45vz27Ud+ez1m7xMTiF88 +oWP7+ayHNZ/zgp6kPwqcMWmLmaSISo5uZk3vFsQPeSghYA2FFn3XVDjxklb9tTNM +g9zXEJ9L/cb4Qr26fHMC4P99zVvh1Kxhe1fVSntb1IVYJ12/+CtgrKAmrhQhJ8Z3 +mjOAPF5GP/fDsaOGM8boXg25NSyqRsGFAnWAoOsk+xWq5Gd/bnc/9ASKL3x74xdh +8N0JqSDIvgmk0H5Ew7IwSjiqqewYmgeCK9u4nBit2uBGF6zPXQIDAQABo2MwYTAd +BgNVHQ4EFgQU2f4hQG6UnrybPZx9mCAZ5YwwYrIwHwYDVR0jBBgwFoAU2f4hQG6U +nrybPZx9mCAZ5YwwYrIwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYw +DQYJKoZIhvcNAQELBQADggIBAJ5Fngw7tu/hOsh80QA9z+LqBrWyOrsGS2h60COX +dKcs8AjYeVrXWoSK2BKaG9l9XE1wxaX5q+WjiYndAfrs3fnpkpfbsEZC89NiqpX+ +MWcUaViQCqoL7jcjx1BRtPV+nuN79+TMQjItSQzL/0kMmx40/W5ulop5A7Zv2wnL +/V9lFDfhOPXzYRZY5LVtDQsEGz9QLX+zx3oaFoBg+Iof6Rsqxvm6ARppv9JYx1RX +CI/hOWB3S6xZhBqI8d3LT3jX5+EzLfzuQfogsL7L9ziUwOHQhQ+77Sxzq+3+knYa +ZH9bDTMJBzN7Bj8RpFxwPIXAz+OQqIN3+tvmxYxoZxBnpVIt8MSZj3+/0WvitUfW +2dCFmU2Umw9Lje4AWkcdEQOsQRivh7dvDDqPys/cA8GiCcjl/YBeyGBCARsaU1q7 +N6a3vLqE6R5sGtRk2tRD/pOLS/IseRYQ1JMLiI+h2IYURpFHmygk71dSTlxCnKr3 +Sewn6EAes6aJInKc9Q0ztFijMDvd1GpUk74aTfOTlPf8hAs/hCBcNANExdqtvArB +As8e5ZTZ845b2EzwnexhF7sUMlQMAimTHpKG9n/v55IFDlndmQguLvqcAFLTxWYp +5KeXRKQOKIETNcX2b2TmQcTVL8w0RSXPQQCWPUouwpaYT05KnJe32x+SMsj/D1Fu +1uwJ +-----END CERTIFICATE----- + +# Issuer: CN=TrustCor ECA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Subject: CN=TrustCor ECA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Label: "TrustCor ECA-1" +# Serial: 9548242946988625984 +# MD5 Fingerprint: 27:92:23:1d:0a:f5:40:7c:e9:e6:6b:9d:d8:f5:e7:6c +# SHA1 Fingerprint: 58:d1:df:95:95:67:6b:63:c0:f0:5b:1c:17:4d:8b:84:0b:c8:78:bd +# SHA256 Fingerprint: 5a:88:5d:b1:9c:01:d9:12:c5:75:93:88:93:8c:af:bb:df:03:1a:b2:d4:8e:91:ee:15:58:9b:42:97:1d:03:9c +-----BEGIN CERTIFICATE----- +MIIEIDCCAwigAwIBAgIJAISCLF8cYtBAMA0GCSqGSIb3DQEBCwUAMIGcMQswCQYD +VQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEk +MCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5U +cnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxFzAVBgNVBAMMDlRydXN0Q29y +IEVDQS0xMB4XDTE2MDIwNDEyMzIzM1oXDTI5MTIzMTE3MjgwN1owgZwxCzAJBgNV +BAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5MSQw +IgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRy +dXN0Q29yIENlcnRpZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOVHJ1c3RDb3Ig +RUNBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDPj+ARtZ+odnbb +3w9U73NjKYKtR8aja+3+XzP4Q1HpGjORMRegdMTUpwHmspI+ap3tDvl0mEDTPwOA +BoJA6LHip1GnHYMma6ve+heRK9jGrB6xnhkB1Zem6g23xFUfJ3zSCNV2HykVh0A5 +3ThFEXXQmqc04L/NyFIduUd+Dbi7xgz2c1cWWn5DkR9VOsZtRASqnKmcp0yJF4Ou +owReUoCLHhIlERnXDH19MURB6tuvsBzvgdAsxZohmz3tQjtQJvLsznFhBmIhVE5/ +wZ0+fyCMgMsq2JdiyIMzkX2woloPV+g7zPIlstR8L+xNxqE6FXrntl019fZISjZF +ZtS6mFjBAgMBAAGjYzBhMB0GA1UdDgQWBBREnkj1zG1I1KBLf/5ZJC+Dl5mahjAf +BgNVHSMEGDAWgBREnkj1zG1I1KBLf/5ZJC+Dl5mahjAPBgNVHRMBAf8EBTADAQH/ +MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAQEABT41XBVwm8nHc2Fv +civUwo/yQ10CzsSUuZQRg2dd4mdsdXa/uwyqNsatR5Nj3B5+1t4u/ukZMjgDfxT2 +AHMsWbEhBuH7rBiVDKP/mZb3Kyeb1STMHd3BOuCYRLDE5D53sXOpZCz2HAF8P11F +hcCF5yWPldwX8zyfGm6wyuMdKulMY/okYWLW2n62HGz1Ah3UKt1VkOsqEUc8Ll50 +soIipX1TH0XsJ5F95yIW6MBoNtjG8U+ARDL54dHRHareqKucBK+tIA5kmE2la8BI +WJZpTdwHjFGTot+fDz2LYLSCjaoITmJF4PkL0uDgPFveXHEnJcLmA4GLEFPjx1Wi +tJ/X5g== +-----END CERTIFICATE----- + +# Issuer: CN=SSL.com Root Certification Authority RSA O=SSL Corporation +# Subject: CN=SSL.com Root Certification Authority RSA O=SSL Corporation +# Label: "SSL.com Root Certification Authority RSA" +# Serial: 8875640296558310041 +# MD5 Fingerprint: 86:69:12:c0:70:f1:ec:ac:ac:c2:d5:bc:a5:5b:a1:29 +# SHA1 Fingerprint: b7:ab:33:08:d1:ea:44:77:ba:14:80:12:5a:6f:bd:a9:36:49:0c:bb +# SHA256 Fingerprint: 85:66:6a:56:2e:e0:be:5c:e9:25:c1:d8:89:0a:6f:76:a8:7e:c1:6d:4d:7d:5f:29:ea:74:19:cf:20:12:3b:69 +-----BEGIN CERTIFICATE----- +MIIF3TCCA8WgAwIBAgIIeyyb0xaAMpkwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UE +BhMCVVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQK +DA9TU0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eSBSU0EwHhcNMTYwMjEyMTczOTM5WhcNNDEwMjEyMTcz +OTM5WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv +dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNv +bSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQTCCAiIwDQYJKoZIhvcN +AQEBBQADggIPADCCAgoCggIBAPkP3aMrfcvQKv7sZ4Wm5y4bunfh4/WvpOz6Sl2R +xFdHaxh3a3by/ZPkPQ/CFp4LZsNWlJ4Xg4XOVu/yFv0AYvUiCVToZRdOQbngT0aX +qhvIuG5iXmmxX9sqAn78bMrzQdjt0Oj8P2FI7bADFB0QDksZ4LtO7IZl/zbzXmcC +C52GVWH9ejjt/uIZALdvoVBidXQ8oPrIJZK0bnoix/geoeOy3ZExqysdBP+lSgQ3 +6YWkMyv94tZVNHwZpEpox7Ko07fKoZOI68GXvIz5HdkihCR0xwQ9aqkpk8zruFvh +/l8lqjRYyMEjVJ0bmBHDOJx+PYZspQ9AhnwC9FwCTyjLrnGfDzrIM/4RJTXq/LrF +YD3ZfBjVsqnTdXgDciLKOsMf7yzlLqn6niy2UUb9rwPW6mBo6oUWNmuF6R7As93E +JNyAKoFBbZQ+yODJgUEAnl6/f8UImKIYLEJAs/lvOCdLToD0PYFH4Ih86hzOtXVc +US4cK38acijnALXRdMbX5J+tB5O2UzU1/Dfkw/ZdFr4hc96SCvigY2q8lpJqPvi8 +ZVWb3vUNiSYE/CUapiVpy8JtynziWV+XrOvvLsi81xtZPCvM8hnIk2snYxnP/Okm ++Mpxm3+T/jRnhE6Z6/yzeAkzcLpmpnbtG3PrGqUNxCITIJRWCk4sbE6x/c+cCbqi +M+2HAgMBAAGjYzBhMB0GA1UdDgQWBBTdBAkHovV6fVJTEpKV7jiAJQ2mWTAPBgNV +HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFN0ECQei9Xp9UlMSkpXuOIAlDaZZMA4G +A1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAIBgRlCn7Jp0cHh5wYfGV +cpNxJK1ok1iOMq8bs3AD/CUrdIWQPXhq9LmLpZc7tRiRux6n+UBbkflVma8eEdBc +Hadm47GUBwwyOabqG7B52B2ccETjit3E+ZUfijhDPwGFpUenPUayvOUiaPd7nNgs +PgohyC0zrL/FgZkxdMF1ccW+sfAjRfSda/wZY52jvATGGAslu1OJD7OAUN5F7kR/ +q5R4ZJjT9ijdh9hwZXT7DrkT66cPYakylszeu+1jTBi7qUD3oFRuIIhxdRjqerQ0 +cuAjJ3dctpDqhiVAq+8zD8ufgr6iIPv2tS0a5sKFsXQP+8hlAqRSAUfdSSLBv9jr +a6x+3uxjMxW3IwiPxg+NQVrdjsW5j+VFP3jbutIbQLH+cU0/4IGiul607BXgk90I +H37hVZkLId6Tngr75qNJvTYw/ud3sqB1l7UtgYgXZSD32pAAn8lSzDLKNXz1PQ/Y +K9f1JmzJBjSWFupwWRoyeXkLtoh/D1JIPb9s2KJELtFOt3JY04kTlf5Eq/jXixtu +nLwsoFvVagCvXzfh1foQC5ichucmj87w7G6KVwuA406ywKBjYZC6VWg3dGq2ktuf +oYYitmUnDuy2n0Jg5GfCtdpBC8TTi2EbvPofkSvXRAdeuims2cXp71NIWuuA8ShY +Ic2wBlX7Jz9TkHCpBB5XJ7k= +-----END CERTIFICATE----- + +# Issuer: CN=SSL.com Root Certification Authority ECC O=SSL Corporation +# Subject: CN=SSL.com Root Certification Authority ECC O=SSL Corporation +# Label: "SSL.com Root Certification Authority ECC" +# Serial: 8495723813297216424 +# MD5 Fingerprint: 2e:da:e4:39:7f:9c:8f:37:d1:70:9f:26:17:51:3a:8e +# SHA1 Fingerprint: c3:19:7c:39:24:e6:54:af:1b:c4:ab:20:95:7a:e2:c3:0e:13:02:6a +# SHA256 Fingerprint: 34:17:bb:06:cc:60:07:da:1b:96:1c:92:0b:8a:b4:ce:3f:ad:82:0e:4a:a3:0b:9a:cb:c4:a7:4e:bd:ce:bc:65 +-----BEGIN CERTIFICATE----- +MIICjTCCAhSgAwIBAgIIdebfy8FoW6gwCgYIKoZIzj0EAwIwfDELMAkGA1UEBhMC +VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T +U0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0 +aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNDAzWhcNNDEwMjEyMTgxNDAz +WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0 +b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNvbSBS +b290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuB +BAAiA2IABEVuqVDEpiM2nl8ojRfLliJkP9x6jh3MCLOicSS6jkm5BBtHllirLZXI +7Z4INcgn64mMU1jrYor+8FsPazFSY0E7ic3s7LaNGdM0B9y7xgZ/wkWV7Mt/qCPg +CemB+vNH06NjMGEwHQYDVR0OBBYEFILRhXMw5zUE044CkvvlpNHEIejNMA8GA1Ud +EwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUgtGFczDnNQTTjgKS++Wk0cQh6M0wDgYD +VR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2cAMGQCMG/n61kRpGDPYbCWe+0F+S8T +kdzt5fxQaxFGRrMcIQBiu77D5+jNB5n5DQtdcj7EqgIwH7y6C+IwJPt8bYBVCpk+ +gA0z5Wajs6O7pdWLjwkspl1+4vAHCGht0nxpbl/f5Wpl +-----END CERTIFICATE----- + +# Issuer: CN=SSL.com EV Root Certification Authority RSA R2 O=SSL Corporation +# Subject: CN=SSL.com EV Root Certification Authority RSA R2 O=SSL Corporation +# Label: "SSL.com EV Root Certification Authority RSA R2" +# Serial: 6248227494352943350 +# MD5 Fingerprint: e1:1e:31:58:1a:ae:54:53:02:f6:17:6a:11:7b:4d:95 +# SHA1 Fingerprint: 74:3a:f0:52:9b:d0:32:a0:f4:4a:83:cd:d4:ba:a9:7b:7c:2e:c4:9a +# SHA256 Fingerprint: 2e:7b:f1:6c:c2:24:85:a7:bb:e2:aa:86:96:75:07:61:b0:ae:39:be:3b:2f:e9:d0:cc:6d:4e:f7:34:91:42:5c +-----BEGIN CERTIFICATE----- +MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNV +BAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UE +CgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2Vy +dGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMB4XDTE3MDUzMTE4MTQzN1oXDTQy +MDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4G +A1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQD +DC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvq +M0fNTPl9fb69LT3w23jhhqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssuf +OePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7wcXHswxzpY6IXFJ3vG2fThVUCAtZJycxa +4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTOZw+oz12WGQvE43LrrdF9 +HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+B6KjBSYR +aZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcA +b9ZhCBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQ +Gp8hLH94t2S42Oim9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQV +PWKchjgGAGYS5Fl2WlPAApiiECtoRHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMO +pgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+SlmJuwgUHfbSguPvuUCYHBBXtSu +UDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48+qvWBkofZ6aY +MBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV +HSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa4 +9QaAJadz20ZpqJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBW +s47LCp1Jjr+kxJG7ZhcFUZh1++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5 +Sm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nxY/hoLVUE0fKNsKTPvDxeH3jnpaAg +cLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2GguDKBAdRUNf/ktUM +79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDzOFSz +/bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXt +ll9ldDz7CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEm +Kf7GUmG6sXP/wwyc5WxqlD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKK +QbNmC1r7fSOl8hqw/96bg5Qu0T/fkreRrwU7ZcegbLHNYhLDkBvjJc40vG93drEQ +w/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1hlMYegouCRw2n5H9gooi +S9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX9hwJ1C07 +mKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+w== +-----END CERTIFICATE----- + +# Issuer: CN=SSL.com EV Root Certification Authority ECC O=SSL Corporation +# Subject: CN=SSL.com EV Root Certification Authority ECC O=SSL Corporation +# Label: "SSL.com EV Root Certification Authority ECC" +# Serial: 3182246526754555285 +# MD5 Fingerprint: 59:53:22:65:83:42:01:54:c0:ce:42:b9:5a:7c:f2:90 +# SHA1 Fingerprint: 4c:dd:51:a3:d1:f5:20:32:14:b0:c6:c5:32:23:03:91:c7:46:42:6d +# SHA256 Fingerprint: 22:a2:c1:f7:bd:ed:70:4c:c1:e7:01:b5:f4:08:c3:10:88:0f:e9:56:b5:de:2a:4a:44:f9:9c:87:3a:25:a7:c8 +-----BEGIN CERTIFICATE----- +MIIClDCCAhqgAwIBAgIILCmcWxbtBZUwCgYIKoZIzj0EAwIwfzELMAkGA1UEBhMC +VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T +U0wgQ29ycG9yYXRpb24xNDAyBgNVBAMMK1NTTC5jb20gRVYgUm9vdCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNTIzWhcNNDEwMjEyMTgx +NTIzWjB/MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv +dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE0MDIGA1UEAwwrU1NMLmNv +bSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49 +AgEGBSuBBAAiA2IABKoSR5CYG/vvw0AHgyBO8TCCogbR8pKGYfL2IWjKAMTH6kMA +VIbc/R/fALhBYlzccBYy3h+Z1MzFB8gIH2EWB1E9fVwHU+M1OIzfzZ/ZLg1Kthku +WnBaBu2+8KGwytAJKaNjMGEwHQYDVR0OBBYEFFvKXuXe0oGqzagtZFG22XKbl+ZP +MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUW8pe5d7SgarNqC1kUbbZcpuX +5k8wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2gAMGUCMQCK5kCJN+vp1RPZ +ytRrJPOwPYdGWBrssd9v+1a6cGvHOMzosYxPD/fxZ3YOg9AeUY8CMD32IygmTMZg +h5Mmm7I1HrrW9zzRHM76JTymGoEVW/MSD2zuZYrJh6j5B+BimoxcSg== +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R6 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R6 +# Label: "GlobalSign Root CA - R6" +# Serial: 1417766617973444989252670301619537 +# MD5 Fingerprint: 4f:dd:07:e4:d4:22:64:39:1e:0c:37:42:ea:d1:c6:ae +# SHA1 Fingerprint: 80:94:64:0e:b5:a7:a1:ca:11:9c:1f:dd:d5:9f:81:02:63:a7:fb:d1 +# SHA256 Fingerprint: 2c:ab:ea:fe:37:d0:6c:a2:2a:ba:73:91:c0:03:3d:25:98:29:52:c4:53:64:73:49:76:3a:3a:b5:ad:6c:cf:69 +-----BEGIN CERTIFICATE----- +MIIFgzCCA2ugAwIBAgIORea7A4Mzw4VlSOb/RVEwDQYJKoZIhvcNAQEMBQAwTDEg +MB4GA1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNVBAoTCkdsb2Jh +bFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTQxMjEwMDAwMDAwWhcNMzQx +MjEwMDAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSNjET +MBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCAiIwDQYJ +KoZIhvcNAQEBBQADggIPADCCAgoCggIBAJUH6HPKZvnsFMp7PPcNCPG0RQssgrRI +xutbPK6DuEGSMxSkb3/pKszGsIhrxbaJ0cay/xTOURQh7ErdG1rG1ofuTToVBu1k +ZguSgMpE3nOUTvOniX9PeGMIyBJQbUJmL025eShNUhqKGoC3GYEOfsSKvGRMIRxD +aNc9PIrFsmbVkJq3MQbFvuJtMgamHvm566qjuL++gmNQ0PAYid/kD3n16qIfKtJw +LnvnvJO7bVPiSHyMEAc4/2ayd2F+4OqMPKq0pPbzlUoSB239jLKJz9CgYXfIWHSw +1CM69106yqLbnQneXUQtkPGBzVeS+n68UARjNN9rkxi+azayOeSsJDa38O+2HBNX +k7besvjihbdzorg1qkXy4J02oW9UivFyVm4uiMVRQkQVlO6jxTiWm05OWgtH8wY2 +SXcwvHE35absIQh1/OZhFj931dmRl4QKbNQCTXTAFO39OfuD8l4UoQSwC+n+7o/h +bguyCLNhZglqsQY6ZZZZwPA1/cnaKI0aEYdwgQqomnUdnjqGBQCe24DWJfncBZ4n +WUx2OVvq+aWh2IMP0f/fMBH5hc8zSPXKbWQULHpYT9NLCEnFlWQaYw55PfWzjMpY +rZxCRXluDocZXFSxZba/jJvcE+kNb7gu3GduyYsRtYQUigAZcIN5kZeR1Bonvzce +MgfYFGM8KEyvAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTAD +AQH/MB0GA1UdDgQWBBSubAWjkxPioufi1xzWx/B/yGdToDAfBgNVHSMEGDAWgBSu +bAWjkxPioufi1xzWx/B/yGdToDANBgkqhkiG9w0BAQwFAAOCAgEAgyXt6NH9lVLN +nsAEoJFp5lzQhN7craJP6Ed41mWYqVuoPId8AorRbrcWc+ZfwFSY1XS+wc3iEZGt +Ixg93eFyRJa0lV7Ae46ZeBZDE1ZXs6KzO7V33EByrKPrmzU+sQghoefEQzd5Mr61 +55wsTLxDKZmOMNOsIeDjHfrYBzN2VAAiKrlNIC5waNrlU/yDXNOd8v9EDERm8tLj +vUYAGm0CuiVdjaExUd1URhxN25mW7xocBFymFe944Hn+Xds+qkxV/ZoVqW/hpvvf +cDDpw+5CRu3CkwWJ+n1jez/QcYF8AOiYrg54NMMl+68KnyBr3TsTjxKM4kEaSHpz +oHdpx7Zcf4LIHv5YGygrqGytXm3ABdJ7t+uA/iU3/gKbaKxCXcPu9czc8FB10jZp +nOZ7BN9uBmm23goJSFmH63sUYHpkqmlD75HHTOwY3WzvUy2MmeFe8nI+z1TIvWfs +pA9MRf/TuTAjB0yPEL+GltmZWrSZVxykzLsViVO6LAUP5MSeGbEYNNVMnbrt9x+v +JJUEeKgDu+6B5dpffItKoZB0JaezPkvILFa9x8jvOOJckvB595yEunQtYQEgfn7R +8k8HWV+LLUNS60YMlOH1Zkd5d9VUWx+tJDfLRVpOoERIyNiwmcUVhAn21klJwGW4 +5hpxbqCo8YLoRT5s1gLXCmeDBVrJpBA= +-----END CERTIFICATE----- + +# Issuer: CN=OISTE WISeKey Global Root GC CA O=WISeKey OU=OISTE Foundation Endorsed +# Subject: CN=OISTE WISeKey Global Root GC CA O=WISeKey OU=OISTE Foundation Endorsed +# Label: "OISTE WISeKey Global Root GC CA" +# Serial: 44084345621038548146064804565436152554 +# MD5 Fingerprint: a9:d6:b9:2d:2f:93:64:f8:a5:69:ca:91:e9:68:07:23 +# SHA1 Fingerprint: e0:11:84:5e:34:de:be:88:81:b9:9c:f6:16:26:d1:96:1f:c3:b9:31 +# SHA256 Fingerprint: 85:60:f9:1c:36:24:da:ba:95:70:b5:fe:a0:db:e3:6f:f1:1a:83:23:be:94:86:85:4f:b3:f3:4a:55:71:19:8d +-----BEGIN CERTIFICATE----- +MIICaTCCAe+gAwIBAgIQISpWDK7aDKtARb8roi066jAKBggqhkjOPQQDAzBtMQsw +CQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91 +bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwg +Um9vdCBHQyBDQTAeFw0xNzA1MDkwOTQ4MzRaFw00MjA1MDkwOTU4MzNaMG0xCzAJ +BgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQLExlPSVNURSBGb3Vu +ZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2JhbCBS +b290IEdDIENBMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAETOlQwMYPchi82PG6s4ni +eUqjFqdrVCTbUf/q9Akkwwsin8tqJ4KBDdLArzHkdIJuyiXZjHWd8dvQmqJLIX4W +p2OQ0jnUsYd4XxiWD1AbNTcPasbc2RNNpI6QN+a9WzGRo1QwUjAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUSIcUrOPDnpBgOtfKie7T +rYy0UGYwEAYJKwYBBAGCNxUBBAMCAQAwCgYIKoZIzj0EAwMDaAAwZQIwJsdpW9zV +57LnyAyMjMPdeYwbY9XJUpROTYJKcx6ygISpJcBMWm1JKWB4E+J+SOtkAjEA2zQg +Mgj/mkkCtojeFK9dbJlxjRo/i9fgojaGHAeCOnZT/cKi7e97sIBPWA9LUzm9 +-----END CERTIFICATE----- + +# Issuer: CN=GTS Root R1 O=Google Trust Services LLC +# Subject: CN=GTS Root R1 O=Google Trust Services LLC +# Label: "GTS Root R1" +# Serial: 146587175971765017618439757810265552097 +# MD5 Fingerprint: 82:1a:ef:d4:d2:4a:f2:9f:e2:3d:97:06:14:70:72:85 +# SHA1 Fingerprint: e1:c9:50:e6:ef:22:f8:4c:56:45:72:8b:92:20:60:d7:d5:a7:a3:e8 +# SHA256 Fingerprint: 2a:57:54:71:e3:13:40:bc:21:58:1c:bd:2c:f1:3e:15:84:63:20:3e:ce:94:bc:f9:d3:cc:19:6b:f0:9a:54:72 +-----BEGIN CERTIFICATE----- +MIIFWjCCA0KgAwIBAgIQbkepxUtHDA3sM9CJuRz04TANBgkqhkiG9w0BAQwFADBH +MQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExM +QzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIy +MDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNl +cnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEB +AQUAA4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx9vaM +f/vo27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vX +mX7wCl7raKb0xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7 +zUjwTcLCeoiKu7rPWRnWr4+wB7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0P +fyblqAj+lug8aJRT7oM6iCsVlgmy4HqMLnXWnOunVmSPlk9orj2XwoSPwLxAwAtc +vfaHszVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly4cpk9+aCEI3oncKKiPo4 +Zor8Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr06zqkUsp +zBmkMiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOO +Rc92wO1AK/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYW +k70paDPvOmbsB4om3xPXV2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+ +DVrNVjzRlwW5y0vtOUucxD/SVRNuJLDWcfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgF +lQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV +HQ4EFgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEMBQADggIBADiW +Cu49tJYeX++dnAsznyvgyv3SjgofQXSlfKqE1OXyHuY3UjKcC9FhHb8owbZEKTV1 +d5iyfNm9dKyKaOOpMQkpAWBz40d8U6iQSifvS9efk+eCNs6aaAyC58/UEBZvXw6Z +XPYfcX3v73svfuo21pdwCxXu11xWajOl40k4DLh9+42FpLFZXvRq4d2h9mREruZR +gyFmxhE+885H7pwoHyXa/6xmld01D1zvICxi/ZG6qcz8WpyTgYMpl0p8WnK0OdC3 +d8t5/Wk6kjftbjhlRn7pYL15iJdfOBL07q9bgsiG1eGZbYwE8na6SfZu6W0eX6Dv +J4J2QPim01hcDyxC2kLGe4g0x8HYRZvBPsVhHdljUEn2NIVq4BjFbkerQUIpm/Zg +DdIx02OYI5NaAIFItO/Nis3Jz5nu2Z6qNuFoS3FJFDYoOj0dzpqPJeaAcWErtXvM ++SUWgeExX6GjfhaknBZqlxi9dnKlC54dNuYvoS++cJEPqOba+MSSQGwlfnuzCdyy +F62ARPBopY+Udf90WuioAnwMCeKpSwughQtiue+hMZL77/ZRBIls6Kl0obsXs7X9 +SQ98POyDGCBDTtWTurQ0sR8WNh8M5mQ5Fkzc4P4dyKliPUDqysU0ArSuiYgzNdws +E3PYJ/HQcu51OyLemGhmW/HGY0dVHLqlCFF1pkgl +-----END CERTIFICATE----- + +# Issuer: CN=GTS Root R2 O=Google Trust Services LLC +# Subject: CN=GTS Root R2 O=Google Trust Services LLC +# Label: "GTS Root R2" +# Serial: 146587176055767053814479386953112547951 +# MD5 Fingerprint: 44:ed:9a:0e:a4:09:3b:00:f2:ae:4c:a3:c6:61:b0:8b +# SHA1 Fingerprint: d2:73:96:2a:2a:5e:39:9f:73:3f:e1:c7:1e:64:3f:03:38:34:fc:4d +# SHA256 Fingerprint: c4:5d:7b:b0:8e:6d:67:e6:2e:42:35:11:0b:56:4e:5f:78:fd:92:ef:05:8c:84:0a:ea:4e:64:55:d7:58:5c:60 +-----BEGIN CERTIFICATE----- +MIIFWjCCA0KgAwIBAgIQbkepxlqz5yDFMJo/aFLybzANBgkqhkiG9w0BAQwFADBH +MQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExM +QzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIy +MDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNl +cnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEB +AQUAA4ICDwAwggIKAoICAQDO3v2m++zsFDQ8BwZabFn3GTXd98GdVarTzTukk3Lv +CvptnfbwhYBboUhSnznFt+4orO/LdmgUud+tAWyZH8QiHZ/+cnfgLFuv5AS/T3Kg +GjSY6Dlo7JUle3ah5mm5hRm9iYz+re026nO8/4Piy33B0s5Ks40FnotJk9/BW9Bu +XvAuMC6C/Pq8tBcKSOWIm8Wba96wyrQD8Nr0kLhlZPdcTK3ofmZemde4wj7I0BOd +re7kRXuJVfeKH2JShBKzwkCX44ofR5GmdFrS+LFjKBC4swm4VndAoiaYecb+3yXu +PuWgf9RhD1FLPD+M2uFwdNjCaKH5wQzpoeJ/u1U8dgbuak7MkogwTZq9TwtImoS1 +mKPV+3PBV2HdKFZ1E66HjucMUQkQdYhMvI35ezzUIkgfKtzra7tEscszcTJGr61K +8YzodDqs5xoic4DSMPclQsciOzsSrZYuxsN2B6ogtzVJV+mSSeh2FnIxZyuWfoqj +x5RWIr9qS34BIbIjMt/kmkRtWVtd9QCgHJvGeJeNkP+byKq0rxFROV7Z+2et1VsR +nTKaG73VululycslaVNVJ1zgyjbLiGH7HrfQy+4W+9OmTN6SpdTi3/UGVN4unUu0 +kzCqgc7dGtxRcw1PcOnlthYhGXmy5okLdWTK1au8CcEYof/UVKGFPP0UJAOyh9Ok +twIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV +HQ4EFgQUu//KjiOfT5nK2+JopqUVJxce2Q4wDQYJKoZIhvcNAQEMBQADggIBALZp +8KZ3/p7uC4Gt4cCpx/k1HUCCq+YEtN/L9x0Pg/B+E02NjO7jMyLDOfxA325BS0JT +vhaI8dI4XsRomRyYUpOM52jtG2pzegVATX9lO9ZY8c6DR2Dj/5epnGB3GFW1fgiT +z9D2PGcDFWEJ+YF59exTpJ/JjwGLc8R3dtyDovUMSRqodt6Sm2T4syzFJ9MHwAiA +pJiS4wGWAqoC7o87xdFtCjMwc3i5T1QWvwsHoaRc5svJXISPD+AVdyx+Jn7axEvb +pxZ3B7DNdehyQtaVhJ2Gg/LkkM0JR9SLA3DaWsYDQvTtN6LwG1BUSw7YhN4ZKJmB +R64JGz9I0cNv4rBgF/XuIwKl2gBbbZCr7qLpGzvpx0QnRY5rn/WkhLx3+WuXrD5R +RaIRpsyF7gpo8j5QOHokYh4XIDdtak23CZvJ/KRY9bb7nE4Yu5UC56GtmwfuNmsk +0jmGwZODUNKBRqhfYlcsu2xkiAhu7xNUX90txGdj08+JN7+dIPT7eoOboB6BAFDC +5AwiWVIQ7UNWhwD4FFKnHYuTjKJNRn8nxnGbJN7k2oaLDX5rIMHAnuFl2GqjpuiF +izoHCBy69Y9Vmhh1fuXsgWbRIXOhNUQLgD1bnF5vKheW0YMjiGZt5obicDIvUiLn +yOd/xCxgXS/Dr55FBcOEArf9LAhST4Ldo/DUhgkC +-----END CERTIFICATE----- + +# Issuer: CN=GTS Root R3 O=Google Trust Services LLC +# Subject: CN=GTS Root R3 O=Google Trust Services LLC +# Label: "GTS Root R3" +# Serial: 146587176140553309517047991083707763997 +# MD5 Fingerprint: 1a:79:5b:6b:04:52:9c:5d:c7:74:33:1b:25:9a:f9:25 +# SHA1 Fingerprint: 30:d4:24:6f:07:ff:db:91:89:8a:0b:e9:49:66:11:eb:8c:5e:46:e5 +# SHA256 Fingerprint: 15:d5:b8:77:46:19:ea:7d:54:ce:1c:a6:d0:b0:c4:03:e0:37:a9:17:f1:31:e8:a0:4e:1e:6b:7a:71:ba:bc:e5 +-----BEGIN CERTIFICATE----- +MIICDDCCAZGgAwIBAgIQbkepx2ypcyRAiQ8DVd2NHTAKBggqhkjOPQQDAzBHMQsw +CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU +MBIGA1UEAxMLR1RTIFJvb3QgUjMwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw +MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp +Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjMwdjAQBgcqhkjOPQIBBgUrgQQA +IgNiAAQfTzOHMymKoYTey8chWEGJ6ladK0uFxh1MJ7x/JlFyb+Kf1qPKzEUURout +736GjOyxfi//qXGdGIRFBEFVbivqJn+7kAHjSxm65FSWRQmx1WyRRK2EE46ajA2A +DDL24CejQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud +DgQWBBTB8Sa6oC2uhYHP0/EqEr24Cmf9vDAKBggqhkjOPQQDAwNpADBmAjEAgFuk +fCPAlaUs3L6JbyO5o91lAFJekazInXJ0glMLfalAvWhgxeG4VDvBNhcl2MG9AjEA +njWSdIUlUfUk7GRSJFClH9voy8l27OyCbvWFGFPouOOaKaqW04MjyaR7YbPMAuhd +-----END CERTIFICATE----- + +# Issuer: CN=GTS Root R4 O=Google Trust Services LLC +# Subject: CN=GTS Root R4 O=Google Trust Services LLC +# Label: "GTS Root R4" +# Serial: 146587176229350439916519468929765261721 +# MD5 Fingerprint: 5d:b6:6a:c4:60:17:24:6a:1a:99:a8:4b:ee:5e:b4:26 +# SHA1 Fingerprint: 2a:1d:60:27:d9:4a:b1:0a:1c:4d:91:5c:cd:33:a0:cb:3e:2d:54:cb +# SHA256 Fingerprint: 71:cc:a5:39:1f:9e:79:4b:04:80:25:30:b3:63:e1:21:da:8a:30:43:bb:26:66:2f:ea:4d:ca:7f:c9:51:a4:bd +-----BEGIN CERTIFICATE----- +MIICCjCCAZGgAwIBAgIQbkepyIuUtui7OyrYorLBmTAKBggqhkjOPQQDAzBHMQsw +CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU +MBIGA1UEAxMLR1RTIFJvb3QgUjQwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw +MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp +Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjQwdjAQBgcqhkjOPQIBBgUrgQQA +IgNiAATzdHOnaItgrkO4NcWBMHtLSZ37wWHO5t5GvWvVYRg1rkDdc/eJkTBa6zzu +hXyiQHY7qca4R9gq55KRanPpsXI5nymfopjTX15YhmUPoYRlBtHci8nHc8iMai/l +xKvRHYqjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud +DgQWBBSATNbrdP9JNqPV2Py1PsVq8JQdjDAKBggqhkjOPQQDAwNnADBkAjBqUFJ0 +CMRw3J5QdCHojXohw0+WbhXRIjVhLfoIN+4Zba3bssx9BzT1YBkstTTZbyACMANx +sbqjYAuG7ZoIapVon+Kz4ZNkfF6Tpt95LY2F45TPI11xzPKwTdb+mciUqXWi4w== +-----END CERTIFICATE----- + +# Issuer: CN=UCA Global G2 Root O=UniTrust +# Subject: CN=UCA Global G2 Root O=UniTrust +# Label: "UCA Global G2 Root" +# Serial: 124779693093741543919145257850076631279 +# MD5 Fingerprint: 80:fe:f0:c4:4a:f0:5c:62:32:9f:1c:ba:78:a9:50:f8 +# SHA1 Fingerprint: 28:f9:78:16:19:7a:ff:18:25:18:aa:44:fe:c1:a0:ce:5c:b6:4c:8a +# SHA256 Fingerprint: 9b:ea:11:c9:76:fe:01:47:64:c1:be:56:a6:f9:14:b5:a5:60:31:7a:bd:99:88:39:33:82:e5:16:1a:a0:49:3c +-----BEGIN CERTIFICATE----- +MIIFRjCCAy6gAwIBAgIQXd+x2lqj7V2+WmUgZQOQ7zANBgkqhkiG9w0BAQsFADA9 +MQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxGzAZBgNVBAMMElVDQSBH +bG9iYWwgRzIgUm9vdDAeFw0xNjAzMTEwMDAwMDBaFw00MDEyMzEwMDAwMDBaMD0x +CzAJBgNVBAYTAkNOMREwDwYDVQQKDAhVbmlUcnVzdDEbMBkGA1UEAwwSVUNBIEds +b2JhbCBHMiBSb290MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxeYr +b3zvJgUno4Ek2m/LAfmZmqkywiKHYUGRO8vDaBsGxUypK8FnFyIdK+35KYmToni9 +kmugow2ifsqTs6bRjDXVdfkX9s9FxeV67HeToI8jrg4aA3++1NDtLnurRiNb/yzm +VHqUwCoV8MmNsHo7JOHXaOIxPAYzRrZUEaalLyJUKlgNAQLx+hVRZ2zA+te2G3/R +VogvGjqNO7uCEeBHANBSh6v7hn4PJGtAnTRnvI3HLYZveT6OqTwXS3+wmeOwcWDc +C/Vkw85DvG1xudLeJ1uK6NjGruFZfc8oLTW4lVYa8bJYS7cSN8h8s+1LgOGN+jIj +tm+3SJUIsUROhYw6AlQgL9+/V087OpAh18EmNVQg7Mc/R+zvWr9LesGtOxdQXGLY +D0tK3Cv6brxzks3sx1DoQZbXqX5t2Okdj4q1uViSukqSKwxW/YDrCPBeKW4bHAyv +j5OJrdu9o54hyokZ7N+1wxrrFv54NkzWbtA+FxyQF2smuvt6L78RHBgOLXMDj6Dl +NaBa4kx1HXHhOThTeEDMg5PXCp6dW4+K5OXgSORIskfNTip1KnvyIvbJvgmRlld6 +iIis7nCs+dwp4wwcOxJORNanTrAmyPPZGpeRaOrvjUYG0lZFWJo8DA+DuAUlwznP +O6Q0ibd5Ei9Hxeepl2n8pndntd978XplFeRhVmUCAwEAAaNCMEAwDgYDVR0PAQH/ +BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFIHEjMz15DD/pQwIX4wV +ZyF0Ad/fMA0GCSqGSIb3DQEBCwUAA4ICAQATZSL1jiutROTL/7lo5sOASD0Ee/oj +L3rtNtqyzm325p7lX1iPyzcyochltq44PTUbPrw7tgTQvPlJ9Zv3hcU2tsu8+Mg5 +1eRfB70VVJd0ysrtT7q6ZHafgbiERUlMjW+i67HM0cOU2kTC5uLqGOiiHycFutfl +1qnN3e92mI0ADs0b+gO3joBYDic/UvuUospeZcnWhNq5NXHzJsBPd+aBJ9J3O5oU +b3n09tDh05S60FdRvScFDcH9yBIw7m+NESsIndTUv4BFFJqIRNow6rSn4+7vW4LV +PtateJLbXDzz2K36uGt/xDYotgIVilQsnLAXc47QN6MUPJiVAAwpBVueSUmxX8fj +y88nZY41F7dXyDDZQVu5FLbowg+UMaeUmMxq67XhJ/UQqAHojhJi6IjMtX9Gl8Cb +EGY4GjZGXyJoPd/JxhMnq1MGrKI8hgZlb7F+sSlEmqO6SWkoaY/X5V+tBIZkbxqg +DMUIYs6Ao9Dz7GjevjPHF1t/gMRMTLGmhIrDO7gJzRSBuhjjVFc2/tsvfEehOjPI ++Vg7RE+xygKJBJYoaMVLuCaJu9YzL1DV/pqJuhgyklTGW+Cd+V7lDSKb9triyCGy +YiGqhkCyLmTTX8jjfhFnRR8F/uOi77Oos/N9j/gMHyIfLXC0uAE0djAA5SN4p1bX +UB+K+wb1whnw0A== +-----END CERTIFICATE----- + +# Issuer: CN=UCA Extended Validation Root O=UniTrust +# Subject: CN=UCA Extended Validation Root O=UniTrust +# Label: "UCA Extended Validation Root" +# Serial: 106100277556486529736699587978573607008 +# MD5 Fingerprint: a1:f3:5f:43:c6:34:9b:da:bf:8c:7e:05:53:ad:96:e2 +# SHA1 Fingerprint: a3:a1:b0:6f:24:61:23:4a:e3:36:a5:c2:37:fc:a6:ff:dd:f0:d7:3a +# SHA256 Fingerprint: d4:3a:f9:b3:54:73:75:5c:96:84:fc:06:d7:d8:cb:70:ee:5c:28:e7:73:fb:29:4e:b4:1e:e7:17:22:92:4d:24 +-----BEGIN CERTIFICATE----- +MIIFWjCCA0KgAwIBAgIQT9Irj/VkyDOeTzRYZiNwYDANBgkqhkiG9w0BAQsFADBH +MQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHFVDQSBF +eHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwHhcNMTUwMzEzMDAwMDAwWhcNMzgxMjMx +MDAwMDAwWjBHMQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNV +BAMMHFVDQSBFeHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwggIiMA0GCSqGSIb3DQEB +AQUAA4ICDwAwggIKAoICAQCpCQcoEwKwmeBkqh5DFnpzsZGgdT6o+uM4AHrsiWog +D4vFsJszA1qGxliG1cGFu0/GnEBNyr7uaZa4rYEwmnySBesFK5pI0Lh2PpbIILvS +sPGP2KxFRv+qZ2C0d35qHzwaUnoEPQc8hQ2E0B92CvdqFN9y4zR8V05WAT558aop +O2z6+I9tTcg1367r3CTueUWnhbYFiN6IXSV8l2RnCdm/WhUFhvMJHuxYMjMR83dk +sHYf5BA1FxvyDrFspCqjc/wJHx4yGVMR59mzLC52LqGj3n5qiAno8geK+LLNEOfi +c0CTuwjRP+H8C5SzJe98ptfRr5//lpr1kXuYC3fUfugH0mK1lTnj8/FtDw5lhIpj +VMWAtuCeS31HJqcBCF3RiJ7XwzJE+oJKCmhUfzhTA8ykADNkUVkLo4KRel7sFsLz +KuZi2irbWWIQJUoqgQtHB0MGcIfS+pMRKXpITeuUx3BNr2fVUbGAIAEBtHoIppB/ +TuDvB0GHr2qlXov7z1CymlSvw4m6WC31MJixNnI5fkkE/SmnTHnkBVfblLkWU41G +sx2VYVdWf6/wFlthWG82UBEL2KwrlRYaDh8IzTY0ZRBiZtWAXxQgXy0MoHgKaNYs +1+lvK9JKBZP8nm9rZ/+I8U6laUpSNwXqxhaN0sSZ0YIrO7o1dfdRUVjzyAfd5LQD +fwIDAQABo0IwQDAdBgNVHQ4EFgQU2XQ65DA9DfcS3H5aBZ8eNJr34RQwDwYDVR0T +AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBADaN +l8xCFWQpN5smLNb7rhVpLGsaGvdftvkHTFnq88nIua7Mui563MD1sC3AO6+fcAUR +ap8lTwEpcOPlDOHqWnzcSbvBHiqB9RZLcpHIojG5qtr8nR/zXUACE/xOHAbKsxSQ +VBcZEhrxH9cMaVr2cXj0lH2RC47skFSOvG+hTKv8dGT9cZr4QQehzZHkPJrgmzI5 +c6sq1WnIeJEmMX3ixzDx/BR4dxIOE/TdFpS/S2d7cFOFyrC78zhNLJA5wA3CXWvp +4uXViI3WLL+rG761KIcSF3Ru/H38j9CHJrAb+7lsq+KePRXBOy5nAliRn+/4Qh8s +t2j1da3Ptfb/EX3C8CSlrdP6oDyp+l3cpaDvRKS+1ujl5BOWF3sGPjLtx7dCvHaj +2GU4Kzg1USEODm8uNBNA4StnDG1KQTAYI1oyVZnJF+A83vbsea0rWBmirSwiGpWO +vpaQXUJXxPkUAzUrHC1RVwinOt4/5Mi0A3PCwSaAuwtCH60NryZy2sy+s6ODWA2C +xR9GUeOcGMyNm43sSet1UNWMKFnKdDTajAshqx7qG+XH/RU+wBeq+yNuJkbL+vmx +cmtpzyKEC2IPrNkZAJSidjzULZrtBJ4tBmIQN1IchXIbJ+XMxjHsN+xjWZsLHXbM +fjKaiJUINlK73nZfdklJrX+9ZSCyycErdhh2n1ax +-----END CERTIFICATE----- + +# Issuer: CN=Certigna Root CA O=Dhimyotis OU=0002 48146308100036 +# Subject: CN=Certigna Root CA O=Dhimyotis OU=0002 48146308100036 +# Label: "Certigna Root CA" +# Serial: 269714418870597844693661054334862075617 +# MD5 Fingerprint: 0e:5c:30:62:27:eb:5b:bc:d7:ae:62:ba:e9:d5:df:77 +# SHA1 Fingerprint: 2d:0d:52:14:ff:9e:ad:99:24:01:74:20:47:6e:6c:85:27:27:f5:43 +# SHA256 Fingerprint: d4:8d:3d:23:ee:db:50:a4:59:e5:51:97:60:1c:27:77:4b:9d:7b:18:c9:4d:5a:05:95:11:a1:02:50:b9:31:68 +-----BEGIN CERTIFICATE----- +MIIGWzCCBEOgAwIBAgIRAMrpG4nxVQMNo+ZBbcTjpuEwDQYJKoZIhvcNAQELBQAw +WjELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczEcMBoGA1UECwwTMDAw +MiA0ODE0NjMwODEwMDAzNjEZMBcGA1UEAwwQQ2VydGlnbmEgUm9vdCBDQTAeFw0x +MzEwMDEwODMyMjdaFw0zMzEwMDEwODMyMjdaMFoxCzAJBgNVBAYTAkZSMRIwEAYD +VQQKDAlEaGlteW90aXMxHDAaBgNVBAsMEzAwMDIgNDgxNDYzMDgxMDAwMzYxGTAX +BgNVBAMMEENlcnRpZ25hIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw +ggIKAoICAQDNGDllGlmx6mQWDoyUJJV8g9PFOSbcDO8WV43X2KyjQn+Cyu3NW9sO +ty3tRQgXstmzy9YXUnIo245Onoq2C/mehJpNdt4iKVzSs9IGPjA5qXSjklYcoW9M +CiBtnyN6tMbaLOQdLNyzKNAT8kxOAkmhVECe5uUFoC2EyP+YbNDrihqECB63aCPu +I9Vwzm1RaRDuoXrC0SIxwoKF0vJVdlB8JXrJhFwLrN1CTivngqIkicuQstDuI7pm +TLtipPlTWmR7fJj6o0ieD5Wupxj0auwuA0Wv8HT4Ks16XdG+RCYyKfHx9WzMfgIh +C59vpD++nVPiz32pLHxYGpfhPTc3GGYo0kDFUYqMwy3OU4gkWGQwFsWq4NYKpkDf +ePb1BHxpE4S80dGnBs8B92jAqFe7OmGtBIyT46388NtEbVncSVmurJqZNjBBe3Yz +IoejwpKGbvlw7q6Hh5UbxHq9MfPU0uWZ/75I7HX1eBYdpnDBfzwboZL7z8g81sWT +Co/1VTp2lc5ZmIoJlXcymoO6LAQ6l73UL77XbJuiyn1tJslV1c/DeVIICZkHJC1k +JWumIWmbat10TWuXekG9qxf5kBdIjzb5LdXF2+6qhUVB+s06RbFo5jZMm5BX7CO5 +hwjCxAnxl4YqKE3idMDaxIzb3+KhF1nOJFl0Mdp//TBt2dzhauH8XwIDAQABo4IB +GjCCARYwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE +FBiHVuBud+4kNTxOc5of1uHieX4rMB8GA1UdIwQYMBaAFBiHVuBud+4kNTxOc5of +1uHieX4rMEQGA1UdIAQ9MDswOQYEVR0gADAxMC8GCCsGAQUFBwIBFiNodHRwczov +L3d3d3cuY2VydGlnbmEuZnIvYXV0b3JpdGVzLzBtBgNVHR8EZjBkMC+gLaArhilo +dHRwOi8vY3JsLmNlcnRpZ25hLmZyL2NlcnRpZ25hcm9vdGNhLmNybDAxoC+gLYYr +aHR0cDovL2NybC5kaGlteW90aXMuY29tL2NlcnRpZ25hcm9vdGNhLmNybDANBgkq +hkiG9w0BAQsFAAOCAgEAlLieT/DjlQgi581oQfccVdV8AOItOoldaDgvUSILSo3L +6btdPrtcPbEo/uRTVRPPoZAbAh1fZkYJMyjhDSSXcNMQH+pkV5a7XdrnxIxPTGRG +HVyH41neQtGbqH6mid2PHMkwgu07nM3A6RngatgCdTer9zQoKJHyBApPNeNgJgH6 +0BGM+RFq7q89w1DTj18zeTyGqHNFkIwgtnJzFyO+B2XleJINugHA64wcZr+shncB +lA2c5uk5jR+mUYyZDDl34bSb+hxnV29qao6pK0xXeXpXIs/NX2NGjVxZOob4Mkdi +o2cNGJHc+6Zr9UhhcyNZjgKnvETq9Emd8VRY+WCv2hikLyhF3HqgiIZd8zvn/yk1 +gPxkQ5Tm4xxvvq0OKmOZK8l+hfZx6AYDlf7ej0gcWtSS6Cvu5zHbugRqh5jnxV/v +faci9wHYTfmJ0A6aBVmknpjZbyvKcL5kwlWj9Omvw5Ip3IgWJJk8jSaYtlu3zM63 +Nwf9JtmYhST/WSMDmu2dnajkXjjO11INb9I/bbEFa0nOipFGc/T2L/Coc3cOZayh +jWZSaX5LaAzHHjcng6WMxwLkFM1JAbBzs/3GkDpv0mztO+7skb6iQ12LAEpmJURw +3kAP+HwV96LOPNdeE4yBFxgX0b3xdxA61GU5wSesVywlVP+i2k+KYTlerj1KjL0= +-----END CERTIFICATE----- diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/core.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/core.py new file mode 100644 index 0000000..2d02ea4 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/core.py @@ -0,0 +1,20 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +""" +certifi.py +~~~~~~~~~~ + +This module returns the installation location of cacert.pem. +""" +import os + + +def where(): + f = os.path.dirname(__file__) + + return os.path.join(f, 'cacert.pem') + + +if __name__ == '__main__': + print(where()) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__init__.py new file mode 100644 index 0000000..0f9f820 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__init__.py @@ -0,0 +1,39 @@ +######################## BEGIN LICENSE BLOCK ######################## +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + + +from .compat import PY2, PY3 +from .universaldetector import UniversalDetector +from .version import __version__, VERSION + + +def detect(byte_str): + """ + Detect the encoding of the given byte string. + + :param byte_str: The byte sequence to examine. + :type byte_str: ``bytes`` or ``bytearray`` + """ + if not isinstance(byte_str, bytearray): + if not isinstance(byte_str, bytes): + raise TypeError('Expected object of type bytes or bytearray, got: ' + '{0}'.format(type(byte_str))) + else: + byte_str = bytearray(byte_str) + detector = UniversalDetector() + detector.feed(byte_str) + return detector.close() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..78d8d2e6fbcb26b7a8c5deae43be5bddf573baf0 GIT binary patch literal 869 zcmYjQ!EV$r5Vf<}WE&`S#Q}~!vJy=STPj!~gaj3EDJxnk5g}#W#G6ft<6wJBQ`!rQ z_z_P0lCPZl3tV8FZJ~}ln&+7}ewj>$tE&M%|MTIthtMx{WjWwKgRLHc$xwz%#Bq$d z6Fb;qr|fVyc3ZzwcDWaO+>d?0Zr1&V;$G(MqJe*ofj)3dXZ-$wHNycm{dZMy#H6C- z3#M7Bg@lA_Nn+0mQ6-7-_qX5fzJ9ZlTDDzQjSKrZZ1oC^MyE*Qg`+lF&jIhQ?qvAT z)!kFH!1noytDeRdogwWl&>23(hrY!af!A9gQ0Sce2nejD6ryL0uqqW<QRPHTTbzU1 ziX1eW5v3&r!l0#$YAPvj0|^91whY;W0?SnPX%3Yb(SopJ%8QDHOPX%#WzK&VnM^E6 zO(sOh3qYl$&1BMYPByoXYiJeAh&VU|r`2{@M_H2Px0HJ%7kWg#Y@7{NOi-wzQksGg zv+^&+blcm^${v*1mQqOLO@-uC8`r9nw%5j;GM1TcS_;JmPTaE`D;d7+#drIO<W0!@ z{XLoq&LUpqb5?FX+=|9cI-`=0rLbZZU_BGn{&?pl)$B8EBIxK*R2BzO-A0DtR-_8e z)@z!6q&ZVjUDWIMABP*^aJ_CI9I`yOhY^fPl?fTy3qVJdBt=!|Bnj)rcuQe-?3Ap5 zL4JS(?BN?u4{U&CAI^55EnX^kO|`UhB|Bi^{`_(%FJEri1pi_xW!I*{UxL~q?R#G_ Y_BPXd!bLVO+0$Eql+9hk*YR5CFD+8_NdN!< literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/big5freq.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/big5freq.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b69d7ebd198fd9b1072fc984eaf828be08298375 GIT binary patch literal 54756 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/big5prober.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/big5prober.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4c4caff7058d517d1ec908dfb4b452b1f0b06fb4 GIT binary patch literal 1145 zcmah|%We}f6t(A-X_U0kipPQ#tRj(2Q6CZ#LeLadNTgJX#A1YGO~!6A#WNXfrzll- zsZ@T2UmA%OtNsETxYyItumMN5kA36&IQPs}yWON$zdn8s2>C&lh6nf+OuY{aC!9)> z)0k4kj&yQ2b}e?Lm;14Au_uGP5jQ9~Al&D{1>u393pWmVV@NvT6$MuvTHPPaq{;T? zM)W6%8VYlyrX!)ivfiKatQZeXV#FXxCs`rj_TgSO-r3KzQQ2r_vT5<UNaS2+8f@*o zw+B0HIADYK`)}T*5a7>nuaVvcAV^F(iJePwOgZJwMHsun<1Y6u$b!Z`V4E@E;F5SG z#*7<P6GPYOrI<Yq+|f5q{S+2M3_T|c=fqin(YVH2z?u0bSP<A7=j0?r3n$={9(GnL zU(ZUR6mU+ekg=@D3}Xr%Dj)AwQp*F=xxzkF_xMuvEWz^6gsOZcv@pPer-eL*eTA`9 zCR#K0jr{x?O{Tes@@za4a(ibtI+~}zcMj#8h}38}o5{5JaCCS8bbm?a(Wxj-Bbkk& z(pt89yOGX}=$1+PDH#hLm08(+_Pn>*+v=8cF!#iGjF%CEr+lg+48VnnMnGF>yV@(~ zDuf!Iz|;r`U8PML(zA_QZhJQz{6#Vn-N$Fh0jEHob69!!O0B|8hpHBA7T3!f9IF=Q z0JN|o$wdclv;zxq&K@kqTmH}gV>bGzL@oXmHk3&*o&ihUrI5=d-q<@Kwj7gVtZFir zPx(wDZZY<GmdM&-Ijch85QJjp>MnRy8?aRE>mH{<N)Qb)ag$dYF_K`F^%#IgiG{Qk zv^;x<;#<o{*X7q8QpiuWUQ15nr<d2Co)u(u$M$qdf3+k7@S;JVs8{RyHj^6JW`r;5 P@?Ji|WU&1$YJcu;I&2%b literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/chardistribution.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/chardistribution.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..57577cb9296487069fb09b154e1be993b8c13bb0 GIT binary patch literal 6341 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/charsetgroupprober.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/charsetgroupprober.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cb567074a88c1094e1afb5ecc3d7c0035505c87f GIT binary patch literal 2252 zcmb_d&2Jk;6rb6hU9TNGEg}5?Dv_cha7AsZhC(H1i&}^{;8y*VRz)MnGuhf%e`ID| z60?zz9H}QH4jlLwxbz?4KiC`M)Dw3u@O!gqQcAe7_Ivy0&DZ<*y|<SdjT(Rc*P~w- z8T*~R^a#k;LG}YM#S~B3kjI>p?4{n&kA2S8nDUj_V@ha$?#Ds}cUd!h&atJ*i~4Od zUhj{RyID8W7&mS_?wY$gBega?EIN4THhSzGFwJ7FSnR3Ar)+~OPx*V**mp8+*o$JJ z0~M;u9-H$xgdC}=lPjvG7WP;isk&<5U46;~i)*mySh2K!`I;F|C#40Qp64!QjNbk} z+4mu2EaN$wdjl`$ivK`vdpVPS!oY<h9w>%`{SF*kNV}s%ZuHYko9A?7Gb{o-ooHjo zu_BVPKk8>v77Mc5%lc2W98HHsW#R&1izT_PZ6=ecwpNzPrdJ57(+v~QalEKX*-N{a zmcOt+e{4S<4|RLk$BuOMqs#5vJ3WMU2)72hmsyOn$K%n1+nqH;{@d<O`-vVsX{Y`5 z_QcIxYF%#Iex@%>y1mVAqHTN9pIo?jrS)O!(uK(mrdv8mNZFRys>Y^G7bu;%x7Arf zVJuB;O?FHKE6;)~35+lC5Wm@5|BiX<MJRd%5_%~16eWtk?SLJ|e$Ehg<U#t|t(*<S zP4>;XU7mAuCg%gs%_2WC$Z^2HSN_L1O!`}A9s;D;6}k+GjtOz<J>yVWF%=BTv;;=O z6H_Hc4Xg;u<d_8vnx3gU-F`l}Y0x^92{Xrt9S3_4WJzFr5f0b6;1S+Se0KT>*WGmo zev>&wH$Zj;3?4Fj8l017<%m2WY2X2CywmiZZN*}uGua!DHu_4Bdb+4ncHoN~b%&@l zXL)Jrp}otv;v(Het}-ulmI^+5`v^;4KJNc8*u0J_i-^i(3b_4;g(tA+3g}e}kAl&Q zqYg@#AVlQC`8|Z~Z3-M9GuriX&n|66xi{eUP4@<D=6u)BeS02bKl2A-(=*p|DssSS z5F+fPtw0+Af}R8n0kTMWpAg6*tcjGr$xTG7u&Y|`+KL`h!mz(7I$t`>Iruee4r1mt zSXPJ)t(76*7txou?ssm=ukMwJ4J`G_BJA9{C%^u}L9+;@Q#M5j$Y^~h(@+_+gagcJ zVlK;vsXhta=OB9yj5%0(fThQ404Q;)PU4H;5omVm2oR8w2g#>4L}lc{`!fVM$*2}H zR3d`3tT;kOBOjx86!5D2UC-5_*nWi70a9_th5YK)YVHq0`vBSs!YDAR&OOeYzBXsO zVt*!}8PGy5<^nb0<zkbW)m$K@K7uZ`R$aJ-{Ym+_pQ<G6B+u4<n=L>4<683FGKqWF z5*X~BS>s*1G8$(qWu?zfV2J-=DXn~lakE~Al`>>b5qpCewS||m7^dSS(WVHLUY{n0 z>dWEW5RRKcS%j3Hxa!(FUE*>U3n#vkG%At%AbTE+xdaKMM&MU=7E0l9q%YzpK{OYF z&(0o^x_`C@Y8(sn5u)yZk5Em@;aE*mlIv1#O}lA1<J!1uY(<2&hwoRmQ~E_N8G=<= z$&LN5QBS9-l!x#`VY@Er8YETY3dm9)jrd|%uhpY^6fL{%+i3<xpz#^Bt`OqJe$Oe} dt)Z`hTX%SPDbdkI^l9n9)iZQHT~z0F|8McU@3{Z~ literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/charsetprober.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/charsetprober.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..eb0c5130715c272b00d5370608233b671c18f37f GIT binary patch literal 3478 zcmai1Pj4H?6`%b_Q8Xnxa_lsY+72274U>pW;MPD4SBWFLjsrtAEVTjXx~t{RkX&iG zOV181Q=m|za&zeyX@P!+0_`QAVXr;;(o2CJa&dldmRyR4oG!7mGjC?zzj?nmk5^Y# zYSxRFzyIGw#{SJtJudp6<IO%sBbcya)-JwQ+Y+{LVte4U9gE#z!WG_gCOqk$IBic@ zJFHQ8fn99-g@v|Z<@Nh2?L<j$M+aJlG&Or1bUw$MC1@lAYu2`f)po=s;RyG+)dq7> zdCuCNtcWF1ea=p-_L5i@HPEV{ofCCKTNW!~6||Z>C(erthE_-a4Y6kWE9hSoZ<_w9 zu%YDTd}XU2s2!<EJ*j$K^Ze(t?a+oc^w5{yExg$}8o?&aXA=vprR{x3yC>B51Or2B zyHUw2enwX2=i(sg`Q0eiQsql=+Uvmq`EpO{d+38!_5CCmNZ-#ZG%HoZ&fQGLT~&dg zzcE$E=exhO`sqNn22pP$<6r#pTI>Eegwg}3ye~tYVXXUU^1J)ncOdmJ7`L9t<Vh=z zI<29Zx!Sze$|5Z{hCz4`^kmi=M#GIyK5c&7yt*+QW4bAOJtDSzY!#_$kpLmJ`DRiN zjdz;EF{vCSk@o$clRrpJW>xSzy1d}X=4@F==T8rPOFxobn(dR{?3v#jMUjv%-@3hf zdu#XZ_8sM6+_2O+e2gcGW`$OHN<yuV(9O(2Sw|Na<(v5h;iP~$M2hRFP{Z*xBI@J= z2r)<0Dka%RR~99mUbYZ5uNP<=n{uZ!>b`22+m%vWEu~pUYm3ro`fRi4EGBG!8im#m zde6k?wNi@xs`t$N*<y_M2;la14-CxnLvCC}xcgz6bR!{?P+rG|*^#X;nzp!bK{^RF zXSaq91&%-hny?e+7$!p(XFIE6=KY6k<ByLTAO4qI&jBV|$=u0C9UL+3eAU^P3T*oQ zsMq&9V=etOiO0Xf%8Vp3d(}F6cTveRca*wP#L{bY?VzLC2|Kp5wU3MjeeGlW=~ol` z7JKx?u`{vuor!})TKTj6HgcN9Fj^8ejgH-kyYHT`I#c&2u5b_V6&|Rx2MNbwkAL(v zk`QdKjy?qhYJB>9ExC~0D3M(El|(xp%8aL7PWENj%XL9K><1mGuXCC7;wbC$871Qn zgN>t`8|_Es;wV81O9CCGNf2M>3qwu-2tq8t#(zHB_}4$?`v!qJkP0H6NQG2{^v7kK zN&fH;g@ozyQqFE)g86WyIiS&%iibhMJ7h{a>h(3(DMu*jAWC?^GpVA&w8K=13}(mC z0BKH?>^fs!XplAeZa>O+ca(%=1jmkpjMx?D3EN|$fs5`3dM-qlykZ$-ny2vVYpieb zn_xofAyKEJ4EjADQOFzbPxUC-1xj)yhj9=}fukXF;GJ0V3`tt@APb{t?%8Io+*sIQ z?i3yjhcUSTc8~#CsG_0H_+dW^`&^_vNi`qA-M6PFJU^*s$uD~kVLChT4<0_-c=_nV z`EYtpMEz`AQK~iAdZsR;`{E@Y^$vOsFJGqk3X}@Q>Mc<6CB&eBR(VA})wophr6@BI z*6<7#^J?LGDRR$vK6mNUUXI~spEP|HtyiYlTkyYc_I?40*_&wC`HF|@$gWvymAbWN zxz?(E^!}L;K7&n(W6Gr^j{lB9fn#AE+rmC}p8iSW>Ia^!6AM^Yz$KdivBG(a8T5J+ z516&pChbV-7<m|dB`U`@`b$9b`o!CJ48GT~(>ZX}HxnCZ{{{#rZa{gN6+jVHlOK$P zW9RWYuy1F7ovjti^R>tbwcuMM!19D2NIg<Xh7b$W;h0jv-X7q!w^zivl7uG&DN-LO zh``fvI}M$Z*(^!$AQ7DMrpYVwNSy+R!keNG3Fc7Bgx}aawPYTAH{&b?3<?EiQTqQy zM1z485sIC7Tq@R)-4sI8FdQjW!fx|5$eHGq0zl$y0L?N@C)NEKgi3L9C>c)_F%Br- z+}XN&_mr(4A(Ls2)KjRX;bY@yz>;uZ^4r_HhxD3!Qq-Y)dvhQCTG4Gb$KIwv;Ei2% zg~)`%Z9s}DQ&dGLIC0~}GEqOJ*`J_kREoQgqu;JXiLZlR?hciFlDni-yNX~q6L9ZL z0e2YbzCXPs{8(yA^>p`VKSRUn6`;(u*X#>+6@_5ca-B7M6>rU|JJdgFoQc1)xKjOm zUM+)bUi1AyDn>C?$93O-JPP8XR&KBDeEFLPyIa5A^>@E~a2tbrx6~@Os0*~OiduCj zl^&}%h=xBkOi^Y~muR+5l}!{5ByJR;-X{9H)O<h<Ri&pIDl`?<0kpzom#XdBHLvQ_ z-RbMq-!m)V<0V>cGM^`t(I6|T*-F}>8r>{9#o9<Rg>3akVddtJNeJbgs#Ue?&iB`8 Bhr|E? literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/codingstatemachine.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/codingstatemachine.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6cdf9d03decdcdc15c8474e520b28682feb79a11 GIT binary patch literal 2909 zcma)8U2hXd6rJ7mR~*Ms3Ifztn!Z$6B{o%BP*K%Ff$~z)C_y}|kXDnOvAtovYi7m{ zM&T*^fIjs<^e^pepZE)XY0sUtlQ?lv*P7Y+JonDI=gxX-W25PP_~&J<&DdY;%u_-8 z0gAbWN;2uCEM(G`LF$eC(D&F=CM&Y~p2?~Tj)Slwy*<{ceZXqA{lP=s@ru?n5f770 z?O9<}OjC;|K;r?5d5lW2(333mr56Td;ynYL0}rdRChO?eWJ9juU6)O{j(0<?$(G!B z&yKyYDcdl8skrhemq|8o#^#2_A2>&o<9WypIl)JzN8ILos&vwyal!Xzm@w+~L}jt! z{aj;gEVNDHNh&nQr~~fuUvllh6hO*dcBr^iIGn{Utzwl-mATCm%MX(@<$a|jw?kp) zt8=bk6*gmwg$`@kEin~ID)v)#o9CG-cVV~SHW{fde-3lY8{(nJ2Fk#qIRm#Z3=HQP z4fC;9(<Gmm`A(6MOLJ^Ey71beYsCf1)+rXCGuU6Y>W)MU^FF4n(#lw(RAA}E=9>#j z?l&FK-t&jM&r68=I70$V<9sMlu@MbToY^4`PW-28AkyW?I4Fwc$#W~|f)v50B26Sm zloTK5@TcQ~2x>HlR+<lm;rmK~4yiJm^b;k!rDxBcEZmy=mB}QAPRKp*PCPB2{1gFp zmxOcPJqLhunz4#uGA4cqkK8iKl14Bql}QE}g5_lALL=-&C@@T`vz+I^&^V?s31o62 zPJTE{Aj%jKi1W+}1kDoB<l=d_h14nHSmKll=Tar03>U;?G*U95e1V~aw2IK0Ll}me z=i%s3i-6B*eX_gz+wOwdGT>*3{TQc+QF<Et^QQQ6nmUS4)ARH+tB!IJD}%<)ovkG8 z6!P&Rw;f69O`J|3GGg{3++r8+>wH8}Fc6D|1>~U{Lg0`wS=ViiecXKX(3{F56mtjF zk$1!*+_<PcSNoEo9oWi2)z*$_yne(E8pq7T&5Wzh-`4KJT`OwQ2uY9@?I@mT9Z~Qj zL~zk3=|!o^iuH2dNxP`0`Cx#HvsfD_`zzW?7mX;IR^QKMOmRFUJ#cKo7ZRN4=H zGy0S1OK|t^-+RM+q<W)dFj48Z-`(x)%*fDaN9PB)7!CS%m}f6`wx2>#hho;7s%+Xz zll|V<&1`k=_MkGgITrCNf!nM%PR5(xeBZs(-P#<_Fx^#y0S)#dY?Zn0kpXC~SKiF- z9P^vKJD!pENtW0sx<{P0P%*DI|FyigpI!V=bQe2fVv-(upM-@VEIT0T5e!i7ZFd44 zV6>>Z%S|`X?syuX(UKKMjlN9X4OBm&7#DHx?Tr=Y9l0lxppP$sJ4p=DK)4}@n~=s$ z_RdGov;INw%GY-!dQrvA2blL!SX8AIZme>XUB&2i_AYS!D&}b&q;<q9?4TlR_i#*y zKp*h>cDNp=!kEa?SIFrqY%g?E4u-9AMIV=IuETZ5{(L<hu~XAkyc{KtBYlOsHLB_~ zUvV@QUK}=^LLFS#bdq&oC3z$+$6(RS)EgVQsh=@u2#*DAuZ5Ui_S;l@ZSU<DD~LVa zxfEH7u49+HB4)~%dZmLa<5+x(^l*8DZ%9OxAd_~meG%8MR+wM0Wyy~dg*E4XP?TLt z7ZplCNQ$^zt*qjPgLi*UN_L`o66~FE>+An=YsJ3*>suqmzm5q~^`rjj8*t;ri7Wof z#9JV3ch>bf))vi(F0n~UmrpB-UQa|izl!QnB=b0m^e0&7(n?>Y)-|fG)858d=VPVq z%$YtTqZ2J@%B?R^45e!0TE%NL8bPCt61cfeRj(0LRb`WrDRaD*@6%1@=2w9hjUP&v OfBc+~$wb3%1^)sM5)mZ; literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/compat.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/compat.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8ec1166dd4b529d2ea54495cf514af4256367012 GIT binary patch literal 385 zcmYk0u};G<6h)mlY12X%g!l$JGzJ2dkPu>mt%?Lf!a|DN_%%(N#Fp(Avhy?iQdXw^ z0t?t>!B0MZzE{4_$!Ik6c0aF8fY2BEx3KN+?A8t(aj!xY0a|%HTqAYLG4**sF$54U zeA<JM_M2m?_}0M?L9kZ?+UMRQ8uxZK1<iIY_33`>E8jNCvltILtXth3Zb9i%G+Eg! zM2FLt3x~v-Ms@v7Q|5vLjpj^4=A?mvcaxb`LKn_k1NsxG0~hM>{Xv$Z22z*B2CB=e zDM{OW$yA*xv4Y%adpAqbJg2h<X5fvrWDCufROOt=y_3XKqDuo4$?`QTKoeQY$@z7B z7AF(gT04fKa3aa<Q!W&712`Cxi&`=h%eISdYQZ-Z+@9D!=_88>552%v<n{c&^A}?6 BYC-@2 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/cp949prober.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/cp949prober.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..69d3436e5bce5bdac6efc07cdc95e73e373c1fe6 GIT binary patch literal 1152 zcmah|OK%e~5VrS~ZAn@v4}ru9P7x#vYN=ES@k*;6N=ifohZT~wS-Z)WePKIAsd`JL zil4$?+AF921uih-Z6UpYS8IQsS<j5W`F6e4TBhf}KD}%Z@`Ef42k<L+)iz9=aGH{g zhLj?<QY*7V+h99&GB<P$c2X~Egbhk|33s`7O1LN7xgGkvF(hsOoI<EJt?uo7=<U7V zPL!6(XsVMUf1O9^OeG4OYrTRe`FN-!E&5SBNpb<!JN;>@lQ%OhdXq>Fg&xRaBqVrN zdV{TvEjH}4{=4m+w=tynGwchbHUJ0`Qcgnaj2uu-xpnG?ws5%3ol`QWp$pj54A?s( z4hga5Ms>}^uhYeN0UWquaD3Hcm^9J!gv_l&YYt9rYiAC7=4x+FU~Qa`LmxeyKv25h zUaDL*ErpaG9IkxEl04CjNen1mv@OMk2c|M<;r=#X;EP2_*s+k6D}@pocyN?R4`5wl zEKVb(82e6sehVf=CW0&(Per=%Y%>_lV&E@>>l}($E7<Evk$)WQ?*iRlqgiky@}nS4 zMnP#j>)p*jC0caKDE=Icg$l}~>^$A-KIyJ^${D!3VmwA;z~Cq^WPk~{&_P^6UrN)a zZaI@aT;d_T3IU-jblLXl@vQ}RyO%6np&6;};W-o}r$C>zU%BR(Tme&?$|fuZ*V8I& zt0tBK%&<Jl#3QgMWRY0McNa4*e)RvW-d-U^l>aNOpGNt33Pc49DX(1e@`JXIZO7^u ztCktd3O-E{HyQgfjndj<Xsdjn5yYZr@&<&JH({z;7k!RJnu2hUip#=Uh>-=Ot_J`V z%FL%tzv&no3h=sV)PksLovqcnQ~3X7_5Wv7S*>QH3%cs2N^D5wfmMM<QL`rW-%4s^ Uy5T>sulM3U7J~|CQuElq0iLiL{r~^~ literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/enums.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/enums.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d57e8ecf2cc168b2743855102564b9a540216546 GIT binary patch literal 2643 zcmbVOS#R4$5T-7QV(c6)P@rhh?n4VyKqIwH8=!7bSO@JemMKA^gN7(T(cHDfgd&w) z(t!l@Dfu(~2mLL4?UVjOuXJW5`G_4O=?XL4*>iS|Z**^SQ_n44|MIJ<D1RvDS`qp? zKw=DxDvq+J&>YRbQfQv#UKX4@$OT#ixhUlV$R(<RtV+2Ea+zu%Yf>(OT%kJ1x|CIr zZ_o{pH>6yqn**hKbI$cf7?SvyBx6R5D4huCc?t12BdK5%Bp#=uahxV{i9hx@WeJ&j z{xfgHYP!DdrO7zv+obJ9q#1gVTtdF2UQ|0;i#wx<7lbuGo>X-oUU=Ga(AxnLp8#Wu zlY_VCY0fFoyi=qFr$md6N=u-tn(1aVO_M?5C2T&>2{d~g2*N;X!r7EF!J-89XM_gF z$BctW1TGiEBWV<zFfP21fd0%+VorR}_=u4ps>#z9pn|eMjTU)eR<)dIt{Zt1=DL~g zx|5iuA@(<1_j&4ttC_Ov(%8o(y~DoYHU=%z%qqs9weCJN_a3^<C${mM!Z+Yx$^Lv< zAIB3`p9G_nh2MRDzuudn<t9BIKLzy!$Y9s#anIU=7rgLh^%EAI)WhJYK9w`~YWM3R zNZ8$#FGPJBOz(d4L+$I@y}Q#HOxM_GgoAY#w$hl_SKh0m$wX~B<M>z&NFdV+#T@?R z=mjsKId*W_17L6Wl2fLtqtUWcVMSJIDvr){rZyE;hW-tzffp;;&5jq1Qiz@1AWRsa zKYdqELM+LB<XCPL<OP!+^rq8rMv|C#@}%MLaP8^#%F)B&(!sm{>T^uBg=F~X#cgDt z0kf(byaZnkxvB6nGF;$nwH}(5F)-YLdC=>ayQa~0K3I?0{YKlg&92qxINGB|uYoHa zb-&v;8dg@ex|Z8|w4W6kosLspZORHTbQTHA-X`966WARfu?0*kF5R)_T29ViaLoIp z&jv)+Q4o!m3AFdFW<O1!DQst#l7?e!oEa99=1L=0+J<ekY}4AywB7EZ)pkugQ?0J; z9vD}e;zKx=09}ks9R2?WIPm;&5V55JtoJs6v;>(f4|x+j-q8-Ff!*laS;^@4yM0GB z?ZMj&@DV(<ddUDddcgn~(mS~9D`3~9Cex@&%deD|Ij6Ep#jOE*p0dbio!}V@gK-?w z`OnvzB|Ke;MZ+VAD4q{_OpfC)j9)-}NdN{kJ_+JfkT`-Ofmr>9fflH^kMWBQzep`0 zfw@U@02cZA_BLlp$|JE2SkDN+7KR|)d`=G^;Bgf508l=N<mCu&HGT_@k)c)1Wd%PJ z=fVt=E!!Hg#D$ga*#SS|^%&4fVgAKs<J2ziu&Vl%@vd3MUc)vY8;*8pb<BOE^TbhC zU#-_20A@TkvKxNr2{B;+^pt-J*Phc+Rtkv<AH&4AKmv!>APuOH=Q!g7oi?=L4v_d9 z*mcpc1ZuFcmfdNseb`!BayI|{`XD%~u4kqrr|=AAl7#}|fy+~d!vO?E$eOc+;Z1@i z2t<qzhXl&`Sp=c`k{JF`V6-$MsBsufArta1Nkm#*%kFnO1WLXiM<Sq5;3<S)$P$RZ zRSAC$?_T_i>>p%*Bl`=ORjpj<rwTxku?zU#cJvN>+$I3`zM~GF95lNfr_?t0OdF7U zdH0p>A#i*HXz3nx4cAadamK1@vW#SEe1vsf7FP-69KnoZLQ6l&)mL4RX%CkFJbuFJ PByTAeZdY#K0s{UYvoeB4 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/escprober.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/escprober.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f6ffdb96f571fb60eea0e5ef647e19ea67e65315 GIT binary patch literal 2634 zcma)8-ESL35Z}E!pU?K$NkbY^pz0AMBqJJ^7AimpS~YG-+c;4iT66*}&h5q@y*oR* z=QfTU3CWQvAt522c<d`L{R{X@?hWzOC*FC1ne|5+QX$UTxw)O$kD2++jIR}odHUk- zZ{j&Z{va<s7VtM<sIP%=!f8k%>Qjom5gL){o0>O6E6Vtp$oB0h>u2?x6*^JQ&qaAZ z9~JyU<oYfpcL>jL`<QTB(2?mEdA3f<&I=0LmuXtO)oRGPNVa5mS4fyxxYgzDxLHpc ziP&fat#&NRW?H)6h@1UJQ`~NciIAy_`ct*koha%>Wh*Uw>9hI<+t^&I-cJ|S>zh}v zT)ld$c6RRW*4epx+q1a<?l^nUG5DwlKm_qAC%(a{Z}PdPWRG%_TgN%y(mWdM_!(jI zEO(B{i27OJb3CtkhZneeO#B=#@)ErBPl-kR0=Q*9ov*6kluHhO%X{$bwA#u$CGh%6 zD6iqI1YIsX6|_VoR=h^9C%fP_Z?7voE)o$W;3iMRpaqP2U+?y$C8XFLc%q@&;lPt3 z=r-f_VPiKGo=`!fCp=iLTJ62WQ)0gl%keBJKs9U&?sa1?>FTZ8T*OIxZ{Q^@p<wm& zpj9oc1%`GSA^0{YLp=i~AqgFlk<l@Rl+zypVNEh5%p8)Am1H{h4I<ZoH#^zHNpd4P z0*%>se)f&J1<?I&CUZ~8iXa=#WTml;<4JRx&TD#3(*@9bZA1{u5DcRRa4duXJhrD% zS6)mrs^1e*7U2G=!&p0RCyb@Jv2&S<qze*>Pyrx+xn8T*tE|4hv2}m__Ih<KwIMtr z<`Nwtvq&6Nb?)BWx{10nhoAPn&F$*Vn#|+JTmvHbSis&a==S3zJ;%mj6`Tc-J4z(! z!pRg~7xN^wnZguGGZMm*l#SF<BHYvW1G93B1z|%e#(pJ#J*~95k*GxNW?zIKessOE zHNc%C$gvLKN5OZ}>c$VYYIk7ACyhbnv4|g6!uD>ZrzO``uUAw%5tn<7;1L|ID!q2^ z@&})+URk|%xi<jus%SQGvcg~~@5%}u0CrRWZ2(wE{ng$;mcZcmV5ql%5V}BZ>e6}m zA;n=&euo$SohGZ(U<6oL@Hqvz8cdu34nusff}mI<-!31~AywY~5{EalhO}d#e1GX7 zNiwK20+=#e10<`dGl9oWIVX#-v4(?OMh>be#BUt3)C@%|7jgPLk|iKzLta20^~zMf zf&80D&|<yCr@*KMAcU5{W{Voy3og*Zr88FR;Lc1&({bE_p==;<eMB+^B<nlCOCPU~ zoSmDx6Ckm;5s4};)>&&DUOaQ)%bNf1Ty6HN&vm9~U4QA!v!R`8z4|=#71}BDoYtX7 z!9bhMTJ!mx-wzj`|M^7|H1zY|UMMw10y!4%VMz<b1}xD|B;b0>IJ|Vm7pL`Sl`aDd zap)*K1LokDAqAlQbYvX-fHwvH`y+E`x)A80*`Y3x@9raK42=;zvW8Y-cC1H+Yyl)q z2Jo{;C&P`80n-d2nc?OmDt}JwP8Oi)z)Y@AU<X{6hjj}eDQJn=aYtC|im-bL-g8sk zhh*P=h<<~WWvg~uB5q#5fF`8TDK7%==VNh@j4O#mK&6@L_V(uX7}aQGYS%V**hW>p zuBGFeW3TVjVJ>xUZ+=x<W9vKq^4M3{g2ubCXx!V!so}xmaeibpKvQRTkU-5#WJ&{l z9p9bSSgdN}oH+rowI>9x!zOA42%&k%oDyVC9)31(dFsFqDUOnHc>YW<aR*Ek7wbCa z0o3(8V^Np)L*!k?_WO-+BFQqwy8&amWa+$39jIf_8<K&%gw}XS-bR8IEiFz8ZXm)C zmdz4yS_E|dV_SI#hQdPVWGtgJ?-pFkwH#a5m|D4%7AF}vu9^}P)nAx2cXZ9vuh?SJ zjEMV@()~zcv~&#Ne~Aj9Rn7X3?mD{Lj4RpfawnxJbv_$=;&Z&H!mj0lj~D5(^$*HJ BdVl}` literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/escsm.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/escsm.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3f64af55587c9ae6143dd9581720c502cb3dedb0 GIT binary patch literal 7391 zcmeHLNpIRf6t-E+o&>TqZBrCgJ%j@|fi_a5s!Bppc7g!)Fsg(cW>``-*^r7}`#1Ur z`j0AKd*Uzj($4dOZQ>-NS!f%uJf63G@6Gef^DwDU$j=UbeVB<c%n!!=V;N?P($aS) z!(axp4W`K=mSylFauD{+NpBbCv>s3j2e>x3oAT^#U01QkDyG829zelxsa&naPAje9 zD)zK*c~;gDhnJ9tI4BxNJlKnU*#DJ7Ui=98KwF6){8{Wwv>xA8PrGrA@`m<m^wh(U zL;Ij@reV~|_(%CR^aWcR9l+N0oRux)$IB={d^kY-B!GijR)Y933Q^7Lv!c9<OZ-^I zq4^!nh8;b$!^0kUu+5j69eqUl(_&|ePWNV(UuOflx{fk8Dtl-KKS8r3glEYNnZ<KB ztjwi3{1k<$wtd#jKFxhSrqSn6$9~*OMus}3G3q?Pv&`kn8j9c*G*7~GMn%Xxj^KGE z?ghM1U}Db(beS_TRt_Eu<yyT(3SFT~22ckEE@<4)IG~|rfEjSK`Rw0A@!g$xGPRME zJ!!C#NQ{#M<%S?hrLJ(=AaYP8Dnhy27Uh5hu$pM5Toc4ngS0f-)e@RS_BMo8wI@`` zzz048`-PKuay^-hr?UeOxb{Nhx5^H3viCsf2oQnE<S;LDhi#Dvt?U{@2PncIMHs+j zo4+KC$tU7JjR01RI>TVuh_F~xQhD*yMq7x}MBH;CV%*hrPc4$hbe-t(yqzKmpNy*q zeb-W>7)&&s|BiEI{!JV0yD?3~JtrdO8>=GRX3aF-^&hU*v1(@6rZi5fT*9VaO}kMp zBSYRuHs(N}?5suv50^A%&a`*W^+Mg=KkT%}{A1NjMfo-h=ZzQsScUV_B5BmF8wd1< z0Mn{C=5GICuiI(uqC1I6PJ!$Gk;fKgH)-{nk_cz7h}%P@^ie@}7mC~YqU_G(^C$F- zbH7+99cPf6N()642Bp32eCa5YEfu$SjxurpB*&%WlXsaT6rx9}aH5*d0u~AyBsE?( zs1b~aA-Mo`kh4Hh(gX!UYdAU-=#55on72St(gX!UdnnM;puRC;6n2Qv{QSb#+D*bY z>(w4<ynMCE=lXE$+{}sXGg9tKl<wBrt@pX?E<Kt4B=q@n(mLlG^;5p1NK%PSUaEIV zyd#u9(qn0f@6<c-jn|3wL@M6tQ*nY+tH9(-)D*Wx9vooO<%v|5nu$(d_P%Mhaj!w% zuF#OA4*l2!o%B5V2A9hfWmnlKyF{<&PM5>M>X-LckO6y@U7`1jJ3$9*@NhTyQHpJi F`#0Q3lr{hW literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/eucjpprober.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/eucjpprober.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a65d70942d0c8a83815f460cf4f22ecbf3f9ae9d GIT binary patch literal 2438 zcmai0TW=dh6rR~z){f)2=`E=c3KB&!B6d+r1yY45iRnd+6U8nF3p8wYCeAv$Yj<{B zV#|GUP{kX6f(PFCJ@dc|PkG@7@KVm1bu0&Q@n&YuoVlDc-?`=P%1V)*zxn3pG9kZ{ zg`WfTXV9|mpyPzom?X4A6RTrUoLjM-I335(cI+lz$1}7OFC~7*H?$iUl47T5XfIw) zN}UoVj|gAl{u$xEaHe)=g%?_+T0Ey9rfTWZzU&`HX}6^UC3I;w2#=#wm|2zT8@t0; zMW2t9*gg(qODNneB&@7$_xZ)K*&*O=G@fri-QS5aC8NWkiu&opG>Au8l)>UPv$)+) zl{i%k{IcP*)-K!K+i5%tL9zMIo>AF85Q20lCmriGIij3$>&)-ihPJr_v?E;Za_@{x zX~zTFyc*~wUf{(u(((B+FTq%NO&roG0tzd7*~rdc6(S_~!x05z%kDv^h@ulRwR+YR z7L~1>Da@IxyeWZkN%>|hOh~VYJ2-*MX|uYl-E24zQWoG6?K2jokz!1`FqJ;?3Za3K zWr_4~ew{C1#{vXz4Cj|{trF(Y&Dq+OA`=Rrbutkj!B}7{jDsv=>=*LqkM-kzBI-%h z9g6tgNB8UdqY$i^z-xOVR2j_GaX<ZXzxfDk|9vp3zZB`qdK?|r2WI7N?S4Irl-L>s z;YrXHS$z-<wm$r%cBgiCYcPW4n&@_sS!ZyR_hlUgaG~mA81@DO<1DqoNG^l^x1nW4 z=m;&-BK6@L=Pr@MU%P<kpY8A#9K37?K-<nOa)Gxa@qUB0Tty0k3=APF`EUhUYuH`I z4tIP2EyK`5rN&nlyrE{Wy`&5J#rDMkPQk`jbL_#Ht*86u-kGRe#$1ptAu3=fmIjHq zgBMuP5o^4@C~tAo|BBWA(_j#!VE+FS?8iac9fIZ1i7$j+!u(=GXf%Rd=$hz>=AHN9 z#ixH5)aewy9rEpOuPngb>e&-Iu{I#oUfC0fhn{<4$tJ9Ly(JE@(et4dCe{=ZmMZp^ zAxcX7<VD%+U4gwExaCXSRp0^#?ygM9D`#SH3pl?{Aka4;%6eD0{Q$?c-c_7UoGBzm zpsp>>K|;O*wBz<V!Tu)s0dH8`|1YaA%3l$X=gj0;M&5PM^u~$x6P0(&-8ZLXMz3Sk z_cl%(oL{^LIM=~5+~)Y5+u0`k<x#MC9H~u+<i6Yt)aD^%R9HI)pov7cI)4Md>Me+9 zu$a(xEK*qlzAmPaELn!xSz<oYZsXu!??8KTzuOg3yIdR&yYd=dbOSpyr1qM7ZMNIc zUVc)0PueY<`(NxmZ|<-sZSA(&4-eY<Y8Tux97-ut7{N_Jur4ylA^FrqkamuQ;Bv)? zH>&8uPNUt}Za-;0(yQIRVj}GiyT^<ND$r$fXFolPxJW~x*IJMF4%*w#+pPWgpaGL- zJ5|@jr1lXA&{1j{L72>Pp(#Z^YQqo*6G-!DlJ9{UA44;lnb0+>VzNmY@`+<8>@mNT zX$4l-sYlmo(JEVIS^|!5jVp^`hfkY_8zPL&c>mi#fHg^vf<K~9TZXcf@%^cl=Xl3J zB;SY4IYM?4oL24peefhx?HG(lx-?7fX7=}I;RRnq%P{(gdBXVCqN0~kh1vr31QQBl zU@(^S`7lPh#Mp~r5a%l<@tQ=ZeegplMQXI*D+s00T(8UuM=0VL3e+5O$Y>^OnuLi} z>|JOXdZtfHOC<+C{~eQYo7J**MLJ9}<Ab@kt|o`Gyq1T7#9XV_a!VUmO7j0WOihFm zhxKEj1m;!I>kYzGo#tiGgDW$rmsmgZR6o}?*Bf=!{(~HmPqA(og)3nG*=PR+W1LY~ literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/euckrfreq.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/euckrfreq.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b9b45ded8f39ed108991034bb5164f0a372a2712 GIT binary patch literal 24142 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 Uq~XGZ3l}Q%|Nr0r*H_?w06C5}_5c6? literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/euckrprober.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/euckrprober.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a8bbacdabb9605591591a748b4c595fe19237710 GIT binary patch literal 1153 zcmah|O>fgc5Z(1x+>*3a1qdWgaEe4?P)j8wgn+c_p`=tqaIlb8u6LWb^%uMAqC~x= zQpHc<|8Vk^Q~v@Nm|3@wUSKWnzMb*T&b)cv=yaCp<*!fQJwkqvh2a2x1+UtMi4#s! zlF^V-#8zr$c4!-Hr%vXEuE9>~Wv#G9$u8k8_s$9T1fAQV&s!tX^)D%e>eBk|uu66E zW~#+t63LO!2eLR65<KgJf+zWSq$4ecQ9Ma<0oMCF9|n8xw-cpha#-o4$Y1ACI#r1R z=ZbN%(U1+_ZSTB|;fg=QzCvmffFL2|B(yHb5#^Ly=YD7lhuhpaCvzIQfKASTy$j-y z5OZ$Tw@myd!x#&|fhz{bS3QPF6HU*^+&Z@A;MBHu=CEh3_T~iE))_hW(ZdM@rTg8b z+ErC4qy*YY?K76-iDpb<K<T1wDK=Cvl}T(xeTOg9&mtsXCS>hOp@aq=93|2tSeF=! z(?}`CzLB3_gGrHzAWO!TNH?Et1qag@D9@mrV-afwdp#-gj|cm^!1$MF8k~y!G)R-f zpfsM1{#Kw8EqY}XpG0G!f-)(4PoMXn^f!9t6x@9=9-}c}aFiD^zzew0fvDmWS(?uF z%c=CCh)3`$1ca{8W$M$}?FDxG*DTzi8L1xNIb?xTpwHT$d2p<^_g=1mtxIJa7K58< z6}EL7^8jjC9%Z5n7G=Ritl7QAD;Gcd@3pnJS4a`%|GL&sqkLQeQ@w>NZ&Z2xLD$E= zV|I+y%Zz0OuTsQq#y(e3+IS3awGTXkTJ%(|L0GvCQ{B00bS%;ol!H`UC)PoXEEst` z1fWo7K5ct#$JkJTtJ&dI`AwH35>&4@x>NWIX3Z~XR9UZ?#x97k(WM7b6o?c>YeN6c Wq(P<|{)?u(mk%%*lt7!B$NmjA#~phB literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/euctwfreq.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/euctwfreq.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cb57e78dfb47133821bd0e3b5aa3ce5ae2269167 GIT binary patch literal 54765 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/euctwprober.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/euctwprober.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..caba080503844b5a8a29d72019d9537b00f651b2 GIT binary patch literal 1153 zcmah|O>fgc5Z(1x+>*4V0t6BlI1!1)pq5HV2mxu;3n`USK(dflj(3~5*pAs<w@TDo zDpmXxeh)WaIrT4afths!=>^vE?%Nsf?97|z%~orfUjF*@-6P}&Sr`uBSMaJGm^k4y zB^eDVMQo*3W{0-HcIsqq=o;*#Ue*X3l<X1ia_^jQPtchi`n=I6ZU2%&s5Y(c^vYBx zZzfuFN0ICceIUmJA;GiW9rGj~_I0F1FN#M=F2H(k_kH*9<4&TqOa`S+#`)_!N+&8& z;9N0I*6*?2yPe&)F<kLy*jGqx0T3jloP^c|Iij3$>)a1*;c%Nf=VV4h7qH10uy;Wm z5@ODc>V}D5XBcAvIB><__^QV+X`<;FnOVoy44m55&J6a<)!vN2+BhS}K6*HTpme{z zRJp1wgp@!#seHzgJkg9v3@BZ+EyackrZS1GsBZIx`dNeoOogmmDU{H_gQG-x1nUxG zaT+Pb*f;X?YcLvTBFK_qDblTH+rhyk2Ff!i=UBvA!CsHX`G<r3Jz)Gangk~zKMB%g z5ERC<+1U<MqQyoL#h;_0P(hIt8&98io^&=hiV3(oVmL%&z~Cq!%K$InLI<LZ^=V-` z+bJf}haw)rs}K;nLYJver?(c^?aW!YMl({~#dF94r$C>zKlR|)#^Fb~0=71lO;`-B zr&ZWiP0RzRVR@8^M_^GFOvIYrUA%JfqyJtTdWTVR8s-1G)=#5+SOQb1iusk-s+@n& z_Ob7n9b?rpW7(LODdHw$U&<)0J%+c+2OdE!dLq{#th@<R)w*hQEYcK|gH+5DYavD! zjJzHIP^dGXHoc}}Y^cE1Y;aY6-6e?xRqM6x6#jx){R<jZR%@oQ3nHv_=|L0)B1O@f Z(0?<jk?Ds2qAu^{eM|-=(4^+Eegl_c9cTam literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/gb2312freq.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/gb2312freq.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..58dbc47c357a48d6ee141594325b60e13bde0536 GIT binary patch literal 38407 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/gb2312prober.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/gb2312prober.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c19448f9864d24da020eee1a656484d06de6b504 GIT binary patch literal 1161 zcmah|&u`N(6t?rL+0<?@G$argI8li;Y#o!35Q24R7dj?Y;t(NOY3#KbP8w`?sMBtp zG>QL&e<@c^`xm&td(H~o1suix{9gRt^Y^}VTdh@k{p(W|5b}d84G-`ec=Z8HoNy{h zPGd?DJJQMB*tOV|Uhc=f#hwiEM%<v}kZ_*|mxKp`&fPfVjR9$g*AzmvX?4Fpl_uMt z8POXjY9P$9nhb>k&qi;;vtl$bi4pxI9cP6A>%+tSo$mI|L8gt$hEtPGinm1~XFAj1 zU9Y`t&}aP*2k+jekmS#BZ;;*vAV^F(iJdEQLOJEmWf;4{<1Y6u$(+VMU|Tid;EH%8 z#;O}tvrbSKnc^LA;EK`l)z4ru#Lx>ecTSx-IE`z(IqaElf;oY;aY0T)^l$=E=}~*7 z^7XV7N&)kv3K`3a%rK@fpz_hSl3F&H&J}i}+T=?NummYM7pn4=(82%{o)+>1))mH5 znP|<}ck=UFG@j%l%Cpf_$lVuv(eW$=)^oVdsYs26y%|r6kH<%cK>F8Y7M+RWERxwU zDy^s6*^6{$#8#Q4pOcZ$QJIxn+b=uMJKe2v2JVg+jnEh|ILap~!USBHXf(vWmA1Q` za;8GK#S?fn0z%j5Dh=uR<}$yX1rN7~MzVW&5P9Gf2y~9BpgyP8z}BX!35&(`v<};< ziIo63tVnY46fD|-i8$vEZslD5>i>BgJ=CQZ|4JOnq!>+sEmX!L>FtXyzG#Qod@PW$ zYL&5k!lx2(ld&(;MAjb5T@?bCAQ>}LcOkC22UFF$>2@ll1o<Evi^^JvkqE1?#{e{n zEu_t$=~)}fa6KR15KwnYAxG6lEk2FEVqX7>R+`lv+ubE4*5V8xiUy^ka&73pmDI>K TBz#q0@AV@r24&Es_Hlj#i6b0v literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/hebrewprober.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/hebrewprober.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2bd3edecba987ab7d269797335677dc8996cec58 GIT binary patch literal 2995 zcmZuz%WoS+7@ygPv)-)TJewzNTAqf+rcKkPfC?dTQ;Wul;<S}kppoO*IClK%terH* zm5>sth!bbTfddyVJs`wiz+bU9#3>*i5|2YK<@;vWPV9D9^P6wpznSkbGZ%@N^!VAw z(QAbKLQZ`e$R9v*F9C4EX^E7nO)1JsNhzzgO34c0D%Xw(*BpAN+8Wn0Bo;cRFeFC3 z$kI+$WSsiCsBSp|DlC)=m3*e2tvfmB)cMpva=!t=AvWd2Ryeg)uE4CSt#i!|aoz6Y zA=}`6c9<Ks$-{O(H*Jge+YxTrQ690+@TfiTm~2yih7TMW_8=eRLr26O;=_Cd@?k#8 z&q6-J$M`tpqkMu-LVng6<5PV4h#XRT9OReyIVn$oe4fupdGayQh&=^6yx>{4oh{+) z`#U@S6-XcdhVVPW9|(UU{Dts0!aoTABK(J-1LQv)d9w0z^XUDinaZrqE-cL7m|bXE z`-KXx?z^*>uguTq@FelW9M1@odlR5e>a;};m7;P8jhwUyQzdE=b%`N~eG-ipDTe*N zumhTonV#-8YK{=7Y0qG+P$|?I^CsAKp^`1J94L>Ks`)|=3U00{9B=$|(_X=CbXs&) z6V9Gzu`OpCditd^o#8cU0bY~^gMzXy9M`FXVQ8*X+J-#LSgw?HUB<p6Prpd)RLf4H zT*x<^($)EEiS+~IRE9$@I=Q+F<@!#wa&JAo0_L=zJxJ_1mAyo%u$8FEmbv(~gj=XP zv$bq)H=B3dM6FPpy?i77c6@HOb^y(BC!fd41cRZxDiXK=cj}29sa~IEymlZ4;f%h* zvmXE;G)hCK{^sauYlyc`vP*di3|qnprU5vpj`>Kr0<t0z6bPzO)5p+-Jf$-+O$>n~ zh7m>(Mgd|}OrSi~0i05d1AGg~H2?^*(?Ya4)Wu95cdqSgn0IL5zFLx23kiY$`BtKc zv(O^O0Ai|K*p3870eS$pwk=<$eyN9*HwgM=<tledU=rBfeF8JNXmZH0d9I7!bDeX@ z4?oO9kUB?*T#I1!Ma+S5QH7-C_1%!qTld1ZQt8Dz?4!k7ZE-cZ+7{Dy)1KjXSWkNW zzO<QHTu#Llxl51cdiP=!T;Kk`2O_~1qO?c(?LJ-1(c2|+RMPXz^IDs==9%fWjn#m5 zTSne(8HtC3KI_SVtaugX?WJo0l}feZQ~t3-x!<JCiLO&W-LFF%jRUnLY5xEM94~~N zqOz-qA<Q#aqqgWFeMBFA*`mwjlg}S1EeP7sqlU@=Nflp%q(cfFQnA^BDT{qvxeoed zeGjk=!xFZE3~k|{EnK+-^*DplHN)3(emU#u-Z%#sttL%3^x)!sWNJ!Z66b)skQY)v z1U$TW1n$iXrPnsuYSJ6sE|j2-?G*AmZ0n%zuxh1rAU#dIhGV7UNk4oGi|CAAcsaS5 zT-r>fR|2Q-3^~-T3s228M6WKiZO7q1!AN%ofJ|9RNHG<Y8j7h}$^f<00o9}<N|YMZ z)S81``oXcCSc2R;PWuoFuy^SO<Kz*QrlsuaVj5~y(2#VFezHqN9M4ngOo#Kv5q+4$ zD9{;{j9pD^1fygbMiIe-Q4};mga}G<?wFF!<6iKKg--&NH@2EeGvA?>ZZB@I<y2;K zF};-ZhVQJcq?W+8Zzn(8NZx1ZML7PUd#TLb?m8K9yl5UGN3L4gE^w!kb7TbahH&oH zwdLfU&a~~QWXM~~ZEV?wj5i?lYQe(jjxnZ^Ej!PEw+zNav#1HN$f6<D01RZ!fC$>- zDW}JGG=jE;NqP#p45wguO4<wgT9hna9JD>7l&$0&a5YWB46Y1zN>4y(_vl)$V*zi# zdY}~ugLS2-g11~m9i5c0HbVgMVFs6e$PefErju?UW>LcEE)oDQrYW%dIb<mB7BwpG zzn;5Ax>jr&9};-H@Q^SWM*c<#Ws9)~@LKR�+YI>H46+=RG@5JPww;Z1~B0BkFW zb}~APIjp~qFpqE*0WW8H|B3S`Nw1Z@dIgG}0T&NEbLt0T0bAcezzunk;IWZ&N+rfl zj0Fy15<AIj6&3m!BsUIVC>nk4*EL<kdc`sg)6n3L8t+<DmL?xo>6q?C0=w~VK!M8h gbf?lNyS@%^jg#el2^aT__xuCAi6wdCSk%h>59(I0O#lD@ literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/jisfreq.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/jisfreq.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..781ec1c63a77bd0fd69cafb1d428f5638b4aa8e8 GIT binary patch literal 44551 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 T;!4Dwb@u<S|DV8rKY@P$gC&aN literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/jpcntx.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/jpcntx.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3c81a92e3b156e606dda12b40625770f21d8a2fb GIT binary patch literal 38690 zcmeI5-H)8-S;l8(XYI9PJBb_8x=mU)Kw&Eyho+yXf&}Ng$;QM<KbF$zW@qf!Uhi&Z z)@kh8KygY!fwueuMM!|uN}wJffdmH}a||bYgv1FxM4VNK^4!1i`~KFqpIJGj1y|}? zd++^m-Pe6RAMZQsCT$-+cyNFB+7G_)_s@1Z|JK>@^%uo|q<l|4QOxj5%bh1X!#%^j zZ*+!xN8PJ)%e@jW4EL3I->6sOxf1Um-cjN^i2K6>Cp(KP*GhNiS}#mDOh3$AnE7H> z%Xj+~phwF0<U}!}&T@CyS?&$H%X7nbEcb_V%k#tj@}A-R^4_VA<%Q||<$cq+%ln51 zh6ms1EZ;FaG`zF?JTSa#cz5}EaCo>Vxo7*G&#Y{&tdAz6;~VQ+qt~|{U0+$dI5{)9 zwx`S+qiI;YGyh)Pap+tP#qkwCL*4Q6J^5fU!_MW-U}}rX;`gv~*#70t+4-xbY1k=q zyGx6Ew)YRVHnvvQ2IJA%_8nmdla=$EYoqOZ2kWEJuv7<=b7wXOtFNq#2kRHkZ{Iao zTbXQ4<BjofG~S*c3^&$C+w<eHfUU*uc7HNjJN2E;`0gU-`)?e3W#jzl*!eT3FO1ec z^3jhSJ8?0n&Yu`>oE@!hO-j7=%EtO<PAomSvNihh%Ee=^jn-c~wsz*_W1CbSe(+<* zCTF%rAKF}5J-2dtG�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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/langbulgarianmodel.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/langbulgarianmodel.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..619413377c544eedd1bfbd13e204d8f3cb54e1d5 GIT binary patch literal 24905 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 LJn-M72igAw{b^~S literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/langcyrillicmodel.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/langcyrillicmodel.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..77532d1837627fe6b0b390161e92a64cfd8c0585 GIT binary patch literal 30456 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 UxWCuBcfy46<9_^S@^;8S0%qf0$p8QV literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/langgreekmodel.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/langgreekmodel.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0babf23fd6f90f7e1981cc70dacfb8f5f33b92e6 GIT binary patch literal 24583 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 Pc5rahz<>X2xy1et&}EB( literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/langhebrewmodel.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/langhebrewmodel.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d98011d9642939f419cde0bb79e8fcb929f495d4 GIT binary patch literal 23437 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 Q^4|S@GiUBG<3IoY6Wqc&!vFvP literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/langthaimodel.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/langthaimodel.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ce15f9a128f93ed33715ff01a33117a52346e849 GIT binary patch literal 23416 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 Sy>+MTy+1d5_GYvG_xC@3+-<M` literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/langturkishmodel.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/langturkishmodel.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2df634e8d097473694b998abefddeab2a66507b1 GIT binary patch literal 23434 zcmeI4*O%ON8OCQrgb)%5MUakC10)M3!32>a0-}^?B4PxVWoOtd*~V`tfzW&Jy@lR; z6FdKb|G?gQl`HSP!Fe9=d_2$j{^raANsuEse9l{+_kF*+Gncz${`|Rpn?F7O!Xq1v ze>DF4zXgrPNgaP`{|=geUDIg(ZB1XR(duh{-26lHkIg?d|NQj!Yi2e7vZ}H0lg*!Y ziZ<^l93u1!hY9-$ONE1lMZz-Sc%d_+vH2KbcVV$`gmAQQs&JHWkZ^#oL^xD9K{#3H ztlrqXT<8<NBkU{86J`m!3i}9q3EK(Z73K=x66OoDg`I`Hg_DFGggL^F!ncJ3g%!ea z!cM{-!bie~!Uw|p!h6EI!aKs-!dt?d!W+Wt!fV2-!Yjhd!b`%7!VALl!gIp2LQ8l? z*d#nHJS99SJRv+TJSJQ!JSsdQJS;pUJSaRM+%GhR`-FRidxX1%yM#N1JA~VX3x$=! z1;TB@h;XZLi*TZFvv8Aeqi}<8y>Ojyt#FNSwXjw=Ll_dy5q>RPB^)bUDO@a^FKiU9 z5Pl~N3zrK&6*dU#g+ZY$ObI^_)(DkwnJ_6#2tO1S3Wp2l3cnRj6MiI|Eu1d=N;psW zo^Y1%6JfQmN*EV@A^cdlNZ4OEMHmx)F8oHgMEJfiApBAo70wiXChQ_?FYG3)6FUDl zhW~!v(oLJ@{qw}tSI#|S)j5lnFJHD|(TX)YtX^NO8<|?WaQo?9hSm;N1MP`{iK^ME z2F3;_r+1mGT0^a7Yka8H@!QqN71MjPH%^WW4UP^>PE3uoM>ezus=@Zi#Pn|KTCK@} z*7)#fM{QuV)o!<{>3NczYPAQ(2gh2|b4CZphu04dx6VGi(bs5Ho&W!jFZ%|wB(R+@ zThO;wr5}H_gD^+fQJ5?2B+L`$3*Q!Y78VHl)v0zB^s7_tF6eu++C$h=(AQ(Nm$0|6 zkI?<csPEirKS96M)d9kRf<6(IewV9*goA}cghPeH1bxCPeb%ZYgd>Hcghj$)p<g&! zI7ZNCw^|}B6_yFL`{_HQ(&xEaF02ra6Z9#rju-TqtWFU0g;kv-oGj>5T<IfP>C2=# zRX9!1=f2V>u{uN0XSdSFyV6Ir(l<b*?}tj?U)4%MpW;g26xAw0Uk#PM*eZRuRQlXk z`U<J^EmP@xsnXY3rLVZ^0^veIUkKGj!k}=mFeEgEmT-wMEUXnqgi8f|NmQePzHcgh zB~|*et0slZgi4qa+Je3}s|~{C!WF_s;Y#5u;cDR;;acH3;d<c);YQ&m;b!3$;a1@` z;dbE;;ZET$;cnp`;a=fB;eO!(;X∾bGws;Zfl+;c?*!;Yr~s;b~!$@Qm=R@SO0x z@PhE7@RIPd@QU!N@S5<t@P_cF@Rsnl@Q(1V@SgC#@PY85@R9KQ4i0ZD=vW8KJy5U( z_ASK7hGhYFL|eEYcNHZYZOFUCU>Y$J#Hhm}TWfiwL5T&z^+Qn1ySNUw)^e}2$W!bX zZg)|#SSTZ3vfNREivy*)i18$mh~eDELpbI(vb7d%EJ<;wxP%VsY*CEm1j<eTjv;0% zI+$DPD8;PeO+y*iZE-@lwWmfMSCU}3V|KX%mkw5Ad)FZqr<UA^g=h~h0=B|MzzMeJ zN@6bY_QYx}^mrUkL)mUgG&)@8SSi5?Jy@RBLtSl&H*gk<V&pmB_lDd3)k4{>JD7`0 z%ym&roi}inC0YDyV%5IO%oDyS+KBlf?DAk(Zi{CkORoi@&auGEJ3_!SfU_mhxR;%s z2$$kg!ZRpgAs5Hd2-q^{VBOkm6n{ZCUI-P|#fl}J;NI>J)<d0#qhgmC9&R^cbU48Y zJY8vV>b8i*E?A{OJ-kblaBn0mPnM%?Il%_;I21<-Ge~R=i&tYcVr;;EwN~j=7dt_l zMR7gNK!CZ#kRt0gClD=dUy7mfWh|7jLeB~A<&IL!#igSu=2X`)&AqIF>pGO_utkSw zM7Fz2Z}+;|ECMBqHqN)@i-_Uc0+e8RkX>8Mb<DjaXk!K)-j8C|jS>=D&SIoDWsnox z#vP8ijw@>|w;2qgm>GyhjJb@&a+aNYwb-TCj#6C@DxA+9oXSJ=V6lOVxtv~?kR@S@ zEKiII@;z8wZVMF>-BsK{n~S5@Zk)h05~VhVQ|D<sgiB%rTr8xBVL5A2*1(Ehw~@7F zkgx?<l43;3MhrLPc@3A~hUE<$LkcUhxSr;^h#`eV3Ci6q<h$2>h1qx)Z$Qi^a0jk8 z;O#k@7{_3-II$3o64y~ocIMWMR7!J80=$(imk>jxhnO$&Yq-r;#5fvdI>^#in~maa z<?=4PAKUYs?8mz}h5#<b7O)#{N{j@`v{A=Pk`2pl009z~La%nNdjpJgg7a-zDlEG$ zW-fIIpcf-)bHW=q#znCeb+w`~V{5pjB{{!jaV2k1Tjvv87st>`0%i2b#>2+q;nIfH zLkY#*Eu^sMaLn*UaSU$Big&SVWu(HQqhxsv4~jNK*)#;=4riknm-DG}HU?2gHezh* z#a#znjBAUI(s1N^u&l?7+79Y!OSV-aey{u_p!CbYt3|I*AZsgPTp2$U+$ceh#Fw#p z{ZUZI9mLom-oV8X!zF7eT$d0-zSeSw1>9Cz&Al$ERoTLc+O3$&<8V>DOI*plwh*wW z-Iz;9%yj~JvSC>?Vq49PV`47n+ww8IA8y2W5(KPVdupuVI#etltC1xUDy24xx3I;2 zSf$q>h7}KM0gkan4A(KA71_|k<qc3NS%_Mh9}mTh3{iS(Ejr=^o`jJRLzG?)q|J49 znMQB-7|K|+y&<(tUEa!1!Y;f}_lpp4UA&)T2rwh+JeO>=*^Mmw(M!x$%necWC?>{3 zbhkL)mS@<q6jo`;D5k^-b_v&Yj?qD}V<e~}vDGXOX9FxYi1%}X7y>*eD!i^OdXcw9 z2MJ<WWU-try)GqRCyS@^R=B($uU30j9Br2;=3d8~H5h5j^0hNuLK~u6*W!gZhQ-;B zEce<%z-@Lp0RdaQ1~Xh-a_J@OSO5VMj^Sci%5GS6gk`rDoX_P<BZjE6=y984-8-Te z6<d~y7^3u+tmrM3I0kq>ibJKeOT<d=hYA*RnZ|9r8Xe9?v9m};3B_10LDUJ{uxgb{ zb4#(9%YLPVv%cI?yg_ZTI|44|j_B>~h7>B1uxqJWz1jp)JQ#Ymy3a+RWR-sZ5amrB zV@WIzFZ~qgKqXFyg}4KGc8Qo>VkKp=>_QBI+PUmU8!=m4j!J1-wBcHSU1|p*N^e+f z5GvtDTMx=~l%$AZ(J>>-uMxj5@x-3tQw_VsI40V79G4&v`ypj3c3~QWN-^YXmn_W< z(I}~P*}&7-*%pYcSdF<Qi#9eO#xunlcIk*LgGzOlcL__njsybCh#1OPQ5=s$)`{A- zsAI|Q`$ZNNTV!J{@{z!`g@E-Oql6hGu*ll#6}9gdbJ2@L2$W8smu#rGq<c0_jSlyQ zC>>;(5iyEuRk#By&L?4crjcNfW7IhjzqagRtE3moc4@<n7;TggD-}CNqGTb^tHt}- zDjmq6(x&d<)j}Y8BO7{Tu_&>W69%qJh{Z^|#Bi}{d#&6Z@qV!j%BV2cF$A1&M-=0d z#X^r59az+1(Lu}|xL8P)N{E%}B8JQPww&-*hGQ)0tQSInx=2uhg%nmPOUzdHH=vje zqN9|E7%DTecp=`ey8v@t=Z6R&P%0)H7H=AD403`jmU|=XHe!^Z7Z!R>M3z{s#Y51` z23S$&VuoXpsQvLoaa_r!)M1gu3W4s$v|(8Qx4RX^b~zQ-YuKd&%QJ9oxdRYmAw+BI zoCtYhv?1z2Ov7@qU5b$+HY3Y#1>DQXnC5JZbT4(04VOBWbO|F%GboO1$cIZCiLmTO zjJBCuzJn`qOM{4EG14*KB}(j4Y>N^sN{}iQM~q@Di`uO%c7hVS-NCO<w1r!%;yQ}4 z+!4<d*$}PGIuTOQ+dWHhsg4*H9W%0cPPch+&ayl+uv{EbFKtIfvnl4$hWt!*n6 zhbX=5S8KT#AQgj1gjDUirH+y)bu3=0>mgPuDXq&$Tg;8(9$cOdi#2S4lAg1%0RnVH zEL`foCRSWjyOr-S=qTMr3=7eSg-cynz1BtBSLk-%fF~)9j9$C$pv@KuTe#GPyi17D zMy%IfI<~zPXL%vt0b<EgN0iW8dZsAuK`%N=Zb_vSEA?*SSnV5>_AA9o`_+n;ivP!A z{QB7P_Ph&L?O8K=9Q3eimA7f4cE8%hHeL4{F#HQXEWg0tfH#=&2@AJdv+tRmKcG6k zY~b_1#Cl5SPo}P(I7fej^{m0kH48oupV|4_sb@_zTcgvvepdf^+_Bdi)hCV4pAZ!O zb#MRLiLqAy*vRnu*67k@$M&z>s6WFxwz8VIv^CV8>iF%o6XWNuJp1&)cI)!Njr|*1 z;~V-%M=tK4bY{uoWBWUQ+qJc5a&Tx}=g+lH^-qpWE;?q#;-eQYSv0w^lV02!9#*h_ zpwrr%sQNXa*=qOeFTA!t`-`$;T6Xc|#_2i7cg*#ptrHIEY&Ug8Ux$6&{>`4<E&I*S M&7M80??3<k4JzuSCjbBd literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/latin1prober.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/latin1prober.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7a595c8a8776d7c412514ac6bd315b6bfbd2a93b GIT binary patch literal 2966 zcmc&$OK%%D5GJ_~t=20?cAZy~zJQ{L4z?QP(F6z@2g<8JEW4GH0t>gSEK;(R)k@(~ zNv+D4+CYF_+P~3De?))A-ijUy|A1a{X=b=iBpGg6qlYfR(Qsx+4!?QWmkI@+?*Fy% zVu6s~$>c`~S%!7;H6uh2K_k+oA*IN(h;^;d0^SO3VTX<&p(~s)C*05jSzhEqUwGk+ z$cKUO!-91G_mPvwACq2t^7vzNzXJ#aQz-bb@}*-YY7Y;z4nQA(#bMoX*LgV}KAbmR zW!$vPozSDkmopP10FNfu$WP1M2|a3ppJ<bWvtl+pagT@@5$q8WNV;o<MNz1c(usXY zHd3N#p|Vw1HL2HBZ&NA|1jx1HR!!Hn+_%AMA12v{oFw}e5(kNkB!|QU(t!E;LnHi> z2S6kVDdZ}9PMTCu!S=k+5|*&{NN7t(IKtf{yEJrx&k4`)IguAW=)KJEF#nv`B=o`S zLK-}%>vnuG^R|I+zz=`%R-DO4Ks3>GM0Qz+?SfK}5#g4h_K0+xOa|xCYROHVWYCvN z1+XpkIB&;o&3RhnQ9aST0qF1sut{3rO(mc3MsE;nsZvMDL}~!cPGr=C-#pI@Isciw z_@TVj>&kMs-5SW~@|COQwQW4A3yybWLnpA-TfO+vTJ;{l{H(rRek$Xq<*2<`?i<ae zrK{znt>t3B-gsPZ$)wzG_ZKf-U;23I(qexb)Jw9}LSdQ1R?$;syg*1@jtoS76VRpp zwwi^P)e#wt6rr=!g)uxiiR99&cTYizA+O-Z_km~x5klCank^VWwcT+5WYeGkOjcEx z8Gxv@x_)1s06q=wesSk>Ub(f-s}EOH5kv|PRdZ-a)jaah1`o)|SE?2;31%1pPXjuf zpYqiJKjkRK-#CitDyVU0=zmsQUA%Vf%Js#I=8mK9O9O-rBFW==S4OZuK@SNVo}IdM z(&``YPO}I7&5d4Ek6QzXX@BCj>2SQVXc%9>43WiYUbzVj<S`l1UAjZRT^rHc<g5ET z404{GB|Da8ptZCOVX{sWkk}(z(8o+IYp3Hv7;|g5-y7KuXa)NO3g-scVwF58eu=s~ zU}$9lRfulMPtP^m5hOl;*4A5G#;vHGZ1G5HkR|Csgm?wOT<=v(!4xw9&0?h|WR&GZ zzVhH!t!5Ge>os+&tLuE_PU`XmTaL*RC`#l@j!BW!+uYU?)GDQo(8o|@r54&)l7})V zwVP534M!)ZfDr1#@XYk!m(h9Zv*FxSbaBV)sG?Um4b~gLAl9087$8{0?9zZ#$42Z& zP!Nxax**sNi_fD}SZC25{ze0`&H_0DQ94I<*oX-RmTPDUyt`mzfO4+d`flNud%q3$ zZerS-Phn#<xF3ivFSj;+{PoWZ8-LscOg=y@dZ^w5l3K~2Yfvj$8C;I;>3Wp<jb7Yr z3mG@$VTfj1knm&m_i)SsSOK*e!sW74P<tM=EsqY*O@TGNw={!Y6N?ABrq6k|Ck7Gn z0q0K!^(fPrCS=M!^`J9B!`0jB3_js)Bp)KV00g>h7TSi4BF@KtLoL09My5w#ul@#R zf{aH4*K-0pu)SH+#jB-d(~15yF=)S;VC`j5Ildj%j|t|)0Y{x@?6B))#)dn}?kEq& zcIFggGQM{#d$Zl^lS^}H;h^JXe@9H)P8}H!x=EILr@_(CdU*S;!YT``TeS+38j#8( zB&)bYuC}V)#aEq2@(vOV+c>lthk;GK8(I2%ie||ckbnlvW;Q)EtRnp{<5V90EtnX# F{SuJVSt0-c literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/mbcharsetprober.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/mbcharsetprober.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6f43c027d08453bc958719dfd981b961a846302e GIT binary patch literal 2257 zcma)7&2Aev5GMD}D|sb5c7D+|Ra>NmfLcnCCP09+XluKUfkZZJB?T5Oh_y(|tL%@$ zrP4@HE|rU%@(#WB)<@`b@Y<7Kp$L%9P_knKHc(2O9dgK-A!okfol2!lkKX<Kq(aC) z<WzHj{|<U_8we+yCM2aHrN~=}mD-`5I-x_!2H`e$4heSzo!Ftv-Ca`mjwo!aQ(aj- zh~%zN+cMu1vTo@Bxj5_Ysz?bPJdQdCaVE^D16xiS+Q(Kr1tLgDISDOJLz^$WCi~Rb zEQOBYUG5$Fp({K-$NfVxq2V0xC0;hX&*yn?NWv1Y@G5-EuZcs#dGK;kUwu4CRQ$tG zi8FqVYULWV^Myv#>R84-Lhx(PdhsPNiYPiJ6RT&9DW`ADm5m9rIRWZ$i(6d_IF}P} z!EV7N%_mXTW&3fWggipEbx*s+pf99!VWfS=;w)B-=_@=gl#KTVD$X+&Wl=I538_n+ zoWq^6BGqM<M1^7<xOTX0rx3}$^iU<$CB`}+EExNf{QIVPkf)-V#@&HPzP@{}xjn=^ zDTJpdI;w!NI>@u9+pP@<)UVO7`9fqbnn}FZ>>J6Q#=T|{E3wj#I?tl6D4PAazw*`n z#_h(PmHrUK4bko5WRt;Gp35d0;6gRiJ>&|Z`X(zH{h=&@i(f!5d?17_Q4fBjkI#=l z<M=*0m}S`TdlG~PFnAw?2?)oeXUm&Nd)931$Oep^>6k;HP6fqk$vMzb_au5Vje#o# zI4tLJqKqWK6;uLl@KeR91tg0|E&*AAUf?Q1t8kdI>7x%XIFeC+<~(?&Rn&n_DDoR1 z01}2`!YsFPwVC!4k%~+SzAj}hXTD6GIPpXWv#VxVl#08k&Lpli`s@NnPOtx;{>UZJ zdx3o)b9(^!asQO<i{g5`_5@s*{+PYy9xS+#mw%hc(h2<5$S;4r0x0#Yo;{{x>johI zl|8nV({rC$vIP>aH^%{tJs)~$Y)znEsd8@~;1_I@=T)<|0&6+UR?o~Xz%0yw?!^gt z<%|KgF!KjM8tlOQC2l{!?^16WM`LFK?t#YX40yxs>jddF@;mOB$$uiC!I^2WjE2i# z`wHlOYxZ895W`)Yp!Vy}9QpRxHyB@r3~*bcPi_@8_)p<eJBU>cN<}Vfk*e)MEd!ZJ zV2LSo^bT76hIS<cLTEb?naN^Z&csW_3arBttF3m|cXqaRw3p=FE)*4)i@iZtE`vy3 zMuGs-UTdq(9<OU}x>I|b?Oh!EKW;r~t+CCvc6Zy~@3i%DS3nsWNC_!w$`KkyI2ib7 zXI}^oRn9yErM30;`f7W#wV@Zfxnd&A2i*h4BNgeY(UWKUF&9}!=%w9<TRZL5CvDb# zxU&v}M{9N0z)<^mc<@VV8bjjGYND~=V_GwG!9e2#AM#W1=o{!o0|*wLML?<#i1n#s zIHc2=CF?pZTU9H7G03ga2NysHk9IzEuyQ~cNsmruV78{!<Z}?5k06Pn5c(9jbad+i zt7q>C3q^o02jU)Hjxu9u&Ibwd0b|bxQ8JUvF~;)_W2Oe1%B6kCEO>p?@Kp5iqKq%P zGJ8ilB1vG|$%P)5K~n({xwxgk%IMpURrLZta018w$Q0BTym6H?&w#|jq+O8>(!%7L c$x5^My^Se{7PS9hdZ2G_q8ZHKfG*nq0qhDVy#N3J literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/mbcsgroupprober.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/mbcsgroupprober.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..263c557205014557e8e908c581e969e862e0cb35 GIT binary patch literal 1148 zcmZ8gO>Yx15ViLsAG=9QQx2TC2dP;~+NzZhLJbg6L==%0Bn!#f>^j>`y~$#4S_S2R zluAAIhwztH+&J|waDlNC(x_g|<jvUD%)I9`t5pZz{r&o@h|q7ewk*J}!Q>BcAqp`^ z2__gTY;YqniK(&4t;8m_#uhImMN-t*=B1=e${H8AleomyxX3F>l~gq@@r`7YY-(KQ zkCH92g;5)YPUv2v&}DdTl3G~lp?dWWLmPFR*IMVk=&`IV#*?%w#(gFr>ztjwJG_s2 zC+~Z!$bEa(I_a*$O8fXlbN9t6R@)yw-G{C2(caN2bdKX_e-){-r(YIf0R60%B1<j# z6dXeYhlm)Vb%O>tG(z*bOw1c(A!5NOcE0)XxYb)5pc5GSHbUyR1ZINCH{ddq;Tf76 zLt}<Rd<*nv<{V`fm<?6{D}t54%3#hMMWq>{?hFkpbEJrcibe-0a=AZ>=pg19FjmcN zIZ2riF4V|Nl*Xetqg1H6LJcEq<qFEd!$3kcCCbV<;PPUsnU}dOm}FVq$SukEKvZB8 zYLzJsxGyE8Khd9C?|hsvFNvcG<9quDUUwRRh6&I(WI-k&&d$f9&)rVj&)Ahe^)A`y z(&KU8OZ85(ap1`~V>_uIT=)@_UK*!6yGM=Zjpj}|h3y85B9-(gTn)#<Qw2hnc}YKz zk$NeMejDjjY(R_8z~p0a2-ge?uYZp5{mBD)8vp63;|{0?Y>oVcQJOoHCgX6z6|PYF zZQ}FAjxLf{mn;N~bKrIx%4t`}qNcEFKnqX@Ahq;Z$DR6iUQ;6gwQJoAb%Z#RY;d?3 zN6SSVIgI5pp`;@&n*_t<#9BvEiTdizFAphI^`Q%~%qWS88>H~^ml>ruar*H1mkFi4 izLZ@pGwLDecJC)!AT?KBdbyzHmHJ0WHE#t!_{@J7ksoIO literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/mbcssm.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/mbcssm.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cb2967f64527c6f9ea97d55218af3a57cda9a8c9 GIT binary patch literal 17601 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/sbcharsetprober.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/sbcharsetprober.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..75d12403ea69bb8a8b83cd2f06131f7e7213e5ba GIT binary patch literal 3010 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 O&EJ!x2`#7?E7p%SMBerQ literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/sbcsgroupprober.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/sbcsgroupprober.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5ced339b54d2a333c889c35ecc475709c175c164 GIT binary patch literal 1638 zcmaJ>U2o$=6rHj2;UrGuq-nRifW&JAjkjA876~ELN|Y6BRVfunBP7eQXC0?ANf<j_ zg0fFpX`lE9Jo3U{@+(jK7kGhtXVPxFNQ~v9b3ev2_s;PgH=A|(_Me}MCLw>3JEH{r zYk0HY0b&wUK_q3ABDaJkZDwn3i;^s}vaGO*tg@<fm?LYfChM%O<0a9ME^}p*HMLz9 zJF>-E(qo>sE21qstfP5V?8+|dYVL?VxzF}BuZaipfE`eBM&f$hcunF4ryH9+jNK9G zHQ!R$VviP`(@CgCJU>(O<>Erk$6SH;!6=<2f}gB%zKw4~m7@D&Iy-tYI67UaRERWs zK99L5>fg=Nr^@i%@54Nu4elp+&%@}xr}1nopALs+jy47ZZS<_d)1UbKOmTi?653|j z<99Ad>zb8LmLdsN8qQ4W-gbxg-B4BQ^4Vzk<niSsOwB@2zR4YY%g2hpyz#omylqFv ztaG_kS7|oUSrN4FcGz2%eF%gTMq|RPH{=D4X>7fAnEi&72rEI~?V>e0IUU{Uc7z9k z1H}V^BKWcF4}hHHbWJwa)Y=eAayu_=C}3G*MPpT?qp_y3uCbxf)!5Xyqp`K2iMu9& zm$x_M6@IM~(>2KAm8H3*xxJ>--L<v0Hx?ypGWDk2HAOqIHy~#4?BR}Lf(4y_bJ^Q3 z%Gq+kmFmE@3nvKDS(*od!cr90rOF5ugeroAP(!FAG!R?_Y=GK9Xaf}0g;r#yJan}H zSUcl+AW?L|Hds{nFFBvZMOkqO_DV%5<KhKtPV}K})7YMvCutOl;J&+ioo37Ty&#ra z5JV!(vLN`A{Qa9hnM>}=G+A=-*<k2jtRnbtBq(IcqdWsUpUh`JT%4bUIe!_h{A)hD z_C-4O7dmp>ANpCE^TS0LU4;qH{6)GrJo=*lxPN@OSV6eYlLVc908`_+@^OKf=YBSh zvIPH5Q*M8;Qe9}or|@P7gzi`s`k$v<p)UAK)X_1Q)~RFtdhnk5`Zs6QE91G%Ldk=m zs0Y~Lr9kcm!Ozei6VWRd&24KUE(DzNBiMt69#s#Ke}I5e_ypd}0&u9d&wG!G4%P+7 zbf+YRDXayBnvf|}tB18kI7_1KU89fv{{_W%a6*C?hsnMb80%nUd~;Wr=&k5j6Qem? z4JLpZWG(a=xfrijpldwaU7|9Xrze~1!DOO*b<OYEV;DB4aK3~r=<in_ft6vaT<X$~ MZI5~uGI;EN0mMeMIsgCw literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/sjisprober.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/sjisprober.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..54a87667a5ecc7c5c4362c06ed5cadef7cc9acb7 GIT binary patch literal 2464 zcmZt|U2hvjaCh&+XUBG2r%e-tP%2Rg3mO--R3KG|lB8{_#))DV#0j)qyc_47yR*A@ zE^*{OIjB7LZ}2DjL-v)Yyz<CPnc2&S1NCKhXLn|IzGrf;QYq2X_dma@67m<B`Pl$} z2P6FzCP4&^NKAc75oQsKE#ES*71^=lI|jBRH!k=E13Qry7yY7v-KZ4L`EzmEFH`b_ zh=TA=i0~wxT7E?o+oVxCrNE{^_2Skj%EIr*nOr*vR9j{{YOp62VCriF5hlHM7G!cO z=pKZLgwv(=v(5H;m}V;68)e}jd6WdvI1N+4Eg)`fkYw^Gn>nuFF>i12t?l)V=MARI z$m9HJT|Rr<FzSL-7eDI^N_PN|#HWJz><!tcf(mxx`Idn#VFPSSM>xVgAyewR02`G7 zE{LKioe<v>bD|7u@eQ$wUjh?UbO{B^_3ffL@P{k%#gX2JDI*!3kSXi4DIhZ|v!}4< zPUcPttcA=oYjHyQC8Q7p-lna_oOaUDP%2e~N3_Rzn1mVU3LjQ3o)x>sz&wo=I$z%q zGiK!h+VvRjJBX`wbF*F?Ye&gcW?*$YmC-(|Mb5iXkfxmfN&fkxc`%4&GY)$r8QuTt zL33x^1^>pNZC`e?6!zJ{Ao*dZ^#t7eTQF|ElF6%P6z(;L26J!qK{E|Ad1n}O4}+de zo5OH;=gV(a@2=jvGaLhYRrY##*yM0k3{(>t2$?n0ewYqT6s-=&Y7WG|4I?eVL}-<k zs0ZJ%36|XWtLMh~uopgtdsn>xwzhJAoLk#g_`I>TnnwuI3*4Y;`Em`9>NqXngcM)E zNYU;n({b%G6jqI4uZV&{v4->>Ou(G<Y3^iZ_~<gK4&LBN5JQp}t~t9)p4Z{(U3`PV zMA-4o8IH5pKg<{f708sewD&9+1_^lIu=p@L?L|S-8-e36hR=D<+WZ{fHSz!v#u>(? zQS>>e{FWXuV|O}*Z=L+|_iF~qv%WQ<6SfSQ_S%|2KJ=YKrgi}1_6q`Xqwm2ePT16j zd@1$kAWO<S<Ymp!R)BUNPODc==i#(w-mXo_YkR^3gOhg?$n#}1_%&fY#I@dEFgtr< zFF~gLj#zujDB`Z?xO@-Xa%zxNST})ci2&r}(EsikDnkLZm)MuJ9|_3dp2@(B3^zdf z#Y6U%s>g=M%_&&Qz)M&O`pbtl?$33ElN;c-LhJa}?Q{kH^3+&42(uN)?txkfvXwok zzkoXh^Am;9c8Xp(#aeOt9)69FAm72EQd^NsR2j~7DS<M}Q!LL4<5D{tySv-F+KmRi zo>bZqa&OdA7<XzBrvehWt?drq+R$!(Q@fj;HtxO0+b>${e6ypScIVM<M=$gsp1UKZ zWCAP1H!#*E4izTf=8<pjODR;vus5RU;`&BsW398<dg9Ob1{s&hVAMO{BFF+=HE#}* z{ZPoHD|Nm7bbGh6_M*c(Pj@$9^L)MGnC#IWngnE2nud^HXO$9_^*xk^qa93kU8dM) zAja1)(g!dRdY#rxv8h72u?>VXmY*tJq%N(qI?yc9605Q*Ed#a3j^}665_P*sNAv{_ zlOCS{0FH$^0O5)u&kV#elNwW&R|nhJNPP~(xrwYeIBHl%K_7H7jgrH<@0ZVNzuEm) zFMQx97%8SFF*+PC&&YYzs?d3$+h8T)92~~uffz*ympOkq3Zfii>ar<>+JlIMMwN|c zVg*fU1lN_bw$hbR1nuj><WP4^RW$__d)%imQjAQGmJ4MYKkt^Q$gM`zpO5#>s$3rb z3Ikl%bH|#<iSz$4OoQ}mNIcsQO^fv1{;->5M|n?l;mH)5r)j2+Oh$2PV%%gy-U=?H Z&E-Z}wf8W$$hX*6jKF1Ze*V?0e*r*4PxJr) literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/universaldetector.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/universaldetector.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a798ba4557aa50eaff3921276461deb8fc4b849a GIT binary patch literal 5859 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/utf8prober.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/utf8prober.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c4bc5f7a777f4af7d6aee67544753fb9c3d24deb GIT binary patch literal 1995 zcmah~UvC>l5Z}FjK0D_mN-6;oLKTQ2qsFEREs2B(t>Y$<8auKbkWQeLbGvcu+?}1h zb7>;y$&t!apZF5I^rP?r_6fvOp5U1mnAvk&2Nhvy=VoXB%*=0ReqJvY3-tQ$?|vx| z@;jOPS)hLnBiRMP38x{6s81>CMrcH)Z$_4H>A4x&k>fjBx58ZH`Yt6qgxlP?BHR&l zV)}WWYmt(BP2su{RmJK_N47+IAO}Z6mJH>g){DEXw37<u?RSEcUM%zswy#tN{AO{w zgqIw)pKh?$KHG0>*PaD%^Xz9%wWJM-AU@^9H#qgpm*kjogPT{bZ)x4)Ht4o+xWjW- zWJ3KM=q}G|-Q@+oa77?|j~C%vcu6ecFF-1bs(|jZ1iG2KU$+9x4}bW@AaEp~f=Ee9 z$7EvkjR`EKW@=4f&TLLVI%Cq$p`8=Bn$}CMvXjwJNSTA9%4Mt<_fp2B4O8i$Egxt| zSQ4osi$@WQj#vPoCd!r~5h>tfB_ceAZ=SIr>?8?eKa;<HtegxYQHgrpkqAG3_^5Jl zj>jTMq%VRrfq8l|h`%|g@4!p^&^fO>7xD8-*gL8W^~!qrQ6=f6Vr|$7PCH$ZREE9b z+JnvVXXW*^;W;dqMYoH_3WKA3AS>vAi?lLIk2i+;#mmEUnTIs)!AM*Xgf7wob?C+F z8&u0TX}=xS58>2pQ~^aZ!<QqrmPXU4U*r8HTcRHgsPs^Sk|%Njm#8depG7n+p;$(N z+wQ|i5b-R+i{-iaG|;z#!)LGJ3G5$E;W3T+g$;SHZRmTat}-7pN6OPLCsG!7BJlvv z8z6{r@y?vL`91&ZRAqVmhd(#$#N81*-orUx^T^+<2RaVeg!$mm$^8V%i~g8ylkbl% z4M3gr>DZXiOLJ_dM&CR&<o(p@+gRBL<jm3599W-#)xBlSgB7cv^a~RJ?9|4YMfwZe z_<|UOEu1;uLWlG{I9Y_fuRvd%pk?XQlCN&=!yN#&S--}BrDmCB{lcmcix(+NkXIyT zpzK<+*=S1aOy$%YZMI)iPPRcgd+ip^-KUMi`Zn8ZE4$Tx+-$4WF1$`Kl2XL*g?bJ} ztcwR4RZ~`eyVkB%+k5pLwW#+F;^Q6{aUj%6Yq!yCR}b5)z1yt8<k@z~(j}+dqw`dN zZ>eYiRWNO79jmU6Hzi^n3&A%b=Hvqq1e(Qz;ZkcR7wL-OK^wWo#nN2a;JI13AUc@1 ze#SB=oL)k!^nuh*iM%&PUC&p^Cb^{C9MgA!lEzTUx|ytc_w~+i7k6I&v2~42F(tk~ zw@OBaMzK+^vFh&QCOc?0o`4lQ%Xda`*gF;fDtmbs)}Fyguoa0;Wf{YNZ!Y}XSe85_ zL+ld9RDrQ*z(*nK9%E;tPMEF8PvAPuFS>=53#0>Nnx4xQT)2bcV-$Bm0DWfk7>F<g zik;yOy`%X+QvveuM=%mJ0qTb5c(!MGmb<DcrCuti;<Q6Eij#=7vITH+qKhr7zLo5e ub<srGzno@u--(WbB#AV;XDl^~B#Q~-Q0|vm%3r;Y!62h~bQwy)v;F~);m4~0 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/version.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__pycache__/version.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..326786fccfa0a80548e97fbf965ad0dbd0e72a76 GIT binary patch literal 464 zcmX|7Jx{|h5KT(>P!KEgjdZ9DDj<OnLI{LdN(G3aLW<n@niyg`vYkR$5kH2Rf0LDo zm5~M9P_T4QetxI(yVqY^i^Gra+s_~f-hKU_j=vrGvg;mrFba4$3NgIv@Xm8MTHp&; zK{tAOi?4HGL26zV2>2+hv!GQ`gVSJzEDJHI!Jsn&r$S}ma)c=wE3^Vt$uSzx6G(Gr zIJ$UZw1fxYa-qPYt4dPVz!Zm8n0JA##wAPdS%#Lx@jk0uuFXE2Fa^g2Q*9e;aHh!k zj~-=`iGrkBcH^hTKG`JOO-Kgas98=DuG1uGR+D6I%#%gyox5iF=JfLF{9^DLm?a-W z3tulZ*Al4|S%t;+&MqC+voGb)=sQfE_1qg$H^adhbNIk&Iz=_5g&5PaRr+L?TH&zw yw*@Ul+1uLluKK;Q_A<dNn>|u*NpWrHe04vmjn2o?tQ`ENemHYxBM(t03V#56^OY3< literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/big5freq.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/big5freq.py new file mode 100644 index 0000000..38f3251 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/big5freq.py @@ -0,0 +1,386 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# Big5 frequency table +# by Taiwan's Mandarin Promotion Council +# <http://www.edu.tw:81/mandr/> +# +# 128 --> 0.42261 +# 256 --> 0.57851 +# 512 --> 0.74851 +# 1024 --> 0.89384 +# 2048 --> 0.97583 +# +# Ideal Distribution Ratio = 0.74851/(1-0.74851) =2.98 +# Random Distribution Ration = 512/(5401-512)=0.105 +# +# Typical Distribution Ratio about 25% of Ideal one, still much higher than RDR + +BIG5_TYPICAL_DISTRIBUTION_RATIO = 0.75 + +#Char to FreqOrder table +BIG5_TABLE_SIZE = 5376 + +BIG5_CHAR_TO_FREQ_ORDER = ( + 1,1801,1506, 255,1431, 198, 9, 82, 6,5008, 177, 202,3681,1256,2821, 110, # 16 +3814, 33,3274, 261, 76, 44,2114, 16,2946,2187,1176, 659,3971, 26,3451,2653, # 32 +1198,3972,3350,4202, 410,2215, 302, 590, 361,1964, 8, 204, 58,4510,5009,1932, # 48 + 63,5010,5011, 317,1614, 75, 222, 159,4203,2417,1480,5012,3555,3091, 224,2822, # 64 +3682, 3, 10,3973,1471, 29,2787,1135,2866,1940, 873, 130,3275,1123, 312,5013, # 80 +4511,2052, 507, 252, 682,5014, 142,1915, 124, 206,2947, 34,3556,3204, 64, 604, # 96 +5015,2501,1977,1978, 155,1991, 645, 641,1606,5016,3452, 337, 72, 406,5017, 80, # 112 + 630, 238,3205,1509, 263, 939,1092,2654, 756,1440,1094,3453, 449, 69,2987, 591, # 128 + 179,2096, 471, 115,2035,1844, 60, 50,2988, 134, 806,1869, 734,2036,3454, 180, # 144 + 995,1607, 156, 537,2907, 688,5018, 319,1305, 779,2145, 514,2379, 298,4512, 359, # 160 +2502, 90,2716,1338, 663, 11, 906,1099,2553, 20,2441, 182, 532,1716,5019, 732, # 176 +1376,4204,1311,1420,3206, 25,2317,1056, 113, 399, 382,1950, 242,3455,2474, 529, # 192 +3276, 475,1447,3683,5020, 117, 21, 656, 810,1297,2300,2334,3557,5021, 126,4205, # 208 + 706, 456, 150, 613,4513, 71,1118,2037,4206, 145,3092, 85, 835, 486,2115,1246, # 224 +1426, 428, 727,1285,1015, 800, 106, 623, 303,1281,5022,2128,2359, 347,3815, 221, # 240 +3558,3135,5023,1956,1153,4207, 83, 296,1199,3093, 192, 624, 93,5024, 822,1898, # 256 +2823,3136, 795,2065, 991,1554,1542,1592, 27, 43,2867, 859, 139,1456, 860,4514, # 272 + 437, 712,3974, 164,2397,3137, 695, 211,3037,2097, 195,3975,1608,3559,3560,3684, # 288 +3976, 234, 811,2989,2098,3977,2233,1441,3561,1615,2380, 668,2077,1638, 305, 228, # 304 +1664,4515, 467, 415,5025, 262,2099,1593, 239, 108, 300, 200,1033, 512,1247,2078, # 320 +5026,5027,2176,3207,3685,2682, 593, 845,1062,3277, 88,1723,2038,3978,1951, 212, # 336 + 266, 152, 149, 468,1899,4208,4516, 77, 187,5028,3038, 37, 5,2990,5029,3979, # 352 +5030,5031, 39,2524,4517,2908,3208,2079, 55, 148, 74,4518, 545, 483,1474,1029, # 368 +1665, 217,1870,1531,3138,1104,2655,4209, 24, 172,3562, 900,3980,3563,3564,4519, # 384 + 32,1408,2824,1312, 329, 487,2360,2251,2717, 784,2683, 4,3039,3351,1427,1789, # 400 + 188, 109, 499,5032,3686,1717,1790, 888,1217,3040,4520,5033,3565,5034,3352,1520, # 416 +3687,3981, 196,1034, 775,5035,5036, 929,1816, 249, 439, 38,5037,1063,5038, 794, # 432 +3982,1435,2301, 46, 178,3278,2066,5039,2381,5040, 214,1709,4521, 804, 35, 707, # 448 + 324,3688,1601,2554, 140, 459,4210,5041,5042,1365, 839, 272, 978,2262,2580,3456, # 464 +2129,1363,3689,1423, 697, 100,3094, 48, 70,1231, 495,3139,2196,5043,1294,5044, # 480 +2080, 462, 586,1042,3279, 853, 256, 988, 185,2382,3457,1698, 434,1084,5045,3458, # 496 + 314,2625,2788,4522,2335,2336, 569,2285, 637,1817,2525, 757,1162,1879,1616,3459, # 512 + 287,1577,2116, 768,4523,1671,2868,3566,2526,1321,3816, 909,2418,5046,4211, 933, # 528 +3817,4212,2053,2361,1222,4524, 765,2419,1322, 786,4525,5047,1920,1462,1677,2909, # 544 +1699,5048,4526,1424,2442,3140,3690,2600,3353,1775,1941,3460,3983,4213, 309,1369, # 560 +1130,2825, 364,2234,1653,1299,3984,3567,3985,3986,2656, 525,1085,3041, 902,2001, # 576 +1475, 964,4527, 421,1845,1415,1057,2286, 940,1364,3141, 376,4528,4529,1381, 7, # 592 +2527, 983,2383, 336,1710,2684,1846, 321,3461, 559,1131,3042,2752,1809,1132,1313, # 608 + 265,1481,1858,5049, 352,1203,2826,3280, 167,1089, 420,2827, 776, 792,1724,3568, # 624 +4214,2443,3281,5050,4215,5051, 446, 229, 333,2753, 901,3818,1200,1557,4530,2657, # 640 +1921, 395,2754,2685,3819,4216,1836, 125, 916,3209,2626,4531,5052,5053,3820,5054, # 656 +5055,5056,4532,3142,3691,1133,2555,1757,3462,1510,2318,1409,3569,5057,2146, 438, # 672 +2601,2910,2384,3354,1068, 958,3043, 461, 311,2869,2686,4217,1916,3210,4218,1979, # 688 + 383, 750,2755,2627,4219, 274, 539, 385,1278,1442,5058,1154,1965, 384, 561, 210, # 704 + 98,1295,2556,3570,5059,1711,2420,1482,3463,3987,2911,1257, 129,5060,3821, 642, # 720 + 523,2789,2790,2658,5061, 141,2235,1333, 68, 176, 441, 876, 907,4220, 603,2602, # 736 + 710, 171,3464, 404, 549, 18,3143,2398,1410,3692,1666,5062,3571,4533,2912,4534, # 752 +5063,2991, 368,5064, 146, 366, 99, 871,3693,1543, 748, 807,1586,1185, 22,2263, # 768 + 379,3822,3211,5065,3212, 505,1942,2628,1992,1382,2319,5066, 380,2362, 218, 702, # 784 +1818,1248,3465,3044,3572,3355,3282,5067,2992,3694, 930,3283,3823,5068, 59,5069, # 800 + 585, 601,4221, 497,3466,1112,1314,4535,1802,5070,1223,1472,2177,5071, 749,1837, # 816 + 690,1900,3824,1773,3988,1476, 429,1043,1791,2236,2117, 917,4222, 447,1086,1629, # 832 +5072, 556,5073,5074,2021,1654, 844,1090, 105, 550, 966,1758,2828,1008,1783, 686, # 848 +1095,5075,2287, 793,1602,5076,3573,2603,4536,4223,2948,2302,4537,3825, 980,2503, # 864 + 544, 353, 527,4538, 908,2687,2913,5077, 381,2629,1943,1348,5078,1341,1252, 560, # 880 +3095,5079,3467,2870,5080,2054, 973, 886,2081, 143,4539,5081,5082, 157,3989, 496, # 896 +4224, 57, 840, 540,2039,4540,4541,3468,2118,1445, 970,2264,1748,1966,2082,4225, # 912 +3144,1234,1776,3284,2829,3695, 773,1206,2130,1066,2040,1326,3990,1738,1725,4226, # 928 + 279,3145, 51,1544,2604, 423,1578,2131,2067, 173,4542,1880,5083,5084,1583, 264, # 944 + 610,3696,4543,2444, 280, 154,5085,5086,5087,1739, 338,1282,3096, 693,2871,1411, # 960 +1074,3826,2445,5088,4544,5089,5090,1240, 952,2399,5091,2914,1538,2688, 685,1483, # 976 +4227,2475,1436, 953,4228,2055,4545, 671,2400, 79,4229,2446,3285, 608, 567,2689, # 992 +3469,4230,4231,1691, 393,1261,1792,2401,5092,4546,5093,5094,5095,5096,1383,1672, # 1008 +3827,3213,1464, 522,1119, 661,1150, 216, 675,4547,3991,1432,3574, 609,4548,2690, # 1024 +2402,5097,5098,5099,4232,3045, 0,5100,2476, 315, 231,2447, 301,3356,4549,2385, # 1040 +5101, 233,4233,3697,1819,4550,4551,5102, 96,1777,1315,2083,5103, 257,5104,1810, # 1056 +3698,2718,1139,1820,4234,2022,1124,2164,2791,1778,2659,5105,3097, 363,1655,3214, # 1072 +5106,2993,5107,5108,5109,3992,1567,3993, 718, 103,3215, 849,1443, 341,3357,2949, # 1088 +1484,5110,1712, 127, 67, 339,4235,2403, 679,1412, 821,5111,5112, 834, 738, 351, # 1104 +2994,2147, 846, 235,1497,1881, 418,1993,3828,2719, 186,1100,2148,2756,3575,1545, # 1120 +1355,2950,2872,1377, 583,3994,4236,2581,2995,5113,1298,3699,1078,2557,3700,2363, # 1136 + 78,3829,3830, 267,1289,2100,2002,1594,4237, 348, 369,1274,2197,2178,1838,4552, # 1152 +1821,2830,3701,2757,2288,2003,4553,2951,2758, 144,3358, 882,4554,3995,2759,3470, # 1168 +4555,2915,5114,4238,1726, 320,5115,3996,3046, 788,2996,5116,2831,1774,1327,2873, # 1184 +3997,2832,5117,1306,4556,2004,1700,3831,3576,2364,2660, 787,2023, 506, 824,3702, # 1200 + 534, 323,4557,1044,3359,2024,1901, 946,3471,5118,1779,1500,1678,5119,1882,4558, # 1216 + 165, 243,4559,3703,2528, 123, 683,4239, 764,4560, 36,3998,1793, 589,2916, 816, # 1232 + 626,1667,3047,2237,1639,1555,1622,3832,3999,5120,4000,2874,1370,1228,1933, 891, # 1248 +2084,2917, 304,4240,5121, 292,2997,2720,3577, 691,2101,4241,1115,4561, 118, 662, # 1264 +5122, 611,1156, 854,2386,1316,2875, 2, 386, 515,2918,5123,5124,3286, 868,2238, # 1280 +1486, 855,2661, 785,2216,3048,5125,1040,3216,3578,5126,3146, 448,5127,1525,5128, # 1296 +2165,4562,5129,3833,5130,4242,2833,3579,3147, 503, 818,4001,3148,1568, 814, 676, # 1312 +1444, 306,1749,5131,3834,1416,1030, 197,1428, 805,2834,1501,4563,5132,5133,5134, # 1328 +1994,5135,4564,5136,5137,2198, 13,2792,3704,2998,3149,1229,1917,5138,3835,2132, # 1344 +5139,4243,4565,2404,3580,5140,2217,1511,1727,1120,5141,5142, 646,3836,2448, 307, # 1360 +5143,5144,1595,3217,5145,5146,5147,3705,1113,1356,4002,1465,2529,2530,5148, 519, # 1376 +5149, 128,2133, 92,2289,1980,5150,4003,1512, 342,3150,2199,5151,2793,2218,1981, # 1392 +3360,4244, 290,1656,1317, 789, 827,2365,5152,3837,4566, 562, 581,4004,5153, 401, # 1408 +4567,2252, 94,4568,5154,1399,2794,5155,1463,2025,4569,3218,1944,5156, 828,1105, # 1424 +4245,1262,1394,5157,4246, 605,4570,5158,1784,2876,5159,2835, 819,2102, 578,2200, # 1440 +2952,5160,1502, 436,3287,4247,3288,2836,4005,2919,3472,3473,5161,2721,2320,5162, # 1456 +5163,2337,2068, 23,4571, 193, 826,3838,2103, 699,1630,4248,3098, 390,1794,1064, # 1472 +3581,5164,1579,3099,3100,1400,5165,4249,1839,1640,2877,5166,4572,4573, 137,4250, # 1488 + 598,3101,1967, 780, 104, 974,2953,5167, 278, 899, 253, 402, 572, 504, 493,1339, # 1504 +5168,4006,1275,4574,2582,2558,5169,3706,3049,3102,2253, 565,1334,2722, 863, 41, # 1520 +5170,5171,4575,5172,1657,2338, 19, 463,2760,4251, 606,5173,2999,3289,1087,2085, # 1536 +1323,2662,3000,5174,1631,1623,1750,4252,2691,5175,2878, 791,2723,2663,2339, 232, # 1552 +2421,5176,3001,1498,5177,2664,2630, 755,1366,3707,3290,3151,2026,1609, 119,1918, # 1568 +3474, 862,1026,4253,5178,4007,3839,4576,4008,4577,2265,1952,2477,5179,1125, 817, # 1584 +4254,4255,4009,1513,1766,2041,1487,4256,3050,3291,2837,3840,3152,5180,5181,1507, # 1600 +5182,2692, 733, 40,1632,1106,2879, 345,4257, 841,2531, 230,4578,3002,1847,3292, # 1616 +3475,5183,1263, 986,3476,5184, 735, 879, 254,1137, 857, 622,1300,1180,1388,1562, # 1632 +4010,4011,2954, 967,2761,2665,1349, 592,2134,1692,3361,3003,1995,4258,1679,4012, # 1648 +1902,2188,5185, 739,3708,2724,1296,1290,5186,4259,2201,2202,1922,1563,2605,2559, # 1664 +1871,2762,3004,5187, 435,5188, 343,1108, 596, 17,1751,4579,2239,3477,3709,5189, # 1680 +4580, 294,3582,2955,1693, 477, 979, 281,2042,3583, 643,2043,3710,2631,2795,2266, # 1696 +1031,2340,2135,2303,3584,4581, 367,1249,2560,5190,3585,5191,4582,1283,3362,2005, # 1712 + 240,1762,3363,4583,4584, 836,1069,3153, 474,5192,2149,2532, 268,3586,5193,3219, # 1728 +1521,1284,5194,1658,1546,4260,5195,3587,3588,5196,4261,3364,2693,1685,4262, 961, # 1744 +1673,2632, 190,2006,2203,3841,4585,4586,5197, 570,2504,3711,1490,5198,4587,2633, # 1760 +3293,1957,4588, 584,1514, 396,1045,1945,5199,4589,1968,2449,5200,5201,4590,4013, # 1776 + 619,5202,3154,3294, 215,2007,2796,2561,3220,4591,3221,4592, 763,4263,3842,4593, # 1792 +5203,5204,1958,1767,2956,3365,3712,1174, 452,1477,4594,3366,3155,5205,2838,1253, # 1808 +2387,2189,1091,2290,4264, 492,5206, 638,1169,1825,2136,1752,4014, 648, 926,1021, # 1824 +1324,4595, 520,4596, 997, 847,1007, 892,4597,3843,2267,1872,3713,2405,1785,4598, # 1840 +1953,2957,3103,3222,1728,4265,2044,3714,4599,2008,1701,3156,1551, 30,2268,4266, # 1856 +5207,2027,4600,3589,5208, 501,5209,4267, 594,3478,2166,1822,3590,3479,3591,3223, # 1872 + 829,2839,4268,5210,1680,3157,1225,4269,5211,3295,4601,4270,3158,2341,5212,4602, # 1888 +4271,5213,4015,4016,5214,1848,2388,2606,3367,5215,4603, 374,4017, 652,4272,4273, # 1904 + 375,1140, 798,5216,5217,5218,2366,4604,2269, 546,1659, 138,3051,2450,4605,5219, # 1920 +2254, 612,1849, 910, 796,3844,1740,1371, 825,3845,3846,5220,2920,2562,5221, 692, # 1936 + 444,3052,2634, 801,4606,4274,5222,1491, 244,1053,3053,4275,4276, 340,5223,4018, # 1952 +1041,3005, 293,1168, 87,1357,5224,1539, 959,5225,2240, 721, 694,4277,3847, 219, # 1968 +1478, 644,1417,3368,2666,1413,1401,1335,1389,4019,5226,5227,3006,2367,3159,1826, # 1984 + 730,1515, 184,2840, 66,4607,5228,1660,2958, 246,3369, 378,1457, 226,3480, 975, # 2000 +4020,2959,1264,3592, 674, 696,5229, 163,5230,1141,2422,2167, 713,3593,3370,4608, # 2016 +4021,5231,5232,1186, 15,5233,1079,1070,5234,1522,3224,3594, 276,1050,2725, 758, # 2032 +1126, 653,2960,3296,5235,2342, 889,3595,4022,3104,3007, 903,1250,4609,4023,3481, # 2048 +3596,1342,1681,1718, 766,3297, 286, 89,2961,3715,5236,1713,5237,2607,3371,3008, # 2064 +5238,2962,2219,3225,2880,5239,4610,2505,2533, 181, 387,1075,4024, 731,2190,3372, # 2080 +5240,3298, 310, 313,3482,2304, 770,4278, 54,3054, 189,4611,3105,3848,4025,5241, # 2096 +1230,1617,1850, 355,3597,4279,4612,3373, 111,4280,3716,1350,3160,3483,3055,4281, # 2112 +2150,3299,3598,5242,2797,4026,4027,3009, 722,2009,5243,1071, 247,1207,2343,2478, # 2128 +1378,4613,2010, 864,1437,1214,4614, 373,3849,1142,2220, 667,4615, 442,2763,2563, # 2144 +3850,4028,1969,4282,3300,1840, 837, 170,1107, 934,1336,1883,5244,5245,2119,4283, # 2160 +2841, 743,1569,5246,4616,4284, 582,2389,1418,3484,5247,1803,5248, 357,1395,1729, # 2176 +3717,3301,2423,1564,2241,5249,3106,3851,1633,4617,1114,2086,4285,1532,5250, 482, # 2192 +2451,4618,5251,5252,1492, 833,1466,5253,2726,3599,1641,2842,5254,1526,1272,3718, # 2208 +4286,1686,1795, 416,2564,1903,1954,1804,5255,3852,2798,3853,1159,2321,5256,2881, # 2224 +4619,1610,1584,3056,2424,2764, 443,3302,1163,3161,5257,5258,4029,5259,4287,2506, # 2240 +3057,4620,4030,3162,2104,1647,3600,2011,1873,4288,5260,4289, 431,3485,5261, 250, # 2256 + 97, 81,4290,5262,1648,1851,1558, 160, 848,5263, 866, 740,1694,5264,2204,2843, # 2272 +3226,4291,4621,3719,1687, 950,2479, 426, 469,3227,3720,3721,4031,5265,5266,1188, # 2288 + 424,1996, 861,3601,4292,3854,2205,2694, 168,1235,3602,4293,5267,2087,1674,4622, # 2304 +3374,3303, 220,2565,1009,5268,3855, 670,3010, 332,1208, 717,5269,5270,3603,2452, # 2320 +4032,3375,5271, 513,5272,1209,2882,3376,3163,4623,1080,5273,5274,5275,5276,2534, # 2336 +3722,3604, 815,1587,4033,4034,5277,3605,3486,3856,1254,4624,1328,3058,1390,4035, # 2352 +1741,4036,3857,4037,5278, 236,3858,2453,3304,5279,5280,3723,3859,1273,3860,4625, # 2368 +5281, 308,5282,4626, 245,4627,1852,2480,1307,2583, 430, 715,2137,2454,5283, 270, # 2384 + 199,2883,4038,5284,3606,2727,1753, 761,1754, 725,1661,1841,4628,3487,3724,5285, # 2400 +5286, 587, 14,3305, 227,2608, 326, 480,2270, 943,2765,3607, 291, 650,1884,5287, # 2416 +1702,1226, 102,1547, 62,3488, 904,4629,3489,1164,4294,5288,5289,1224,1548,2766, # 2432 + 391, 498,1493,5290,1386,1419,5291,2056,1177,4630, 813, 880,1081,2368, 566,1145, # 2448 +4631,2291,1001,1035,2566,2609,2242, 394,1286,5292,5293,2069,5294, 86,1494,1730, # 2464 +4039, 491,1588, 745, 897,2963, 843,3377,4040,2767,2884,3306,1768, 998,2221,2070, # 2480 + 397,1827,1195,1970,3725,3011,3378, 284,5295,3861,2507,2138,2120,1904,5296,4041, # 2496 +2151,4042,4295,1036,3490,1905, 114,2567,4296, 209,1527,5297,5298,2964,2844,2635, # 2512 +2390,2728,3164, 812,2568,5299,3307,5300,1559, 737,1885,3726,1210, 885, 28,2695, # 2528 +3608,3862,5301,4297,1004,1780,4632,5302, 346,1982,2222,2696,4633,3863,1742, 797, # 2544 +1642,4043,1934,1072,1384,2152, 896,4044,3308,3727,3228,2885,3609,5303,2569,1959, # 2560 +4634,2455,1786,5304,5305,5306,4045,4298,1005,1308,3728,4299,2729,4635,4636,1528, # 2576 +2610, 161,1178,4300,1983, 987,4637,1101,4301, 631,4046,1157,3229,2425,1343,1241, # 2592 +1016,2243,2570, 372, 877,2344,2508,1160, 555,1935, 911,4047,5307, 466,1170, 169, # 2608 +1051,2921,2697,3729,2481,3012,1182,2012,2571,1251,2636,5308, 992,2345,3491,1540, # 2624 +2730,1201,2071,2406,1997,2482,5309,4638, 528,1923,2191,1503,1874,1570,2369,3379, # 2640 +3309,5310, 557,1073,5311,1828,3492,2088,2271,3165,3059,3107, 767,3108,2799,4639, # 2656 +1006,4302,4640,2346,1267,2179,3730,3230, 778,4048,3231,2731,1597,2667,5312,4641, # 2672 +5313,3493,5314,5315,5316,3310,2698,1433,3311, 131, 95,1504,4049, 723,4303,3166, # 2688 +1842,3610,2768,2192,4050,2028,2105,3731,5317,3013,4051,1218,5318,3380,3232,4052, # 2704 +4304,2584, 248,1634,3864, 912,5319,2845,3732,3060,3865, 654, 53,5320,3014,5321, # 2720 +1688,4642, 777,3494,1032,4053,1425,5322, 191, 820,2121,2846, 971,4643, 931,3233, # 2736 + 135, 664, 783,3866,1998, 772,2922,1936,4054,3867,4644,2923,3234, 282,2732, 640, # 2752 +1372,3495,1127, 922, 325,3381,5323,5324, 711,2045,5325,5326,4055,2223,2800,1937, # 2768 +4056,3382,2224,2255,3868,2305,5327,4645,3869,1258,3312,4057,3235,2139,2965,4058, # 2784 +4059,5328,2225, 258,3236,4646, 101,1227,5329,3313,1755,5330,1391,3314,5331,2924, # 2800 +2057, 893,5332,5333,5334,1402,4305,2347,5335,5336,3237,3611,5337,5338, 878,1325, # 2816 +1781,2801,4647, 259,1385,2585, 744,1183,2272,4648,5339,4060,2509,5340, 684,1024, # 2832 +4306,5341, 472,3612,3496,1165,3315,4061,4062, 322,2153, 881, 455,1695,1152,1340, # 2848 + 660, 554,2154,4649,1058,4650,4307, 830,1065,3383,4063,4651,1924,5342,1703,1919, # 2864 +5343, 932,2273, 122,5344,4652, 947, 677,5345,3870,2637, 297,1906,1925,2274,4653, # 2880 +2322,3316,5346,5347,4308,5348,4309, 84,4310, 112, 989,5349, 547,1059,4064, 701, # 2896 +3613,1019,5350,4311,5351,3497, 942, 639, 457,2306,2456, 993,2966, 407, 851, 494, # 2912 +4654,3384, 927,5352,1237,5353,2426,3385, 573,4312, 680, 921,2925,1279,1875, 285, # 2928 + 790,1448,1984, 719,2168,5354,5355,4655,4065,4066,1649,5356,1541, 563,5357,1077, # 2944 +5358,3386,3061,3498, 511,3015,4067,4068,3733,4069,1268,2572,3387,3238,4656,4657, # 2960 +5359, 535,1048,1276,1189,2926,2029,3167,1438,1373,2847,2967,1134,2013,5360,4313, # 2976 +1238,2586,3109,1259,5361, 700,5362,2968,3168,3734,4314,5363,4315,1146,1876,1907, # 2992 +4658,2611,4070, 781,2427, 132,1589, 203, 147, 273,2802,2407, 898,1787,2155,4071, # 3008 +4072,5364,3871,2803,5365,5366,4659,4660,5367,3239,5368,1635,3872, 965,5369,1805, # 3024 +2699,1516,3614,1121,1082,1329,3317,4073,1449,3873, 65,1128,2848,2927,2769,1590, # 3040 +3874,5370,5371, 12,2668, 45, 976,2587,3169,4661, 517,2535,1013,1037,3240,5372, # 3056 +3875,2849,5373,3876,5374,3499,5375,2612, 614,1999,2323,3877,3110,2733,2638,5376, # 3072 +2588,4316, 599,1269,5377,1811,3735,5378,2700,3111, 759,1060, 489,1806,3388,3318, # 3088 +1358,5379,5380,2391,1387,1215,2639,2256, 490,5381,5382,4317,1759,2392,2348,5383, # 3104 +4662,3878,1908,4074,2640,1807,3241,4663,3500,3319,2770,2349, 874,5384,5385,3501, # 3120 +3736,1859, 91,2928,3737,3062,3879,4664,5386,3170,4075,2669,5387,3502,1202,1403, # 3136 +3880,2969,2536,1517,2510,4665,3503,2511,5388,4666,5389,2701,1886,1495,1731,4076, # 3152 +2370,4667,5390,2030,5391,5392,4077,2702,1216, 237,2589,4318,2324,4078,3881,4668, # 3168 +4669,2703,3615,3504, 445,4670,5393,5394,5395,5396,2771, 61,4079,3738,1823,4080, # 3184 +5397, 687,2046, 935, 925, 405,2670, 703,1096,1860,2734,4671,4081,1877,1367,2704, # 3200 +3389, 918,2106,1782,2483, 334,3320,1611,1093,4672, 564,3171,3505,3739,3390, 945, # 3216 +2641,2058,4673,5398,1926, 872,4319,5399,3506,2705,3112, 349,4320,3740,4082,4674, # 3232 +3882,4321,3741,2156,4083,4675,4676,4322,4677,2408,2047, 782,4084, 400, 251,4323, # 3248 +1624,5400,5401, 277,3742, 299,1265, 476,1191,3883,2122,4324,4325,1109, 205,5402, # 3264 +2590,1000,2157,3616,1861,5403,5404,5405,4678,5406,4679,2573, 107,2484,2158,4085, # 3280 +3507,3172,5407,1533, 541,1301, 158, 753,4326,2886,3617,5408,1696, 370,1088,4327, # 3296 +4680,3618, 579, 327, 440, 162,2244, 269,1938,1374,3508, 968,3063, 56,1396,3113, # 3312 +2107,3321,3391,5409,1927,2159,4681,3016,5410,3619,5411,5412,3743,4682,2485,5413, # 3328 +2804,5414,1650,4683,5415,2613,5416,5417,4086,2671,3392,1149,3393,4087,3884,4088, # 3344 +5418,1076, 49,5419, 951,3242,3322,3323, 450,2850, 920,5420,1812,2805,2371,4328, # 3360 +1909,1138,2372,3885,3509,5421,3243,4684,1910,1147,1518,2428,4685,3886,5422,4686, # 3376 +2393,2614, 260,1796,3244,5423,5424,3887,3324, 708,5425,3620,1704,5426,3621,1351, # 3392 +1618,3394,3017,1887, 944,4329,3395,4330,3064,3396,4331,5427,3744, 422, 413,1714, # 3408 +3325, 500,2059,2350,4332,2486,5428,1344,1911, 954,5429,1668,5430,5431,4089,2409, # 3424 +4333,3622,3888,4334,5432,2307,1318,2512,3114, 133,3115,2887,4687, 629, 31,2851, # 3440 +2706,3889,4688, 850, 949,4689,4090,2970,1732,2089,4335,1496,1853,5433,4091, 620, # 3456 +3245, 981,1242,3745,3397,1619,3746,1643,3326,2140,2457,1971,1719,3510,2169,5434, # 3472 +3246,5435,5436,3398,1829,5437,1277,4690,1565,2048,5438,1636,3623,3116,5439, 869, # 3488 +2852, 655,3890,3891,3117,4092,3018,3892,1310,3624,4691,5440,5441,5442,1733, 558, # 3504 +4692,3747, 335,1549,3065,1756,4336,3748,1946,3511,1830,1291,1192, 470,2735,2108, # 3520 +2806, 913,1054,4093,5443,1027,5444,3066,4094,4693, 982,2672,3399,3173,3512,3247, # 3536 +3248,1947,2807,5445, 571,4694,5446,1831,5447,3625,2591,1523,2429,5448,2090, 984, # 3552 +4695,3749,1960,5449,3750, 852, 923,2808,3513,3751, 969,1519, 999,2049,2325,1705, # 3568 +5450,3118, 615,1662, 151, 597,4095,2410,2326,1049, 275,4696,3752,4337, 568,3753, # 3584 +3626,2487,4338,3754,5451,2430,2275, 409,3249,5452,1566,2888,3514,1002, 769,2853, # 3600 + 194,2091,3174,3755,2226,3327,4339, 628,1505,5453,5454,1763,2180,3019,4096, 521, # 3616 +1161,2592,1788,2206,2411,4697,4097,1625,4340,4341, 412, 42,3119, 464,5455,2642, # 3632 +4698,3400,1760,1571,2889,3515,2537,1219,2207,3893,2643,2141,2373,4699,4700,3328, # 3648 +1651,3401,3627,5456,5457,3628,2488,3516,5458,3756,5459,5460,2276,2092, 460,5461, # 3664 +4701,5462,3020, 962, 588,3629, 289,3250,2644,1116, 52,5463,3067,1797,5464,5465, # 3680 +5466,1467,5467,1598,1143,3757,4342,1985,1734,1067,4702,1280,3402, 465,4703,1572, # 3696 + 510,5468,1928,2245,1813,1644,3630,5469,4704,3758,5470,5471,2673,1573,1534,5472, # 3712 +5473, 536,1808,1761,3517,3894,3175,2645,5474,5475,5476,4705,3518,2929,1912,2809, # 3728 +5477,3329,1122, 377,3251,5478, 360,5479,5480,4343,1529, 551,5481,2060,3759,1769, # 3744 +2431,5482,2930,4344,3330,3120,2327,2109,2031,4706,1404, 136,1468,1479, 672,1171, # 3760 +3252,2308, 271,3176,5483,2772,5484,2050, 678,2736, 865,1948,4707,5485,2014,4098, # 3776 +2971,5486,2737,2227,1397,3068,3760,4708,4709,1735,2931,3403,3631,5487,3895, 509, # 3792 +2854,2458,2890,3896,5488,5489,3177,3178,4710,4345,2538,4711,2309,1166,1010, 552, # 3808 + 681,1888,5490,5491,2972,2973,4099,1287,1596,1862,3179, 358, 453, 736, 175, 478, # 3824 +1117, 905,1167,1097,5492,1854,1530,5493,1706,5494,2181,3519,2292,3761,3520,3632, # 3840 +4346,2093,4347,5495,3404,1193,2489,4348,1458,2193,2208,1863,1889,1421,3331,2932, # 3856 +3069,2182,3521, 595,2123,5496,4100,5497,5498,4349,1707,2646, 223,3762,1359, 751, # 3872 +3121, 183,3522,5499,2810,3021, 419,2374, 633, 704,3897,2394, 241,5500,5501,5502, # 3888 + 838,3022,3763,2277,2773,2459,3898,1939,2051,4101,1309,3122,2246,1181,5503,1136, # 3904 +2209,3899,2375,1446,4350,2310,4712,5504,5505,4351,1055,2615, 484,3764,5506,4102, # 3920 + 625,4352,2278,3405,1499,4353,4103,5507,4104,4354,3253,2279,2280,3523,5508,5509, # 3936 +2774, 808,2616,3765,3406,4105,4355,3123,2539, 526,3407,3900,4356, 955,5510,1620, # 3952 +4357,2647,2432,5511,1429,3766,1669,1832, 994, 928,5512,3633,1260,5513,5514,5515, # 3968 +1949,2293, 741,2933,1626,4358,2738,2460, 867,1184, 362,3408,1392,5516,5517,4106, # 3984 +4359,1770,1736,3254,2934,4713,4714,1929,2707,1459,1158,5518,3070,3409,2891,1292, # 4000 +1930,2513,2855,3767,1986,1187,2072,2015,2617,4360,5519,2574,2514,2170,3768,2490, # 4016 +3332,5520,3769,4715,5521,5522, 666,1003,3023,1022,3634,4361,5523,4716,1814,2257, # 4032 + 574,3901,1603, 295,1535, 705,3902,4362, 283, 858, 417,5524,5525,3255,4717,4718, # 4048 +3071,1220,1890,1046,2281,2461,4107,1393,1599, 689,2575, 388,4363,5526,2491, 802, # 4064 +5527,2811,3903,2061,1405,2258,5528,4719,3904,2110,1052,1345,3256,1585,5529, 809, # 4080 +5530,5531,5532, 575,2739,3524, 956,1552,1469,1144,2328,5533,2329,1560,2462,3635, # 4096 +3257,4108, 616,2210,4364,3180,2183,2294,5534,1833,5535,3525,4720,5536,1319,3770, # 4112 +3771,1211,3636,1023,3258,1293,2812,5537,5538,5539,3905, 607,2311,3906, 762,2892, # 4128 +1439,4365,1360,4721,1485,3072,5540,4722,1038,4366,1450,2062,2648,4367,1379,4723, # 4144 +2593,5541,5542,4368,1352,1414,2330,2935,1172,5543,5544,3907,3908,4724,1798,1451, # 4160 +5545,5546,5547,5548,2936,4109,4110,2492,2351, 411,4111,4112,3637,3333,3124,4725, # 4176 +1561,2674,1452,4113,1375,5549,5550, 47,2974, 316,5551,1406,1591,2937,3181,5552, # 4192 +1025,2142,3125,3182, 354,2740, 884,2228,4369,2412, 508,3772, 726,3638, 996,2433, # 4208 +3639, 729,5553, 392,2194,1453,4114,4726,3773,5554,5555,2463,3640,2618,1675,2813, # 4224 + 919,2352,2975,2353,1270,4727,4115, 73,5556,5557, 647,5558,3259,2856,2259,1550, # 4240 +1346,3024,5559,1332, 883,3526,5560,5561,5562,5563,3334,2775,5564,1212, 831,1347, # 4256 +4370,4728,2331,3909,1864,3073, 720,3910,4729,4730,3911,5565,4371,5566,5567,4731, # 4272 +5568,5569,1799,4732,3774,2619,4733,3641,1645,2376,4734,5570,2938, 669,2211,2675, # 4288 +2434,5571,2893,5572,5573,1028,3260,5574,4372,2413,5575,2260,1353,5576,5577,4735, # 4304 +3183, 518,5578,4116,5579,4373,1961,5580,2143,4374,5581,5582,3025,2354,2355,3912, # 4320 + 516,1834,1454,4117,2708,4375,4736,2229,2620,1972,1129,3642,5583,2776,5584,2976, # 4336 +1422, 577,1470,3026,1524,3410,5585,5586, 432,4376,3074,3527,5587,2594,1455,2515, # 4352 +2230,1973,1175,5588,1020,2741,4118,3528,4737,5589,2742,5590,1743,1361,3075,3529, # 4368 +2649,4119,4377,4738,2295, 895, 924,4378,2171, 331,2247,3076, 166,1627,3077,1098, # 4384 +5591,1232,2894,2231,3411,4739, 657, 403,1196,2377, 542,3775,3412,1600,4379,3530, # 4400 +5592,4740,2777,3261, 576, 530,1362,4741,4742,2540,2676,3776,4120,5593, 842,3913, # 4416 +5594,2814,2032,1014,4121, 213,2709,3413, 665, 621,4380,5595,3777,2939,2435,5596, # 4432 +2436,3335,3643,3414,4743,4381,2541,4382,4744,3644,1682,4383,3531,1380,5597, 724, # 4448 +2282, 600,1670,5598,1337,1233,4745,3126,2248,5599,1621,4746,5600, 651,4384,5601, # 4464 +1612,4385,2621,5602,2857,5603,2743,2312,3078,5604, 716,2464,3079, 174,1255,2710, # 4480 +4122,3645, 548,1320,1398, 728,4123,1574,5605,1891,1197,3080,4124,5606,3081,3082, # 4496 +3778,3646,3779, 747,5607, 635,4386,4747,5608,5609,5610,4387,5611,5612,4748,5613, # 4512 +3415,4749,2437, 451,5614,3780,2542,2073,4388,2744,4389,4125,5615,1764,4750,5616, # 4528 +4390, 350,4751,2283,2395,2493,5617,4391,4126,2249,1434,4127, 488,4752, 458,4392, # 4544 +4128,3781, 771,1330,2396,3914,2576,3184,2160,2414,1553,2677,3185,4393,5618,2494, # 4560 +2895,2622,1720,2711,4394,3416,4753,5619,2543,4395,5620,3262,4396,2778,5621,2016, # 4576 +2745,5622,1155,1017,3782,3915,5623,3336,2313, 201,1865,4397,1430,5624,4129,5625, # 4592 +5626,5627,5628,5629,4398,1604,5630, 414,1866, 371,2595,4754,4755,3532,2017,3127, # 4608 +4756,1708, 960,4399, 887, 389,2172,1536,1663,1721,5631,2232,4130,2356,2940,1580, # 4624 +5632,5633,1744,4757,2544,4758,4759,5634,4760,5635,2074,5636,4761,3647,3417,2896, # 4640 +4400,5637,4401,2650,3418,2815, 673,2712,2465, 709,3533,4131,3648,4402,5638,1148, # 4656 + 502, 634,5639,5640,1204,4762,3649,1575,4763,2623,3783,5641,3784,3128, 948,3263, # 4672 + 121,1745,3916,1110,5642,4403,3083,2516,3027,4132,3785,1151,1771,3917,1488,4133, # 4688 +1987,5643,2438,3534,5644,5645,2094,5646,4404,3918,1213,1407,2816, 531,2746,2545, # 4704 +3264,1011,1537,4764,2779,4405,3129,1061,5647,3786,3787,1867,2897,5648,2018, 120, # 4720 +4406,4407,2063,3650,3265,2314,3919,2678,3419,1955,4765,4134,5649,3535,1047,2713, # 4736 +1266,5650,1368,4766,2858, 649,3420,3920,2546,2747,1102,2859,2679,5651,5652,2000, # 4752 +5653,1111,3651,2977,5654,2495,3921,3652,2817,1855,3421,3788,5655,5656,3422,2415, # 4768 +2898,3337,3266,3653,5657,2577,5658,3654,2818,4135,1460, 856,5659,3655,5660,2899, # 4784 +2978,5661,2900,3922,5662,4408, 632,2517, 875,3923,1697,3924,2296,5663,5664,4767, # 4800 +3028,1239, 580,4768,4409,5665, 914, 936,2075,1190,4136,1039,2124,5666,5667,5668, # 4816 +5669,3423,1473,5670,1354,4410,3925,4769,2173,3084,4137, 915,3338,4411,4412,3339, # 4832 +1605,1835,5671,2748, 398,3656,4413,3926,4138, 328,1913,2860,4139,3927,1331,4414, # 4848 +3029, 937,4415,5672,3657,4140,4141,3424,2161,4770,3425, 524, 742, 538,3085,1012, # 4864 +5673,5674,3928,2466,5675, 658,1103, 225,3929,5676,5677,4771,5678,4772,5679,3267, # 4880 +1243,5680,4142, 963,2250,4773,5681,2714,3658,3186,5682,5683,2596,2332,5684,4774, # 4896 +5685,5686,5687,3536, 957,3426,2547,2033,1931,2941,2467, 870,2019,3659,1746,2780, # 4912 +2781,2439,2468,5688,3930,5689,3789,3130,3790,3537,3427,3791,5690,1179,3086,5691, # 4928 +3187,2378,4416,3792,2548,3188,3131,2749,4143,5692,3428,1556,2549,2297, 977,2901, # 4944 +2034,4144,1205,3429,5693,1765,3430,3189,2125,1271, 714,1689,4775,3538,5694,2333, # 4960 +3931, 533,4417,3660,2184, 617,5695,2469,3340,3539,2315,5696,5697,3190,5698,5699, # 4976 +3932,1988, 618, 427,2651,3540,3431,5700,5701,1244,1690,5702,2819,4418,4776,5703, # 4992 +3541,4777,5704,2284,1576, 473,3661,4419,3432, 972,5705,3662,5706,3087,5707,5708, # 5008 +4778,4779,5709,3793,4145,4146,5710, 153,4780, 356,5711,1892,2902,4420,2144, 408, # 5024 + 803,2357,5712,3933,5713,4421,1646,2578,2518,4781,4782,3934,5714,3935,4422,5715, # 5040 +2416,3433, 752,5716,5717,1962,3341,2979,5718, 746,3030,2470,4783,4423,3794, 698, # 5056 +4784,1893,4424,3663,2550,4785,3664,3936,5719,3191,3434,5720,1824,1302,4147,2715, # 5072 +3937,1974,4425,5721,4426,3192, 823,1303,1288,1236,2861,3542,4148,3435, 774,3938, # 5088 +5722,1581,4786,1304,2862,3939,4787,5723,2440,2162,1083,3268,4427,4149,4428, 344, # 5104 +1173, 288,2316, 454,1683,5724,5725,1461,4788,4150,2597,5726,5727,4789, 985, 894, # 5120 +5728,3436,3193,5729,1914,2942,3795,1989,5730,2111,1975,5731,4151,5732,2579,1194, # 5136 + 425,5733,4790,3194,1245,3796,4429,5734,5735,2863,5736, 636,4791,1856,3940, 760, # 5152 +1800,5737,4430,2212,1508,4792,4152,1894,1684,2298,5738,5739,4793,4431,4432,2213, # 5168 + 479,5740,5741, 832,5742,4153,2496,5743,2980,2497,3797, 990,3132, 627,1815,2652, # 5184 +4433,1582,4434,2126,2112,3543,4794,5744, 799,4435,3195,5745,4795,2113,1737,3031, # 5200 +1018, 543, 754,4436,3342,1676,4796,4797,4154,4798,1489,5746,3544,5747,2624,2903, # 5216 +4155,5748,5749,2981,5750,5751,5752,5753,3196,4799,4800,2185,1722,5754,3269,3270, # 5232 +1843,3665,1715, 481, 365,1976,1857,5755,5756,1963,2498,4801,5757,2127,3666,3271, # 5248 + 433,1895,2064,2076,5758, 602,2750,5759,5760,5761,5762,5763,3032,1628,3437,5764, # 5264 +3197,4802,4156,2904,4803,2519,5765,2551,2782,5766,5767,5768,3343,4804,2905,5769, # 5280 +4805,5770,2864,4806,4807,1221,2982,4157,2520,5771,5772,5773,1868,1990,5774,5775, # 5296 +5776,1896,5777,5778,4808,1897,4158, 318,5779,2095,4159,4437,5780,5781, 485,5782, # 5312 + 938,3941, 553,2680, 116,5783,3942,3667,5784,3545,2681,2783,3438,3344,2820,5785, # 5328 +3668,2943,4160,1747,2944,2983,5786,5787, 207,5788,4809,5789,4810,2521,5790,3033, # 5344 + 890,3669,3943,5791,1878,3798,3439,5792,2186,2358,3440,1652,5793,5794,5795, 941, # 5360 +2299, 208,3546,4161,2020, 330,4438,3944,2906,2499,3799,4439,4811,5796,5797,5798, # 5376 +) + diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/big5prober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/big5prober.py new file mode 100644 index 0000000..98f9970 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/big5prober.py @@ -0,0 +1,47 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .mbcharsetprober import MultiByteCharSetProber +from .codingstatemachine import CodingStateMachine +from .chardistribution import Big5DistributionAnalysis +from .mbcssm import BIG5_SM_MODEL + + +class Big5Prober(MultiByteCharSetProber): + def __init__(self): + super(Big5Prober, self).__init__() + self.coding_sm = CodingStateMachine(BIG5_SM_MODEL) + self.distribution_analyzer = Big5DistributionAnalysis() + self.reset() + + @property + def charset_name(self): + return "Big5" + + @property + def language(self): + return "Chinese" diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/chardistribution.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/chardistribution.py new file mode 100644 index 0000000..c0395f4 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/chardistribution.py @@ -0,0 +1,233 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .euctwfreq import (EUCTW_CHAR_TO_FREQ_ORDER, EUCTW_TABLE_SIZE, + EUCTW_TYPICAL_DISTRIBUTION_RATIO) +from .euckrfreq import (EUCKR_CHAR_TO_FREQ_ORDER, EUCKR_TABLE_SIZE, + EUCKR_TYPICAL_DISTRIBUTION_RATIO) +from .gb2312freq import (GB2312_CHAR_TO_FREQ_ORDER, GB2312_TABLE_SIZE, + GB2312_TYPICAL_DISTRIBUTION_RATIO) +from .big5freq import (BIG5_CHAR_TO_FREQ_ORDER, BIG5_TABLE_SIZE, + BIG5_TYPICAL_DISTRIBUTION_RATIO) +from .jisfreq import (JIS_CHAR_TO_FREQ_ORDER, JIS_TABLE_SIZE, + JIS_TYPICAL_DISTRIBUTION_RATIO) + + +class CharDistributionAnalysis(object): + ENOUGH_DATA_THRESHOLD = 1024 + SURE_YES = 0.99 + SURE_NO = 0.01 + MINIMUM_DATA_THRESHOLD = 3 + + def __init__(self): + # Mapping table to get frequency order from char order (get from + # GetOrder()) + self._char_to_freq_order = None + self._table_size = None # Size of above table + # This is a constant value which varies from language to language, + # used in calculating confidence. See + # http://www.mozilla.org/projects/intl/UniversalCharsetDetection.html + # for further detail. + self.typical_distribution_ratio = None + self._done = None + self._total_chars = None + self._freq_chars = None + self.reset() + + def reset(self): + """reset analyser, clear any state""" + # If this flag is set to True, detection is done and conclusion has + # been made + self._done = False + self._total_chars = 0 # Total characters encountered + # The number of characters whose frequency order is less than 512 + self._freq_chars = 0 + + def feed(self, char, char_len): + """feed a character with known length""" + if char_len == 2: + # we only care about 2-bytes character in our distribution analysis + order = self.get_order(char) + else: + order = -1 + if order >= 0: + self._total_chars += 1 + # order is valid + if order < self._table_size: + if 512 > self._char_to_freq_order[order]: + self._freq_chars += 1 + + def get_confidence(self): + """return confidence based on existing data""" + # if we didn't receive any character in our consideration range, + # return negative answer + if self._total_chars <= 0 or self._freq_chars <= self.MINIMUM_DATA_THRESHOLD: + return self.SURE_NO + + if self._total_chars != self._freq_chars: + r = (self._freq_chars / ((self._total_chars - self._freq_chars) + * self.typical_distribution_ratio)) + if r < self.SURE_YES: + return r + + # normalize confidence (we don't want to be 100% sure) + return self.SURE_YES + + def got_enough_data(self): + # It is not necessary to receive all data to draw conclusion. + # For charset detection, certain amount of data is enough + return self._total_chars > self.ENOUGH_DATA_THRESHOLD + + def get_order(self, byte_str): + # We do not handle characters based on the original encoding string, + # but convert this encoding string to a number, here called order. + # This allows multiple encodings of a language to share one frequency + # table. + return -1 + + +class EUCTWDistributionAnalysis(CharDistributionAnalysis): + def __init__(self): + super(EUCTWDistributionAnalysis, self).__init__() + self._char_to_freq_order = EUCTW_CHAR_TO_FREQ_ORDER + self._table_size = EUCTW_TABLE_SIZE + self.typical_distribution_ratio = EUCTW_TYPICAL_DISTRIBUTION_RATIO + + def get_order(self, byte_str): + # for euc-TW encoding, we are interested + # first byte range: 0xc4 -- 0xfe + # second byte range: 0xa1 -- 0xfe + # no validation needed here. State machine has done that + first_char = byte_str[0] + if first_char >= 0xC4: + return 94 * (first_char - 0xC4) + byte_str[1] - 0xA1 + else: + return -1 + + +class EUCKRDistributionAnalysis(CharDistributionAnalysis): + def __init__(self): + super(EUCKRDistributionAnalysis, self).__init__() + self._char_to_freq_order = EUCKR_CHAR_TO_FREQ_ORDER + self._table_size = EUCKR_TABLE_SIZE + self.typical_distribution_ratio = EUCKR_TYPICAL_DISTRIBUTION_RATIO + + def get_order(self, byte_str): + # for euc-KR encoding, we are interested + # first byte range: 0xb0 -- 0xfe + # second byte range: 0xa1 -- 0xfe + # no validation needed here. State machine has done that + first_char = byte_str[0] + if first_char >= 0xB0: + return 94 * (first_char - 0xB0) + byte_str[1] - 0xA1 + else: + return -1 + + +class GB2312DistributionAnalysis(CharDistributionAnalysis): + def __init__(self): + super(GB2312DistributionAnalysis, self).__init__() + self._char_to_freq_order = GB2312_CHAR_TO_FREQ_ORDER + self._table_size = GB2312_TABLE_SIZE + self.typical_distribution_ratio = GB2312_TYPICAL_DISTRIBUTION_RATIO + + def get_order(self, byte_str): + # for GB2312 encoding, we are interested + # first byte range: 0xb0 -- 0xfe + # second byte range: 0xa1 -- 0xfe + # no validation needed here. State machine has done that + first_char, second_char = byte_str[0], byte_str[1] + if (first_char >= 0xB0) and (second_char >= 0xA1): + return 94 * (first_char - 0xB0) + second_char - 0xA1 + else: + return -1 + + +class Big5DistributionAnalysis(CharDistributionAnalysis): + def __init__(self): + super(Big5DistributionAnalysis, self).__init__() + self._char_to_freq_order = BIG5_CHAR_TO_FREQ_ORDER + self._table_size = BIG5_TABLE_SIZE + self.typical_distribution_ratio = BIG5_TYPICAL_DISTRIBUTION_RATIO + + def get_order(self, byte_str): + # for big5 encoding, we are interested + # first byte range: 0xa4 -- 0xfe + # second byte range: 0x40 -- 0x7e , 0xa1 -- 0xfe + # no validation needed here. State machine has done that + first_char, second_char = byte_str[0], byte_str[1] + if first_char >= 0xA4: + if second_char >= 0xA1: + return 157 * (first_char - 0xA4) + second_char - 0xA1 + 63 + else: + return 157 * (first_char - 0xA4) + second_char - 0x40 + else: + return -1 + + +class SJISDistributionAnalysis(CharDistributionAnalysis): + def __init__(self): + super(SJISDistributionAnalysis, self).__init__() + self._char_to_freq_order = JIS_CHAR_TO_FREQ_ORDER + self._table_size = JIS_TABLE_SIZE + self.typical_distribution_ratio = JIS_TYPICAL_DISTRIBUTION_RATIO + + def get_order(self, byte_str): + # for sjis encoding, we are interested + # first byte range: 0x81 -- 0x9f , 0xe0 -- 0xfe + # second byte range: 0x40 -- 0x7e, 0x81 -- oxfe + # no validation needed here. State machine has done that + first_char, second_char = byte_str[0], byte_str[1] + if (first_char >= 0x81) and (first_char <= 0x9F): + order = 188 * (first_char - 0x81) + elif (first_char >= 0xE0) and (first_char <= 0xEF): + order = 188 * (first_char - 0xE0 + 31) + else: + return -1 + order = order + second_char - 0x40 + if second_char > 0x7F: + order = -1 + return order + + +class EUCJPDistributionAnalysis(CharDistributionAnalysis): + def __init__(self): + super(EUCJPDistributionAnalysis, self).__init__() + self._char_to_freq_order = JIS_CHAR_TO_FREQ_ORDER + self._table_size = JIS_TABLE_SIZE + self.typical_distribution_ratio = JIS_TYPICAL_DISTRIBUTION_RATIO + + def get_order(self, byte_str): + # for euc-JP encoding, we are interested + # first byte range: 0xa0 -- 0xfe + # second byte range: 0xa1 -- 0xfe + # no validation needed here. State machine has done that + char = byte_str[0] + if char >= 0xA0: + return 94 * (char - 0xA1) + byte_str[1] - 0xa1 + else: + return -1 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/charsetgroupprober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/charsetgroupprober.py new file mode 100644 index 0000000..8b3738e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/charsetgroupprober.py @@ -0,0 +1,106 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .enums import ProbingState +from .charsetprober import CharSetProber + + +class CharSetGroupProber(CharSetProber): + def __init__(self, lang_filter=None): + super(CharSetGroupProber, self).__init__(lang_filter=lang_filter) + self._active_num = 0 + self.probers = [] + self._best_guess_prober = None + + def reset(self): + super(CharSetGroupProber, self).reset() + self._active_num = 0 + for prober in self.probers: + if prober: + prober.reset() + prober.active = True + self._active_num += 1 + self._best_guess_prober = None + + @property + def charset_name(self): + if not self._best_guess_prober: + self.get_confidence() + if not self._best_guess_prober: + return None + return self._best_guess_prober.charset_name + + @property + def language(self): + if not self._best_guess_prober: + self.get_confidence() + if not self._best_guess_prober: + return None + return self._best_guess_prober.language + + def feed(self, byte_str): + for prober in self.probers: + if not prober: + continue + if not prober.active: + continue + state = prober.feed(byte_str) + if not state: + continue + if state == ProbingState.FOUND_IT: + self._best_guess_prober = prober + return self.state + elif state == ProbingState.NOT_ME: + prober.active = False + self._active_num -= 1 + if self._active_num <= 0: + self._state = ProbingState.NOT_ME + return self.state + return self.state + + def get_confidence(self): + state = self.state + if state == ProbingState.FOUND_IT: + return 0.99 + elif state == ProbingState.NOT_ME: + return 0.01 + best_conf = 0.0 + self._best_guess_prober = None + for prober in self.probers: + if not prober: + continue + if not prober.active: + self.logger.debug('%s not active', prober.charset_name) + continue + conf = prober.get_confidence() + self.logger.debug('%s %s confidence = %s', prober.charset_name, prober.language, conf) + if best_conf < conf: + best_conf = conf + self._best_guess_prober = prober + if not self._best_guess_prober: + return 0.0 + return best_conf diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/charsetprober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/charsetprober.py new file mode 100644 index 0000000..eac4e59 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/charsetprober.py @@ -0,0 +1,145 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +import logging +import re + +from .enums import ProbingState + + +class CharSetProber(object): + + SHORTCUT_THRESHOLD = 0.95 + + def __init__(self, lang_filter=None): + self._state = None + self.lang_filter = lang_filter + self.logger = logging.getLogger(__name__) + + def reset(self): + self._state = ProbingState.DETECTING + + @property + def charset_name(self): + return None + + def feed(self, buf): + pass + + @property + def state(self): + return self._state + + def get_confidence(self): + return 0.0 + + @staticmethod + def filter_high_byte_only(buf): + buf = re.sub(b'([\x00-\x7F])+', b' ', buf) + return buf + + @staticmethod + def filter_international_words(buf): + """ + We define three types of bytes: + alphabet: english alphabets [a-zA-Z] + international: international characters [\x80-\xFF] + marker: everything else [^a-zA-Z\x80-\xFF] + + The input buffer can be thought to contain a series of words delimited + by markers. This function works to filter all words that contain at + least one international character. All contiguous sequences of markers + are replaced by a single space ascii character. + + This filter applies to all scripts which do not use English characters. + """ + filtered = bytearray() + + # This regex expression filters out only words that have at-least one + # international character. The word may include one marker character at + # the end. + words = re.findall(b'[a-zA-Z]*[\x80-\xFF]+[a-zA-Z]*[^a-zA-Z\x80-\xFF]?', + buf) + + for word in words: + filtered.extend(word[:-1]) + + # If the last character in the word is a marker, replace it with a + # space as markers shouldn't affect our analysis (they are used + # similarly across all languages and may thus have similar + # frequencies). + last_char = word[-1:] + if not last_char.isalpha() and last_char < b'\x80': + last_char = b' ' + filtered.extend(last_char) + + return filtered + + @staticmethod + def filter_with_english_letters(buf): + """ + Returns a copy of ``buf`` that retains only the sequences of English + alphabet and high byte characters that are not between <> characters. + Also retains English alphabet and high byte characters immediately + before occurrences of >. + + This filter can be applied to all scripts which contain both English + characters and extended ASCII characters, but is currently only used by + ``Latin1Prober``. + """ + filtered = bytearray() + in_tag = False + prev = 0 + + for curr in range(len(buf)): + # Slice here to get bytes instead of an int with Python 3 + buf_char = buf[curr:curr + 1] + # Check if we're coming out of or entering an HTML tag + if buf_char == b'>': + in_tag = False + elif buf_char == b'<': + in_tag = True + + # If current character is not extended-ASCII and not alphabetic... + if buf_char < b'\x80' and not buf_char.isalpha(): + # ...and we're not in a tag + if curr > prev and not in_tag: + # Keep everything after last non-extended-ASCII, + # non-alphabetic character + filtered.extend(buf[prev:curr]) + # Output a space to delimit stretch we kept + filtered.extend(b' ') + prev = curr + 1 + + # If we're not in a tag... + if not in_tag: + # Keep everything after last non-extended-ASCII, non-alphabetic + # character + filtered.extend(buf[prev:]) + + return filtered diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/cli/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/cli/__init__.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/cli/__init__.py @@ -0,0 +1 @@ + diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/cli/chardetect.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/cli/chardetect.py new file mode 100644 index 0000000..c61136b --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/cli/chardetect.py @@ -0,0 +1,85 @@ +#!/usr/bin/env python +""" +Script which takes one or more file paths and reports on their detected +encodings + +Example:: + + % chardetect somefile someotherfile + somefile: windows-1252 with confidence 0.5 + someotherfile: ascii with confidence 1.0 + +If no paths are provided, it takes its input from stdin. + +""" + +from __future__ import absolute_import, print_function, unicode_literals + +import argparse +import sys + +from pip._vendor.chardet import __version__ +from pip._vendor.chardet.compat import PY2 +from pip._vendor.chardet.universaldetector import UniversalDetector + + +def description_of(lines, name='stdin'): + """ + Return a string describing the probable encoding of a file or + list of strings. + + :param lines: The lines to get the encoding of. + :type lines: Iterable of bytes + :param name: Name of file or collection of lines + :type name: str + """ + u = UniversalDetector() + for line in lines: + line = bytearray(line) + u.feed(line) + # shortcut out of the loop to save reading further - particularly useful if we read a BOM. + if u.done: + break + u.close() + result = u.result + if PY2: + name = name.decode(sys.getfilesystemencoding(), 'ignore') + if result['encoding']: + return '{0}: {1} with confidence {2}'.format(name, result['encoding'], + result['confidence']) + else: + return '{0}: no result'.format(name) + + +def main(argv=None): + """ + Handles command line arguments and gets things started. + + :param argv: List of arguments, as if specified on the command-line. + If None, ``sys.argv[1:]`` is used instead. + :type argv: list of str + """ + # Get command line arguments + parser = argparse.ArgumentParser( + description="Takes one or more file paths and reports their detected \ + encodings") + parser.add_argument('input', + help='File whose encoding we would like to determine. \ + (default: stdin)', + type=argparse.FileType('rb'), nargs='*', + default=[sys.stdin if PY2 else sys.stdin.buffer]) + parser.add_argument('--version', action='version', + version='%(prog)s {0}'.format(__version__)) + args = parser.parse_args(argv) + + for f in args.input: + if f.isatty(): + print("You are running chardetect interactively. Press " + + "CTRL-D twice at the start of a blank line to signal the " + + "end of your input. If you want help, run chardetect " + + "--help\n", file=sys.stderr) + print(description_of(f, f.name)) + + +if __name__ == '__main__': + main() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/codingstatemachine.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/codingstatemachine.py new file mode 100644 index 0000000..68fba44 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/codingstatemachine.py @@ -0,0 +1,88 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +import logging + +from .enums import MachineState + + +class CodingStateMachine(object): + """ + A state machine to verify a byte sequence for a particular encoding. For + each byte the detector receives, it will feed that byte to every active + state machine available, one byte at a time. The state machine changes its + state based on its previous state and the byte it receives. There are 3 + states in a state machine that are of interest to an auto-detector: + + START state: This is the state to start with, or a legal byte sequence + (i.e. a valid code point) for character has been identified. + + ME state: This indicates that the state machine identified a byte sequence + that is specific to the charset it is designed for and that + there is no other possible encoding which can contain this byte + sequence. This will to lead to an immediate positive answer for + the detector. + + ERROR state: This indicates the state machine identified an illegal byte + sequence for that encoding. This will lead to an immediate + negative answer for this encoding. Detector will exclude this + encoding from consideration from here on. + """ + def __init__(self, sm): + self._model = sm + self._curr_byte_pos = 0 + self._curr_char_len = 0 + self._curr_state = None + self.logger = logging.getLogger(__name__) + self.reset() + + def reset(self): + self._curr_state = MachineState.START + + def next_state(self, c): + # for each byte we get its class + # if it is first byte, we also get byte length + byte_class = self._model['class_table'][c] + if self._curr_state == MachineState.START: + self._curr_byte_pos = 0 + self._curr_char_len = self._model['char_len_table'][byte_class] + # from byte's class and state_table, we get its next state + curr_state = (self._curr_state * self._model['class_factor'] + + byte_class) + self._curr_state = self._model['state_table'][curr_state] + self._curr_byte_pos += 1 + return self._curr_state + + def get_current_charlen(self): + return self._curr_char_len + + def get_coding_state_machine(self): + return self._model['name'] + + @property + def language(self): + return self._model['language'] diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/compat.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/compat.py new file mode 100644 index 0000000..ddd7468 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/compat.py @@ -0,0 +1,34 @@ +######################## BEGIN LICENSE BLOCK ######################## +# Contributor(s): +# Dan Blanchard +# Ian Cordasco +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +import sys + + +if sys.version_info < (3, 0): + PY2 = True + PY3 = False + base_str = (str, unicode) + text_type = unicode +else: + PY2 = False + PY3 = True + base_str = (bytes, str) + text_type = str diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/cp949prober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/cp949prober.py new file mode 100644 index 0000000..efd793a --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/cp949prober.py @@ -0,0 +1,49 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .chardistribution import EUCKRDistributionAnalysis +from .codingstatemachine import CodingStateMachine +from .mbcharsetprober import MultiByteCharSetProber +from .mbcssm import CP949_SM_MODEL + + +class CP949Prober(MultiByteCharSetProber): + def __init__(self): + super(CP949Prober, self).__init__() + self.coding_sm = CodingStateMachine(CP949_SM_MODEL) + # NOTE: CP949 is a superset of EUC-KR, so the distribution should be + # not different. + self.distribution_analyzer = EUCKRDistributionAnalysis() + self.reset() + + @property + def charset_name(self): + return "CP949" + + @property + def language(self): + return "Korean" diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/enums.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/enums.py new file mode 100644 index 0000000..0451207 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/enums.py @@ -0,0 +1,76 @@ +""" +All of the Enums that are used throughout the chardet package. + +:author: Dan Blanchard (dan.blanchard@gmail.com) +""" + + +class InputState(object): + """ + This enum represents the different states a universal detector can be in. + """ + PURE_ASCII = 0 + ESC_ASCII = 1 + HIGH_BYTE = 2 + + +class LanguageFilter(object): + """ + This enum represents the different language filters we can apply to a + ``UniversalDetector``. + """ + CHINESE_SIMPLIFIED = 0x01 + CHINESE_TRADITIONAL = 0x02 + JAPANESE = 0x04 + KOREAN = 0x08 + NON_CJK = 0x10 + ALL = 0x1F + CHINESE = CHINESE_SIMPLIFIED | CHINESE_TRADITIONAL + CJK = CHINESE | JAPANESE | KOREAN + + +class ProbingState(object): + """ + This enum represents the different states a prober can be in. + """ + DETECTING = 0 + FOUND_IT = 1 + NOT_ME = 2 + + +class MachineState(object): + """ + This enum represents the different states a state machine can be in. + """ + START = 0 + ERROR = 1 + ITS_ME = 2 + + +class SequenceLikelihood(object): + """ + This enum represents the likelihood of a character following the previous one. + """ + NEGATIVE = 0 + UNLIKELY = 1 + LIKELY = 2 + POSITIVE = 3 + + @classmethod + def get_num_categories(cls): + """:returns: The number of likelihood categories in the enum.""" + return 4 + + +class CharacterCategory(object): + """ + This enum represents the different categories language models for + ``SingleByteCharsetProber`` put characters into. + + Anything less than CONTROL is considered a letter. + """ + UNDEFINED = 255 + LINE_BREAK = 254 + SYMBOL = 253 + DIGIT = 252 + CONTROL = 251 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/escprober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/escprober.py new file mode 100644 index 0000000..c70493f --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/escprober.py @@ -0,0 +1,101 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetprober import CharSetProber +from .codingstatemachine import CodingStateMachine +from .enums import LanguageFilter, ProbingState, MachineState +from .escsm import (HZ_SM_MODEL, ISO2022CN_SM_MODEL, ISO2022JP_SM_MODEL, + ISO2022KR_SM_MODEL) + + +class EscCharSetProber(CharSetProber): + """ + This CharSetProber uses a "code scheme" approach for detecting encodings, + whereby easily recognizable escape or shift sequences are relied on to + identify these encodings. + """ + + def __init__(self, lang_filter=None): + super(EscCharSetProber, self).__init__(lang_filter=lang_filter) + self.coding_sm = [] + if self.lang_filter & LanguageFilter.CHINESE_SIMPLIFIED: + self.coding_sm.append(CodingStateMachine(HZ_SM_MODEL)) + self.coding_sm.append(CodingStateMachine(ISO2022CN_SM_MODEL)) + if self.lang_filter & LanguageFilter.JAPANESE: + self.coding_sm.append(CodingStateMachine(ISO2022JP_SM_MODEL)) + if self.lang_filter & LanguageFilter.KOREAN: + self.coding_sm.append(CodingStateMachine(ISO2022KR_SM_MODEL)) + self.active_sm_count = None + self._detected_charset = None + self._detected_language = None + self._state = None + self.reset() + + def reset(self): + super(EscCharSetProber, self).reset() + for coding_sm in self.coding_sm: + if not coding_sm: + continue + coding_sm.active = True + coding_sm.reset() + self.active_sm_count = len(self.coding_sm) + self._detected_charset = None + self._detected_language = None + + @property + def charset_name(self): + return self._detected_charset + + @property + def language(self): + return self._detected_language + + def get_confidence(self): + if self._detected_charset: + return 0.99 + else: + return 0.00 + + def feed(self, byte_str): + for c in byte_str: + for coding_sm in self.coding_sm: + if not coding_sm or not coding_sm.active: + continue + coding_state = coding_sm.next_state(c) + if coding_state == MachineState.ERROR: + coding_sm.active = False + self.active_sm_count -= 1 + if self.active_sm_count <= 0: + self._state = ProbingState.NOT_ME + return self.state + elif coding_state == MachineState.ITS_ME: + self._state = ProbingState.FOUND_IT + self._detected_charset = coding_sm.get_coding_state_machine() + self._detected_language = coding_sm.language + return self.state + + return self.state diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/escsm.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/escsm.py new file mode 100644 index 0000000..0069523 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/escsm.py @@ -0,0 +1,246 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .enums import MachineState + +HZ_CLS = ( +1,0,0,0,0,0,0,0, # 00 - 07 +0,0,0,0,0,0,0,0, # 08 - 0f +0,0,0,0,0,0,0,0, # 10 - 17 +0,0,0,1,0,0,0,0, # 18 - 1f +0,0,0,0,0,0,0,0, # 20 - 27 +0,0,0,0,0,0,0,0, # 28 - 2f +0,0,0,0,0,0,0,0, # 30 - 37 +0,0,0,0,0,0,0,0, # 38 - 3f +0,0,0,0,0,0,0,0, # 40 - 47 +0,0,0,0,0,0,0,0, # 48 - 4f +0,0,0,0,0,0,0,0, # 50 - 57 +0,0,0,0,0,0,0,0, # 58 - 5f +0,0,0,0,0,0,0,0, # 60 - 67 +0,0,0,0,0,0,0,0, # 68 - 6f +0,0,0,0,0,0,0,0, # 70 - 77 +0,0,0,4,0,5,2,0, # 78 - 7f +1,1,1,1,1,1,1,1, # 80 - 87 +1,1,1,1,1,1,1,1, # 88 - 8f +1,1,1,1,1,1,1,1, # 90 - 97 +1,1,1,1,1,1,1,1, # 98 - 9f +1,1,1,1,1,1,1,1, # a0 - a7 +1,1,1,1,1,1,1,1, # a8 - af +1,1,1,1,1,1,1,1, # b0 - b7 +1,1,1,1,1,1,1,1, # b8 - bf +1,1,1,1,1,1,1,1, # c0 - c7 +1,1,1,1,1,1,1,1, # c8 - cf +1,1,1,1,1,1,1,1, # d0 - d7 +1,1,1,1,1,1,1,1, # d8 - df +1,1,1,1,1,1,1,1, # e0 - e7 +1,1,1,1,1,1,1,1, # e8 - ef +1,1,1,1,1,1,1,1, # f0 - f7 +1,1,1,1,1,1,1,1, # f8 - ff +) + +HZ_ST = ( +MachineState.START,MachineState.ERROR, 3,MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,# 00-07 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,# 08-0f +MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START, 4,MachineState.ERROR,# 10-17 + 5,MachineState.ERROR, 6,MachineState.ERROR, 5, 5, 4,MachineState.ERROR,# 18-1f + 4,MachineState.ERROR, 4, 4, 4,MachineState.ERROR, 4,MachineState.ERROR,# 20-27 + 4,MachineState.ITS_ME,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,# 28-2f +) + +HZ_CHAR_LEN_TABLE = (0, 0, 0, 0, 0, 0) + +HZ_SM_MODEL = {'class_table': HZ_CLS, + 'class_factor': 6, + 'state_table': HZ_ST, + 'char_len_table': HZ_CHAR_LEN_TABLE, + 'name': "HZ-GB-2312", + 'language': 'Chinese'} + +ISO2022CN_CLS = ( +2,0,0,0,0,0,0,0, # 00 - 07 +0,0,0,0,0,0,0,0, # 08 - 0f +0,0,0,0,0,0,0,0, # 10 - 17 +0,0,0,1,0,0,0,0, # 18 - 1f +0,0,0,0,0,0,0,0, # 20 - 27 +0,3,0,0,0,0,0,0, # 28 - 2f +0,0,0,0,0,0,0,0, # 30 - 37 +0,0,0,0,0,0,0,0, # 38 - 3f +0,0,0,4,0,0,0,0, # 40 - 47 +0,0,0,0,0,0,0,0, # 48 - 4f +0,0,0,0,0,0,0,0, # 50 - 57 +0,0,0,0,0,0,0,0, # 58 - 5f +0,0,0,0,0,0,0,0, # 60 - 67 +0,0,0,0,0,0,0,0, # 68 - 6f +0,0,0,0,0,0,0,0, # 70 - 77 +0,0,0,0,0,0,0,0, # 78 - 7f +2,2,2,2,2,2,2,2, # 80 - 87 +2,2,2,2,2,2,2,2, # 88 - 8f +2,2,2,2,2,2,2,2, # 90 - 97 +2,2,2,2,2,2,2,2, # 98 - 9f +2,2,2,2,2,2,2,2, # a0 - a7 +2,2,2,2,2,2,2,2, # a8 - af +2,2,2,2,2,2,2,2, # b0 - b7 +2,2,2,2,2,2,2,2, # b8 - bf +2,2,2,2,2,2,2,2, # c0 - c7 +2,2,2,2,2,2,2,2, # c8 - cf +2,2,2,2,2,2,2,2, # d0 - d7 +2,2,2,2,2,2,2,2, # d8 - df +2,2,2,2,2,2,2,2, # e0 - e7 +2,2,2,2,2,2,2,2, # e8 - ef +2,2,2,2,2,2,2,2, # f0 - f7 +2,2,2,2,2,2,2,2, # f8 - ff +) + +ISO2022CN_ST = ( +MachineState.START, 3,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,# 00-07 +MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 08-0f +MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,# 10-17 +MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 4,MachineState.ERROR,# 18-1f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 20-27 + 5, 6,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 28-2f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 30-37 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.START,# 38-3f +) + +ISO2022CN_CHAR_LEN_TABLE = (0, 0, 0, 0, 0, 0, 0, 0, 0) + +ISO2022CN_SM_MODEL = {'class_table': ISO2022CN_CLS, + 'class_factor': 9, + 'state_table': ISO2022CN_ST, + 'char_len_table': ISO2022CN_CHAR_LEN_TABLE, + 'name': "ISO-2022-CN", + 'language': 'Chinese'} + +ISO2022JP_CLS = ( +2,0,0,0,0,0,0,0, # 00 - 07 +0,0,0,0,0,0,2,2, # 08 - 0f +0,0,0,0,0,0,0,0, # 10 - 17 +0,0,0,1,0,0,0,0, # 18 - 1f +0,0,0,0,7,0,0,0, # 20 - 27 +3,0,0,0,0,0,0,0, # 28 - 2f +0,0,0,0,0,0,0,0, # 30 - 37 +0,0,0,0,0,0,0,0, # 38 - 3f +6,0,4,0,8,0,0,0, # 40 - 47 +0,9,5,0,0,0,0,0, # 48 - 4f +0,0,0,0,0,0,0,0, # 50 - 57 +0,0,0,0,0,0,0,0, # 58 - 5f +0,0,0,0,0,0,0,0, # 60 - 67 +0,0,0,0,0,0,0,0, # 68 - 6f +0,0,0,0,0,0,0,0, # 70 - 77 +0,0,0,0,0,0,0,0, # 78 - 7f +2,2,2,2,2,2,2,2, # 80 - 87 +2,2,2,2,2,2,2,2, # 88 - 8f +2,2,2,2,2,2,2,2, # 90 - 97 +2,2,2,2,2,2,2,2, # 98 - 9f +2,2,2,2,2,2,2,2, # a0 - a7 +2,2,2,2,2,2,2,2, # a8 - af +2,2,2,2,2,2,2,2, # b0 - b7 +2,2,2,2,2,2,2,2, # b8 - bf +2,2,2,2,2,2,2,2, # c0 - c7 +2,2,2,2,2,2,2,2, # c8 - cf +2,2,2,2,2,2,2,2, # d0 - d7 +2,2,2,2,2,2,2,2, # d8 - df +2,2,2,2,2,2,2,2, # e0 - e7 +2,2,2,2,2,2,2,2, # e8 - ef +2,2,2,2,2,2,2,2, # f0 - f7 +2,2,2,2,2,2,2,2, # f8 - ff +) + +ISO2022JP_ST = ( +MachineState.START, 3,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,# 00-07 +MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 08-0f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,# 10-17 +MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,# 18-1f +MachineState.ERROR, 5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 4,MachineState.ERROR,MachineState.ERROR,# 20-27 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 6,MachineState.ITS_ME,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,# 28-2f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,# 30-37 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 38-3f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.START,MachineState.START,# 40-47 +) + +ISO2022JP_CHAR_LEN_TABLE = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0) + +ISO2022JP_SM_MODEL = {'class_table': ISO2022JP_CLS, + 'class_factor': 10, + 'state_table': ISO2022JP_ST, + 'char_len_table': ISO2022JP_CHAR_LEN_TABLE, + 'name': "ISO-2022-JP", + 'language': 'Japanese'} + +ISO2022KR_CLS = ( +2,0,0,0,0,0,0,0, # 00 - 07 +0,0,0,0,0,0,0,0, # 08 - 0f +0,0,0,0,0,0,0,0, # 10 - 17 +0,0,0,1,0,0,0,0, # 18 - 1f +0,0,0,0,3,0,0,0, # 20 - 27 +0,4,0,0,0,0,0,0, # 28 - 2f +0,0,0,0,0,0,0,0, # 30 - 37 +0,0,0,0,0,0,0,0, # 38 - 3f +0,0,0,5,0,0,0,0, # 40 - 47 +0,0,0,0,0,0,0,0, # 48 - 4f +0,0,0,0,0,0,0,0, # 50 - 57 +0,0,0,0,0,0,0,0, # 58 - 5f +0,0,0,0,0,0,0,0, # 60 - 67 +0,0,0,0,0,0,0,0, # 68 - 6f +0,0,0,0,0,0,0,0, # 70 - 77 +0,0,0,0,0,0,0,0, # 78 - 7f +2,2,2,2,2,2,2,2, # 80 - 87 +2,2,2,2,2,2,2,2, # 88 - 8f +2,2,2,2,2,2,2,2, # 90 - 97 +2,2,2,2,2,2,2,2, # 98 - 9f +2,2,2,2,2,2,2,2, # a0 - a7 +2,2,2,2,2,2,2,2, # a8 - af +2,2,2,2,2,2,2,2, # b0 - b7 +2,2,2,2,2,2,2,2, # b8 - bf +2,2,2,2,2,2,2,2, # c0 - c7 +2,2,2,2,2,2,2,2, # c8 - cf +2,2,2,2,2,2,2,2, # d0 - d7 +2,2,2,2,2,2,2,2, # d8 - df +2,2,2,2,2,2,2,2, # e0 - e7 +2,2,2,2,2,2,2,2, # e8 - ef +2,2,2,2,2,2,2,2, # f0 - f7 +2,2,2,2,2,2,2,2, # f8 - ff +) + +ISO2022KR_ST = ( +MachineState.START, 3,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,# 00-07 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,# 08-0f +MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 4,MachineState.ERROR,MachineState.ERROR,# 10-17 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 18-1f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.START,MachineState.START,MachineState.START,MachineState.START,# 20-27 +) + +ISO2022KR_CHAR_LEN_TABLE = (0, 0, 0, 0, 0, 0) + +ISO2022KR_SM_MODEL = {'class_table': ISO2022KR_CLS, + 'class_factor': 6, + 'state_table': ISO2022KR_ST, + 'char_len_table': ISO2022KR_CHAR_LEN_TABLE, + 'name': "ISO-2022-KR", + 'language': 'Korean'} + + diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/eucjpprober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/eucjpprober.py new file mode 100644 index 0000000..20ce8f7 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/eucjpprober.py @@ -0,0 +1,92 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .enums import ProbingState, MachineState +from .mbcharsetprober import MultiByteCharSetProber +from .codingstatemachine import CodingStateMachine +from .chardistribution import EUCJPDistributionAnalysis +from .jpcntx import EUCJPContextAnalysis +from .mbcssm import EUCJP_SM_MODEL + + +class EUCJPProber(MultiByteCharSetProber): + def __init__(self): + super(EUCJPProber, self).__init__() + self.coding_sm = CodingStateMachine(EUCJP_SM_MODEL) + self.distribution_analyzer = EUCJPDistributionAnalysis() + self.context_analyzer = EUCJPContextAnalysis() + self.reset() + + def reset(self): + super(EUCJPProber, self).reset() + self.context_analyzer.reset() + + @property + def charset_name(self): + return "EUC-JP" + + @property + def language(self): + return "Japanese" + + def feed(self, byte_str): + for i in range(len(byte_str)): + # PY3K: byte_str is a byte array, so byte_str[i] is an int, not a byte + coding_state = self.coding_sm.next_state(byte_str[i]) + if coding_state == MachineState.ERROR: + self.logger.debug('%s %s prober hit error at byte %s', + self.charset_name, self.language, i) + self._state = ProbingState.NOT_ME + break + elif coding_state == MachineState.ITS_ME: + self._state = ProbingState.FOUND_IT + break + elif coding_state == MachineState.START: + char_len = self.coding_sm.get_current_charlen() + if i == 0: + self._last_char[1] = byte_str[0] + self.context_analyzer.feed(self._last_char, char_len) + self.distribution_analyzer.feed(self._last_char, char_len) + else: + self.context_analyzer.feed(byte_str[i - 1:i + 1], + char_len) + self.distribution_analyzer.feed(byte_str[i - 1:i + 1], + char_len) + + self._last_char[0] = byte_str[-1] + + if self.state == ProbingState.DETECTING: + if (self.context_analyzer.got_enough_data() and + (self.get_confidence() > self.SHORTCUT_THRESHOLD)): + self._state = ProbingState.FOUND_IT + + return self.state + + def get_confidence(self): + context_conf = self.context_analyzer.get_confidence() + distrib_conf = self.distribution_analyzer.get_confidence() + return max(context_conf, distrib_conf) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euckrfreq.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euckrfreq.py new file mode 100644 index 0000000..b68078c --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euckrfreq.py @@ -0,0 +1,195 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# Sampling from about 20M text materials include literature and computer technology + +# 128 --> 0.79 +# 256 --> 0.92 +# 512 --> 0.986 +# 1024 --> 0.99944 +# 2048 --> 0.99999 +# +# Idea Distribution Ratio = 0.98653 / (1-0.98653) = 73.24 +# Random Distribution Ration = 512 / (2350-512) = 0.279. +# +# Typical Distribution Ratio + +EUCKR_TYPICAL_DISTRIBUTION_RATIO = 6.0 + +EUCKR_TABLE_SIZE = 2352 + +# Char to FreqOrder table , +EUCKR_CHAR_TO_FREQ_ORDER = ( + 13, 130, 120,1396, 481,1719,1720, 328, 609, 212,1721, 707, 400, 299,1722, 87, +1397,1723, 104, 536,1117,1203,1724,1267, 685,1268, 508,1725,1726,1727,1728,1398, +1399,1729,1730,1731, 141, 621, 326,1057, 368,1732, 267, 488, 20,1733,1269,1734, + 945,1400,1735, 47, 904,1270,1736,1737, 773, 248,1738, 409, 313, 786, 429,1739, + 116, 987, 813,1401, 683, 75,1204, 145,1740,1741,1742,1743, 16, 847, 667, 622, + 708,1744,1745,1746, 966, 787, 304, 129,1747, 60, 820, 123, 676,1748,1749,1750, +1751, 617,1752, 626,1753,1754,1755,1756, 653,1757,1758,1759,1760,1761,1762, 856, + 344,1763,1764,1765,1766, 89, 401, 418, 806, 905, 848,1767,1768,1769, 946,1205, + 709,1770,1118,1771, 241,1772,1773,1774,1271,1775, 569,1776, 999,1777,1778,1779, +1780, 337, 751,1058, 28, 628, 254,1781, 177, 906, 270, 349, 891,1079,1782, 19, +1783, 379,1784, 315,1785, 629, 754,1402, 559,1786, 636, 203,1206,1787, 710, 567, +1788, 935, 814,1789,1790,1207, 766, 528,1791,1792,1208,1793,1794,1795,1796,1797, +1403,1798,1799, 533,1059,1404,1405,1156,1406, 936, 884,1080,1800, 351,1801,1802, +1803,1804,1805, 801,1806,1807,1808,1119,1809,1157, 714, 474,1407,1810, 298, 899, + 885,1811,1120, 802,1158,1812, 892,1813,1814,1408, 659,1815,1816,1121,1817,1818, +1819,1820,1821,1822, 319,1823, 594, 545,1824, 815, 937,1209,1825,1826, 573,1409, +1022,1827,1210,1828,1829,1830,1831,1832,1833, 556, 722, 807,1122,1060,1834, 697, +1835, 900, 557, 715,1836,1410, 540,1411, 752,1159, 294, 597,1211, 976, 803, 770, +1412,1837,1838, 39, 794,1413, 358,1839, 371, 925,1840, 453, 661, 788, 531, 723, + 544,1023,1081, 869, 91,1841, 392, 430, 790, 602,1414, 677,1082, 457,1415,1416, +1842,1843, 475, 327,1024,1417, 795, 121,1844, 733, 403,1418,1845,1846,1847, 300, + 119, 711,1212, 627,1848,1272, 207,1849,1850, 796,1213, 382,1851, 519,1852,1083, + 893,1853,1854,1855, 367, 809, 487, 671,1856, 663,1857,1858, 956, 471, 306, 857, +1859,1860,1160,1084,1861,1862,1863,1864,1865,1061,1866,1867,1868,1869,1870,1871, + 282, 96, 574,1872, 502,1085,1873,1214,1874, 907,1875,1876, 827, 977,1419,1420, +1421, 268,1877,1422,1878,1879,1880, 308,1881, 2, 537,1882,1883,1215,1884,1885, + 127, 791,1886,1273,1423,1887, 34, 336, 404, 643,1888, 571, 654, 894, 840,1889, + 0, 886,1274, 122, 575, 260, 908, 938,1890,1275, 410, 316,1891,1892, 100,1893, +1894,1123, 48,1161,1124,1025,1895, 633, 901,1276,1896,1897, 115, 816,1898, 317, +1899, 694,1900, 909, 734,1424, 572, 866,1425, 691, 85, 524,1010, 543, 394, 841, +1901,1902,1903,1026,1904,1905,1906,1907,1908,1909, 30, 451, 651, 988, 310,1910, +1911,1426, 810,1216, 93,1912,1913,1277,1217,1914, 858, 759, 45, 58, 181, 610, + 269,1915,1916, 131,1062, 551, 443,1000, 821,1427, 957, 895,1086,1917,1918, 375, +1919, 359,1920, 687,1921, 822,1922, 293,1923,1924, 40, 662, 118, 692, 29, 939, + 887, 640, 482, 174,1925, 69,1162, 728,1428, 910,1926,1278,1218,1279, 386, 870, + 217, 854,1163, 823,1927,1928,1929,1930, 834,1931, 78,1932, 859,1933,1063,1934, +1935,1936,1937, 438,1164, 208, 595,1938,1939,1940,1941,1219,1125,1942, 280, 888, +1429,1430,1220,1431,1943,1944,1945,1946,1947,1280, 150, 510,1432,1948,1949,1950, +1951,1952,1953,1954,1011,1087,1955,1433,1043,1956, 881,1957, 614, 958,1064,1065, +1221,1958, 638,1001, 860, 967, 896,1434, 989, 492, 553,1281,1165,1959,1282,1002, +1283,1222,1960,1961,1962,1963, 36, 383, 228, 753, 247, 454,1964, 876, 678,1965, +1966,1284, 126, 464, 490, 835, 136, 672, 529, 940,1088,1435, 473,1967,1968, 467, + 50, 390, 227, 587, 279, 378, 598, 792, 968, 240, 151, 160, 849, 882,1126,1285, + 639,1044, 133, 140, 288, 360, 811, 563,1027, 561, 142, 523,1969,1970,1971, 7, + 103, 296, 439, 407, 506, 634, 990,1972,1973,1974,1975, 645,1976,1977,1978,1979, +1980,1981, 236,1982,1436,1983,1984,1089, 192, 828, 618, 518,1166, 333,1127,1985, + 818,1223,1986,1987,1988,1989,1990,1991,1992,1993, 342,1128,1286, 746, 842,1994, +1995, 560, 223,1287, 98, 8, 189, 650, 978,1288,1996,1437,1997, 17, 345, 250, + 423, 277, 234, 512, 226, 97, 289, 42, 167,1998, 201,1999,2000, 843, 836, 824, + 532, 338, 783,1090, 182, 576, 436,1438,1439, 527, 500,2001, 947, 889,2002,2003, +2004,2005, 262, 600, 314, 447,2006, 547,2007, 693, 738,1129,2008, 71,1440, 745, + 619, 688,2009, 829,2010,2011, 147,2012, 33, 948,2013,2014, 74, 224,2015, 61, + 191, 918, 399, 637,2016,1028,1130, 257, 902,2017,2018,2019,2020,2021,2022,2023, +2024,2025,2026, 837,2027,2028,2029,2030, 179, 874, 591, 52, 724, 246,2031,2032, +2033,2034,1167, 969,2035,1289, 630, 605, 911,1091,1168,2036,2037,2038,1441, 912, +2039, 623,2040,2041, 253,1169,1290,2042,1442, 146, 620, 611, 577, 433,2043,1224, + 719,1170, 959, 440, 437, 534, 84, 388, 480,1131, 159, 220, 198, 679,2044,1012, + 819,1066,1443, 113,1225, 194, 318,1003,1029,2045,2046,2047,2048,1067,2049,2050, +2051,2052,2053, 59, 913, 112,2054, 632,2055, 455, 144, 739,1291,2056, 273, 681, + 499,2057, 448,2058,2059, 760,2060,2061, 970, 384, 169, 245,1132,2062,2063, 414, +1444,2064,2065, 41, 235,2066, 157, 252, 877, 568, 919, 789, 580,2067, 725,2068, +2069,1292,2070,2071,1445,2072,1446,2073,2074, 55, 588, 66,1447, 271,1092,2075, +1226,2076, 960,1013, 372,2077,2078,2079,2080,2081,1293,2082,2083,2084,2085, 850, +2086,2087,2088,2089,2090, 186,2091,1068, 180,2092,2093,2094, 109,1227, 522, 606, +2095, 867,1448,1093, 991,1171, 926, 353,1133,2096, 581,2097,2098,2099,1294,1449, +1450,2100, 596,1172,1014,1228,2101,1451,1295,1173,1229,2102,2103,1296,1134,1452, + 949,1135,2104,2105,1094,1453,1454,1455,2106,1095,2107,2108,2109,2110,2111,2112, +2113,2114,2115,2116,2117, 804,2118,2119,1230,1231, 805,1456, 405,1136,2120,2121, +2122,2123,2124, 720, 701,1297, 992,1457, 927,1004,2125,2126,2127,2128,2129,2130, + 22, 417,2131, 303,2132, 385,2133, 971, 520, 513,2134,1174, 73,1096, 231, 274, + 962,1458, 673,2135,1459,2136, 152,1137,2137,2138,2139,2140,1005,1138,1460,1139, +2141,2142,2143,2144, 11, 374, 844,2145, 154,1232, 46,1461,2146, 838, 830, 721, +1233, 106,2147, 90, 428, 462, 578, 566,1175, 352,2148,2149, 538,1234, 124,1298, +2150,1462, 761, 565,2151, 686,2152, 649,2153, 72, 173,2154, 460, 415,2155,1463, +2156,1235, 305,2157,2158,2159,2160,2161,2162, 579,2163,2164,2165,2166,2167, 747, +2168,2169,2170,2171,1464, 669,2172,2173,2174,2175,2176,1465,2177, 23, 530, 285, +2178, 335, 729,2179, 397,2180,2181,2182,1030,2183,2184, 698,2185,2186, 325,2187, +2188, 369,2189, 799,1097,1015, 348,2190,1069, 680,2191, 851,1466,2192,2193, 10, +2194, 613, 424,2195, 979, 108, 449, 589, 27, 172, 81,1031, 80, 774, 281, 350, +1032, 525, 301, 582,1176,2196, 674,1045,2197,2198,1467, 730, 762,2199,2200,2201, +2202,1468,2203, 993,2204,2205, 266,1070, 963,1140,2206,2207,2208, 664,1098, 972, +2209,2210,2211,1177,1469,1470, 871,2212,2213,2214,2215,2216,1471,2217,2218,2219, +2220,2221,2222,2223,2224,2225,2226,2227,1472,1236,2228,2229,2230,2231,2232,2233, +2234,2235,1299,2236,2237, 200,2238, 477, 373,2239,2240, 731, 825, 777,2241,2242, +2243, 521, 486, 548,2244,2245,2246,1473,1300, 53, 549, 137, 875, 76, 158,2247, +1301,1474, 469, 396,1016, 278, 712,2248, 321, 442, 503, 767, 744, 941,1237,1178, +1475,2249, 82, 178,1141,1179, 973,2250,1302,2251, 297,2252,2253, 570,2254,2255, +2256, 18, 450, 206,2257, 290, 292,1142,2258, 511, 162, 99, 346, 164, 735,2259, +1476,1477, 4, 554, 343, 798,1099,2260,1100,2261, 43, 171,1303, 139, 215,2262, +2263, 717, 775,2264,1033, 322, 216,2265, 831,2266, 149,2267,1304,2268,2269, 702, +1238, 135, 845, 347, 309,2270, 484,2271, 878, 655, 238,1006,1478,2272, 67,2273, + 295,2274,2275, 461,2276, 478, 942, 412,2277,1034,2278,2279,2280, 265,2281, 541, +2282,2283,2284,2285,2286, 70, 852,1071,2287,2288,2289,2290, 21, 56, 509, 117, + 432,2291,2292, 331, 980, 552,1101, 148, 284, 105, 393,1180,1239, 755,2293, 187, +2294,1046,1479,2295, 340,2296, 63,1047, 230,2297,2298,1305, 763,1306, 101, 800, + 808, 494,2299,2300,2301, 903,2302, 37,1072, 14, 5,2303, 79, 675,2304, 312, +2305,2306,2307,2308,2309,1480, 6,1307,2310,2311,2312, 1, 470, 35, 24, 229, +2313, 695, 210, 86, 778, 15, 784, 592, 779, 32, 77, 855, 964,2314, 259,2315, + 501, 380,2316,2317, 83, 981, 153, 689,1308,1481,1482,1483,2318,2319, 716,1484, +2320,2321,2322,2323,2324,2325,1485,2326,2327, 128, 57, 68, 261,1048, 211, 170, +1240, 31,2328, 51, 435, 742,2329,2330,2331, 635,2332, 264, 456,2333,2334,2335, + 425,2336,1486, 143, 507, 263, 943,2337, 363, 920,1487, 256,1488,1102, 243, 601, +1489,2338,2339,2340,2341,2342,2343,2344, 861,2345,2346,2347,2348,2349,2350, 395, +2351,1490,1491, 62, 535, 166, 225,2352,2353, 668, 419,1241, 138, 604, 928,2354, +1181,2355,1492,1493,2356,2357,2358,1143,2359, 696,2360, 387, 307,1309, 682, 476, +2361,2362, 332, 12, 222, 156,2363, 232,2364, 641, 276, 656, 517,1494,1495,1035, + 416, 736,1496,2365,1017, 586,2366,2367,2368,1497,2369, 242,2370,2371,2372,1498, +2373, 965, 713,2374,2375,2376,2377, 740, 982,1499, 944,1500,1007,2378,2379,1310, +1501,2380,2381,2382, 785, 329,2383,2384,1502,2385,2386,2387, 932,2388,1503,2389, +2390,2391,2392,1242,2393,2394,2395,2396,2397, 994, 950,2398,2399,2400,2401,1504, +1311,2402,2403,2404,2405,1049, 749,2406,2407, 853, 718,1144,1312,2408,1182,1505, +2409,2410, 255, 516, 479, 564, 550, 214,1506,1507,1313, 413, 239, 444, 339,1145, +1036,1508,1509,1314,1037,1510,1315,2411,1511,2412,2413,2414, 176, 703, 497, 624, + 593, 921, 302,2415, 341, 165,1103,1512,2416,1513,2417,2418,2419, 376,2420, 700, +2421,2422,2423, 258, 768,1316,2424,1183,2425, 995, 608,2426,2427,2428,2429, 221, +2430,2431,2432,2433,2434,2435,2436,2437, 195, 323, 726, 188, 897, 983,1317, 377, + 644,1050, 879,2438, 452,2439,2440,2441,2442,2443,2444, 914,2445,2446,2447,2448, + 915, 489,2449,1514,1184,2450,2451, 515, 64, 427, 495,2452, 583,2453, 483, 485, +1038, 562, 213,1515, 748, 666,2454,2455,2456,2457, 334,2458, 780, 996,1008, 705, +1243,2459,2460,2461,2462,2463, 114,2464, 493,1146, 366, 163,1516, 961,1104,2465, + 291,2466,1318,1105,2467,1517, 365,2468, 355, 951,1244,2469,1319,2470, 631,2471, +2472, 218,1320, 364, 320, 756,1518,1519,1321,1520,1322,2473,2474,2475,2476, 997, +2477,2478,2479,2480, 665,1185,2481, 916,1521,2482,2483,2484, 584, 684,2485,2486, + 797,2487,1051,1186,2488,2489,2490,1522,2491,2492, 370,2493,1039,1187, 65,2494, + 434, 205, 463,1188,2495, 125, 812, 391, 402, 826, 699, 286, 398, 155, 781, 771, + 585,2496, 590, 505,1073,2497, 599, 244, 219, 917,1018, 952, 646,1523,2498,1323, +2499,2500, 49, 984, 354, 741,2501, 625,2502,1324,2503,1019, 190, 357, 757, 491, + 95, 782, 868,2504,2505,2506,2507,2508,2509, 134,1524,1074, 422,1525, 898,2510, + 161,2511,2512,2513,2514, 769,2515,1526,2516,2517, 411,1325,2518, 472,1527,2519, +2520,2521,2522,2523,2524, 985,2525,2526,2527,2528,2529,2530, 764,2531,1245,2532, +2533, 25, 204, 311,2534, 496,2535,1052,2536,2537,2538,2539,2540,2541,2542, 199, + 704, 504, 468, 758, 657,1528, 196, 44, 839,1246, 272, 750,2543, 765, 862,2544, +2545,1326,2546, 132, 615, 933,2547, 732,2548,2549,2550,1189,1529,2551, 283,1247, +1053, 607, 929,2552,2553,2554, 930, 183, 872, 616,1040,1147,2555,1148,1020, 441, + 249,1075,2556,2557,2558, 466, 743,2559,2560,2561, 92, 514, 426, 420, 526,2562, +2563,2564,2565,2566,2567,2568, 185,2569,2570,2571,2572, 776,1530, 658,2573, 362, +2574, 361, 922,1076, 793,2575,2576,2577,2578,2579,2580,1531, 251,2581,2582,2583, +2584,1532, 54, 612, 237,1327,2585,2586, 275, 408, 647, 111,2587,1533,1106, 465, + 3, 458, 9, 38,2588, 107, 110, 890, 209, 26, 737, 498,2589,1534,2590, 431, + 202, 88,1535, 356, 287,1107, 660,1149,2591, 381,1536, 986,1150, 445,1248,1151, + 974,2592,2593, 846,2594, 446, 953, 184,1249,1250, 727,2595, 923, 193, 883,2596, +2597,2598, 102, 324, 539, 817,2599, 421,1041,2600, 832,2601, 94, 175, 197, 406, +2602, 459,2603,2604,2605,2606,2607, 330, 555,2608,2609,2610, 706,1108, 389,2611, +2612,2613,2614, 233,2615, 833, 558, 931, 954,1251,2616,2617,1537, 546,2618,2619, +1009,2620,2621,2622,1538, 690,1328,2623, 955,2624,1539,2625,2626, 772,2627,2628, +2629,2630,2631, 924, 648, 863, 603,2632,2633, 934,1540, 864, 865,2634, 642,1042, + 670,1190,2635,2636,2637,2638, 168,2639, 652, 873, 542,1054,1541,2640,2641,2642, # 512, 256 +) + diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euckrprober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euckrprober.py new file mode 100644 index 0000000..345a060 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euckrprober.py @@ -0,0 +1,47 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .mbcharsetprober import MultiByteCharSetProber +from .codingstatemachine import CodingStateMachine +from .chardistribution import EUCKRDistributionAnalysis +from .mbcssm import EUCKR_SM_MODEL + + +class EUCKRProber(MultiByteCharSetProber): + def __init__(self): + super(EUCKRProber, self).__init__() + self.coding_sm = CodingStateMachine(EUCKR_SM_MODEL) + self.distribution_analyzer = EUCKRDistributionAnalysis() + self.reset() + + @property + def charset_name(self): + return "EUC-KR" + + @property + def language(self): + return "Korean" diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euctwfreq.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euctwfreq.py new file mode 100644 index 0000000..ed7a995 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euctwfreq.py @@ -0,0 +1,387 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# EUCTW frequency table +# Converted from big5 work +# by Taiwan's Mandarin Promotion Council +# <http:#www.edu.tw:81/mandr/> + +# 128 --> 0.42261 +# 256 --> 0.57851 +# 512 --> 0.74851 +# 1024 --> 0.89384 +# 2048 --> 0.97583 +# +# Idea Distribution Ratio = 0.74851/(1-0.74851) =2.98 +# Random Distribution Ration = 512/(5401-512)=0.105 +# +# Typical Distribution Ratio about 25% of Ideal one, still much higher than RDR + +EUCTW_TYPICAL_DISTRIBUTION_RATIO = 0.75 + +# Char to FreqOrder table , +EUCTW_TABLE_SIZE = 5376 + +EUCTW_CHAR_TO_FREQ_ORDER = ( + 1,1800,1506, 255,1431, 198, 9, 82, 6,7310, 177, 202,3615,1256,2808, 110, # 2742 +3735, 33,3241, 261, 76, 44,2113, 16,2931,2184,1176, 659,3868, 26,3404,2643, # 2758 +1198,3869,3313,4060, 410,2211, 302, 590, 361,1963, 8, 204, 58,4296,7311,1931, # 2774 + 63,7312,7313, 317,1614, 75, 222, 159,4061,2412,1480,7314,3500,3068, 224,2809, # 2790 +3616, 3, 10,3870,1471, 29,2774,1135,2852,1939, 873, 130,3242,1123, 312,7315, # 2806 +4297,2051, 507, 252, 682,7316, 142,1914, 124, 206,2932, 34,3501,3173, 64, 604, # 2822 +7317,2494,1976,1977, 155,1990, 645, 641,1606,7318,3405, 337, 72, 406,7319, 80, # 2838 + 630, 238,3174,1509, 263, 939,1092,2644, 756,1440,1094,3406, 449, 69,2969, 591, # 2854 + 179,2095, 471, 115,2034,1843, 60, 50,2970, 134, 806,1868, 734,2035,3407, 180, # 2870 + 995,1607, 156, 537,2893, 688,7320, 319,1305, 779,2144, 514,2374, 298,4298, 359, # 2886 +2495, 90,2707,1338, 663, 11, 906,1099,2545, 20,2436, 182, 532,1716,7321, 732, # 2902 +1376,4062,1311,1420,3175, 25,2312,1056, 113, 399, 382,1949, 242,3408,2467, 529, # 2918 +3243, 475,1447,3617,7322, 117, 21, 656, 810,1297,2295,2329,3502,7323, 126,4063, # 2934 + 706, 456, 150, 613,4299, 71,1118,2036,4064, 145,3069, 85, 835, 486,2114,1246, # 2950 +1426, 428, 727,1285,1015, 800, 106, 623, 303,1281,7324,2127,2354, 347,3736, 221, # 2966 +3503,3110,7325,1955,1153,4065, 83, 296,1199,3070, 192, 624, 93,7326, 822,1897, # 2982 +2810,3111, 795,2064, 991,1554,1542,1592, 27, 43,2853, 859, 139,1456, 860,4300, # 2998 + 437, 712,3871, 164,2392,3112, 695, 211,3017,2096, 195,3872,1608,3504,3505,3618, # 3014 +3873, 234, 811,2971,2097,3874,2229,1441,3506,1615,2375, 668,2076,1638, 305, 228, # 3030 +1664,4301, 467, 415,7327, 262,2098,1593, 239, 108, 300, 200,1033, 512,1247,2077, # 3046 +7328,7329,2173,3176,3619,2673, 593, 845,1062,3244, 88,1723,2037,3875,1950, 212, # 3062 + 266, 152, 149, 468,1898,4066,4302, 77, 187,7330,3018, 37, 5,2972,7331,3876, # 3078 +7332,7333, 39,2517,4303,2894,3177,2078, 55, 148, 74,4304, 545, 483,1474,1029, # 3094 +1665, 217,1869,1531,3113,1104,2645,4067, 24, 172,3507, 900,3877,3508,3509,4305, # 3110 + 32,1408,2811,1312, 329, 487,2355,2247,2708, 784,2674, 4,3019,3314,1427,1788, # 3126 + 188, 109, 499,7334,3620,1717,1789, 888,1217,3020,4306,7335,3510,7336,3315,1520, # 3142 +3621,3878, 196,1034, 775,7337,7338, 929,1815, 249, 439, 38,7339,1063,7340, 794, # 3158 +3879,1435,2296, 46, 178,3245,2065,7341,2376,7342, 214,1709,4307, 804, 35, 707, # 3174 + 324,3622,1601,2546, 140, 459,4068,7343,7344,1365, 839, 272, 978,2257,2572,3409, # 3190 +2128,1363,3623,1423, 697, 100,3071, 48, 70,1231, 495,3114,2193,7345,1294,7346, # 3206 +2079, 462, 586,1042,3246, 853, 256, 988, 185,2377,3410,1698, 434,1084,7347,3411, # 3222 + 314,2615,2775,4308,2330,2331, 569,2280, 637,1816,2518, 757,1162,1878,1616,3412, # 3238 + 287,1577,2115, 768,4309,1671,2854,3511,2519,1321,3737, 909,2413,7348,4069, 933, # 3254 +3738,7349,2052,2356,1222,4310, 765,2414,1322, 786,4311,7350,1919,1462,1677,2895, # 3270 +1699,7351,4312,1424,2437,3115,3624,2590,3316,1774,1940,3413,3880,4070, 309,1369, # 3286 +1130,2812, 364,2230,1653,1299,3881,3512,3882,3883,2646, 525,1085,3021, 902,2000, # 3302 +1475, 964,4313, 421,1844,1415,1057,2281, 940,1364,3116, 376,4314,4315,1381, 7, # 3318 +2520, 983,2378, 336,1710,2675,1845, 321,3414, 559,1131,3022,2742,1808,1132,1313, # 3334 + 265,1481,1857,7352, 352,1203,2813,3247, 167,1089, 420,2814, 776, 792,1724,3513, # 3350 +4071,2438,3248,7353,4072,7354, 446, 229, 333,2743, 901,3739,1200,1557,4316,2647, # 3366 +1920, 395,2744,2676,3740,4073,1835, 125, 916,3178,2616,4317,7355,7356,3741,7357, # 3382 +7358,7359,4318,3117,3625,1133,2547,1757,3415,1510,2313,1409,3514,7360,2145, 438, # 3398 +2591,2896,2379,3317,1068, 958,3023, 461, 311,2855,2677,4074,1915,3179,4075,1978, # 3414 + 383, 750,2745,2617,4076, 274, 539, 385,1278,1442,7361,1154,1964, 384, 561, 210, # 3430 + 98,1295,2548,3515,7362,1711,2415,1482,3416,3884,2897,1257, 129,7363,3742, 642, # 3446 + 523,2776,2777,2648,7364, 141,2231,1333, 68, 176, 441, 876, 907,4077, 603,2592, # 3462 + 710, 171,3417, 404, 549, 18,3118,2393,1410,3626,1666,7365,3516,4319,2898,4320, # 3478 +7366,2973, 368,7367, 146, 366, 99, 871,3627,1543, 748, 807,1586,1185, 22,2258, # 3494 + 379,3743,3180,7368,3181, 505,1941,2618,1991,1382,2314,7369, 380,2357, 218, 702, # 3510 +1817,1248,3418,3024,3517,3318,3249,7370,2974,3628, 930,3250,3744,7371, 59,7372, # 3526 + 585, 601,4078, 497,3419,1112,1314,4321,1801,7373,1223,1472,2174,7374, 749,1836, # 3542 + 690,1899,3745,1772,3885,1476, 429,1043,1790,2232,2116, 917,4079, 447,1086,1629, # 3558 +7375, 556,7376,7377,2020,1654, 844,1090, 105, 550, 966,1758,2815,1008,1782, 686, # 3574 +1095,7378,2282, 793,1602,7379,3518,2593,4322,4080,2933,2297,4323,3746, 980,2496, # 3590 + 544, 353, 527,4324, 908,2678,2899,7380, 381,2619,1942,1348,7381,1341,1252, 560, # 3606 +3072,7382,3420,2856,7383,2053, 973, 886,2080, 143,4325,7384,7385, 157,3886, 496, # 3622 +4081, 57, 840, 540,2038,4326,4327,3421,2117,1445, 970,2259,1748,1965,2081,4082, # 3638 +3119,1234,1775,3251,2816,3629, 773,1206,2129,1066,2039,1326,3887,1738,1725,4083, # 3654 + 279,3120, 51,1544,2594, 423,1578,2130,2066, 173,4328,1879,7386,7387,1583, 264, # 3670 + 610,3630,4329,2439, 280, 154,7388,7389,7390,1739, 338,1282,3073, 693,2857,1411, # 3686 +1074,3747,2440,7391,4330,7392,7393,1240, 952,2394,7394,2900,1538,2679, 685,1483, # 3702 +4084,2468,1436, 953,4085,2054,4331, 671,2395, 79,4086,2441,3252, 608, 567,2680, # 3718 +3422,4087,4088,1691, 393,1261,1791,2396,7395,4332,7396,7397,7398,7399,1383,1672, # 3734 +3748,3182,1464, 522,1119, 661,1150, 216, 675,4333,3888,1432,3519, 609,4334,2681, # 3750 +2397,7400,7401,7402,4089,3025, 0,7403,2469, 315, 231,2442, 301,3319,4335,2380, # 3766 +7404, 233,4090,3631,1818,4336,4337,7405, 96,1776,1315,2082,7406, 257,7407,1809, # 3782 +3632,2709,1139,1819,4091,2021,1124,2163,2778,1777,2649,7408,3074, 363,1655,3183, # 3798 +7409,2975,7410,7411,7412,3889,1567,3890, 718, 103,3184, 849,1443, 341,3320,2934, # 3814 +1484,7413,1712, 127, 67, 339,4092,2398, 679,1412, 821,7414,7415, 834, 738, 351, # 3830 +2976,2146, 846, 235,1497,1880, 418,1992,3749,2710, 186,1100,2147,2746,3520,1545, # 3846 +1355,2935,2858,1377, 583,3891,4093,2573,2977,7416,1298,3633,1078,2549,3634,2358, # 3862 + 78,3750,3751, 267,1289,2099,2001,1594,4094, 348, 369,1274,2194,2175,1837,4338, # 3878 +1820,2817,3635,2747,2283,2002,4339,2936,2748, 144,3321, 882,4340,3892,2749,3423, # 3894 +4341,2901,7417,4095,1726, 320,7418,3893,3026, 788,2978,7419,2818,1773,1327,2859, # 3910 +3894,2819,7420,1306,4342,2003,1700,3752,3521,2359,2650, 787,2022, 506, 824,3636, # 3926 + 534, 323,4343,1044,3322,2023,1900, 946,3424,7421,1778,1500,1678,7422,1881,4344, # 3942 + 165, 243,4345,3637,2521, 123, 683,4096, 764,4346, 36,3895,1792, 589,2902, 816, # 3958 + 626,1667,3027,2233,1639,1555,1622,3753,3896,7423,3897,2860,1370,1228,1932, 891, # 3974 +2083,2903, 304,4097,7424, 292,2979,2711,3522, 691,2100,4098,1115,4347, 118, 662, # 3990 +7425, 611,1156, 854,2381,1316,2861, 2, 386, 515,2904,7426,7427,3253, 868,2234, # 4006 +1486, 855,2651, 785,2212,3028,7428,1040,3185,3523,7429,3121, 448,7430,1525,7431, # 4022 +2164,4348,7432,3754,7433,4099,2820,3524,3122, 503, 818,3898,3123,1568, 814, 676, # 4038 +1444, 306,1749,7434,3755,1416,1030, 197,1428, 805,2821,1501,4349,7435,7436,7437, # 4054 +1993,7438,4350,7439,7440,2195, 13,2779,3638,2980,3124,1229,1916,7441,3756,2131, # 4070 +7442,4100,4351,2399,3525,7443,2213,1511,1727,1120,7444,7445, 646,3757,2443, 307, # 4086 +7446,7447,1595,3186,7448,7449,7450,3639,1113,1356,3899,1465,2522,2523,7451, 519, # 4102 +7452, 128,2132, 92,2284,1979,7453,3900,1512, 342,3125,2196,7454,2780,2214,1980, # 4118 +3323,7455, 290,1656,1317, 789, 827,2360,7456,3758,4352, 562, 581,3901,7457, 401, # 4134 +4353,2248, 94,4354,1399,2781,7458,1463,2024,4355,3187,1943,7459, 828,1105,4101, # 4150 +1262,1394,7460,4102, 605,4356,7461,1783,2862,7462,2822, 819,2101, 578,2197,2937, # 4166 +7463,1502, 436,3254,4103,3255,2823,3902,2905,3425,3426,7464,2712,2315,7465,7466, # 4182 +2332,2067, 23,4357, 193, 826,3759,2102, 699,1630,4104,3075, 390,1793,1064,3526, # 4198 +7467,1579,3076,3077,1400,7468,4105,1838,1640,2863,7469,4358,4359, 137,4106, 598, # 4214 +3078,1966, 780, 104, 974,2938,7470, 278, 899, 253, 402, 572, 504, 493,1339,7471, # 4230 +3903,1275,4360,2574,2550,7472,3640,3029,3079,2249, 565,1334,2713, 863, 41,7473, # 4246 +7474,4361,7475,1657,2333, 19, 463,2750,4107, 606,7476,2981,3256,1087,2084,1323, # 4262 +2652,2982,7477,1631,1623,1750,4108,2682,7478,2864, 791,2714,2653,2334, 232,2416, # 4278 +7479,2983,1498,7480,2654,2620, 755,1366,3641,3257,3126,2025,1609, 119,1917,3427, # 4294 + 862,1026,4109,7481,3904,3760,4362,3905,4363,2260,1951,2470,7482,1125, 817,4110, # 4310 +4111,3906,1513,1766,2040,1487,4112,3030,3258,2824,3761,3127,7483,7484,1507,7485, # 4326 +2683, 733, 40,1632,1106,2865, 345,4113, 841,2524, 230,4364,2984,1846,3259,3428, # 4342 +7486,1263, 986,3429,7487, 735, 879, 254,1137, 857, 622,1300,1180,1388,1562,3907, # 4358 +3908,2939, 967,2751,2655,1349, 592,2133,1692,3324,2985,1994,4114,1679,3909,1901, # 4374 +2185,7488, 739,3642,2715,1296,1290,7489,4115,2198,2199,1921,1563,2595,2551,1870, # 4390 +2752,2986,7490, 435,7491, 343,1108, 596, 17,1751,4365,2235,3430,3643,7492,4366, # 4406 + 294,3527,2940,1693, 477, 979, 281,2041,3528, 643,2042,3644,2621,2782,2261,1031, # 4422 +2335,2134,2298,3529,4367, 367,1249,2552,7493,3530,7494,4368,1283,3325,2004, 240, # 4438 +1762,3326,4369,4370, 836,1069,3128, 474,7495,2148,2525, 268,3531,7496,3188,1521, # 4454 +1284,7497,1658,1546,4116,7498,3532,3533,7499,4117,3327,2684,1685,4118, 961,1673, # 4470 +2622, 190,2005,2200,3762,4371,4372,7500, 570,2497,3645,1490,7501,4373,2623,3260, # 4486 +1956,4374, 584,1514, 396,1045,1944,7502,4375,1967,2444,7503,7504,4376,3910, 619, # 4502 +7505,3129,3261, 215,2006,2783,2553,3189,4377,3190,4378, 763,4119,3763,4379,7506, # 4518 +7507,1957,1767,2941,3328,3646,1174, 452,1477,4380,3329,3130,7508,2825,1253,2382, # 4534 +2186,1091,2285,4120, 492,7509, 638,1169,1824,2135,1752,3911, 648, 926,1021,1324, # 4550 +4381, 520,4382, 997, 847,1007, 892,4383,3764,2262,1871,3647,7510,2400,1784,4384, # 4566 +1952,2942,3080,3191,1728,4121,2043,3648,4385,2007,1701,3131,1551, 30,2263,4122, # 4582 +7511,2026,4386,3534,7512, 501,7513,4123, 594,3431,2165,1821,3535,3432,3536,3192, # 4598 + 829,2826,4124,7514,1680,3132,1225,4125,7515,3262,4387,4126,3133,2336,7516,4388, # 4614 +4127,7517,3912,3913,7518,1847,2383,2596,3330,7519,4389, 374,3914, 652,4128,4129, # 4630 + 375,1140, 798,7520,7521,7522,2361,4390,2264, 546,1659, 138,3031,2445,4391,7523, # 4646 +2250, 612,1848, 910, 796,3765,1740,1371, 825,3766,3767,7524,2906,2554,7525, 692, # 4662 + 444,3032,2624, 801,4392,4130,7526,1491, 244,1053,3033,4131,4132, 340,7527,3915, # 4678 +1041,2987, 293,1168, 87,1357,7528,1539, 959,7529,2236, 721, 694,4133,3768, 219, # 4694 +1478, 644,1417,3331,2656,1413,1401,1335,1389,3916,7530,7531,2988,2362,3134,1825, # 4710 + 730,1515, 184,2827, 66,4393,7532,1660,2943, 246,3332, 378,1457, 226,3433, 975, # 4726 +3917,2944,1264,3537, 674, 696,7533, 163,7534,1141,2417,2166, 713,3538,3333,4394, # 4742 +3918,7535,7536,1186, 15,7537,1079,1070,7538,1522,3193,3539, 276,1050,2716, 758, # 4758 +1126, 653,2945,3263,7539,2337, 889,3540,3919,3081,2989, 903,1250,4395,3920,3434, # 4774 +3541,1342,1681,1718, 766,3264, 286, 89,2946,3649,7540,1713,7541,2597,3334,2990, # 4790 +7542,2947,2215,3194,2866,7543,4396,2498,2526, 181, 387,1075,3921, 731,2187,3335, # 4806 +7544,3265, 310, 313,3435,2299, 770,4134, 54,3034, 189,4397,3082,3769,3922,7545, # 4822 +1230,1617,1849, 355,3542,4135,4398,3336, 111,4136,3650,1350,3135,3436,3035,4137, # 4838 +2149,3266,3543,7546,2784,3923,3924,2991, 722,2008,7547,1071, 247,1207,2338,2471, # 4854 +1378,4399,2009, 864,1437,1214,4400, 373,3770,1142,2216, 667,4401, 442,2753,2555, # 4870 +3771,3925,1968,4138,3267,1839, 837, 170,1107, 934,1336,1882,7548,7549,2118,4139, # 4886 +2828, 743,1569,7550,4402,4140, 582,2384,1418,3437,7551,1802,7552, 357,1395,1729, # 4902 +3651,3268,2418,1564,2237,7553,3083,3772,1633,4403,1114,2085,4141,1532,7554, 482, # 4918 +2446,4404,7555,7556,1492, 833,1466,7557,2717,3544,1641,2829,7558,1526,1272,3652, # 4934 +4142,1686,1794, 416,2556,1902,1953,1803,7559,3773,2785,3774,1159,2316,7560,2867, # 4950 +4405,1610,1584,3036,2419,2754, 443,3269,1163,3136,7561,7562,3926,7563,4143,2499, # 4966 +3037,4406,3927,3137,2103,1647,3545,2010,1872,4144,7564,4145, 431,3438,7565, 250, # 4982 + 97, 81,4146,7566,1648,1850,1558, 160, 848,7567, 866, 740,1694,7568,2201,2830, # 4998 +3195,4147,4407,3653,1687, 950,2472, 426, 469,3196,3654,3655,3928,7569,7570,1188, # 5014 + 424,1995, 861,3546,4148,3775,2202,2685, 168,1235,3547,4149,7571,2086,1674,4408, # 5030 +3337,3270, 220,2557,1009,7572,3776, 670,2992, 332,1208, 717,7573,7574,3548,2447, # 5046 +3929,3338,7575, 513,7576,1209,2868,3339,3138,4409,1080,7577,7578,7579,7580,2527, # 5062 +3656,3549, 815,1587,3930,3931,7581,3550,3439,3777,1254,4410,1328,3038,1390,3932, # 5078 +1741,3933,3778,3934,7582, 236,3779,2448,3271,7583,7584,3657,3780,1273,3781,4411, # 5094 +7585, 308,7586,4412, 245,4413,1851,2473,1307,2575, 430, 715,2136,2449,7587, 270, # 5110 + 199,2869,3935,7588,3551,2718,1753, 761,1754, 725,1661,1840,4414,3440,3658,7589, # 5126 +7590, 587, 14,3272, 227,2598, 326, 480,2265, 943,2755,3552, 291, 650,1883,7591, # 5142 +1702,1226, 102,1547, 62,3441, 904,4415,3442,1164,4150,7592,7593,1224,1548,2756, # 5158 + 391, 498,1493,7594,1386,1419,7595,2055,1177,4416, 813, 880,1081,2363, 566,1145, # 5174 +4417,2286,1001,1035,2558,2599,2238, 394,1286,7596,7597,2068,7598, 86,1494,1730, # 5190 +3936, 491,1588, 745, 897,2948, 843,3340,3937,2757,2870,3273,1768, 998,2217,2069, # 5206 + 397,1826,1195,1969,3659,2993,3341, 284,7599,3782,2500,2137,2119,1903,7600,3938, # 5222 +2150,3939,4151,1036,3443,1904, 114,2559,4152, 209,1527,7601,7602,2949,2831,2625, # 5238 +2385,2719,3139, 812,2560,7603,3274,7604,1559, 737,1884,3660,1210, 885, 28,2686, # 5254 +3553,3783,7605,4153,1004,1779,4418,7606, 346,1981,2218,2687,4419,3784,1742, 797, # 5270 +1642,3940,1933,1072,1384,2151, 896,3941,3275,3661,3197,2871,3554,7607,2561,1958, # 5286 +4420,2450,1785,7608,7609,7610,3942,4154,1005,1308,3662,4155,2720,4421,4422,1528, # 5302 +2600, 161,1178,4156,1982, 987,4423,1101,4157, 631,3943,1157,3198,2420,1343,1241, # 5318 +1016,2239,2562, 372, 877,2339,2501,1160, 555,1934, 911,3944,7611, 466,1170, 169, # 5334 +1051,2907,2688,3663,2474,2994,1182,2011,2563,1251,2626,7612, 992,2340,3444,1540, # 5350 +2721,1201,2070,2401,1996,2475,7613,4424, 528,1922,2188,1503,1873,1570,2364,3342, # 5366 +3276,7614, 557,1073,7615,1827,3445,2087,2266,3140,3039,3084, 767,3085,2786,4425, # 5382 +1006,4158,4426,2341,1267,2176,3664,3199, 778,3945,3200,2722,1597,2657,7616,4427, # 5398 +7617,3446,7618,7619,7620,3277,2689,1433,3278, 131, 95,1504,3946, 723,4159,3141, # 5414 +1841,3555,2758,2189,3947,2027,2104,3665,7621,2995,3948,1218,7622,3343,3201,3949, # 5430 +4160,2576, 248,1634,3785, 912,7623,2832,3666,3040,3786, 654, 53,7624,2996,7625, # 5446 +1688,4428, 777,3447,1032,3950,1425,7626, 191, 820,2120,2833, 971,4429, 931,3202, # 5462 + 135, 664, 783,3787,1997, 772,2908,1935,3951,3788,4430,2909,3203, 282,2723, 640, # 5478 +1372,3448,1127, 922, 325,3344,7627,7628, 711,2044,7629,7630,3952,2219,2787,1936, # 5494 +3953,3345,2220,2251,3789,2300,7631,4431,3790,1258,3279,3954,3204,2138,2950,3955, # 5510 +3956,7632,2221, 258,3205,4432, 101,1227,7633,3280,1755,7634,1391,3281,7635,2910, # 5526 +2056, 893,7636,7637,7638,1402,4161,2342,7639,7640,3206,3556,7641,7642, 878,1325, # 5542 +1780,2788,4433, 259,1385,2577, 744,1183,2267,4434,7643,3957,2502,7644, 684,1024, # 5558 +4162,7645, 472,3557,3449,1165,3282,3958,3959, 322,2152, 881, 455,1695,1152,1340, # 5574 + 660, 554,2153,4435,1058,4436,4163, 830,1065,3346,3960,4437,1923,7646,1703,1918, # 5590 +7647, 932,2268, 122,7648,4438, 947, 677,7649,3791,2627, 297,1905,1924,2269,4439, # 5606 +2317,3283,7650,7651,4164,7652,4165, 84,4166, 112, 989,7653, 547,1059,3961, 701, # 5622 +3558,1019,7654,4167,7655,3450, 942, 639, 457,2301,2451, 993,2951, 407, 851, 494, # 5638 +4440,3347, 927,7656,1237,7657,2421,3348, 573,4168, 680, 921,2911,1279,1874, 285, # 5654 + 790,1448,1983, 719,2167,7658,7659,4441,3962,3963,1649,7660,1541, 563,7661,1077, # 5670 +7662,3349,3041,3451, 511,2997,3964,3965,3667,3966,1268,2564,3350,3207,4442,4443, # 5686 +7663, 535,1048,1276,1189,2912,2028,3142,1438,1373,2834,2952,1134,2012,7664,4169, # 5702 +1238,2578,3086,1259,7665, 700,7666,2953,3143,3668,4170,7667,4171,1146,1875,1906, # 5718 +4444,2601,3967, 781,2422, 132,1589, 203, 147, 273,2789,2402, 898,1786,2154,3968, # 5734 +3969,7668,3792,2790,7669,7670,4445,4446,7671,3208,7672,1635,3793, 965,7673,1804, # 5750 +2690,1516,3559,1121,1082,1329,3284,3970,1449,3794, 65,1128,2835,2913,2759,1590, # 5766 +3795,7674,7675, 12,2658, 45, 976,2579,3144,4447, 517,2528,1013,1037,3209,7676, # 5782 +3796,2836,7677,3797,7678,3452,7679,2602, 614,1998,2318,3798,3087,2724,2628,7680, # 5798 +2580,4172, 599,1269,7681,1810,3669,7682,2691,3088, 759,1060, 489,1805,3351,3285, # 5814 +1358,7683,7684,2386,1387,1215,2629,2252, 490,7685,7686,4173,1759,2387,2343,7687, # 5830 +4448,3799,1907,3971,2630,1806,3210,4449,3453,3286,2760,2344, 874,7688,7689,3454, # 5846 +3670,1858, 91,2914,3671,3042,3800,4450,7690,3145,3972,2659,7691,3455,1202,1403, # 5862 +3801,2954,2529,1517,2503,4451,3456,2504,7692,4452,7693,2692,1885,1495,1731,3973, # 5878 +2365,4453,7694,2029,7695,7696,3974,2693,1216, 237,2581,4174,2319,3975,3802,4454, # 5894 +4455,2694,3560,3457, 445,4456,7697,7698,7699,7700,2761, 61,3976,3672,1822,3977, # 5910 +7701, 687,2045, 935, 925, 405,2660, 703,1096,1859,2725,4457,3978,1876,1367,2695, # 5926 +3352, 918,2105,1781,2476, 334,3287,1611,1093,4458, 564,3146,3458,3673,3353, 945, # 5942 +2631,2057,4459,7702,1925, 872,4175,7703,3459,2696,3089, 349,4176,3674,3979,4460, # 5958 +3803,4177,3675,2155,3980,4461,4462,4178,4463,2403,2046, 782,3981, 400, 251,4179, # 5974 +1624,7704,7705, 277,3676, 299,1265, 476,1191,3804,2121,4180,4181,1109, 205,7706, # 5990 +2582,1000,2156,3561,1860,7707,7708,7709,4464,7710,4465,2565, 107,2477,2157,3982, # 6006 +3460,3147,7711,1533, 541,1301, 158, 753,4182,2872,3562,7712,1696, 370,1088,4183, # 6022 +4466,3563, 579, 327, 440, 162,2240, 269,1937,1374,3461, 968,3043, 56,1396,3090, # 6038 +2106,3288,3354,7713,1926,2158,4467,2998,7714,3564,7715,7716,3677,4468,2478,7717, # 6054 +2791,7718,1650,4469,7719,2603,7720,7721,3983,2661,3355,1149,3356,3984,3805,3985, # 6070 +7722,1076, 49,7723, 951,3211,3289,3290, 450,2837, 920,7724,1811,2792,2366,4184, # 6086 +1908,1138,2367,3806,3462,7725,3212,4470,1909,1147,1518,2423,4471,3807,7726,4472, # 6102 +2388,2604, 260,1795,3213,7727,7728,3808,3291, 708,7729,3565,1704,7730,3566,1351, # 6118 +1618,3357,2999,1886, 944,4185,3358,4186,3044,3359,4187,7731,3678, 422, 413,1714, # 6134 +3292, 500,2058,2345,4188,2479,7732,1344,1910, 954,7733,1668,7734,7735,3986,2404, # 6150 +4189,3567,3809,4190,7736,2302,1318,2505,3091, 133,3092,2873,4473, 629, 31,2838, # 6166 +2697,3810,4474, 850, 949,4475,3987,2955,1732,2088,4191,1496,1852,7737,3988, 620, # 6182 +3214, 981,1242,3679,3360,1619,3680,1643,3293,2139,2452,1970,1719,3463,2168,7738, # 6198 +3215,7739,7740,3361,1828,7741,1277,4476,1565,2047,7742,1636,3568,3093,7743, 869, # 6214 +2839, 655,3811,3812,3094,3989,3000,3813,1310,3569,4477,7744,7745,7746,1733, 558, # 6230 +4478,3681, 335,1549,3045,1756,4192,3682,1945,3464,1829,1291,1192, 470,2726,2107, # 6246 +2793, 913,1054,3990,7747,1027,7748,3046,3991,4479, 982,2662,3362,3148,3465,3216, # 6262 +3217,1946,2794,7749, 571,4480,7750,1830,7751,3570,2583,1523,2424,7752,2089, 984, # 6278 +4481,3683,1959,7753,3684, 852, 923,2795,3466,3685, 969,1519, 999,2048,2320,1705, # 6294 +7754,3095, 615,1662, 151, 597,3992,2405,2321,1049, 275,4482,3686,4193, 568,3687, # 6310 +3571,2480,4194,3688,7755,2425,2270, 409,3218,7756,1566,2874,3467,1002, 769,2840, # 6326 + 194,2090,3149,3689,2222,3294,4195, 628,1505,7757,7758,1763,2177,3001,3993, 521, # 6342 +1161,2584,1787,2203,2406,4483,3994,1625,4196,4197, 412, 42,3096, 464,7759,2632, # 6358 +4484,3363,1760,1571,2875,3468,2530,1219,2204,3814,2633,2140,2368,4485,4486,3295, # 6374 +1651,3364,3572,7760,7761,3573,2481,3469,7762,3690,7763,7764,2271,2091, 460,7765, # 6390 +4487,7766,3002, 962, 588,3574, 289,3219,2634,1116, 52,7767,3047,1796,7768,7769, # 6406 +7770,1467,7771,1598,1143,3691,4198,1984,1734,1067,4488,1280,3365, 465,4489,1572, # 6422 + 510,7772,1927,2241,1812,1644,3575,7773,4490,3692,7774,7775,2663,1573,1534,7776, # 6438 +7777,4199, 536,1807,1761,3470,3815,3150,2635,7778,7779,7780,4491,3471,2915,1911, # 6454 +2796,7781,3296,1122, 377,3220,7782, 360,7783,7784,4200,1529, 551,7785,2059,3693, # 6470 +1769,2426,7786,2916,4201,3297,3097,2322,2108,2030,4492,1404, 136,1468,1479, 672, # 6486 +1171,3221,2303, 271,3151,7787,2762,7788,2049, 678,2727, 865,1947,4493,7789,2013, # 6502 +3995,2956,7790,2728,2223,1397,3048,3694,4494,4495,1735,2917,3366,3576,7791,3816, # 6518 + 509,2841,2453,2876,3817,7792,7793,3152,3153,4496,4202,2531,4497,2304,1166,1010, # 6534 + 552, 681,1887,7794,7795,2957,2958,3996,1287,1596,1861,3154, 358, 453, 736, 175, # 6550 + 478,1117, 905,1167,1097,7796,1853,1530,7797,1706,7798,2178,3472,2287,3695,3473, # 6566 +3577,4203,2092,4204,7799,3367,1193,2482,4205,1458,2190,2205,1862,1888,1421,3298, # 6582 +2918,3049,2179,3474, 595,2122,7800,3997,7801,7802,4206,1707,2636, 223,3696,1359, # 6598 + 751,3098, 183,3475,7803,2797,3003, 419,2369, 633, 704,3818,2389, 241,7804,7805, # 6614 +7806, 838,3004,3697,2272,2763,2454,3819,1938,2050,3998,1309,3099,2242,1181,7807, # 6630 +1136,2206,3820,2370,1446,4207,2305,4498,7808,7809,4208,1055,2605, 484,3698,7810, # 6646 +3999, 625,4209,2273,3368,1499,4210,4000,7811,4001,4211,3222,2274,2275,3476,7812, # 6662 +7813,2764, 808,2606,3699,3369,4002,4212,3100,2532, 526,3370,3821,4213, 955,7814, # 6678 +1620,4214,2637,2427,7815,1429,3700,1669,1831, 994, 928,7816,3578,1260,7817,7818, # 6694 +7819,1948,2288, 741,2919,1626,4215,2729,2455, 867,1184, 362,3371,1392,7820,7821, # 6710 +4003,4216,1770,1736,3223,2920,4499,4500,1928,2698,1459,1158,7822,3050,3372,2877, # 6726 +1292,1929,2506,2842,3701,1985,1187,2071,2014,2607,4217,7823,2566,2507,2169,3702, # 6742 +2483,3299,7824,3703,4501,7825,7826, 666,1003,3005,1022,3579,4218,7827,4502,1813, # 6758 +2253, 574,3822,1603, 295,1535, 705,3823,4219, 283, 858, 417,7828,7829,3224,4503, # 6774 +4504,3051,1220,1889,1046,2276,2456,4004,1393,1599, 689,2567, 388,4220,7830,2484, # 6790 + 802,7831,2798,3824,2060,1405,2254,7832,4505,3825,2109,1052,1345,3225,1585,7833, # 6806 + 809,7834,7835,7836, 575,2730,3477, 956,1552,1469,1144,2323,7837,2324,1560,2457, # 6822 +3580,3226,4005, 616,2207,3155,2180,2289,7838,1832,7839,3478,4506,7840,1319,3704, # 6838 +3705,1211,3581,1023,3227,1293,2799,7841,7842,7843,3826, 607,2306,3827, 762,2878, # 6854 +1439,4221,1360,7844,1485,3052,7845,4507,1038,4222,1450,2061,2638,4223,1379,4508, # 6870 +2585,7846,7847,4224,1352,1414,2325,2921,1172,7848,7849,3828,3829,7850,1797,1451, # 6886 +7851,7852,7853,7854,2922,4006,4007,2485,2346, 411,4008,4009,3582,3300,3101,4509, # 6902 +1561,2664,1452,4010,1375,7855,7856, 47,2959, 316,7857,1406,1591,2923,3156,7858, # 6918 +1025,2141,3102,3157, 354,2731, 884,2224,4225,2407, 508,3706, 726,3583, 996,2428, # 6934 +3584, 729,7859, 392,2191,1453,4011,4510,3707,7860,7861,2458,3585,2608,1675,2800, # 6950 + 919,2347,2960,2348,1270,4511,4012, 73,7862,7863, 647,7864,3228,2843,2255,1550, # 6966 +1346,3006,7865,1332, 883,3479,7866,7867,7868,7869,3301,2765,7870,1212, 831,1347, # 6982 +4226,4512,2326,3830,1863,3053, 720,3831,4513,4514,3832,7871,4227,7872,7873,4515, # 6998 +7874,7875,1798,4516,3708,2609,4517,3586,1645,2371,7876,7877,2924, 669,2208,2665, # 7014 +2429,7878,2879,7879,7880,1028,3229,7881,4228,2408,7882,2256,1353,7883,7884,4518, # 7030 +3158, 518,7885,4013,7886,4229,1960,7887,2142,4230,7888,7889,3007,2349,2350,3833, # 7046 + 516,1833,1454,4014,2699,4231,4519,2225,2610,1971,1129,3587,7890,2766,7891,2961, # 7062 +1422, 577,1470,3008,1524,3373,7892,7893, 432,4232,3054,3480,7894,2586,1455,2508, # 7078 +2226,1972,1175,7895,1020,2732,4015,3481,4520,7896,2733,7897,1743,1361,3055,3482, # 7094 +2639,4016,4233,4521,2290, 895, 924,4234,2170, 331,2243,3056, 166,1627,3057,1098, # 7110 +7898,1232,2880,2227,3374,4522, 657, 403,1196,2372, 542,3709,3375,1600,4235,3483, # 7126 +7899,4523,2767,3230, 576, 530,1362,7900,4524,2533,2666,3710,4017,7901, 842,3834, # 7142 +7902,2801,2031,1014,4018, 213,2700,3376, 665, 621,4236,7903,3711,2925,2430,7904, # 7158 +2431,3302,3588,3377,7905,4237,2534,4238,4525,3589,1682,4239,3484,1380,7906, 724, # 7174 +2277, 600,1670,7907,1337,1233,4526,3103,2244,7908,1621,4527,7909, 651,4240,7910, # 7190 +1612,4241,2611,7911,2844,7912,2734,2307,3058,7913, 716,2459,3059, 174,1255,2701, # 7206 +4019,3590, 548,1320,1398, 728,4020,1574,7914,1890,1197,3060,4021,7915,3061,3062, # 7222 +3712,3591,3713, 747,7916, 635,4242,4528,7917,7918,7919,4243,7920,7921,4529,7922, # 7238 +3378,4530,2432, 451,7923,3714,2535,2072,4244,2735,4245,4022,7924,1764,4531,7925, # 7254 +4246, 350,7926,2278,2390,2486,7927,4247,4023,2245,1434,4024, 488,4532, 458,4248, # 7270 +4025,3715, 771,1330,2391,3835,2568,3159,2159,2409,1553,2667,3160,4249,7928,2487, # 7286 +2881,2612,1720,2702,4250,3379,4533,7929,2536,4251,7930,3231,4252,2768,7931,2015, # 7302 +2736,7932,1155,1017,3716,3836,7933,3303,2308, 201,1864,4253,1430,7934,4026,7935, # 7318 +7936,7937,7938,7939,4254,1604,7940, 414,1865, 371,2587,4534,4535,3485,2016,3104, # 7334 +4536,1708, 960,4255, 887, 389,2171,1536,1663,1721,7941,2228,4027,2351,2926,1580, # 7350 +7942,7943,7944,1744,7945,2537,4537,4538,7946,4539,7947,2073,7948,7949,3592,3380, # 7366 +2882,4256,7950,4257,2640,3381,2802, 673,2703,2460, 709,3486,4028,3593,4258,7951, # 7382 +1148, 502, 634,7952,7953,1204,4540,3594,1575,4541,2613,3717,7954,3718,3105, 948, # 7398 +3232, 121,1745,3837,1110,7955,4259,3063,2509,3009,4029,3719,1151,1771,3838,1488, # 7414 +4030,1986,7956,2433,3487,7957,7958,2093,7959,4260,3839,1213,1407,2803, 531,2737, # 7430 +2538,3233,1011,1537,7960,2769,4261,3106,1061,7961,3720,3721,1866,2883,7962,2017, # 7446 + 120,4262,4263,2062,3595,3234,2309,3840,2668,3382,1954,4542,7963,7964,3488,1047, # 7462 +2704,1266,7965,1368,4543,2845, 649,3383,3841,2539,2738,1102,2846,2669,7966,7967, # 7478 +1999,7968,1111,3596,2962,7969,2488,3842,3597,2804,1854,3384,3722,7970,7971,3385, # 7494 +2410,2884,3304,3235,3598,7972,2569,7973,3599,2805,4031,1460, 856,7974,3600,7975, # 7510 +2885,2963,7976,2886,3843,7977,4264, 632,2510, 875,3844,1697,3845,2291,7978,7979, # 7526 +4544,3010,1239, 580,4545,4265,7980, 914, 936,2074,1190,4032,1039,2123,7981,7982, # 7542 +7983,3386,1473,7984,1354,4266,3846,7985,2172,3064,4033, 915,3305,4267,4268,3306, # 7558 +1605,1834,7986,2739, 398,3601,4269,3847,4034, 328,1912,2847,4035,3848,1331,4270, # 7574 +3011, 937,4271,7987,3602,4036,4037,3387,2160,4546,3388, 524, 742, 538,3065,1012, # 7590 +7988,7989,3849,2461,7990, 658,1103, 225,3850,7991,7992,4547,7993,4548,7994,3236, # 7606 +1243,7995,4038, 963,2246,4549,7996,2705,3603,3161,7997,7998,2588,2327,7999,4550, # 7622 +8000,8001,8002,3489,3307, 957,3389,2540,2032,1930,2927,2462, 870,2018,3604,1746, # 7638 +2770,2771,2434,2463,8003,3851,8004,3723,3107,3724,3490,3390,3725,8005,1179,3066, # 7654 +8006,3162,2373,4272,3726,2541,3163,3108,2740,4039,8007,3391,1556,2542,2292, 977, # 7670 +2887,2033,4040,1205,3392,8008,1765,3393,3164,2124,1271,1689, 714,4551,3491,8009, # 7686 +2328,3852, 533,4273,3605,2181, 617,8010,2464,3308,3492,2310,8011,8012,3165,8013, # 7702 +8014,3853,1987, 618, 427,2641,3493,3394,8015,8016,1244,1690,8017,2806,4274,4552, # 7718 +8018,3494,8019,8020,2279,1576, 473,3606,4275,3395, 972,8021,3607,8022,3067,8023, # 7734 +8024,4553,4554,8025,3727,4041,4042,8026, 153,4555, 356,8027,1891,2888,4276,2143, # 7750 + 408, 803,2352,8028,3854,8029,4277,1646,2570,2511,4556,4557,3855,8030,3856,4278, # 7766 +8031,2411,3396, 752,8032,8033,1961,2964,8034, 746,3012,2465,8035,4279,3728, 698, # 7782 +4558,1892,4280,3608,2543,4559,3609,3857,8036,3166,3397,8037,1823,1302,4043,2706, # 7798 +3858,1973,4281,8038,4282,3167, 823,1303,1288,1236,2848,3495,4044,3398, 774,3859, # 7814 +8039,1581,4560,1304,2849,3860,4561,8040,2435,2161,1083,3237,4283,4045,4284, 344, # 7830 +1173, 288,2311, 454,1683,8041,8042,1461,4562,4046,2589,8043,8044,4563, 985, 894, # 7846 +8045,3399,3168,8046,1913,2928,3729,1988,8047,2110,1974,8048,4047,8049,2571,1194, # 7862 + 425,8050,4564,3169,1245,3730,4285,8051,8052,2850,8053, 636,4565,1855,3861, 760, # 7878 +1799,8054,4286,2209,1508,4566,4048,1893,1684,2293,8055,8056,8057,4287,4288,2210, # 7894 + 479,8058,8059, 832,8060,4049,2489,8061,2965,2490,3731, 990,3109, 627,1814,2642, # 7910 +4289,1582,4290,2125,2111,3496,4567,8062, 799,4291,3170,8063,4568,2112,1737,3013, # 7926 +1018, 543, 754,4292,3309,1676,4569,4570,4050,8064,1489,8065,3497,8066,2614,2889, # 7942 +4051,8067,8068,2966,8069,8070,8071,8072,3171,4571,4572,2182,1722,8073,3238,3239, # 7958 +1842,3610,1715, 481, 365,1975,1856,8074,8075,1962,2491,4573,8076,2126,3611,3240, # 7974 + 433,1894,2063,2075,8077, 602,2741,8078,8079,8080,8081,8082,3014,1628,3400,8083, # 7990 +3172,4574,4052,2890,4575,2512,8084,2544,2772,8085,8086,8087,3310,4576,2891,8088, # 8006 +4577,8089,2851,4578,4579,1221,2967,4053,2513,8090,8091,8092,1867,1989,8093,8094, # 8022 +8095,1895,8096,8097,4580,1896,4054, 318,8098,2094,4055,4293,8099,8100, 485,8101, # 8038 + 938,3862, 553,2670, 116,8102,3863,3612,8103,3498,2671,2773,3401,3311,2807,8104, # 8054 +3613,2929,4056,1747,2930,2968,8105,8106, 207,8107,8108,2672,4581,2514,8109,3015, # 8070 + 890,3614,3864,8110,1877,3732,3402,8111,2183,2353,3403,1652,8112,8113,8114, 941, # 8086 +2294, 208,3499,4057,2019, 330,4294,3865,2892,2492,3733,4295,8115,8116,8117,8118, # 8102 +) + diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euctwprober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euctwprober.py new file mode 100644 index 0000000..35669cc --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euctwprober.py @@ -0,0 +1,46 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .mbcharsetprober import MultiByteCharSetProber +from .codingstatemachine import CodingStateMachine +from .chardistribution import EUCTWDistributionAnalysis +from .mbcssm import EUCTW_SM_MODEL + +class EUCTWProber(MultiByteCharSetProber): + def __init__(self): + super(EUCTWProber, self).__init__() + self.coding_sm = CodingStateMachine(EUCTW_SM_MODEL) + self.distribution_analyzer = EUCTWDistributionAnalysis() + self.reset() + + @property + def charset_name(self): + return "EUC-TW" + + @property + def language(self): + return "Taiwan" diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/gb2312freq.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/gb2312freq.py new file mode 100644 index 0000000..697837b --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/gb2312freq.py @@ -0,0 +1,283 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# GB2312 most frequently used character table +# +# Char to FreqOrder table , from hz6763 + +# 512 --> 0.79 -- 0.79 +# 1024 --> 0.92 -- 0.13 +# 2048 --> 0.98 -- 0.06 +# 6768 --> 1.00 -- 0.02 +# +# Ideal Distribution Ratio = 0.79135/(1-0.79135) = 3.79 +# Random Distribution Ration = 512 / (3755 - 512) = 0.157 +# +# Typical Distribution Ratio about 25% of Ideal one, still much higher that RDR + +GB2312_TYPICAL_DISTRIBUTION_RATIO = 0.9 + +GB2312_TABLE_SIZE = 3760 + +GB2312_CHAR_TO_FREQ_ORDER = ( +1671, 749,1443,2364,3924,3807,2330,3921,1704,3463,2691,1511,1515, 572,3191,2205, +2361, 224,2558, 479,1711, 963,3162, 440,4060,1905,2966,2947,3580,2647,3961,3842, +2204, 869,4207, 970,2678,5626,2944,2956,1479,4048, 514,3595, 588,1346,2820,3409, + 249,4088,1746,1873,2047,1774, 581,1813, 358,1174,3590,1014,1561,4844,2245, 670, +1636,3112, 889,1286, 953, 556,2327,3060,1290,3141, 613, 185,3477,1367, 850,3820, +1715,2428,2642,2303,2732,3041,2562,2648,3566,3946,1349, 388,3098,2091,1360,3585, + 152,1687,1539, 738,1559, 59,1232,2925,2267,1388,1249,1741,1679,2960, 151,1566, +1125,1352,4271, 924,4296, 385,3166,4459, 310,1245,2850, 70,3285,2729,3534,3575, +2398,3298,3466,1960,2265, 217,3647, 864,1909,2084,4401,2773,1010,3269,5152, 853, +3051,3121,1244,4251,1895, 364,1499,1540,2313,1180,3655,2268, 562, 715,2417,3061, + 544, 336,3768,2380,1752,4075, 950, 280,2425,4382, 183,2759,3272, 333,4297,2155, +1688,2356,1444,1039,4540, 736,1177,3349,2443,2368,2144,2225, 565, 196,1482,3406, + 927,1335,4147, 692, 878,1311,1653,3911,3622,1378,4200,1840,2969,3149,2126,1816, +2534,1546,2393,2760, 737,2494, 13, 447, 245,2747, 38,2765,2129,2589,1079, 606, + 360, 471,3755,2890, 404, 848, 699,1785,1236, 370,2221,1023,3746,2074,2026,2023, +2388,1581,2119, 812,1141,3091,2536,1519, 804,2053, 406,1596,1090, 784, 548,4414, +1806,2264,2936,1100, 343,4114,5096, 622,3358, 743,3668,1510,1626,5020,3567,2513, +3195,4115,5627,2489,2991, 24,2065,2697,1087,2719, 48,1634, 315, 68, 985,2052, + 198,2239,1347,1107,1439, 597,2366,2172, 871,3307, 919,2487,2790,1867, 236,2570, +1413,3794, 906,3365,3381,1701,1982,1818,1524,2924,1205, 616,2586,2072,2004, 575, + 253,3099, 32,1365,1182, 197,1714,2454,1201, 554,3388,3224,2748, 756,2587, 250, +2567,1507,1517,3529,1922,2761,2337,3416,1961,1677,2452,2238,3153, 615, 911,1506, +1474,2495,1265,1906,2749,3756,3280,2161, 898,2714,1759,3450,2243,2444, 563, 26, +3286,2266,3769,3344,2707,3677, 611,1402, 531,1028,2871,4548,1375, 261,2948, 835, +1190,4134, 353, 840,2684,1900,3082,1435,2109,1207,1674, 329,1872,2781,4055,2686, +2104, 608,3318,2423,2957,2768,1108,3739,3512,3271,3985,2203,1771,3520,1418,2054, +1681,1153, 225,1627,2929, 162,2050,2511,3687,1954, 124,1859,2431,1684,3032,2894, + 585,4805,3969,2869,2704,2088,2032,2095,3656,2635,4362,2209, 256, 518,2042,2105, +3777,3657, 643,2298,1148,1779, 190, 989,3544, 414, 11,2135,2063,2979,1471, 403, +3678, 126, 770,1563, 671,2499,3216,2877, 600,1179, 307,2805,4937,1268,1297,2694, + 252,4032,1448,1494,1331,1394, 127,2256, 222,1647,1035,1481,3056,1915,1048, 873, +3651, 210, 33,1608,2516, 200,1520, 415, 102, 0,3389,1287, 817, 91,3299,2940, + 836,1814, 549,2197,1396,1669,2987,3582,2297,2848,4528,1070, 687, 20,1819, 121, +1552,1364,1461,1968,2617,3540,2824,2083, 177, 948,4938,2291, 110,4549,2066, 648, +3359,1755,2110,2114,4642,4845,1693,3937,3308,1257,1869,2123, 208,1804,3159,2992, +2531,2549,3361,2418,1350,2347,2800,2568,1291,2036,2680, 72, 842,1990, 212,1233, +1154,1586, 75,2027,3410,4900,1823,1337,2710,2676, 728,2810,1522,3026,4995, 157, + 755,1050,4022, 710, 785,1936,2194,2085,1406,2777,2400, 150,1250,4049,1206, 807, +1910, 534, 529,3309,1721,1660, 274, 39,2827, 661,2670,1578, 925,3248,3815,1094, +4278,4901,4252, 41,1150,3747,2572,2227,4501,3658,4902,3813,3357,3617,2884,2258, + 887, 538,4187,3199,1294,2439,3042,2329,2343,2497,1255, 107, 543,1527, 521,3478, +3568, 194,5062, 15, 961,3870,1241,1192,2664, 66,5215,3260,2111,1295,1127,2152, +3805,4135, 901,1164,1976, 398,1278, 530,1460, 748, 904,1054,1966,1426, 53,2909, + 509, 523,2279,1534, 536,1019, 239,1685, 460,2353, 673,1065,2401,3600,4298,2272, +1272,2363, 284,1753,3679,4064,1695, 81, 815,2677,2757,2731,1386, 859, 500,4221, +2190,2566, 757,1006,2519,2068,1166,1455, 337,2654,3203,1863,1682,1914,3025,1252, +1409,1366, 847, 714,2834,2038,3209, 964,2970,1901, 885,2553,1078,1756,3049, 301, +1572,3326, 688,2130,1996,2429,1805,1648,2930,3421,2750,3652,3088, 262,1158,1254, + 389,1641,1812, 526,1719, 923,2073,1073,1902, 468, 489,4625,1140, 857,2375,3070, +3319,2863, 380, 116,1328,2693,1161,2244, 273,1212,1884,2769,3011,1775,1142, 461, +3066,1200,2147,2212, 790, 702,2695,4222,1601,1058, 434,2338,5153,3640, 67,2360, +4099,2502, 618,3472,1329, 416,1132, 830,2782,1807,2653,3211,3510,1662, 192,2124, + 296,3979,1739,1611,3684, 23, 118, 324, 446,1239,1225, 293,2520,3814,3795,2535, +3116, 17,1074, 467,2692,2201, 387,2922, 45,1326,3055,1645,3659,2817, 958, 243, +1903,2320,1339,2825,1784,3289, 356, 576, 865,2315,2381,3377,3916,1088,3122,1713, +1655, 935, 628,4689,1034,1327, 441, 800, 720, 894,1979,2183,1528,5289,2702,1071, +4046,3572,2399,1571,3281, 79, 761,1103, 327, 134, 758,1899,1371,1615, 879, 442, + 215,2605,2579, 173,2048,2485,1057,2975,3317,1097,2253,3801,4263,1403,1650,2946, + 814,4968,3487,1548,2644,1567,1285, 2, 295,2636, 97, 946,3576, 832, 141,4257, +3273, 760,3821,3521,3156,2607, 949,1024,1733,1516,1803,1920,2125,2283,2665,3180, +1501,2064,3560,2171,1592, 803,3518,1416, 732,3897,4258,1363,1362,2458, 119,1427, + 602,1525,2608,1605,1639,3175, 694,3064, 10, 465, 76,2000,4846,4208, 444,3781, +1619,3353,2206,1273,3796, 740,2483, 320,1723,2377,3660,2619,1359,1137,1762,1724, +2345,2842,1850,1862, 912, 821,1866, 612,2625,1735,2573,3369,1093, 844, 89, 937, + 930,1424,3564,2413,2972,1004,3046,3019,2011, 711,3171,1452,4178, 428, 801,1943, + 432, 445,2811, 206,4136,1472, 730, 349, 73, 397,2802,2547, 998,1637,1167, 789, + 396,3217, 154,1218, 716,1120,1780,2819,4826,1931,3334,3762,2139,1215,2627, 552, +3664,3628,3232,1405,2383,3111,1356,2652,3577,3320,3101,1703, 640,1045,1370,1246, +4996, 371,1575,2436,1621,2210, 984,4033,1734,2638, 16,4529, 663,2755,3255,1451, +3917,2257,1253,1955,2234,1263,2951, 214,1229, 617, 485, 359,1831,1969, 473,2310, + 750,2058, 165, 80,2864,2419, 361,4344,2416,2479,1134, 796,3726,1266,2943, 860, +2715, 938, 390,2734,1313,1384, 248, 202, 877,1064,2854, 522,3907, 279,1602, 297, +2357, 395,3740, 137,2075, 944,4089,2584,1267,3802, 62,1533,2285, 178, 176, 780, +2440, 201,3707, 590, 478,1560,4354,2117,1075, 30, 74,4643,4004,1635,1441,2745, + 776,2596, 238,1077,1692,1912,2844, 605, 499,1742,3947, 241,3053, 980,1749, 936, +2640,4511,2582, 515,1543,2162,5322,2892,2993, 890,2148,1924, 665,1827,3581,1032, + 968,3163, 339,1044,1896, 270, 583,1791,1720,4367,1194,3488,3669, 43,2523,1657, + 163,2167, 290,1209,1622,3378, 550, 634,2508,2510, 695,2634,2384,2512,1476,1414, + 220,1469,2341,2138,2852,3183,2900,4939,2865,3502,1211,3680, 854,3227,1299,2976, +3172, 186,2998,1459, 443,1067,3251,1495, 321,1932,3054, 909, 753,1410,1828, 436, +2441,1119,1587,3164,2186,1258, 227, 231,1425,1890,3200,3942, 247, 959, 725,5254, +2741, 577,2158,2079, 929, 120, 174, 838,2813, 591,1115, 417,2024, 40,3240,1536, +1037, 291,4151,2354, 632,1298,2406,2500,3535,1825,1846,3451, 205,1171, 345,4238, + 18,1163, 811, 685,2208,1217, 425,1312,1508,1175,4308,2552,1033, 587,1381,3059, +2984,3482, 340,1316,4023,3972, 792,3176, 519, 777,4690, 918, 933,4130,2981,3741, + 90,3360,2911,2200,5184,4550, 609,3079,2030, 272,3379,2736, 363,3881,1130,1447, + 286, 779, 357,1169,3350,3137,1630,1220,2687,2391, 747,1277,3688,2618,2682,2601, +1156,3196,5290,4034,3102,1689,3596,3128, 874, 219,2783, 798, 508,1843,2461, 269, +1658,1776,1392,1913,2983,3287,2866,2159,2372, 829,4076, 46,4253,2873,1889,1894, + 915,1834,1631,2181,2318, 298, 664,2818,3555,2735, 954,3228,3117, 527,3511,2173, + 681,2712,3033,2247,2346,3467,1652, 155,2164,3382, 113,1994, 450, 899, 494, 994, +1237,2958,1875,2336,1926,3727, 545,1577,1550, 633,3473, 204,1305,3072,2410,1956, +2471, 707,2134, 841,2195,2196,2663,3843,1026,4940, 990,3252,4997, 368,1092, 437, +3212,3258,1933,1829, 675,2977,2893, 412, 943,3723,4644,3294,3283,2230,2373,5154, +2389,2241,2661,2323,1404,2524, 593, 787, 677,3008,1275,2059, 438,2709,2609,2240, +2269,2246,1446, 36,1568,1373,3892,1574,2301,1456,3962, 693,2276,5216,2035,1143, +2720,1919,1797,1811,2763,4137,2597,1830,1699,1488,1198,2090, 424,1694, 312,3634, +3390,4179,3335,2252,1214, 561,1059,3243,2295,2561, 975,5155,2321,2751,3772, 472, +1537,3282,3398,1047,2077,2348,2878,1323,3340,3076, 690,2906, 51, 369, 170,3541, +1060,2187,2688,3670,2541,1083,1683, 928,3918, 459, 109,4427, 599,3744,4286, 143, +2101,2730,2490, 82,1588,3036,2121, 281,1860, 477,4035,1238,2812,3020,2716,3312, +1530,2188,2055,1317, 843, 636,1808,1173,3495, 649, 181,1002, 147,3641,1159,2414, +3750,2289,2795, 813,3123,2610,1136,4368, 5,3391,4541,2174, 420, 429,1728, 754, +1228,2115,2219, 347,2223,2733, 735,1518,3003,2355,3134,1764,3948,3329,1888,2424, +1001,1234,1972,3321,3363,1672,1021,1450,1584, 226, 765, 655,2526,3404,3244,2302, +3665, 731, 594,2184, 319,1576, 621, 658,2656,4299,2099,3864,1279,2071,2598,2739, + 795,3086,3699,3908,1707,2352,2402,1382,3136,2475,1465,4847,3496,3865,1085,3004, +2591,1084, 213,2287,1963,3565,2250, 822, 793,4574,3187,1772,1789,3050, 595,1484, +1959,2770,1080,2650, 456, 422,2996, 940,3322,4328,4345,3092,2742, 965,2784, 739, +4124, 952,1358,2498,2949,2565, 332,2698,2378, 660,2260,2473,4194,3856,2919, 535, +1260,2651,1208,1428,1300,1949,1303,2942, 433,2455,2450,1251,1946, 614,1269, 641, +1306,1810,2737,3078,2912, 564,2365,1419,1415,1497,4460,2367,2185,1379,3005,1307, +3218,2175,1897,3063, 682,1157,4040,4005,1712,1160,1941,1399, 394, 402,2952,1573, +1151,2986,2404, 862, 299,2033,1489,3006, 346, 171,2886,3401,1726,2932, 168,2533, + 47,2507,1030,3735,1145,3370,1395,1318,1579,3609,4560,2857,4116,1457,2529,1965, + 504,1036,2690,2988,2405, 745,5871, 849,2397,2056,3081, 863,2359,3857,2096, 99, +1397,1769,2300,4428,1643,3455,1978,1757,3718,1440, 35,4879,3742,1296,4228,2280, + 160,5063,1599,2013, 166, 520,3479,1646,3345,3012, 490,1937,1545,1264,2182,2505, +1096,1188,1369,1436,2421,1667,2792,2460,1270,2122, 727,3167,2143, 806,1706,1012, +1800,3037, 960,2218,1882, 805, 139,2456,1139,1521, 851,1052,3093,3089, 342,2039, + 744,5097,1468,1502,1585,2087, 223, 939, 326,2140,2577, 892,2481,1623,4077, 982, +3708, 135,2131, 87,2503,3114,2326,1106, 876,1616, 547,2997,2831,2093,3441,4530, +4314, 9,3256,4229,4148, 659,1462,1986,1710,2046,2913,2231,4090,4880,5255,3392, +3274,1368,3689,4645,1477, 705,3384,3635,1068,1529,2941,1458,3782,1509, 100,1656, +2548, 718,2339, 408,1590,2780,3548,1838,4117,3719,1345,3530, 717,3442,2778,3220, +2898,1892,4590,3614,3371,2043,1998,1224,3483, 891, 635, 584,2559,3355, 733,1766, +1729,1172,3789,1891,2307, 781,2982,2271,1957,1580,5773,2633,2005,4195,3097,1535, +3213,1189,1934,5693,3262, 586,3118,1324,1598, 517,1564,2217,1868,1893,4445,3728, +2703,3139,1526,1787,1992,3882,2875,1549,1199,1056,2224,1904,2711,5098,4287, 338, +1993,3129,3489,2689,1809,2815,1997, 957,1855,3898,2550,3275,3057,1105,1319, 627, +1505,1911,1883,3526, 698,3629,3456,1833,1431, 746, 77,1261,2017,2296,1977,1885, + 125,1334,1600, 525,1798,1109,2222,1470,1945, 559,2236,1186,3443,2476,1929,1411, +2411,3135,1777,3372,2621,1841,1613,3229, 668,1430,1839,2643,2916, 195,1989,2671, +2358,1387, 629,3205,2293,5256,4439, 123,1310, 888,1879,4300,3021,3605,1003,1162, +3192,2910,2010, 140,2395,2859, 55,1082,2012,2901, 662, 419,2081,1438, 680,2774, +4654,3912,1620,1731,1625,5035,4065,2328, 512,1344, 802,5443,2163,2311,2537, 524, +3399, 98,1155,2103,1918,2606,3925,2816,1393,2465,1504,3773,2177,3963,1478,4346, + 180,1113,4655,3461,2028,1698, 833,2696,1235,1322,1594,4408,3623,3013,3225,2040, +3022, 541,2881, 607,3632,2029,1665,1219, 639,1385,1686,1099,2803,3231,1938,3188, +2858, 427, 676,2772,1168,2025, 454,3253,2486,3556, 230,1950, 580, 791,1991,1280, +1086,1974,2034, 630, 257,3338,2788,4903,1017, 86,4790, 966,2789,1995,1696,1131, + 259,3095,4188,1308, 179,1463,5257, 289,4107,1248, 42,3413,1725,2288, 896,1947, + 774,4474,4254, 604,3430,4264, 392,2514,2588, 452, 237,1408,3018, 988,4531,1970, +3034,3310, 540,2370,1562,1288,2990, 502,4765,1147, 4,1853,2708, 207, 294,2814, +4078,2902,2509, 684, 34,3105,3532,2551, 644, 709,2801,2344, 573,1727,3573,3557, +2021,1081,3100,4315,2100,3681, 199,2263,1837,2385, 146,3484,1195,2776,3949, 997, +1939,3973,1008,1091,1202,1962,1847,1149,4209,5444,1076, 493, 117,5400,2521, 972, +1490,2934,1796,4542,2374,1512,2933,2657, 413,2888,1135,2762,2314,2156,1355,2369, + 766,2007,2527,2170,3124,2491,2593,2632,4757,2437, 234,3125,3591,1898,1750,1376, +1942,3468,3138, 570,2127,2145,3276,4131, 962, 132,1445,4196, 19, 941,3624,3480, +3366,1973,1374,4461,3431,2629, 283,2415,2275, 808,2887,3620,2112,2563,1353,3610, + 955,1089,3103,1053, 96, 88,4097, 823,3808,1583, 399, 292,4091,3313, 421,1128, + 642,4006, 903,2539,1877,2082, 596, 29,4066,1790, 722,2157, 130, 995,1569, 769, +1485, 464, 513,2213, 288,1923,1101,2453,4316, 133, 486,2445, 50, 625, 487,2207, + 57, 423, 481,2962, 159,3729,1558, 491, 303, 482, 501, 240,2837, 112,3648,2392, +1783, 362, 8,3433,3422, 610,2793,3277,1390,1284,1654, 21,3823, 734, 367, 623, + 193, 287, 374,1009,1483, 816, 476, 313,2255,2340,1262,2150,2899,1146,2581, 782, +2116,1659,2018,1880, 255,3586,3314,1110,2867,2137,2564, 986,2767,5185,2006, 650, + 158, 926, 762, 881,3157,2717,2362,3587, 306,3690,3245,1542,3077,2427,1691,2478, +2118,2985,3490,2438, 539,2305, 983, 129,1754, 355,4201,2386, 827,2923, 104,1773, +2838,2771, 411,2905,3919, 376, 767, 122,1114, 828,2422,1817,3506, 266,3460,1007, +1609,4998, 945,2612,4429,2274, 726,1247,1964,2914,2199,2070,4002,4108, 657,3323, +1422, 579, 455,2764,4737,1222,2895,1670, 824,1223,1487,2525, 558, 861,3080, 598, +2659,2515,1967, 752,2583,2376,2214,4180, 977, 704,2464,4999,2622,4109,1210,2961, + 819,1541, 142,2284, 44, 418, 457,1126,3730,4347,4626,1644,1876,3671,1864, 302, +1063,5694, 624, 723,1984,3745,1314,1676,2488,1610,1449,3558,3569,2166,2098, 409, +1011,2325,3704,2306, 818,1732,1383,1824,1844,3757, 999,2705,3497,1216,1423,2683, +2426,2954,2501,2726,2229,1475,2554,5064,1971,1794,1666,2014,1343, 783, 724, 191, +2434,1354,2220,5065,1763,2752,2472,4152, 131, 175,2885,3434, 92,1466,4920,2616, +3871,3872,3866, 128,1551,1632, 669,1854,3682,4691,4125,1230, 188,2973,3290,1302, +1213, 560,3266, 917, 763,3909,3249,1760, 868,1958, 764,1782,2097, 145,2277,3774, +4462, 64,1491,3062, 971,2132,3606,2442, 221,1226,1617, 218, 323,1185,3207,3147, + 571, 619,1473,1005,1744,2281, 449,1887,2396,3685, 275, 375,3816,1743,3844,3731, + 845,1983,2350,4210,1377, 773, 967,3499,3052,3743,2725,4007,1697,1022,3943,1464, +3264,2855,2722,1952,1029,2839,2467, 84,4383,2215, 820,1391,2015,2448,3672, 377, +1948,2168, 797,2545,3536,2578,2645, 94,2874,1678, 405,1259,3071, 771, 546,1315, + 470,1243,3083, 895,2468, 981, 969,2037, 846,4181, 653,1276,2928, 14,2594, 557, +3007,2474, 156, 902,1338,1740,2574, 537,2518, 973,2282,2216,2433,1928, 138,2903, +1293,2631,1612, 646,3457, 839,2935, 111, 496,2191,2847, 589,3186, 149,3994,2060, +4031,2641,4067,3145,1870, 37,3597,2136,1025,2051,3009,3383,3549,1121,1016,3261, +1301, 251,2446,2599,2153, 872,3246, 637, 334,3705, 831, 884, 921,3065,3140,4092, +2198,1944, 246,2964, 108,2045,1152,1921,2308,1031, 203,3173,4170,1907,3890, 810, +1401,2003,1690, 506, 647,1242,2828,1761,1649,3208,2249,1589,3709,2931,5156,1708, + 498, 666,2613, 834,3817,1231, 184,2851,1124, 883,3197,2261,3710,1765,1553,2658, +1178,2639,2351, 93,1193, 942,2538,2141,4402, 235,1821, 870,1591,2192,1709,1871, +3341,1618,4126,2595,2334, 603, 651, 69, 701, 268,2662,3411,2555,1380,1606, 503, + 448, 254,2371,2646, 574,1187,2309,1770, 322,2235,1292,1801, 305, 566,1133, 229, +2067,2057, 706, 167, 483,2002,2672,3295,1820,3561,3067, 316, 378,2746,3452,1112, + 136,1981, 507,1651,2917,1117, 285,4591, 182,2580,3522,1304, 335,3303,1835,2504, +1795,1792,2248, 674,1018,2106,2449,1857,2292,2845, 976,3047,1781,2600,2727,1389, +1281, 52,3152, 153, 265,3950, 672,3485,3951,4463, 430,1183, 365, 278,2169, 27, +1407,1336,2304, 209,1340,1730,2202,1852,2403,2883, 979,1737,1062, 631,2829,2542, +3876,2592, 825,2086,2226,3048,3625, 352,1417,3724, 542, 991, 431,1351,3938,1861, +2294, 826,1361,2927,3142,3503,1738, 463,2462,2723, 582,1916,1595,2808, 400,3845, +3891,2868,3621,2254, 58,2492,1123, 910,2160,2614,1372,1603,1196,1072,3385,1700, +3267,1980, 696, 480,2430, 920, 799,1570,2920,1951,2041,4047,2540,1321,4223,2469, +3562,2228,1271,2602, 401,2833,3351,2575,5157, 907,2312,1256, 410, 263,3507,1582, + 996, 678,1849,2316,1480, 908,3545,2237, 703,2322, 667,1826,2849,1531,2604,2999, +2407,3146,2151,2630,1786,3711, 469,3542, 497,3899,2409, 858, 837,4446,3393,1274, + 786, 620,1845,2001,3311, 484, 308,3367,1204,1815,3691,2332,1532,2557,1842,2020, +2724,1927,2333,4440, 567, 22,1673,2728,4475,1987,1858,1144,1597, 101,1832,3601, + 12, 974,3783,4391, 951,1412, 1,3720, 453,4608,4041, 528,1041,1027,3230,2628, +1129, 875,1051,3291,1203,2262,1069,2860,2799,2149,2615,3278, 144,1758,3040, 31, + 475,1680, 366,2685,3184, 311,1642,4008,2466,5036,1593,1493,2809, 216,1420,1668, + 233, 304,2128,3284, 232,1429,1768,1040,2008,3407,2740,2967,2543, 242,2133, 778, +1565,2022,2620, 505,2189,2756,1098,2273, 372,1614, 708, 553,2846,2094,2278, 169, +3626,2835,4161, 228,2674,3165, 809,1454,1309, 466,1705,1095, 900,3423, 880,2667, +3751,5258,2317,3109,2571,4317,2766,1503,1342, 866,4447,1118, 63,2076, 314,1881, +1348,1061, 172, 978,3515,1747, 532, 511,3970, 6, 601, 905,2699,3300,1751, 276, +1467,3725,2668, 65,4239,2544,2779,2556,1604, 578,2451,1802, 992,2331,2624,1320, +3446, 713,1513,1013, 103,2786,2447,1661, 886,1702, 916, 654,3574,2031,1556, 751, +2178,2821,2179,1498,1538,2176, 271, 914,2251,2080,1325, 638,1953,2937,3877,2432, +2754, 95,3265,1716, 260,1227,4083, 775, 106,1357,3254, 426,1607, 555,2480, 772, +1985, 244,2546, 474, 495,1046,2611,1851,2061, 71,2089,1675,2590, 742,3758,2843, +3222,1433, 267,2180,2576,2826,2233,2092,3913,2435, 956,1745,3075, 856,2113,1116, + 451, 3,1988,2896,1398, 993,2463,1878,2049,1341,2718,2721,2870,2108, 712,2904, +4363,2753,2324, 277,2872,2349,2649, 384, 987, 435, 691,3000, 922, 164,3939, 652, +1500,1184,4153,2482,3373,2165,4848,2335,3775,3508,3154,2806,2830,1554,2102,1664, +2530,1434,2408, 893,1547,2623,3447,2832,2242,2532,3169,2856,3223,2078, 49,3770, +3469, 462, 318, 656,2259,3250,3069, 679,1629,2758, 344,1138,1104,3120,1836,1283, +3115,2154,1437,4448, 934, 759,1999, 794,2862,1038, 533,2560,1722,2342, 855,2626, +1197,1663,4476,3127, 85,4240,2528, 25,1111,1181,3673, 407,3470,4561,2679,2713, + 768,1925,2841,3986,1544,1165, 932, 373,1240,2146,1930,2673, 721,4766, 354,4333, + 391,2963, 187, 61,3364,1442,1102, 330,1940,1767, 341,3809,4118, 393,2496,2062, +2211, 105, 331, 300, 439, 913,1332, 626, 379,3304,1557, 328, 689,3952, 309,1555, + 931, 317,2517,3027, 325, 569, 686,2107,3084, 60,1042,1333,2794, 264,3177,4014, +1628, 258,3712, 7,4464,1176,1043,1778, 683, 114,1975, 78,1492, 383,1886, 510, + 386, 645,5291,2891,2069,3305,4138,3867,2939,2603,2493,1935,1066,1848,3588,1015, +1282,1289,4609, 697,1453,3044,2666,3611,1856,2412, 54, 719,1330, 568,3778,2459, +1748, 788, 492, 551,1191,1000, 488,3394,3763, 282,1799, 348,2016,1523,3155,2390, +1049, 382,2019,1788,1170, 729,2968,3523, 897,3926,2785,2938,3292, 350,2319,3238, +1718,1717,2655,3453,3143,4465, 161,2889,2980,2009,1421, 56,1908,1640,2387,2232, +1917,1874,2477,4921, 148, 83,3438, 592,4245,2882,1822,1055, 741, 115,1496,1624, + 381,1638,4592,1020, 516,3214, 458, 947,4575,1432, 211,1514,2926,1865,2142, 189, + 852,1221,1400,1486, 882,2299,4036, 351, 28,1122, 700,6479,6480,6481,6482,6483, #last 512 +) + diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/gb2312prober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/gb2312prober.py new file mode 100644 index 0000000..8446d2d --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/gb2312prober.py @@ -0,0 +1,46 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .mbcharsetprober import MultiByteCharSetProber +from .codingstatemachine import CodingStateMachine +from .chardistribution import GB2312DistributionAnalysis +from .mbcssm import GB2312_SM_MODEL + +class GB2312Prober(MultiByteCharSetProber): + def __init__(self): + super(GB2312Prober, self).__init__() + self.coding_sm = CodingStateMachine(GB2312_SM_MODEL) + self.distribution_analyzer = GB2312DistributionAnalysis() + self.reset() + + @property + def charset_name(self): + return "GB2312" + + @property + def language(self): + return "Chinese" diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/hebrewprober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/hebrewprober.py new file mode 100644 index 0000000..b0e1bf4 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/hebrewprober.py @@ -0,0 +1,292 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Shy Shalom +# Portions created by the Initial Developer are Copyright (C) 2005 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetprober import CharSetProber +from .enums import ProbingState + +# This prober doesn't actually recognize a language or a charset. +# It is a helper prober for the use of the Hebrew model probers + +### General ideas of the Hebrew charset recognition ### +# +# Four main charsets exist in Hebrew: +# "ISO-8859-8" - Visual Hebrew +# "windows-1255" - Logical Hebrew +# "ISO-8859-8-I" - Logical Hebrew +# "x-mac-hebrew" - ?? Logical Hebrew ?? +# +# Both "ISO" charsets use a completely identical set of code points, whereas +# "windows-1255" and "x-mac-hebrew" are two different proper supersets of +# these code points. windows-1255 defines additional characters in the range +# 0x80-0x9F as some misc punctuation marks as well as some Hebrew-specific +# diacritics and additional 'Yiddish' ligature letters in the range 0xc0-0xd6. +# x-mac-hebrew defines similar additional code points but with a different +# mapping. +# +# As far as an average Hebrew text with no diacritics is concerned, all four +# charsets are identical with respect to code points. Meaning that for the +# main Hebrew alphabet, all four map the same values to all 27 Hebrew letters +# (including final letters). +# +# The dominant difference between these charsets is their directionality. +# "Visual" directionality means that the text is ordered as if the renderer is +# not aware of a BIDI rendering algorithm. The renderer sees the text and +# draws it from left to right. The text itself when ordered naturally is read +# backwards. A buffer of Visual Hebrew generally looks like so: +# "[last word of first line spelled backwards] [whole line ordered backwards +# and spelled backwards] [first word of first line spelled backwards] +# [end of line] [last word of second line] ... etc' " +# adding punctuation marks, numbers and English text to visual text is +# naturally also "visual" and from left to right. +# +# "Logical" directionality means the text is ordered "naturally" according to +# the order it is read. It is the responsibility of the renderer to display +# the text from right to left. A BIDI algorithm is used to place general +# punctuation marks, numbers and English text in the text. +# +# Texts in x-mac-hebrew are almost impossible to find on the Internet. From +# what little evidence I could find, it seems that its general directionality +# is Logical. +# +# To sum up all of the above, the Hebrew probing mechanism knows about two +# charsets: +# Visual Hebrew - "ISO-8859-8" - backwards text - Words and sentences are +# backwards while line order is natural. For charset recognition purposes +# the line order is unimportant (In fact, for this implementation, even +# word order is unimportant). +# Logical Hebrew - "windows-1255" - normal, naturally ordered text. +# +# "ISO-8859-8-I" is a subset of windows-1255 and doesn't need to be +# specifically identified. +# "x-mac-hebrew" is also identified as windows-1255. A text in x-mac-hebrew +# that contain special punctuation marks or diacritics is displayed with +# some unconverted characters showing as question marks. This problem might +# be corrected using another model prober for x-mac-hebrew. Due to the fact +# that x-mac-hebrew texts are so rare, writing another model prober isn't +# worth the effort and performance hit. +# +#### The Prober #### +# +# The prober is divided between two SBCharSetProbers and a HebrewProber, +# all of which are managed, created, fed data, inquired and deleted by the +# SBCSGroupProber. The two SBCharSetProbers identify that the text is in +# fact some kind of Hebrew, Logical or Visual. The final decision about which +# one is it is made by the HebrewProber by combining final-letter scores +# with the scores of the two SBCharSetProbers to produce a final answer. +# +# The SBCSGroupProber is responsible for stripping the original text of HTML +# tags, English characters, numbers, low-ASCII punctuation characters, spaces +# and new lines. It reduces any sequence of such characters to a single space. +# The buffer fed to each prober in the SBCS group prober is pure text in +# high-ASCII. +# The two SBCharSetProbers (model probers) share the same language model: +# Win1255Model. +# The first SBCharSetProber uses the model normally as any other +# SBCharSetProber does, to recognize windows-1255, upon which this model was +# built. The second SBCharSetProber is told to make the pair-of-letter +# lookup in the language model backwards. This in practice exactly simulates +# a visual Hebrew model using the windows-1255 logical Hebrew model. +# +# The HebrewProber is not using any language model. All it does is look for +# final-letter evidence suggesting the text is either logical Hebrew or visual +# Hebrew. Disjointed from the model probers, the results of the HebrewProber +# alone are meaningless. HebrewProber always returns 0.00 as confidence +# since it never identifies a charset by itself. Instead, the pointer to the +# HebrewProber is passed to the model probers as a helper "Name Prober". +# When the Group prober receives a positive identification from any prober, +# it asks for the name of the charset identified. If the prober queried is a +# Hebrew model prober, the model prober forwards the call to the +# HebrewProber to make the final decision. In the HebrewProber, the +# decision is made according to the final-letters scores maintained and Both +# model probers scores. The answer is returned in the form of the name of the +# charset identified, either "windows-1255" or "ISO-8859-8". + +class HebrewProber(CharSetProber): + # windows-1255 / ISO-8859-8 code points of interest + FINAL_KAF = 0xea + NORMAL_KAF = 0xeb + FINAL_MEM = 0xed + NORMAL_MEM = 0xee + FINAL_NUN = 0xef + NORMAL_NUN = 0xf0 + FINAL_PE = 0xf3 + NORMAL_PE = 0xf4 + FINAL_TSADI = 0xf5 + NORMAL_TSADI = 0xf6 + + # Minimum Visual vs Logical final letter score difference. + # If the difference is below this, don't rely solely on the final letter score + # distance. + MIN_FINAL_CHAR_DISTANCE = 5 + + # Minimum Visual vs Logical model score difference. + # If the difference is below this, don't rely at all on the model score + # distance. + MIN_MODEL_DISTANCE = 0.01 + + VISUAL_HEBREW_NAME = "ISO-8859-8" + LOGICAL_HEBREW_NAME = "windows-1255" + + def __init__(self): + super(HebrewProber, self).__init__() + self._final_char_logical_score = None + self._final_char_visual_score = None + self._prev = None + self._before_prev = None + self._logical_prober = None + self._visual_prober = None + self.reset() + + def reset(self): + self._final_char_logical_score = 0 + self._final_char_visual_score = 0 + # The two last characters seen in the previous buffer, + # mPrev and mBeforePrev are initialized to space in order to simulate + # a word delimiter at the beginning of the data + self._prev = ' ' + self._before_prev = ' ' + # These probers are owned by the group prober. + + def set_model_probers(self, logicalProber, visualProber): + self._logical_prober = logicalProber + self._visual_prober = visualProber + + def is_final(self, c): + return c in [self.FINAL_KAF, self.FINAL_MEM, self.FINAL_NUN, + self.FINAL_PE, self.FINAL_TSADI] + + def is_non_final(self, c): + # The normal Tsadi is not a good Non-Final letter due to words like + # 'lechotet' (to chat) containing an apostrophe after the tsadi. This + # apostrophe is converted to a space in FilterWithoutEnglishLetters + # causing the Non-Final tsadi to appear at an end of a word even + # though this is not the case in the original text. + # The letters Pe and Kaf rarely display a related behavior of not being + # a good Non-Final letter. Words like 'Pop', 'Winamp' and 'Mubarak' + # for example legally end with a Non-Final Pe or Kaf. However, the + # benefit of these letters as Non-Final letters outweighs the damage + # since these words are quite rare. + return c in [self.NORMAL_KAF, self.NORMAL_MEM, + self.NORMAL_NUN, self.NORMAL_PE] + + def feed(self, byte_str): + # Final letter analysis for logical-visual decision. + # Look for evidence that the received buffer is either logical Hebrew + # or visual Hebrew. + # The following cases are checked: + # 1) A word longer than 1 letter, ending with a final letter. This is + # an indication that the text is laid out "naturally" since the + # final letter really appears at the end. +1 for logical score. + # 2) A word longer than 1 letter, ending with a Non-Final letter. In + # normal Hebrew, words ending with Kaf, Mem, Nun, Pe or Tsadi, + # should not end with the Non-Final form of that letter. Exceptions + # to this rule are mentioned above in isNonFinal(). This is an + # indication that the text is laid out backwards. +1 for visual + # score + # 3) A word longer than 1 letter, starting with a final letter. Final + # letters should not appear at the beginning of a word. This is an + # indication that the text is laid out backwards. +1 for visual + # score. + # + # The visual score and logical score are accumulated throughout the + # text and are finally checked against each other in GetCharSetName(). + # No checking for final letters in the middle of words is done since + # that case is not an indication for either Logical or Visual text. + # + # We automatically filter out all 7-bit characters (replace them with + # spaces) so the word boundary detection works properly. [MAP] + + if self.state == ProbingState.NOT_ME: + # Both model probers say it's not them. No reason to continue. + return ProbingState.NOT_ME + + byte_str = self.filter_high_byte_only(byte_str) + + for cur in byte_str: + if cur == ' ': + # We stand on a space - a word just ended + if self._before_prev != ' ': + # next-to-last char was not a space so self._prev is not a + # 1 letter word + if self.is_final(self._prev): + # case (1) [-2:not space][-1:final letter][cur:space] + self._final_char_logical_score += 1 + elif self.is_non_final(self._prev): + # case (2) [-2:not space][-1:Non-Final letter][ + # cur:space] + self._final_char_visual_score += 1 + else: + # Not standing on a space + if ((self._before_prev == ' ') and + (self.is_final(self._prev)) and (cur != ' ')): + # case (3) [-2:space][-1:final letter][cur:not space] + self._final_char_visual_score += 1 + self._before_prev = self._prev + self._prev = cur + + # Forever detecting, till the end or until both model probers return + # ProbingState.NOT_ME (handled above) + return ProbingState.DETECTING + + @property + def charset_name(self): + # Make the decision: is it Logical or Visual? + # If the final letter score distance is dominant enough, rely on it. + finalsub = self._final_char_logical_score - self._final_char_visual_score + if finalsub >= self.MIN_FINAL_CHAR_DISTANCE: + return self.LOGICAL_HEBREW_NAME + if finalsub <= -self.MIN_FINAL_CHAR_DISTANCE: + return self.VISUAL_HEBREW_NAME + + # It's not dominant enough, try to rely on the model scores instead. + modelsub = (self._logical_prober.get_confidence() + - self._visual_prober.get_confidence()) + if modelsub > self.MIN_MODEL_DISTANCE: + return self.LOGICAL_HEBREW_NAME + if modelsub < -self.MIN_MODEL_DISTANCE: + return self.VISUAL_HEBREW_NAME + + # Still no good, back to final letter distance, maybe it'll save the + # day. + if finalsub < 0.0: + return self.VISUAL_HEBREW_NAME + + # (finalsub > 0 - Logical) or (don't know what to do) default to + # Logical. + return self.LOGICAL_HEBREW_NAME + + @property + def language(self): + return 'Hebrew' + + @property + def state(self): + # Remain active as long as any of the model probers are active. + if (self._logical_prober.state == ProbingState.NOT_ME) and \ + (self._visual_prober.state == ProbingState.NOT_ME): + return ProbingState.NOT_ME + return ProbingState.DETECTING diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/jisfreq.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/jisfreq.py new file mode 100644 index 0000000..83fc082 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/jisfreq.py @@ -0,0 +1,325 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# Sampling from about 20M text materials include literature and computer technology +# +# Japanese frequency table, applied to both S-JIS and EUC-JP +# They are sorted in order. + +# 128 --> 0.77094 +# 256 --> 0.85710 +# 512 --> 0.92635 +# 1024 --> 0.97130 +# 2048 --> 0.99431 +# +# Ideal Distribution Ratio = 0.92635 / (1-0.92635) = 12.58 +# Random Distribution Ration = 512 / (2965+62+83+86-512) = 0.191 +# +# Typical Distribution Ratio, 25% of IDR + +JIS_TYPICAL_DISTRIBUTION_RATIO = 3.0 + +# Char to FreqOrder table , +JIS_TABLE_SIZE = 4368 + +JIS_CHAR_TO_FREQ_ORDER = ( + 40, 1, 6, 182, 152, 180, 295,2127, 285, 381,3295,4304,3068,4606,3165,3510, # 16 +3511,1822,2785,4607,1193,2226,5070,4608, 171,2996,1247, 18, 179,5071, 856,1661, # 32 +1262,5072, 619, 127,3431,3512,3230,1899,1700, 232, 228,1294,1298, 284, 283,2041, # 48 +2042,1061,1062, 48, 49, 44, 45, 433, 434,1040,1041, 996, 787,2997,1255,4305, # 64 +2108,4609,1684,1648,5073,5074,5075,5076,5077,5078,3687,5079,4610,5080,3927,3928, # 80 +5081,3296,3432, 290,2285,1471,2187,5082,2580,2825,1303,2140,1739,1445,2691,3375, # 96 +1691,3297,4306,4307,4611, 452,3376,1182,2713,3688,3069,4308,5083,5084,5085,5086, # 112 +5087,5088,5089,5090,5091,5092,5093,5094,5095,5096,5097,5098,5099,5100,5101,5102, # 128 +5103,5104,5105,5106,5107,5108,5109,5110,5111,5112,4097,5113,5114,5115,5116,5117, # 144 +5118,5119,5120,5121,5122,5123,5124,5125,5126,5127,5128,5129,5130,5131,5132,5133, # 160 +5134,5135,5136,5137,5138,5139,5140,5141,5142,5143,5144,5145,5146,5147,5148,5149, # 176 +5150,5151,5152,4612,5153,5154,5155,5156,5157,5158,5159,5160,5161,5162,5163,5164, # 192 +5165,5166,5167,5168,5169,5170,5171,5172,5173,5174,5175,1472, 598, 618, 820,1205, # 208 +1309,1412,1858,1307,1692,5176,5177,5178,5179,5180,5181,5182,1142,1452,1234,1172, # 224 +1875,2043,2149,1793,1382,2973, 925,2404,1067,1241, 960,1377,2935,1491, 919,1217, # 240 +1865,2030,1406,1499,2749,4098,5183,5184,5185,5186,5187,5188,2561,4099,3117,1804, # 256 +2049,3689,4309,3513,1663,5189,3166,3118,3298,1587,1561,3433,5190,3119,1625,2998, # 272 +3299,4613,1766,3690,2786,4614,5191,5192,5193,5194,2161, 26,3377, 2,3929, 20, # 288 +3691, 47,4100, 50, 17, 16, 35, 268, 27, 243, 42, 155, 24, 154, 29, 184, # 304 + 4, 91, 14, 92, 53, 396, 33, 289, 9, 37, 64, 620, 21, 39, 321, 5, # 320 + 12, 11, 52, 13, 3, 208, 138, 0, 7, 60, 526, 141, 151,1069, 181, 275, # 336 +1591, 83, 132,1475, 126, 331, 829, 15, 69, 160, 59, 22, 157, 55,1079, 312, # 352 + 109, 38, 23, 25, 10, 19, 79,5195, 61, 382,1124, 8, 30,5196,5197,5198, # 368 +5199,5200,5201,5202,5203,5204,5205,5206, 89, 62, 74, 34,2416, 112, 139, 196, # 384 + 271, 149, 84, 607, 131, 765, 46, 88, 153, 683, 76, 874, 101, 258, 57, 80, # 400 + 32, 364, 121,1508, 169,1547, 68, 235, 145,2999, 41, 360,3027, 70, 63, 31, # 416 + 43, 259, 262,1383, 99, 533, 194, 66, 93, 846, 217, 192, 56, 106, 58, 565, # 432 + 280, 272, 311, 256, 146, 82, 308, 71, 100, 128, 214, 655, 110, 261, 104,1140, # 448 + 54, 51, 36, 87, 67,3070, 185,2618,2936,2020, 28,1066,2390,2059,5207,5208, # 464 +5209,5210,5211,5212,5213,5214,5215,5216,4615,5217,5218,5219,5220,5221,5222,5223, # 480 +5224,5225,5226,5227,5228,5229,5230,5231,5232,5233,5234,5235,5236,3514,5237,5238, # 496 +5239,5240,5241,5242,5243,5244,2297,2031,4616,4310,3692,5245,3071,5246,3598,5247, # 512 +4617,3231,3515,5248,4101,4311,4618,3808,4312,4102,5249,4103,4104,3599,5250,5251, # 528 +5252,5253,5254,5255,5256,5257,5258,5259,5260,5261,5262,5263,5264,5265,5266,5267, # 544 +5268,5269,5270,5271,5272,5273,5274,5275,5276,5277,5278,5279,5280,5281,5282,5283, # 560 +5284,5285,5286,5287,5288,5289,5290,5291,5292,5293,5294,5295,5296,5297,5298,5299, # 576 +5300,5301,5302,5303,5304,5305,5306,5307,5308,5309,5310,5311,5312,5313,5314,5315, # 592 +5316,5317,5318,5319,5320,5321,5322,5323,5324,5325,5326,5327,5328,5329,5330,5331, # 608 +5332,5333,5334,5335,5336,5337,5338,5339,5340,5341,5342,5343,5344,5345,5346,5347, # 624 +5348,5349,5350,5351,5352,5353,5354,5355,5356,5357,5358,5359,5360,5361,5362,5363, # 640 +5364,5365,5366,5367,5368,5369,5370,5371,5372,5373,5374,5375,5376,5377,5378,5379, # 656 +5380,5381, 363, 642,2787,2878,2788,2789,2316,3232,2317,3434,2011, 165,1942,3930, # 672 +3931,3932,3933,5382,4619,5383,4620,5384,5385,5386,5387,5388,5389,5390,5391,5392, # 688 +5393,5394,5395,5396,5397,5398,5399,5400,5401,5402,5403,5404,5405,5406,5407,5408, # 704 +5409,5410,5411,5412,5413,5414,5415,5416,5417,5418,5419,5420,5421,5422,5423,5424, # 720 +5425,5426,5427,5428,5429,5430,5431,5432,5433,5434,5435,5436,5437,5438,5439,5440, # 736 +5441,5442,5443,5444,5445,5446,5447,5448,5449,5450,5451,5452,5453,5454,5455,5456, # 752 +5457,5458,5459,5460,5461,5462,5463,5464,5465,5466,5467,5468,5469,5470,5471,5472, # 768 +5473,5474,5475,5476,5477,5478,5479,5480,5481,5482,5483,5484,5485,5486,5487,5488, # 784 +5489,5490,5491,5492,5493,5494,5495,5496,5497,5498,5499,5500,5501,5502,5503,5504, # 800 +5505,5506,5507,5508,5509,5510,5511,5512,5513,5514,5515,5516,5517,5518,5519,5520, # 816 +5521,5522,5523,5524,5525,5526,5527,5528,5529,5530,5531,5532,5533,5534,5535,5536, # 832 +5537,5538,5539,5540,5541,5542,5543,5544,5545,5546,5547,5548,5549,5550,5551,5552, # 848 +5553,5554,5555,5556,5557,5558,5559,5560,5561,5562,5563,5564,5565,5566,5567,5568, # 864 +5569,5570,5571,5572,5573,5574,5575,5576,5577,5578,5579,5580,5581,5582,5583,5584, # 880 +5585,5586,5587,5588,5589,5590,5591,5592,5593,5594,5595,5596,5597,5598,5599,5600, # 896 +5601,5602,5603,5604,5605,5606,5607,5608,5609,5610,5611,5612,5613,5614,5615,5616, # 912 +5617,5618,5619,5620,5621,5622,5623,5624,5625,5626,5627,5628,5629,5630,5631,5632, # 928 +5633,5634,5635,5636,5637,5638,5639,5640,5641,5642,5643,5644,5645,5646,5647,5648, # 944 +5649,5650,5651,5652,5653,5654,5655,5656,5657,5658,5659,5660,5661,5662,5663,5664, # 960 +5665,5666,5667,5668,5669,5670,5671,5672,5673,5674,5675,5676,5677,5678,5679,5680, # 976 +5681,5682,5683,5684,5685,5686,5687,5688,5689,5690,5691,5692,5693,5694,5695,5696, # 992 +5697,5698,5699,5700,5701,5702,5703,5704,5705,5706,5707,5708,5709,5710,5711,5712, # 1008 +5713,5714,5715,5716,5717,5718,5719,5720,5721,5722,5723,5724,5725,5726,5727,5728, # 1024 +5729,5730,5731,5732,5733,5734,5735,5736,5737,5738,5739,5740,5741,5742,5743,5744, # 1040 +5745,5746,5747,5748,5749,5750,5751,5752,5753,5754,5755,5756,5757,5758,5759,5760, # 1056 +5761,5762,5763,5764,5765,5766,5767,5768,5769,5770,5771,5772,5773,5774,5775,5776, # 1072 +5777,5778,5779,5780,5781,5782,5783,5784,5785,5786,5787,5788,5789,5790,5791,5792, # 1088 +5793,5794,5795,5796,5797,5798,5799,5800,5801,5802,5803,5804,5805,5806,5807,5808, # 1104 +5809,5810,5811,5812,5813,5814,5815,5816,5817,5818,5819,5820,5821,5822,5823,5824, # 1120 +5825,5826,5827,5828,5829,5830,5831,5832,5833,5834,5835,5836,5837,5838,5839,5840, # 1136 +5841,5842,5843,5844,5845,5846,5847,5848,5849,5850,5851,5852,5853,5854,5855,5856, # 1152 +5857,5858,5859,5860,5861,5862,5863,5864,5865,5866,5867,5868,5869,5870,5871,5872, # 1168 +5873,5874,5875,5876,5877,5878,5879,5880,5881,5882,5883,5884,5885,5886,5887,5888, # 1184 +5889,5890,5891,5892,5893,5894,5895,5896,5897,5898,5899,5900,5901,5902,5903,5904, # 1200 +5905,5906,5907,5908,5909,5910,5911,5912,5913,5914,5915,5916,5917,5918,5919,5920, # 1216 +5921,5922,5923,5924,5925,5926,5927,5928,5929,5930,5931,5932,5933,5934,5935,5936, # 1232 +5937,5938,5939,5940,5941,5942,5943,5944,5945,5946,5947,5948,5949,5950,5951,5952, # 1248 +5953,5954,5955,5956,5957,5958,5959,5960,5961,5962,5963,5964,5965,5966,5967,5968, # 1264 +5969,5970,5971,5972,5973,5974,5975,5976,5977,5978,5979,5980,5981,5982,5983,5984, # 1280 +5985,5986,5987,5988,5989,5990,5991,5992,5993,5994,5995,5996,5997,5998,5999,6000, # 1296 +6001,6002,6003,6004,6005,6006,6007,6008,6009,6010,6011,6012,6013,6014,6015,6016, # 1312 +6017,6018,6019,6020,6021,6022,6023,6024,6025,6026,6027,6028,6029,6030,6031,6032, # 1328 +6033,6034,6035,6036,6037,6038,6039,6040,6041,6042,6043,6044,6045,6046,6047,6048, # 1344 +6049,6050,6051,6052,6053,6054,6055,6056,6057,6058,6059,6060,6061,6062,6063,6064, # 1360 +6065,6066,6067,6068,6069,6070,6071,6072,6073,6074,6075,6076,6077,6078,6079,6080, # 1376 +6081,6082,6083,6084,6085,6086,6087,6088,6089,6090,6091,6092,6093,6094,6095,6096, # 1392 +6097,6098,6099,6100,6101,6102,6103,6104,6105,6106,6107,6108,6109,6110,6111,6112, # 1408 +6113,6114,2044,2060,4621, 997,1235, 473,1186,4622, 920,3378,6115,6116, 379,1108, # 1424 +4313,2657,2735,3934,6117,3809, 636,3233, 573,1026,3693,3435,2974,3300,2298,4105, # 1440 + 854,2937,2463, 393,2581,2417, 539, 752,1280,2750,2480, 140,1161, 440, 708,1569, # 1456 + 665,2497,1746,1291,1523,3000, 164,1603, 847,1331, 537,1997, 486, 508,1693,2418, # 1472 +1970,2227, 878,1220, 299,1030, 969, 652,2751, 624,1137,3301,2619, 65,3302,2045, # 1488 +1761,1859,3120,1930,3694,3516, 663,1767, 852, 835,3695, 269, 767,2826,2339,1305, # 1504 + 896,1150, 770,1616,6118, 506,1502,2075,1012,2519, 775,2520,2975,2340,2938,4314, # 1520 +3028,2086,1224,1943,2286,6119,3072,4315,2240,1273,1987,3935,1557, 175, 597, 985, # 1536 +3517,2419,2521,1416,3029, 585, 938,1931,1007,1052,1932,1685,6120,3379,4316,4623, # 1552 + 804, 599,3121,1333,2128,2539,1159,1554,2032,3810, 687,2033,2904, 952, 675,1467, # 1568 +3436,6121,2241,1096,1786,2440,1543,1924, 980,1813,2228, 781,2692,1879, 728,1918, # 1584 +3696,4624, 548,1950,4625,1809,1088,1356,3303,2522,1944, 502, 972, 373, 513,2827, # 1600 + 586,2377,2391,1003,1976,1631,6122,2464,1084, 648,1776,4626,2141, 324, 962,2012, # 1616 +2177,2076,1384, 742,2178,1448,1173,1810, 222, 102, 301, 445, 125,2420, 662,2498, # 1632 + 277, 200,1476,1165,1068, 224,2562,1378,1446, 450,1880, 659, 791, 582,4627,2939, # 1648 +3936,1516,1274, 555,2099,3697,1020,1389,1526,3380,1762,1723,1787,2229, 412,2114, # 1664 +1900,2392,3518, 512,2597, 427,1925,2341,3122,1653,1686,2465,2499, 697, 330, 273, # 1680 + 380,2162, 951, 832, 780, 991,1301,3073, 965,2270,3519, 668,2523,2636,1286, 535, # 1696 +1407, 518, 671, 957,2658,2378, 267, 611,2197,3030,6123, 248,2299, 967,1799,2356, # 1712 + 850,1418,3437,1876,1256,1480,2828,1718,6124,6125,1755,1664,2405,6126,4628,2879, # 1728 +2829, 499,2179, 676,4629, 557,2329,2214,2090, 325,3234, 464, 811,3001, 992,2342, # 1744 +2481,1232,1469, 303,2242, 466,1070,2163, 603,1777,2091,4630,2752,4631,2714, 322, # 1760 +2659,1964,1768, 481,2188,1463,2330,2857,3600,2092,3031,2421,4632,2318,2070,1849, # 1776 +2598,4633,1302,2254,1668,1701,2422,3811,2905,3032,3123,2046,4106,1763,1694,4634, # 1792 +1604, 943,1724,1454, 917, 868,2215,1169,2940, 552,1145,1800,1228,1823,1955, 316, # 1808 +1080,2510, 361,1807,2830,4107,2660,3381,1346,1423,1134,4108,6127, 541,1263,1229, # 1824 +1148,2540, 545, 465,1833,2880,3438,1901,3074,2482, 816,3937, 713,1788,2500, 122, # 1840 +1575, 195,1451,2501,1111,6128, 859, 374,1225,2243,2483,4317, 390,1033,3439,3075, # 1856 +2524,1687, 266, 793,1440,2599, 946, 779, 802, 507, 897,1081, 528,2189,1292, 711, # 1872 +1866,1725,1167,1640, 753, 398,2661,1053, 246, 348,4318, 137,1024,3440,1600,2077, # 1888 +2129, 825,4319, 698, 238, 521, 187,2300,1157,2423,1641,1605,1464,1610,1097,2541, # 1904 +1260,1436, 759,2255,1814,2150, 705,3235, 409,2563,3304, 561,3033,2005,2564, 726, # 1920 +1956,2343,3698,4109, 949,3812,3813,3520,1669, 653,1379,2525, 881,2198, 632,2256, # 1936 +1027, 778,1074, 733,1957, 514,1481,2466, 554,2180, 702,3938,1606,1017,1398,6129, # 1952 +1380,3521, 921, 993,1313, 594, 449,1489,1617,1166, 768,1426,1360, 495,1794,3601, # 1968 +1177,3602,1170,4320,2344, 476, 425,3167,4635,3168,1424, 401,2662,1171,3382,1998, # 1984 +1089,4110, 477,3169, 474,6130,1909, 596,2831,1842, 494, 693,1051,1028,1207,3076, # 2000 + 606,2115, 727,2790,1473,1115, 743,3522, 630, 805,1532,4321,2021, 366,1057, 838, # 2016 + 684,1114,2142,4322,2050,1492,1892,1808,2271,3814,2424,1971,1447,1373,3305,1090, # 2032 +1536,3939,3523,3306,1455,2199, 336, 369,2331,1035, 584,2393, 902, 718,2600,6131, # 2048 +2753, 463,2151,1149,1611,2467, 715,1308,3124,1268, 343,1413,3236,1517,1347,2663, # 2064 +2093,3940,2022,1131,1553,2100,2941,1427,3441,2942,1323,2484,6132,1980, 872,2368, # 2080 +2441,2943, 320,2369,2116,1082, 679,1933,3941,2791,3815, 625,1143,2023, 422,2200, # 2096 +3816,6133, 730,1695, 356,2257,1626,2301,2858,2637,1627,1778, 937, 883,2906,2693, # 2112 +3002,1769,1086, 400,1063,1325,3307,2792,4111,3077, 456,2345,1046, 747,6134,1524, # 2128 + 884,1094,3383,1474,2164,1059, 974,1688,2181,2258,1047, 345,1665,1187, 358, 875, # 2144 +3170, 305, 660,3524,2190,1334,1135,3171,1540,1649,2542,1527, 927, 968,2793, 885, # 2160 +1972,1850, 482, 500,2638,1218,1109,1085,2543,1654,2034, 876, 78,2287,1482,1277, # 2176 + 861,1675,1083,1779, 724,2754, 454, 397,1132,1612,2332, 893, 672,1237, 257,2259, # 2192 +2370, 135,3384, 337,2244, 547, 352, 340, 709,2485,1400, 788,1138,2511, 540, 772, # 2208 +1682,2260,2272,2544,2013,1843,1902,4636,1999,1562,2288,4637,2201,1403,1533, 407, # 2224 + 576,3308,1254,2071, 978,3385, 170, 136,1201,3125,2664,3172,2394, 213, 912, 873, # 2240 +3603,1713,2202, 699,3604,3699, 813,3442, 493, 531,1054, 468,2907,1483, 304, 281, # 2256 +4112,1726,1252,2094, 339,2319,2130,2639, 756,1563,2944, 748, 571,2976,1588,2425, # 2272 +2715,1851,1460,2426,1528,1392,1973,3237, 288,3309, 685,3386, 296, 892,2716,2216, # 2288 +1570,2245, 722,1747,2217, 905,3238,1103,6135,1893,1441,1965, 251,1805,2371,3700, # 2304 +2601,1919,1078, 75,2182,1509,1592,1270,2640,4638,2152,6136,3310,3817, 524, 706, # 2320 +1075, 292,3818,1756,2602, 317, 98,3173,3605,3525,1844,2218,3819,2502, 814, 567, # 2336 + 385,2908,1534,6137, 534,1642,3239, 797,6138,1670,1529, 953,4323, 188,1071, 538, # 2352 + 178, 729,3240,2109,1226,1374,2000,2357,2977, 731,2468,1116,2014,2051,6139,1261, # 2368 +1593, 803,2859,2736,3443, 556, 682, 823,1541,6140,1369,2289,1706,2794, 845, 462, # 2384 +2603,2665,1361, 387, 162,2358,1740, 739,1770,1720,1304,1401,3241,1049, 627,1571, # 2400 +2427,3526,1877,3942,1852,1500, 431,1910,1503, 677, 297,2795, 286,1433,1038,1198, # 2416 +2290,1133,1596,4113,4639,2469,1510,1484,3943,6141,2442, 108, 712,4640,2372, 866, # 2432 +3701,2755,3242,1348, 834,1945,1408,3527,2395,3243,1811, 824, 994,1179,2110,1548, # 2448 +1453, 790,3003, 690,4324,4325,2832,2909,3820,1860,3821, 225,1748, 310, 346,1780, # 2464 +2470, 821,1993,2717,2796, 828, 877,3528,2860,2471,1702,2165,2910,2486,1789, 453, # 2480 + 359,2291,1676, 73,1164,1461,1127,3311, 421, 604, 314,1037, 589, 116,2487, 737, # 2496 + 837,1180, 111, 244, 735,6142,2261,1861,1362, 986, 523, 418, 581,2666,3822, 103, # 2512 + 855, 503,1414,1867,2488,1091, 657,1597, 979, 605,1316,4641,1021,2443,2078,2001, # 2528 +1209, 96, 587,2166,1032, 260,1072,2153, 173, 94, 226,3244, 819,2006,4642,4114, # 2544 +2203, 231,1744, 782, 97,2667, 786,3387, 887, 391, 442,2219,4326,1425,6143,2694, # 2560 + 633,1544,1202, 483,2015, 592,2052,1958,2472,1655, 419, 129,4327,3444,3312,1714, # 2576 +1257,3078,4328,1518,1098, 865,1310,1019,1885,1512,1734, 469,2444, 148, 773, 436, # 2592 +1815,1868,1128,1055,4329,1245,2756,3445,2154,1934,1039,4643, 579,1238, 932,2320, # 2608 + 353, 205, 801, 115,2428, 944,2321,1881, 399,2565,1211, 678, 766,3944, 335,2101, # 2624 +1459,1781,1402,3945,2737,2131,1010, 844, 981,1326,1013, 550,1816,1545,2620,1335, # 2640 +1008, 371,2881, 936,1419,1613,3529,1456,1395,2273,1834,2604,1317,2738,2503, 416, # 2656 +1643,4330, 806,1126, 229, 591,3946,1314,1981,1576,1837,1666, 347,1790, 977,3313, # 2672 + 764,2861,1853, 688,2429,1920,1462, 77, 595, 415,2002,3034, 798,1192,4115,6144, # 2688 +2978,4331,3035,2695,2582,2072,2566, 430,2430,1727, 842,1396,3947,3702, 613, 377, # 2704 + 278, 236,1417,3388,3314,3174, 757,1869, 107,3530,6145,1194, 623,2262, 207,1253, # 2720 +2167,3446,3948, 492,1117,1935, 536,1838,2757,1246,4332, 696,2095,2406,1393,1572, # 2736 +3175,1782, 583, 190, 253,1390,2230, 830,3126,3389, 934,3245,1703,1749,2979,1870, # 2752 +2545,1656,2204, 869,2346,4116,3176,1817, 496,1764,4644, 942,1504, 404,1903,1122, # 2768 +1580,3606,2945,1022, 515, 372,1735, 955,2431,3036,6146,2797,1110,2302,2798, 617, # 2784 +6147, 441, 762,1771,3447,3607,3608,1904, 840,3037, 86, 939,1385, 572,1370,2445, # 2800 +1336, 114,3703, 898, 294, 203,3315, 703,1583,2274, 429, 961,4333,1854,1951,3390, # 2816 +2373,3704,4334,1318,1381, 966,1911,2322,1006,1155, 309, 989, 458,2718,1795,1372, # 2832 +1203, 252,1689,1363,3177, 517,1936, 168,1490, 562, 193,3823,1042,4117,1835, 551, # 2848 + 470,4645, 395, 489,3448,1871,1465,2583,2641, 417,1493, 279,1295, 511,1236,1119, # 2864 + 72,1231,1982,1812,3004, 871,1564, 984,3449,1667,2696,2096,4646,2347,2833,1673, # 2880 +3609, 695,3246,2668, 807,1183,4647, 890, 388,2333,1801,1457,2911,1765,1477,1031, # 2896 +3316,3317,1278,3391,2799,2292,2526, 163,3450,4335,2669,1404,1802,6148,2323,2407, # 2912 +1584,1728,1494,1824,1269, 298, 909,3318,1034,1632, 375, 776,1683,2061, 291, 210, # 2928 +1123, 809,1249,1002,2642,3038, 206,1011,2132, 144, 975, 882,1565, 342, 667, 754, # 2944 +1442,2143,1299,2303,2062, 447, 626,2205,1221,2739,2912,1144,1214,2206,2584, 760, # 2960 +1715, 614, 950,1281,2670,2621, 810, 577,1287,2546,4648, 242,2168, 250,2643, 691, # 2976 + 123,2644, 647, 313,1029, 689,1357,2946,1650, 216, 771,1339,1306, 808,2063, 549, # 2992 + 913,1371,2913,2914,6149,1466,1092,1174,1196,1311,2605,2396,1783,1796,3079, 406, # 3008 +2671,2117,3949,4649, 487,1825,2220,6150,2915, 448,2348,1073,6151,2397,1707, 130, # 3024 + 900,1598, 329, 176,1959,2527,1620,6152,2275,4336,3319,1983,2191,3705,3610,2155, # 3040 +3706,1912,1513,1614,6153,1988, 646, 392,2304,1589,3320,3039,1826,1239,1352,1340, # 3056 +2916, 505,2567,1709,1437,2408,2547, 906,6154,2672, 384,1458,1594,1100,1329, 710, # 3072 + 423,3531,2064,2231,2622,1989,2673,1087,1882, 333, 841,3005,1296,2882,2379, 580, # 3088 +1937,1827,1293,2585, 601, 574, 249,1772,4118,2079,1120, 645, 901,1176,1690, 795, # 3104 +2207, 478,1434, 516,1190,1530, 761,2080, 930,1264, 355, 435,1552, 644,1791, 987, # 3120 + 220,1364,1163,1121,1538, 306,2169,1327,1222, 546,2645, 218, 241, 610,1704,3321, # 3136 +1984,1839,1966,2528, 451,6155,2586,3707,2568, 907,3178, 254,2947, 186,1845,4650, # 3152 + 745, 432,1757, 428,1633, 888,2246,2221,2489,3611,2118,1258,1265, 956,3127,1784, # 3168 +4337,2490, 319, 510, 119, 457,3612, 274,2035,2007,4651,1409,3128, 970,2758, 590, # 3184 +2800, 661,2247,4652,2008,3950,1420,1549,3080,3322,3951,1651,1375,2111, 485,2491, # 3200 +1429,1156,6156,2548,2183,1495, 831,1840,2529,2446, 501,1657, 307,1894,3247,1341, # 3216 + 666, 899,2156,1539,2549,1559, 886, 349,2208,3081,2305,1736,3824,2170,2759,1014, # 3232 +1913,1386, 542,1397,2948, 490, 368, 716, 362, 159, 282,2569,1129,1658,1288,1750, # 3248 +2674, 276, 649,2016, 751,1496, 658,1818,1284,1862,2209,2087,2512,3451, 622,2834, # 3264 + 376, 117,1060,2053,1208,1721,1101,1443, 247,1250,3179,1792,3952,2760,2398,3953, # 3280 +6157,2144,3708, 446,2432,1151,2570,3452,2447,2761,2835,1210,2448,3082, 424,2222, # 3296 +1251,2449,2119,2836, 504,1581,4338, 602, 817, 857,3825,2349,2306, 357,3826,1470, # 3312 +1883,2883, 255, 958, 929,2917,3248, 302,4653,1050,1271,1751,2307,1952,1430,2697, # 3328 +2719,2359, 354,3180, 777, 158,2036,4339,1659,4340,4654,2308,2949,2248,1146,2232, # 3344 +3532,2720,1696,2623,3827,6158,3129,1550,2698,1485,1297,1428, 637, 931,2721,2145, # 3360 + 914,2550,2587, 81,2450, 612, 827,2646,1242,4655,1118,2884, 472,1855,3181,3533, # 3376 +3534, 569,1353,2699,1244,1758,2588,4119,2009,2762,2171,3709,1312,1531,6159,1152, # 3392 +1938, 134,1830, 471,3710,2276,1112,1535,3323,3453,3535, 982,1337,2950, 488, 826, # 3408 + 674,1058,1628,4120,2017, 522,2399, 211, 568,1367,3454, 350, 293,1872,1139,3249, # 3424 +1399,1946,3006,1300,2360,3324, 588, 736,6160,2606, 744, 669,3536,3828,6161,1358, # 3440 + 199, 723, 848, 933, 851,1939,1505,1514,1338,1618,1831,4656,1634,3613, 443,2740, # 3456 +3829, 717,1947, 491,1914,6162,2551,1542,4121,1025,6163,1099,1223, 198,3040,2722, # 3472 + 370, 410,1905,2589, 998,1248,3182,2380, 519,1449,4122,1710, 947, 928,1153,4341, # 3488 +2277, 344,2624,1511, 615, 105, 161,1212,1076,1960,3130,2054,1926,1175,1906,2473, # 3504 + 414,1873,2801,6164,2309, 315,1319,3325, 318,2018,2146,2157, 963, 631, 223,4342, # 3520 +4343,2675, 479,3711,1197,2625,3712,2676,2361,6165,4344,4123,6166,2451,3183,1886, # 3536 +2184,1674,1330,1711,1635,1506, 799, 219,3250,3083,3954,1677,3713,3326,2081,3614, # 3552 +1652,2073,4657,1147,3041,1752, 643,1961, 147,1974,3955,6167,1716,2037, 918,3007, # 3568 +1994, 120,1537, 118, 609,3184,4345, 740,3455,1219, 332,1615,3830,6168,1621,2980, # 3584 +1582, 783, 212, 553,2350,3714,1349,2433,2082,4124, 889,6169,2310,1275,1410, 973, # 3600 + 166,1320,3456,1797,1215,3185,2885,1846,2590,2763,4658, 629, 822,3008, 763, 940, # 3616 +1990,2862, 439,2409,1566,1240,1622, 926,1282,1907,2764, 654,2210,1607, 327,1130, # 3632 +3956,1678,1623,6170,2434,2192, 686, 608,3831,3715, 903,3957,3042,6171,2741,1522, # 3648 +1915,1105,1555,2552,1359, 323,3251,4346,3457, 738,1354,2553,2311,2334,1828,2003, # 3664 +3832,1753,2351,1227,6172,1887,4125,1478,6173,2410,1874,1712,1847, 520,1204,2607, # 3680 + 264,4659, 836,2677,2102, 600,4660,3833,2278,3084,6174,4347,3615,1342, 640, 532, # 3696 + 543,2608,1888,2400,2591,1009,4348,1497, 341,1737,3616,2723,1394, 529,3252,1321, # 3712 + 983,4661,1515,2120, 971,2592, 924, 287,1662,3186,4349,2700,4350,1519, 908,1948, # 3728 +2452, 156, 796,1629,1486,2223,2055, 694,4126,1259,1036,3392,1213,2249,2742,1889, # 3744 +1230,3958,1015, 910, 408, 559,3617,4662, 746, 725, 935,4663,3959,3009,1289, 563, # 3760 + 867,4664,3960,1567,2981,2038,2626, 988,2263,2381,4351, 143,2374, 704,1895,6175, # 3776 +1188,3716,2088, 673,3085,2362,4352, 484,1608,1921,2765,2918, 215, 904,3618,3537, # 3792 + 894, 509, 976,3043,2701,3961,4353,2837,2982, 498,6176,6177,1102,3538,1332,3393, # 3808 +1487,1636,1637, 233, 245,3962, 383, 650, 995,3044, 460,1520,1206,2352, 749,3327, # 3824 + 530, 700, 389,1438,1560,1773,3963,2264, 719,2951,2724,3834, 870,1832,1644,1000, # 3840 + 839,2474,3717, 197,1630,3394, 365,2886,3964,1285,2133, 734, 922, 818,1106, 732, # 3856 + 480,2083,1774,3458, 923,2279,1350, 221,3086, 85,2233,2234,3835,1585,3010,2147, # 3872 +1387,1705,2382,1619,2475, 133, 239,2802,1991,1016,2084,2383, 411,2838,1113, 651, # 3888 +1985,1160,3328, 990,1863,3087,1048,1276,2647, 265,2627,1599,3253,2056, 150, 638, # 3904 +2019, 656, 853, 326,1479, 680,1439,4354,1001,1759, 413,3459,3395,2492,1431, 459, # 3920 +4355,1125,3329,2265,1953,1450,2065,2863, 849, 351,2678,3131,3254,3255,1104,1577, # 3936 + 227,1351,1645,2453,2193,1421,2887, 812,2121, 634, 95,2435, 201,2312,4665,1646, # 3952 +1671,2743,1601,2554,2702,2648,2280,1315,1366,2089,3132,1573,3718,3965,1729,1189, # 3968 + 328,2679,1077,1940,1136, 558,1283, 964,1195, 621,2074,1199,1743,3460,3619,1896, # 3984 +1916,1890,3836,2952,1154,2112,1064, 862, 378,3011,2066,2113,2803,1568,2839,6178, # 4000 +3088,2919,1941,1660,2004,1992,2194, 142, 707,1590,1708,1624,1922,1023,1836,1233, # 4016 +1004,2313, 789, 741,3620,6179,1609,2411,1200,4127,3719,3720,4666,2057,3721, 593, # 4032 +2840, 367,2920,1878,6180,3461,1521, 628,1168, 692,2211,2649, 300, 720,2067,2571, # 4048 +2953,3396, 959,2504,3966,3539,3462,1977, 701,6181, 954,1043, 800, 681, 183,3722, # 4064 +1803,1730,3540,4128,2103, 815,2314, 174, 467, 230,2454,1093,2134, 755,3541,3397, # 4080 +1141,1162,6182,1738,2039, 270,3256,2513,1005,1647,2185,3837, 858,1679,1897,1719, # 4096 +2954,2324,1806, 402, 670, 167,4129,1498,2158,2104, 750,6183, 915, 189,1680,1551, # 4112 + 455,4356,1501,2455, 405,1095,2955, 338,1586,1266,1819, 570, 641,1324, 237,1556, # 4128 +2650,1388,3723,6184,1368,2384,1343,1978,3089,2436, 879,3724, 792,1191, 758,3012, # 4144 +1411,2135,1322,4357, 240,4667,1848,3725,1574,6185, 420,3045,1546,1391, 714,4358, # 4160 +1967, 941,1864, 863, 664, 426, 560,1731,2680,1785,2864,1949,2363, 403,3330,1415, # 4176 +1279,2136,1697,2335, 204, 721,2097,3838, 90,6186,2085,2505, 191,3967, 124,2148, # 4192 +1376,1798,1178,1107,1898,1405, 860,4359,1243,1272,2375,2983,1558,2456,1638, 113, # 4208 +3621, 578,1923,2609, 880, 386,4130, 784,2186,2266,1422,2956,2172,1722, 497, 263, # 4224 +2514,1267,2412,2610, 177,2703,3542, 774,1927,1344, 616,1432,1595,1018, 172,4360, # 4240 +2325, 911,4361, 438,1468,3622, 794,3968,2024,2173,1681,1829,2957, 945, 895,3090, # 4256 + 575,2212,2476, 475,2401,2681, 785,2744,1745,2293,2555,1975,3133,2865, 394,4668, # 4272 +3839, 635,4131, 639, 202,1507,2195,2766,1345,1435,2572,3726,1908,1184,1181,2457, # 4288 +3727,3134,4362, 843,2611, 437, 916,4669, 234, 769,1884,3046,3047,3623, 833,6187, # 4304 +1639,2250,2402,1355,1185,2010,2047, 999, 525,1732,1290,1488,2612, 948,1578,3728, # 4320 +2413,2477,1216,2725,2159, 334,3840,1328,3624,2921,1525,4132, 564,1056, 891,4363, # 4336 +1444,1698,2385,2251,3729,1365,2281,2235,1717,6188, 864,3841,2515, 444, 527,2767, # 4352 +2922,3625, 544, 461,6189, 566, 209,2437,3398,2098,1065,2068,3331,3626,3257,2137, # 4368 #last 512 +) + + diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/jpcntx.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/jpcntx.py new file mode 100644 index 0000000..20044e4 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/jpcntx.py @@ -0,0 +1,233 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + + +# This is hiragana 2-char sequence table, the number in each cell represents its frequency category +jp2CharContext = ( +(0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1), +(2,4,0,4,0,3,0,4,0,3,4,4,4,2,4,3,3,4,3,2,3,3,4,2,3,3,3,2,4,1,4,3,3,1,5,4,3,4,3,4,3,5,3,0,3,5,4,2,0,3,1,0,3,3,0,3,3,0,1,1,0,4,3,0,3,3,0,4,0,2,0,3,5,5,5,5,4,0,4,1,0,3,4), +(0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2), +(0,4,0,5,0,5,0,4,0,4,5,4,4,3,5,3,5,1,5,3,4,3,4,4,3,4,3,3,4,3,5,4,4,3,5,5,3,5,5,5,3,5,5,3,4,5,5,3,1,3,2,0,3,4,0,4,2,0,4,2,1,5,3,2,3,5,0,4,0,2,0,5,4,4,5,4,5,0,4,0,0,4,4), +(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), +(0,3,0,4,0,3,0,3,0,4,5,4,3,3,3,3,4,3,5,4,4,3,5,4,4,3,4,3,4,4,4,4,5,3,4,4,3,4,5,5,4,5,5,1,4,5,4,3,0,3,3,1,3,3,0,4,4,0,3,3,1,5,3,3,3,5,0,4,0,3,0,4,4,3,4,3,3,0,4,1,1,3,4), +(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), +(0,4,0,3,0,3,0,4,0,3,4,4,3,2,2,1,2,1,3,1,3,3,3,3,3,4,3,1,3,3,5,3,3,0,4,3,0,5,4,3,3,5,4,4,3,4,4,5,0,1,2,0,1,2,0,2,2,0,1,0,0,5,2,2,1,4,0,3,0,1,0,4,4,3,5,4,3,0,2,1,0,4,3), +(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), +(0,3,0,5,0,4,0,2,1,4,4,2,4,1,4,2,4,2,4,3,3,3,4,3,3,3,3,1,4,2,3,3,3,1,4,4,1,1,1,4,3,3,2,0,2,4,3,2,0,3,3,0,3,1,1,0,0,0,3,3,0,4,2,2,3,4,0,4,0,3,0,4,4,5,3,4,4,0,3,0,0,1,4), +(1,4,0,4,0,4,0,4,0,3,5,4,4,3,4,3,5,4,3,3,4,3,5,4,4,4,4,3,4,2,4,3,3,1,5,4,3,2,4,5,4,5,5,4,4,5,4,4,0,3,2,2,3,3,0,4,3,1,3,2,1,4,3,3,4,5,0,3,0,2,0,4,5,5,4,5,4,0,4,0,0,5,4), +(0,5,0,5,0,4,0,3,0,4,4,3,4,3,3,3,4,0,4,4,4,3,4,3,4,3,3,1,4,2,4,3,4,0,5,4,1,4,5,4,4,5,3,2,4,3,4,3,2,4,1,3,3,3,2,3,2,0,4,3,3,4,3,3,3,4,0,4,0,3,0,4,5,4,4,4,3,0,4,1,0,1,3), +(0,3,1,4,0,3,0,2,0,3,4,4,3,1,4,2,3,3,4,3,4,3,4,3,4,4,3,2,3,1,5,4,4,1,4,4,3,5,4,4,3,5,5,4,3,4,4,3,1,2,3,1,2,2,0,3,2,0,3,1,0,5,3,3,3,4,3,3,3,3,4,4,4,4,5,4,2,0,3,3,2,4,3), +(0,2,0,3,0,1,0,1,0,0,3,2,0,0,2,0,1,0,2,1,3,3,3,1,2,3,1,0,1,0,4,2,1,1,3,3,0,4,3,3,1,4,3,3,0,3,3,2,0,0,0,0,1,0,0,2,0,0,0,0,0,4,1,0,2,3,2,2,2,1,3,3,3,4,4,3,2,0,3,1,0,3,3), +(0,4,0,4,0,3,0,3,0,4,4,4,3,3,3,3,3,3,4,3,4,2,4,3,4,3,3,2,4,3,4,5,4,1,4,5,3,5,4,5,3,5,4,0,3,5,5,3,1,3,3,2,2,3,0,3,4,1,3,3,2,4,3,3,3,4,0,4,0,3,0,4,5,4,4,5,3,0,4,1,0,3,4), +(0,2,0,3,0,3,0,0,0,2,2,2,1,0,1,0,0,0,3,0,3,0,3,0,1,3,1,0,3,1,3,3,3,1,3,3,3,0,1,3,1,3,4,0,0,3,1,1,0,3,2,0,0,0,0,1,3,0,1,0,0,3,3,2,0,3,0,0,0,0,0,3,4,3,4,3,3,0,3,0,0,2,3), +(2,3,0,3,0,2,0,1,0,3,3,4,3,1,3,1,1,1,3,1,4,3,4,3,3,3,0,0,3,1,5,4,3,1,4,3,2,5,5,4,4,4,4,3,3,4,4,4,0,2,1,1,3,2,0,1,2,0,0,1,0,4,1,3,3,3,0,3,0,1,0,4,4,4,5,5,3,0,2,0,0,4,4), +(0,2,0,1,0,3,1,3,0,2,3,3,3,0,3,1,0,0,3,0,3,2,3,1,3,2,1,1,0,0,4,2,1,0,2,3,1,4,3,2,0,4,4,3,1,3,1,3,0,1,0,0,1,0,0,0,1,0,0,0,0,4,1,1,1,2,0,3,0,0,0,3,4,2,4,3,2,0,1,0,0,3,3), +(0,1,0,4,0,5,0,4,0,2,4,4,2,3,3,2,3,3,5,3,3,3,4,3,4,2,3,0,4,3,3,3,4,1,4,3,2,1,5,5,3,4,5,1,3,5,4,2,0,3,3,0,1,3,0,4,2,0,1,3,1,4,3,3,3,3,0,3,0,1,0,3,4,4,4,5,5,0,3,0,1,4,5), +(0,2,0,3,0,3,0,0,0,2,3,1,3,0,4,0,1,1,3,0,3,4,3,2,3,1,0,3,3,2,3,1,3,0,2,3,0,2,1,4,1,2,2,0,0,3,3,0,0,2,0,0,0,1,0,0,0,0,2,2,0,3,2,1,3,3,0,2,0,2,0,0,3,3,1,2,4,0,3,0,2,2,3), +(2,4,0,5,0,4,0,4,0,2,4,4,4,3,4,3,3,3,1,2,4,3,4,3,4,4,5,0,3,3,3,3,2,0,4,3,1,4,3,4,1,4,4,3,3,4,4,3,1,2,3,0,4,2,0,4,1,0,3,3,0,4,3,3,3,4,0,4,0,2,0,3,5,3,4,5,2,0,3,0,0,4,5), +(0,3,0,4,0,1,0,1,0,1,3,2,2,1,3,0,3,0,2,0,2,0,3,0,2,0,0,0,1,0,1,1,0,0,3,1,0,0,0,4,0,3,1,0,2,1,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,4,2,2,3,1,0,3,0,0,0,1,4,4,4,3,0,0,4,0,0,1,4), +(1,4,1,5,0,3,0,3,0,4,5,4,4,3,5,3,3,4,4,3,4,1,3,3,3,3,2,1,4,1,5,4,3,1,4,4,3,5,4,4,3,5,4,3,3,4,4,4,0,3,3,1,2,3,0,3,1,0,3,3,0,5,4,4,4,4,4,4,3,3,5,4,4,3,3,5,4,0,3,2,0,4,4), +(0,2,0,3,0,1,0,0,0,1,3,3,3,2,4,1,3,0,3,1,3,0,2,2,1,1,0,0,2,0,4,3,1,0,4,3,0,4,4,4,1,4,3,1,1,3,3,1,0,2,0,0,1,3,0,0,0,0,2,0,0,4,3,2,4,3,5,4,3,3,3,4,3,3,4,3,3,0,2,1,0,3,3), +(0,2,0,4,0,3,0,2,0,2,5,5,3,4,4,4,4,1,4,3,3,0,4,3,4,3,1,3,3,2,4,3,0,3,4,3,0,3,4,4,2,4,4,0,4,5,3,3,2,2,1,1,1,2,0,1,5,0,3,3,2,4,3,3,3,4,0,3,0,2,0,4,4,3,5,5,0,0,3,0,2,3,3), +(0,3,0,4,0,3,0,1,0,3,4,3,3,1,3,3,3,0,3,1,3,0,4,3,3,1,1,0,3,0,3,3,0,0,4,4,0,1,5,4,3,3,5,0,3,3,4,3,0,2,0,1,1,1,0,1,3,0,1,2,1,3,3,2,3,3,0,3,0,1,0,1,3,3,4,4,1,0,1,2,2,1,3), +(0,1,0,4,0,4,0,3,0,1,3,3,3,2,3,1,1,0,3,0,3,3,4,3,2,4,2,0,1,0,4,3,2,0,4,3,0,5,3,3,2,4,4,4,3,3,3,4,0,1,3,0,0,1,0,0,1,0,0,0,0,4,2,3,3,3,0,3,0,0,0,4,4,4,5,3,2,0,3,3,0,3,5), +(0,2,0,3,0,0,0,3,0,1,3,0,2,0,0,0,1,0,3,1,1,3,3,0,0,3,0,0,3,0,2,3,1,0,3,1,0,3,3,2,0,4,2,2,0,2,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,2,1,2,0,1,0,1,0,0,0,1,3,1,2,0,0,0,1,0,0,1,4), +(0,3,0,3,0,5,0,1,0,2,4,3,1,3,3,2,1,1,5,2,1,0,5,1,2,0,0,0,3,3,2,2,3,2,4,3,0,0,3,3,1,3,3,0,2,5,3,4,0,3,3,0,1,2,0,2,2,0,3,2,0,2,2,3,3,3,0,2,0,1,0,3,4,4,2,5,4,0,3,0,0,3,5), +(0,3,0,3,0,3,0,1,0,3,3,3,3,0,3,0,2,0,2,1,1,0,2,0,1,0,0,0,2,1,0,0,1,0,3,2,0,0,3,3,1,2,3,1,0,3,3,0,0,1,0,0,0,0,0,2,0,0,0,0,0,2,3,1,2,3,0,3,0,1,0,3,2,1,0,4,3,0,1,1,0,3,3), +(0,4,0,5,0,3,0,3,0,4,5,5,4,3,5,3,4,3,5,3,3,2,5,3,4,4,4,3,4,3,4,5,5,3,4,4,3,4,4,5,4,4,4,3,4,5,5,4,2,3,4,2,3,4,0,3,3,1,4,3,2,4,3,3,5,5,0,3,0,3,0,5,5,5,5,4,4,0,4,0,1,4,4), +(0,4,0,4,0,3,0,3,0,3,5,4,4,2,3,2,5,1,3,2,5,1,4,2,3,2,3,3,4,3,3,3,3,2,5,4,1,3,3,5,3,4,4,0,4,4,3,1,1,3,1,0,2,3,0,2,3,0,3,0,0,4,3,1,3,4,0,3,0,2,0,4,4,4,3,4,5,0,4,0,0,3,4), +(0,3,0,3,0,3,1,2,0,3,4,4,3,3,3,0,2,2,4,3,3,1,3,3,3,1,1,0,3,1,4,3,2,3,4,4,2,4,4,4,3,4,4,3,2,4,4,3,1,3,3,1,3,3,0,4,1,0,2,2,1,4,3,2,3,3,5,4,3,3,5,4,4,3,3,0,4,0,3,2,2,4,4), +(0,2,0,1,0,0,0,0,0,1,2,1,3,0,0,0,0,0,2,0,1,2,1,0,0,1,0,0,0,0,3,0,0,1,0,1,1,3,1,0,0,0,1,1,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,1,2,2,0,3,4,0,0,0,1,1,0,0,1,0,0,0,0,0,1,1), +(0,1,0,0,0,1,0,0,0,0,4,0,4,1,4,0,3,0,4,0,3,0,4,0,3,0,3,0,4,1,5,1,4,0,0,3,0,5,0,5,2,0,1,0,0,0,2,1,4,0,1,3,0,0,3,0,0,3,1,1,4,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0), +(1,4,0,5,0,3,0,2,0,3,5,4,4,3,4,3,5,3,4,3,3,0,4,3,3,3,3,3,3,2,4,4,3,1,3,4,4,5,4,4,3,4,4,1,3,5,4,3,3,3,1,2,2,3,3,1,3,1,3,3,3,5,3,3,4,5,0,3,0,3,0,3,4,3,4,4,3,0,3,0,2,4,3), +(0,1,0,4,0,0,0,0,0,1,4,0,4,1,4,2,4,0,3,0,1,0,1,0,0,0,0,0,2,0,3,1,1,1,0,3,0,0,0,1,2,1,0,0,1,1,1,1,0,1,0,0,0,1,0,0,3,0,0,0,0,3,2,0,2,2,0,1,0,0,0,2,3,2,3,3,0,0,0,0,2,1,0), +(0,5,1,5,0,3,0,3,0,5,4,4,5,1,5,3,3,0,4,3,4,3,5,3,4,3,3,2,4,3,4,3,3,0,3,3,1,4,4,3,4,4,4,3,4,5,5,3,2,3,1,1,3,3,1,3,1,1,3,3,2,4,5,3,3,5,0,4,0,3,0,4,4,3,5,3,3,0,3,4,0,4,3), +(0,5,0,5,0,3,0,2,0,4,4,3,5,2,4,3,3,3,4,4,4,3,5,3,5,3,3,1,4,0,4,3,3,0,3,3,0,4,4,4,4,5,4,3,3,5,5,3,2,3,1,2,3,2,0,1,0,0,3,2,2,4,4,3,1,5,0,4,0,3,0,4,3,1,3,2,1,0,3,3,0,3,3), +(0,4,0,5,0,5,0,4,0,4,5,5,5,3,4,3,3,2,5,4,4,3,5,3,5,3,4,0,4,3,4,4,3,2,4,4,3,4,5,4,4,5,5,0,3,5,5,4,1,3,3,2,3,3,1,3,1,0,4,3,1,4,4,3,4,5,0,4,0,2,0,4,3,4,4,3,3,0,4,0,0,5,5), +(0,4,0,4,0,5,0,1,1,3,3,4,4,3,4,1,3,0,5,1,3,0,3,1,3,1,1,0,3,0,3,3,4,0,4,3,0,4,4,4,3,4,4,0,3,5,4,1,0,3,0,0,2,3,0,3,1,0,3,1,0,3,2,1,3,5,0,3,0,1,0,3,2,3,3,4,4,0,2,2,0,4,4), +(2,4,0,5,0,4,0,3,0,4,5,5,4,3,5,3,5,3,5,3,5,2,5,3,4,3,3,4,3,4,5,3,2,1,5,4,3,2,3,4,5,3,4,1,2,5,4,3,0,3,3,0,3,2,0,2,3,0,4,1,0,3,4,3,3,5,0,3,0,1,0,4,5,5,5,4,3,0,4,2,0,3,5), +(0,5,0,4,0,4,0,2,0,5,4,3,4,3,4,3,3,3,4,3,4,2,5,3,5,3,4,1,4,3,4,4,4,0,3,5,0,4,4,4,4,5,3,1,3,4,5,3,3,3,3,3,3,3,0,2,2,0,3,3,2,4,3,3,3,5,3,4,1,3,3,5,3,2,0,0,0,0,4,3,1,3,3), +(0,1,0,3,0,3,0,1,0,1,3,3,3,2,3,3,3,0,3,0,0,0,3,1,3,0,0,0,2,2,2,3,0,0,3,2,0,1,2,4,1,3,3,0,0,3,3,3,0,1,0,0,2,1,0,0,3,0,3,1,0,3,0,0,1,3,0,2,0,1,0,3,3,1,3,3,0,0,1,1,0,3,3), +(0,2,0,3,0,2,1,4,0,2,2,3,1,1,3,1,1,0,2,0,3,1,2,3,1,3,0,0,1,0,4,3,2,3,3,3,1,4,2,3,3,3,3,1,0,3,1,4,0,1,1,0,1,2,0,1,1,0,1,1,0,3,1,3,2,2,0,1,0,0,0,2,3,3,3,1,0,0,0,0,0,2,3), +(0,5,0,4,0,5,0,2,0,4,5,5,3,3,4,3,3,1,5,4,4,2,4,4,4,3,4,2,4,3,5,5,4,3,3,4,3,3,5,5,4,5,5,1,3,4,5,3,1,4,3,1,3,3,0,3,3,1,4,3,1,4,5,3,3,5,0,4,0,3,0,5,3,3,1,4,3,0,4,0,1,5,3), +(0,5,0,5,0,4,0,2,0,4,4,3,4,3,3,3,3,3,5,4,4,4,4,4,4,5,3,3,5,2,4,4,4,3,4,4,3,3,4,4,5,5,3,3,4,3,4,3,3,4,3,3,3,3,1,2,2,1,4,3,3,5,4,4,3,4,0,4,0,3,0,4,4,4,4,4,1,0,4,2,0,2,4), +(0,4,0,4,0,3,0,1,0,3,5,2,3,0,3,0,2,1,4,2,3,3,4,1,4,3,3,2,4,1,3,3,3,0,3,3,0,0,3,3,3,5,3,3,3,3,3,2,0,2,0,0,2,0,0,2,0,0,1,0,0,3,1,2,2,3,0,3,0,2,0,4,4,3,3,4,1,0,3,0,0,2,4), +(0,0,0,4,0,0,0,0,0,0,1,0,1,0,2,0,0,0,0,0,1,0,2,0,1,0,0,0,0,0,3,1,3,0,3,2,0,0,0,1,0,3,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,0,2,0,0,0,0,0,0,2), +(0,2,1,3,0,2,0,2,0,3,3,3,3,1,3,1,3,3,3,3,3,3,4,2,2,1,2,1,4,0,4,3,1,3,3,3,2,4,3,5,4,3,3,3,3,3,3,3,0,1,3,0,2,0,0,1,0,0,1,0,0,4,2,0,2,3,0,3,3,0,3,3,4,2,3,1,4,0,1,2,0,2,3), +(0,3,0,3,0,1,0,3,0,2,3,3,3,0,3,1,2,0,3,3,2,3,3,2,3,2,3,1,3,0,4,3,2,0,3,3,1,4,3,3,2,3,4,3,1,3,3,1,1,0,1,1,0,1,0,1,0,1,0,0,0,4,1,1,0,3,0,3,1,0,2,3,3,3,3,3,1,0,0,2,0,3,3), +(0,0,0,0,0,0,0,0,0,0,3,0,2,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,3,0,3,1,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,2,0,2,3,0,0,0,0,0,0,0,0,3), +(0,2,0,3,1,3,0,3,0,2,3,3,3,1,3,1,3,1,3,1,3,3,3,1,3,0,2,3,1,1,4,3,3,2,3,3,1,2,2,4,1,3,3,0,1,4,2,3,0,1,3,0,3,0,0,1,3,0,2,0,0,3,3,2,1,3,0,3,0,2,0,3,4,4,4,3,1,0,3,0,0,3,3), +(0,2,0,1,0,2,0,0,0,1,3,2,2,1,3,0,1,1,3,0,3,2,3,1,2,0,2,0,1,1,3,3,3,0,3,3,1,1,2,3,2,3,3,1,2,3,2,0,0,1,0,0,0,0,0,0,3,0,1,0,0,2,1,2,1,3,0,3,0,0,0,3,4,4,4,3,2,0,2,0,0,2,4), +(0,0,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,2,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,3,1,0,0,0,0,0,0,0,3), +(0,3,0,3,0,2,0,3,0,3,3,3,2,3,2,2,2,0,3,1,3,3,3,2,3,3,0,0,3,0,3,2,2,0,2,3,1,4,3,4,3,3,2,3,1,5,4,4,0,3,1,2,1,3,0,3,1,1,2,0,2,3,1,3,1,3,0,3,0,1,0,3,3,4,4,2,1,0,2,1,0,2,4), +(0,1,0,3,0,1,0,2,0,1,4,2,5,1,4,0,2,0,2,1,3,1,4,0,2,1,0,0,2,1,4,1,1,0,3,3,0,5,1,3,2,3,3,1,0,3,2,3,0,1,0,0,0,0,0,0,1,0,0,0,0,4,0,1,0,3,0,2,0,1,0,3,3,3,4,3,3,0,0,0,0,2,3), +(0,0,0,1,0,0,0,0,0,0,2,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,1,0,0,0,0,0,3), +(0,1,0,3,0,4,0,3,0,2,4,3,1,0,3,2,2,1,3,1,2,2,3,1,1,1,2,1,3,0,1,2,0,1,3,2,1,3,0,5,5,1,0,0,1,3,2,1,0,3,0,0,1,0,0,0,0,0,3,4,0,1,1,1,3,2,0,2,0,1,0,2,3,3,1,2,3,0,1,0,1,0,4), +(0,0,0,1,0,3,0,3,0,2,2,1,0,0,4,0,3,0,3,1,3,0,3,0,3,0,1,0,3,0,3,1,3,0,3,3,0,0,1,2,1,1,1,0,1,2,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,2,2,1,2,0,0,2,0,0,0,0,2,3,3,3,3,0,0,0,0,1,4), +(0,0,0,3,0,3,0,0,0,0,3,1,1,0,3,0,1,0,2,0,1,0,0,0,0,0,0,0,1,0,3,0,2,0,2,3,0,0,2,2,3,1,2,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,2,0,0,0,0,2,3), +(2,4,0,5,0,5,0,4,0,3,4,3,3,3,4,3,3,3,4,3,4,4,5,4,5,5,5,2,3,0,5,5,4,1,5,4,3,1,5,4,3,4,4,3,3,4,3,3,0,3,2,0,2,3,0,3,0,0,3,3,0,5,3,2,3,3,0,3,0,3,0,3,4,5,4,5,3,0,4,3,0,3,4), +(0,3,0,3,0,3,0,3,0,3,3,4,3,2,3,2,3,0,4,3,3,3,3,3,3,3,3,0,3,2,4,3,3,1,3,4,3,4,4,4,3,4,4,3,2,4,4,1,0,2,0,0,1,1,0,2,0,0,3,1,0,5,3,2,1,3,0,3,0,1,2,4,3,2,4,3,3,0,3,2,0,4,4), +(0,3,0,3,0,1,0,0,0,1,4,3,3,2,3,1,3,1,4,2,3,2,4,2,3,4,3,0,2,2,3,3,3,0,3,3,3,0,3,4,1,3,3,0,3,4,3,3,0,1,1,0,1,0,0,0,4,0,3,0,0,3,1,2,1,3,0,4,0,1,0,4,3,3,4,3,3,0,2,0,0,3,3), +(0,3,0,4,0,1,0,3,0,3,4,3,3,0,3,3,3,1,3,1,3,3,4,3,3,3,0,0,3,1,5,3,3,1,3,3,2,5,4,3,3,4,5,3,2,5,3,4,0,1,0,0,0,0,0,2,0,0,1,1,0,4,2,2,1,3,0,3,0,2,0,4,4,3,5,3,2,0,1,1,0,3,4), +(0,5,0,4,0,5,0,2,0,4,4,3,3,2,3,3,3,1,4,3,4,1,5,3,4,3,4,0,4,2,4,3,4,1,5,4,0,4,4,4,4,5,4,1,3,5,4,2,1,4,1,1,3,2,0,3,1,0,3,2,1,4,3,3,3,4,0,4,0,3,0,4,4,4,3,3,3,0,4,2,0,3,4), +(1,4,0,4,0,3,0,1,0,3,3,3,1,1,3,3,2,2,3,3,1,0,3,2,2,1,2,0,3,1,2,1,2,0,3,2,0,2,2,3,3,4,3,0,3,3,1,2,0,1,1,3,1,2,0,0,3,0,1,1,0,3,2,2,3,3,0,3,0,0,0,2,3,3,4,3,3,0,1,0,0,1,4), +(0,4,0,4,0,4,0,0,0,3,4,4,3,1,4,2,3,2,3,3,3,1,4,3,4,0,3,0,4,2,3,3,2,2,5,4,2,1,3,4,3,4,3,1,3,3,4,2,0,2,1,0,3,3,0,0,2,0,3,1,0,4,4,3,4,3,0,4,0,1,0,2,4,4,4,4,4,0,3,2,0,3,3), +(0,0,0,1,0,4,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,3,2,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2), +(0,2,0,3,0,4,0,4,0,1,3,3,3,0,4,0,2,1,2,1,1,1,2,0,3,1,1,0,1,0,3,1,0,0,3,3,2,0,1,1,0,0,0,0,0,1,0,2,0,2,2,0,3,1,0,0,1,0,1,1,0,1,2,0,3,0,0,0,0,1,0,0,3,3,4,3,1,0,1,0,3,0,2), +(0,0,0,3,0,5,0,0,0,0,1,0,2,0,3,1,0,1,3,0,0,0,2,0,0,0,1,0,0,0,1,1,0,0,4,0,0,0,2,3,0,1,4,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,3,0,0,0,0,0,3), +(0,2,0,5,0,5,0,1,0,2,4,3,3,2,5,1,3,2,3,3,3,0,4,1,2,0,3,0,4,0,2,2,1,1,5,3,0,0,1,4,2,3,2,0,3,3,3,2,0,2,4,1,1,2,0,1,1,0,3,1,0,1,3,1,2,3,0,2,0,0,0,1,3,5,4,4,4,0,3,0,0,1,3), +(0,4,0,5,0,4,0,4,0,4,5,4,3,3,4,3,3,3,4,3,4,4,5,3,4,5,4,2,4,2,3,4,3,1,4,4,1,3,5,4,4,5,5,4,4,5,5,5,2,3,3,1,4,3,1,3,3,0,3,3,1,4,3,4,4,4,0,3,0,4,0,3,3,4,4,5,0,0,4,3,0,4,5), +(0,4,0,4,0,3,0,3,0,3,4,4,4,3,3,2,4,3,4,3,4,3,5,3,4,3,2,1,4,2,4,4,3,1,3,4,2,4,5,5,3,4,5,4,1,5,4,3,0,3,2,2,3,2,1,3,1,0,3,3,3,5,3,3,3,5,4,4,2,3,3,4,3,3,3,2,1,0,3,2,1,4,3), +(0,4,0,5,0,4,0,3,0,3,5,5,3,2,4,3,4,0,5,4,4,1,4,4,4,3,3,3,4,3,5,5,2,3,3,4,1,2,5,5,3,5,5,2,3,5,5,4,0,3,2,0,3,3,1,1,5,1,4,1,0,4,3,2,3,5,0,4,0,3,0,5,4,3,4,3,0,0,4,1,0,4,4), +(1,3,0,4,0,2,0,2,0,2,5,5,3,3,3,3,3,0,4,2,3,4,4,4,3,4,0,0,3,4,5,4,3,3,3,3,2,5,5,4,5,5,5,4,3,5,5,5,1,3,1,0,1,0,0,3,2,0,4,2,0,5,2,3,2,4,1,3,0,3,0,4,5,4,5,4,3,0,4,2,0,5,4), +(0,3,0,4,0,5,0,3,0,3,4,4,3,2,3,2,3,3,3,3,3,2,4,3,3,2,2,0,3,3,3,3,3,1,3,3,3,0,4,4,3,4,4,1,1,4,4,2,0,3,1,0,1,1,0,4,1,0,2,3,1,3,3,1,3,4,0,3,0,1,0,3,1,3,0,0,1,0,2,0,0,4,4), +(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), +(0,3,0,3,0,2,0,3,0,1,5,4,3,3,3,1,4,2,1,2,3,4,4,2,4,4,5,0,3,1,4,3,4,0,4,3,3,3,2,3,2,5,3,4,3,2,2,3,0,0,3,0,2,1,0,1,2,0,0,0,0,2,1,1,3,1,0,2,0,4,0,3,4,4,4,5,2,0,2,0,0,1,3), +(0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,4,2,1,1,0,1,0,3,2,0,0,3,1,1,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,1,0,0,0,2,0,0,0,1,4,0,4,2,1,0,0,0,0,0,1), +(0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,3,1,0,0,0,2,0,2,1,0,0,1,2,1,0,1,1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,1,3,1,0,0,0,0,0,1,0,0,2,1,0,0,0,0,0,0,0,0,2), +(0,4,0,4,0,4,0,3,0,4,4,3,4,2,4,3,2,0,4,4,4,3,5,3,5,3,3,2,4,2,4,3,4,3,1,4,0,2,3,4,4,4,3,3,3,4,4,4,3,4,1,3,4,3,2,1,2,1,3,3,3,4,4,3,3,5,0,4,0,3,0,4,3,3,3,2,1,0,3,0,0,3,3), +(0,4,0,3,0,3,0,3,0,3,5,5,3,3,3,3,4,3,4,3,3,3,4,4,4,3,3,3,3,4,3,5,3,3,1,3,2,4,5,5,5,5,4,3,4,5,5,3,2,2,3,3,3,3,2,3,3,1,2,3,2,4,3,3,3,4,0,4,0,2,0,4,3,2,2,1,2,0,3,0,0,4,1), +) + +class JapaneseContextAnalysis(object): + NUM_OF_CATEGORY = 6 + DONT_KNOW = -1 + ENOUGH_REL_THRESHOLD = 100 + MAX_REL_THRESHOLD = 1000 + MINIMUM_DATA_THRESHOLD = 4 + + def __init__(self): + self._total_rel = None + self._rel_sample = None + self._need_to_skip_char_num = None + self._last_char_order = None + self._done = None + self.reset() + + def reset(self): + self._total_rel = 0 # total sequence received + # category counters, each integer counts sequence in its category + self._rel_sample = [0] * self.NUM_OF_CATEGORY + # if last byte in current buffer is not the last byte of a character, + # we need to know how many bytes to skip in next buffer + self._need_to_skip_char_num = 0 + self._last_char_order = -1 # The order of previous char + # If this flag is set to True, detection is done and conclusion has + # been made + self._done = False + + def feed(self, byte_str, num_bytes): + if self._done: + return + + # The buffer we got is byte oriented, and a character may span in more than one + # buffers. In case the last one or two byte in last buffer is not + # complete, we record how many byte needed to complete that character + # and skip these bytes here. We can choose to record those bytes as + # well and analyse the character once it is complete, but since a + # character will not make much difference, by simply skipping + # this character will simply our logic and improve performance. + i = self._need_to_skip_char_num + while i < num_bytes: + order, char_len = self.get_order(byte_str[i:i + 2]) + i += char_len + if i > num_bytes: + self._need_to_skip_char_num = i - num_bytes + self._last_char_order = -1 + else: + if (order != -1) and (self._last_char_order != -1): + self._total_rel += 1 + if self._total_rel > self.MAX_REL_THRESHOLD: + self._done = True + break + self._rel_sample[jp2CharContext[self._last_char_order][order]] += 1 + self._last_char_order = order + + def got_enough_data(self): + return self._total_rel > self.ENOUGH_REL_THRESHOLD + + def get_confidence(self): + # This is just one way to calculate confidence. It works well for me. + if self._total_rel > self.MINIMUM_DATA_THRESHOLD: + return (self._total_rel - self._rel_sample[0]) / self._total_rel + else: + return self.DONT_KNOW + + def get_order(self, byte_str): + return -1, 1 + +class SJISContextAnalysis(JapaneseContextAnalysis): + def __init__(self): + super(SJISContextAnalysis, self).__init__() + self._charset_name = "SHIFT_JIS" + + @property + def charset_name(self): + return self._charset_name + + def get_order(self, byte_str): + if not byte_str: + return -1, 1 + # find out current char's byte length + first_char = byte_str[0] + if (0x81 <= first_char <= 0x9F) or (0xE0 <= first_char <= 0xFC): + char_len = 2 + if (first_char == 0x87) or (0xFA <= first_char <= 0xFC): + self._charset_name = "CP932" + else: + char_len = 1 + + # return its order if it is hiragana + if len(byte_str) > 1: + second_char = byte_str[1] + if (first_char == 202) and (0x9F <= second_char <= 0xF1): + return second_char - 0x9F, char_len + + return -1, char_len + +class EUCJPContextAnalysis(JapaneseContextAnalysis): + def get_order(self, byte_str): + if not byte_str: + return -1, 1 + # find out current char's byte length + first_char = byte_str[0] + if (first_char == 0x8E) or (0xA1 <= first_char <= 0xFE): + char_len = 2 + elif first_char == 0x8F: + char_len = 3 + else: + char_len = 1 + + # return its order if it is hiragana + if len(byte_str) > 1: + second_char = byte_str[1] + if (first_char == 0xA4) and (0xA1 <= second_char <= 0xF3): + return second_char - 0xA1, char_len + + return -1, char_len + + diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langbulgarianmodel.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langbulgarianmodel.py new file mode 100644 index 0000000..2aa4fb2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langbulgarianmodel.py @@ -0,0 +1,228 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# 255: Control characters that usually does not exist in any text +# 254: Carriage/Return +# 253: symbol (punctuation) that does not belong to word +# 252: 0 - 9 + +# Character Mapping Table: +# this table is modified base on win1251BulgarianCharToOrderMap, so +# only number <64 is sure valid + +Latin5_BulgarianCharToOrderMap = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 77, 90, 99,100, 72,109,107,101, 79,185, 81,102, 76, 94, 82, # 40 +110,186,108, 91, 74,119, 84, 96,111,187,115,253,253,253,253,253, # 50 +253, 65, 69, 70, 66, 63, 68,112,103, 92,194,104, 95, 86, 87, 71, # 60 +116,195, 85, 93, 97,113,196,197,198,199,200,253,253,253,253,253, # 70 +194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209, # 80 +210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225, # 90 + 81,226,227,228,229,230,105,231,232,233,234,235,236, 45,237,238, # a0 + 31, 32, 35, 43, 37, 44, 55, 47, 40, 59, 33, 46, 38, 36, 41, 30, # b0 + 39, 28, 34, 51, 48, 49, 53, 50, 54, 57, 61,239, 67,240, 60, 56, # c0 + 1, 18, 9, 20, 11, 3, 23, 15, 2, 26, 12, 10, 14, 6, 4, 13, # d0 + 7, 8, 5, 19, 29, 25, 22, 21, 27, 24, 17, 75, 52,241, 42, 16, # e0 + 62,242,243,244, 58,245, 98,246,247,248,249,250,251, 91,252,253, # f0 +) + +win1251BulgarianCharToOrderMap = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 77, 90, 99,100, 72,109,107,101, 79,185, 81,102, 76, 94, 82, # 40 +110,186,108, 91, 74,119, 84, 96,111,187,115,253,253,253,253,253, # 50 +253, 65, 69, 70, 66, 63, 68,112,103, 92,194,104, 95, 86, 87, 71, # 60 +116,195, 85, 93, 97,113,196,197,198,199,200,253,253,253,253,253, # 70 +206,207,208,209,210,211,212,213,120,214,215,216,217,218,219,220, # 80 +221, 78, 64, 83,121, 98,117,105,222,223,224,225,226,227,228,229, # 90 + 88,230,231,232,233,122, 89,106,234,235,236,237,238, 45,239,240, # a0 + 73, 80,118,114,241,242,243,244,245, 62, 58,246,247,248,249,250, # b0 + 31, 32, 35, 43, 37, 44, 55, 47, 40, 59, 33, 46, 38, 36, 41, 30, # c0 + 39, 28, 34, 51, 48, 49, 53, 50, 54, 57, 61,251, 67,252, 60, 56, # d0 + 1, 18, 9, 20, 11, 3, 23, 15, 2, 26, 12, 10, 14, 6, 4, 13, # e0 + 7, 8, 5, 19, 29, 25, 22, 21, 27, 24, 17, 75, 52,253, 42, 16, # f0 +) + +# Model Table: +# total sequences: 100% +# first 512 sequences: 96.9392% +# first 1024 sequences:3.0618% +# rest sequences: 0.2992% +# negative sequences: 0.0020% +BulgarianLangModel = ( +0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,2,3,3,3,3,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,2,2,3,2,2,1,2,2, +3,1,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,3,3,3,3,3,3,3,0,3,0,1, +0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,2,3,3,3,3,3,3,3,3,0,3,1,0, +0,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,1,3,2,3,3,3,3,3,3,3,3,0,3,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,1,3,2,3,3,3,3,3,3,3,3,0,3,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,2,3,2,2,1,3,3,3,3,2,2,2,1,1,2,0,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,2,3,2,2,3,3,1,1,2,3,3,2,3,3,3,3,2,1,2,0,2,0,3,0,0, +0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,1,3,3,3,3,3,2,3,2,3,3,3,3,3,2,3,3,1,3,0,3,0,2,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,3,1,3,3,2,3,3,3,1,3,3,2,3,2,2,2,0,0,2,0,2,0,2,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,3,3,0,3,3,3,2,2,3,3,3,1,2,2,3,2,1,1,2,0,2,0,0,0,0, +1,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,2,3,3,1,2,3,2,2,2,3,3,3,3,3,2,2,3,1,2,0,2,1,2,0,0, +0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,1,3,3,3,3,3,2,3,3,3,2,3,3,2,3,2,2,2,3,1,2,0,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,3,3,3,3,1,1,1,2,2,1,3,1,3,2,2,3,0,0,1,0,1,0,1,0,0, +0,0,0,1,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,2,2,3,2,2,3,1,2,1,1,1,2,3,1,3,1,2,2,0,1,1,1,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,1,3,2,2,3,3,1,2,3,1,1,3,3,3,3,1,2,2,1,1,1,0,2,0,2,0,1, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,2,2,3,3,3,2,2,1,1,2,0,2,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,0,1,2,1,3,3,2,3,3,3,3,3,2,3,2,1,0,3,1,2,1,2,1,2,3,2,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,1,1,2,3,3,3,3,3,3,3,3,3,3,3,3,0,0,3,1,3,3,2,3,3,2,2,2,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,0,3,3,3,3,3,2,1,1,2,1,3,3,0,3,1,1,1,1,3,2,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,1,1,3,1,3,3,2,3,2,2,2,3,0,2,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,2,3,3,2,2,3,2,1,1,1,1,1,3,1,3,1,1,0,0,0,1,0,0,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,2,3,2,0,3,2,0,3,0,2,0,0,2,1,3,1,0,0,1,0,0,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,2,1,1,1,1,2,1,1,2,1,1,1,2,2,1,2,1,1,1,0,1,1,0,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,2,1,3,1,1,2,1,3,2,1,1,0,1,2,3,2,1,1,1,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,2,2,1,0,1,0,0,1,0,0,0,2,1,0,3,0,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,2,3,2,3,3,1,3,2,1,1,1,2,1,1,2,1,3,0,1,0,0,0,1,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,1,2,2,3,3,2,3,2,2,2,3,1,2,2,1,1,2,1,1,2,2,0,1,1,0,1,0,2,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,1,3,1,0,2,2,1,3,2,1,0,0,2,0,2,0,1,0,0,0,0,0,0,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,1,2,0,2,3,1,2,3,2,0,1,3,1,2,1,1,1,0,0,1,0,0,2,2,2,3, +2,2,2,2,1,2,1,1,2,2,1,1,2,0,1,1,1,0,0,1,1,0,0,1,1,0,0,0,1,1,0,1, +3,3,3,3,3,2,1,2,2,1,2,0,2,0,1,0,1,2,1,2,1,1,0,0,0,1,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, +3,3,2,3,3,1,1,3,1,0,3,2,1,0,0,0,1,2,0,2,0,1,0,0,0,1,0,1,2,1,2,2, +1,1,1,1,1,1,1,2,2,2,1,1,1,1,1,1,1,0,1,2,1,1,1,0,0,0,0,0,1,1,0,0, +3,1,0,1,0,2,3,2,2,2,3,2,2,2,2,2,1,0,2,1,2,1,1,1,0,1,2,1,2,2,2,1, +1,1,2,2,2,2,1,2,1,1,0,1,2,1,2,2,2,1,1,1,0,1,1,1,1,2,0,1,0,0,0,0, +2,3,2,3,3,0,0,2,1,0,2,1,0,0,0,0,2,3,0,2,0,0,0,0,0,1,0,0,2,0,1,2, +2,1,2,1,2,2,1,1,1,2,1,1,1,0,1,2,2,1,1,1,1,1,0,1,1,1,0,0,1,2,0,0, +3,3,2,2,3,0,2,3,1,1,2,0,0,0,1,0,0,2,0,2,0,0,0,1,0,1,0,1,2,0,2,2, +1,1,1,1,2,1,0,1,2,2,2,1,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,1,1,0,0, +2,3,2,3,3,0,0,3,0,1,1,0,1,0,0,0,2,2,1,2,0,0,0,0,0,0,0,0,2,0,1,2, +2,2,1,1,1,1,1,2,2,2,1,0,2,0,1,0,1,0,0,1,0,1,0,0,1,0,0,0,0,1,0,0, +3,3,3,3,2,2,2,2,2,0,2,1,1,1,1,2,1,2,1,1,0,2,0,1,0,1,0,0,2,0,1,2, +1,1,1,1,1,1,1,2,2,1,1,0,2,0,1,0,2,0,0,1,1,1,0,0,2,0,0,0,1,1,0,0, +2,3,3,3,3,1,0,0,0,0,0,0,0,0,0,0,2,0,0,1,1,0,0,0,0,0,0,1,2,0,1,2, +2,2,2,1,1,2,1,1,2,2,2,1,2,0,1,1,1,1,1,1,0,1,1,1,1,0,0,1,1,1,0,0, +2,3,3,3,3,0,2,2,0,2,1,0,0,0,1,1,1,2,0,2,0,0,0,3,0,0,0,0,2,0,2,2, +1,1,1,2,1,2,1,1,2,2,2,1,2,0,1,1,1,0,1,1,1,1,0,2,1,0,0,0,1,1,0,0, +2,3,3,3,3,0,2,1,0,0,2,0,0,0,0,0,1,2,0,2,0,0,0,0,0,0,0,0,2,0,1,2, +1,1,1,2,1,1,1,1,2,2,2,0,1,0,1,1,1,0,0,1,1,1,0,0,1,0,0,0,0,1,0,0, +3,3,2,2,3,0,1,0,1,0,0,0,0,0,0,0,1,1,0,3,0,0,0,0,0,0,0,0,1,0,2,2, +1,1,1,1,1,2,1,1,2,2,1,2,2,1,0,1,1,1,1,1,0,1,0,0,1,0,0,0,1,1,0,0, +3,1,0,1,0,2,2,2,2,3,2,1,1,1,2,3,0,0,1,0,2,1,1,0,1,1,1,1,2,1,1,1, +1,2,2,1,2,1,2,2,1,1,0,1,2,1,2,2,1,1,1,0,0,1,1,1,2,1,0,1,0,0,0,0, +2,1,0,1,0,3,1,2,2,2,2,1,2,2,1,1,1,0,2,1,2,2,1,1,2,1,1,0,2,1,1,1, +1,2,2,2,2,2,2,2,1,2,0,1,1,0,2,1,1,1,1,1,0,0,1,1,1,1,0,1,0,0,0,0, +2,1,1,1,1,2,2,2,2,1,2,2,2,1,2,2,1,1,2,1,2,3,2,2,1,1,1,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,3,2,0,1,2,0,1,2,1,1,0,1,0,1,2,1,2,0,0,0,1,1,0,0,0,1,0,0,2, +1,1,0,0,1,1,0,1,1,1,1,0,2,0,1,1,1,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0, +2,0,0,0,0,1,2,2,2,2,2,2,2,1,2,1,1,1,1,1,1,1,0,1,1,1,1,1,2,1,1,1, +1,2,2,2,2,1,1,2,1,2,1,1,1,0,2,1,2,1,1,1,0,2,1,1,1,1,0,1,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0, +1,1,0,1,0,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,3,2,0,0,0,0,1,0,0,0,0,0,0,1,1,0,2,0,0,0,0,0,0,0,0,1,0,1,2, +1,1,1,1,1,1,0,0,2,2,2,2,2,0,1,1,0,1,1,1,1,1,0,0,1,0,0,0,1,1,0,1, +2,3,1,2,1,0,1,1,0,2,2,2,0,0,1,0,0,1,1,1,1,0,0,0,0,0,0,0,1,0,1,2, +1,1,1,1,2,1,1,1,1,1,1,1,1,0,1,1,0,1,0,1,0,1,0,0,1,0,0,0,0,1,0,0, +2,2,2,2,2,0,0,2,0,0,2,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,2,0,2,2, +1,1,1,1,1,0,0,1,2,1,1,0,1,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,2,2,0,0,2,0,1,1,0,0,0,1,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,1,1, +0,0,0,1,1,1,1,1,1,1,1,1,1,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,3,2,0,0,1,0,0,1,0,0,0,0,0,0,1,0,2,0,0,0,1,0,0,0,0,0,0,0,2, +1,1,0,0,1,0,0,0,1,1,0,0,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +2,1,2,2,2,1,2,1,2,2,1,1,2,1,1,1,0,1,1,1,1,2,0,1,0,1,1,1,1,0,1,1, +1,1,2,1,1,1,1,1,1,0,0,1,2,1,1,1,1,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0, +1,0,0,1,3,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,2,1,0,0,1,0,2,0,0,0,0,0,1,1,1,0,1,0,0,0,0,0,0,0,0,2,0,0,1, +0,2,0,1,0,0,1,1,2,0,1,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,2,2,0,1,1,0,2,1,0,1,1,1,0,0,1,0,2,0,1,0,0,0,0,0,0,0,0,0,1, +0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,2,2,0,0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1, +0,1,0,1,1,1,0,0,1,1,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +2,0,1,0,0,1,2,1,1,1,1,1,1,2,2,1,0,0,1,0,1,0,0,0,0,1,1,1,1,0,0,0, +1,1,2,1,1,1,1,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,1,2,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1, +0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0, +0,1,1,0,1,1,1,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0, +1,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,2,0,0,2,0,1,0,0,1,0,0,1, +1,1,0,0,1,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0, +1,1,1,1,1,1,1,2,0,0,0,0,0,0,2,1,0,1,1,0,0,1,1,1,0,1,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,1,1,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +) + +Latin5BulgarianModel = { + 'char_to_order_map': Latin5_BulgarianCharToOrderMap, + 'precedence_matrix': BulgarianLangModel, + 'typical_positive_ratio': 0.969392, + 'keep_english_letter': False, + 'charset_name': "ISO-8859-5", + 'language': 'Bulgairan', +} + +Win1251BulgarianModel = { + 'char_to_order_map': win1251BulgarianCharToOrderMap, + 'precedence_matrix': BulgarianLangModel, + 'typical_positive_ratio': 0.969392, + 'keep_english_letter': False, + 'charset_name': "windows-1251", + 'language': 'Bulgarian', +} diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langcyrillicmodel.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langcyrillicmodel.py new file mode 100644 index 0000000..e5f9a1f --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langcyrillicmodel.py @@ -0,0 +1,333 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# KOI8-R language model +# Character Mapping Table: +KOI8R_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 +191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, # 80 +207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, # 90 +223,224,225, 68,226,227,228,229,230,231,232,233,234,235,236,237, # a0 +238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253, # b0 + 27, 3, 21, 28, 13, 2, 39, 19, 26, 4, 23, 11, 8, 12, 5, 1, # c0 + 15, 16, 9, 7, 6, 14, 24, 10, 17, 18, 20, 25, 30, 29, 22, 54, # d0 + 59, 37, 44, 58, 41, 48, 53, 46, 55, 42, 60, 36, 49, 38, 31, 34, # e0 + 35, 43, 45, 32, 40, 52, 56, 33, 61, 62, 51, 57, 47, 63, 50, 70, # f0 +) + +win1251_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 +191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, +207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, +223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, +239,240,241,242,243,244,245,246, 68,247,248,249,250,251,252,253, + 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, + 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, + 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, + 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16, +) + +latin5_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 +191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, +207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, +223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, + 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, + 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, + 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, + 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16, +239, 68,240,241,242,243,244,245,246,247,248,249,250,251,252,255, +) + +macCyrillic_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 + 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, + 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, +191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, +207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, +223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, +239,240,241,242,243,244,245,246,247,248,249,250,251,252, 68, 16, + 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, + 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27,255, +) + +IBM855_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 +191,192,193,194, 68,195,196,197,198,199,200,201,202,203,204,205, +206,207,208,209,210,211,212,213,214,215,216,217, 27, 59, 54, 70, + 3, 37, 21, 44, 28, 58, 13, 41, 2, 48, 39, 53, 19, 46,218,219, +220,221,222,223,224, 26, 55, 4, 42,225,226,227,228, 23, 60,229, +230,231,232,233,234,235, 11, 36,236,237,238,239,240,241,242,243, + 8, 49, 12, 38, 5, 31, 1, 34, 15,244,245,246,247, 35, 16,248, + 43, 9, 45, 7, 32, 6, 40, 14, 52, 24, 56, 10, 33, 17, 61,249, +250, 18, 62, 20, 51, 25, 57, 30, 47, 29, 63, 22, 50,251,252,255, +) + +IBM866_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 + 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, + 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, + 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, +191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, +207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, +223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, + 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16, +239, 68,240,241,242,243,244,245,246,247,248,249,250,251,252,255, +) + +# Model Table: +# total sequences: 100% +# first 512 sequences: 97.6601% +# first 1024 sequences: 2.3389% +# rest sequences: 0.1237% +# negative sequences: 0.0009% +RussianLangModel = ( +0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,1,3,3,3,2,3,2,3,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,2,2,2,2,2,0,0,2, +3,3,3,2,3,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,3,2,3,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,2,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,2,3,3,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,3,3,3,3,3,3,3,3,3,3,3,2,1, +0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,3,3,3,2,1, +0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,2,2,2,3,1,3,3,1,3,3,3,3,2,2,3,0,2,2,2,3,3,2,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,3,3,3,2,2,3,2,3,3,3,2,1,2,2,0,1,2,2,2,2,2,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,3,0,2,2,3,3,2,1,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,1,2,3,2,2,3,2,3,3,3,3,2,2,3,0,3,2,2,3,1,1,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,2,3,3,3,3,2,2,2,0,3,3,3,2,2,2,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,2,3,2,3,3,3,3,3,3,2,3,2,2,0,1,3,2,1,2,2,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,2,1,1,3,0,1,1,1,1,2,1,1,0,2,2,2,1,2,0,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,2,2,2,2,1,3,2,3,2,3,2,1,2,2,0,1,1,2,1,2,1,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,2,3,3,3,2,2,2,2,0,2,2,2,2,3,1,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,2,3,2,2,3,3,3,3,3,3,3,3,3,1,3,2,0,0,3,3,3,3,2,3,3,3,3,2,3,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,3,2,2,3,3,0,2,1,0,3,2,3,2,3,0,0,1,2,0,0,1,0,1,2,1,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,3,0,2,3,3,3,3,2,3,3,3,3,1,2,2,0,0,2,3,2,2,2,3,2,3,2,2,3,0,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,0,2,3,2,3,0,1,2,3,3,2,0,2,3,0,0,2,3,2,2,0,1,3,1,3,2,2,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,3,0,2,3,3,3,3,3,3,3,3,2,1,3,2,0,0,2,2,3,3,3,2,3,3,0,2,2,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,2,3,3,2,2,2,3,3,0,0,1,1,1,1,1,2,0,0,1,1,1,1,0,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,2,3,3,3,3,3,3,3,0,3,2,3,3,2,3,2,0,2,1,0,1,1,0,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,3,2,2,2,2,3,1,3,2,3,1,1,2,1,0,2,2,2,2,1,3,1,0, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +2,2,3,3,3,3,3,1,2,2,1,3,1,0,3,0,0,3,0,0,0,1,1,0,1,2,1,0,0,0,0,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,2,1,1,3,3,3,2,2,1,2,2,3,1,1,2,0,0,2,2,1,3,0,0,2,1,1,2,1,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,3,3,3,1,2,2,2,1,2,1,3,3,1,1,2,1,2,1,2,2,0,2,0,0,1,1,0,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,3,2,1,3,2,2,3,2,0,3,2,0,3,0,1,0,1,1,0,0,1,1,1,1,0,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,3,3,3,2,2,2,3,3,1,2,1,2,1,0,1,0,1,1,0,1,0,0,2,1,1,1,0,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +3,1,1,2,1,2,3,3,2,2,1,2,2,3,0,2,1,0,0,2,2,3,2,1,2,2,2,2,2,3,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,1,1,0,1,1,2,2,1,1,3,0,0,1,3,1,1,1,0,0,0,1,0,1,1,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,1,3,3,3,2,0,0,0,2,1,0,1,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,1,0,0,2,3,2,2,2,1,2,2,2,1,2,1,0,0,1,1,1,0,2,0,1,1,1,0,0,1,1, +1,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,0,0,0,0,1,0,0,0,0,3,0,1,2,1,0,0,0,0,0,0,0,1,1,0,0,1,1, +1,0,1,0,1,2,0,0,1,1,2,1,0,1,1,1,1,0,1,1,1,1,0,1,0,0,1,0,0,1,1,0, +2,2,3,2,2,2,3,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,0,1,0,1,1,1,0,2,1, +1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,1,0,1,1,0, +3,3,3,2,2,2,2,3,2,2,1,1,2,2,2,2,1,1,3,1,2,1,2,0,0,1,1,0,1,0,2,1, +1,1,1,1,1,2,1,0,1,1,1,1,0,1,0,0,1,1,0,0,1,0,1,0,0,1,0,0,0,1,1,0, +2,0,0,1,0,3,2,2,2,2,1,2,1,2,1,2,0,0,0,2,1,2,2,1,1,2,2,0,1,1,0,2, +1,1,1,1,1,0,1,1,1,2,1,1,1,2,1,0,1,2,1,1,1,1,0,1,1,1,0,0,1,0,0,1, +1,3,2,2,2,1,1,1,2,3,0,0,0,0,2,0,2,2,1,0,0,0,0,0,0,1,0,0,0,0,1,1, +1,0,1,1,0,1,0,1,1,0,1,1,0,2,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0, +2,3,2,3,2,1,2,2,2,2,1,0,0,0,2,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,2,1, +1,1,2,1,0,2,0,0,1,0,1,0,0,1,0,0,1,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0, +3,0,0,1,0,2,2,2,3,2,2,2,2,2,2,2,0,0,0,2,1,2,1,1,1,2,2,0,0,0,1,2, +1,1,1,1,1,0,1,2,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,1, +2,3,2,3,3,2,0,1,1,1,0,0,1,0,2,0,1,1,3,1,0,0,0,0,0,0,0,1,0,0,2,1, +1,1,1,1,1,1,1,0,1,0,1,1,1,1,0,1,1,1,0,0,1,1,0,1,0,0,0,0,0,0,1,0, +2,3,3,3,3,1,2,2,2,2,0,1,1,0,2,1,1,1,2,1,0,1,1,0,0,1,0,1,0,0,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,2,0,0,1,1,2,2,1,0,0,2,0,1,1,3,0,0,1,0,0,0,0,0,1,0,1,2,1, +1,1,2,0,1,1,1,0,1,0,1,1,0,1,0,1,1,1,1,0,1,0,0,0,0,0,0,1,0,1,1,0, +1,3,2,3,2,1,0,0,2,2,2,0,1,0,2,0,1,1,1,0,1,0,0,0,3,0,1,1,0,0,2,1, +1,1,1,0,1,1,0,0,0,0,1,1,0,1,0,0,2,1,1,0,1,0,0,0,1,0,1,0,0,1,1,0, +3,1,2,1,1,2,2,2,2,2,2,1,2,2,1,1,0,0,0,2,2,2,0,0,0,1,2,1,0,1,0,1, +2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2,1,1,1,0,1,0,1,1,0,1,1,1,0,0,1, +3,0,0,0,0,2,0,1,1,1,1,1,1,1,0,1,0,0,0,1,1,1,0,1,0,1,1,0,0,1,0,1, +1,1,0,0,1,0,0,0,1,0,1,1,0,0,1,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1, +1,3,3,2,2,0,0,0,2,2,0,0,0,1,2,0,1,1,2,0,0,0,0,0,0,0,0,1,0,0,2,1, +0,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0, +2,3,2,3,2,0,0,0,0,1,1,0,0,0,2,0,2,0,2,0,0,0,0,0,1,0,0,1,0,0,1,1, +1,1,2,0,1,2,1,0,1,1,2,1,1,1,1,1,2,1,1,0,1,0,0,1,1,1,1,1,0,1,1,0, +1,3,2,2,2,1,0,0,2,2,1,0,1,2,2,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,1,1, +0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,1,0,2,3,1,2,2,2,2,2,2,1,1,0,0,0,1,0,1,0,2,1,1,1,0,0,0,0,1, +1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0, +2,0,2,0,0,1,0,3,2,1,2,1,2,2,0,1,0,0,0,2,1,0,0,2,1,1,1,1,0,2,0,2, +2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,0,1,1,1,1,0,0,0,1,1,1,1,0,1,0,0,1, +1,2,2,2,2,1,0,0,1,0,0,0,0,0,2,0,1,1,1,1,0,0,0,0,1,0,1,2,0,0,2,0, +1,0,1,1,1,2,1,0,1,0,1,1,0,0,1,0,1,1,1,0,1,0,0,0,1,0,0,1,0,1,1,0, +2,1,2,2,2,0,3,0,1,1,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +0,0,0,1,1,1,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0, +1,2,2,3,2,2,0,0,1,1,2,0,1,2,1,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1, +0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0, +2,2,1,1,2,1,2,2,2,2,2,1,2,2,0,1,0,0,0,1,2,2,2,1,2,1,1,1,1,1,2,1, +1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0,0,0,0,1,1,1,0,1,1,0,0,1, +1,2,2,2,2,0,1,0,2,2,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0, +0,0,1,0,0,1,0,0,0,0,1,0,1,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,2,2,0,0,0,2,2,2,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1, +0,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,2,2,0,0,0,0,1,0,0,1,1,2,0,0,0,0,1,0,1,0,0,1,0,0,2,0,0,0,1, +0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,2,1,1,2,0,2,1,1,1,1,0,2,2,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1, +0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +1,0,2,1,2,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0, +0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0, +1,0,0,0,0,2,0,1,2,1,0,1,1,1,0,1,0,0,0,1,0,1,0,0,1,0,1,0,0,0,0,1, +0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1, +2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,1,1,0,1,0,1,0,0,1,1,1,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,1,0,1,1,0,1,0,1,0,0,0,0,1,1,0,1,1,0,0,0,0,0,1,0,1,1,0,1,0,0,0, +0,1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0, +) + +Koi8rModel = { + 'char_to_order_map': KOI8R_char_to_order_map, + 'precedence_matrix': RussianLangModel, + 'typical_positive_ratio': 0.976601, + 'keep_english_letter': False, + 'charset_name': "KOI8-R", + 'language': 'Russian', +} + +Win1251CyrillicModel = { + 'char_to_order_map': win1251_char_to_order_map, + 'precedence_matrix': RussianLangModel, + 'typical_positive_ratio': 0.976601, + 'keep_english_letter': False, + 'charset_name': "windows-1251", + 'language': 'Russian', +} + +Latin5CyrillicModel = { + 'char_to_order_map': latin5_char_to_order_map, + 'precedence_matrix': RussianLangModel, + 'typical_positive_ratio': 0.976601, + 'keep_english_letter': False, + 'charset_name': "ISO-8859-5", + 'language': 'Russian', +} + +MacCyrillicModel = { + 'char_to_order_map': macCyrillic_char_to_order_map, + 'precedence_matrix': RussianLangModel, + 'typical_positive_ratio': 0.976601, + 'keep_english_letter': False, + 'charset_name': "MacCyrillic", + 'language': 'Russian', +} + +Ibm866Model = { + 'char_to_order_map': IBM866_char_to_order_map, + 'precedence_matrix': RussianLangModel, + 'typical_positive_ratio': 0.976601, + 'keep_english_letter': False, + 'charset_name': "IBM866", + 'language': 'Russian', +} + +Ibm855Model = { + 'char_to_order_map': IBM855_char_to_order_map, + 'precedence_matrix': RussianLangModel, + 'typical_positive_ratio': 0.976601, + 'keep_english_letter': False, + 'charset_name': "IBM855", + 'language': 'Russian', +} diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langgreekmodel.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langgreekmodel.py new file mode 100644 index 0000000..5332221 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langgreekmodel.py @@ -0,0 +1,225 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# 255: Control characters that usually does not exist in any text +# 254: Carriage/Return +# 253: symbol (punctuation) that does not belong to word +# 252: 0 - 9 + +# Character Mapping Table: +Latin7_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 82,100,104, 94, 98,101,116,102,111,187,117, 92, 88,113, 85, # 40 + 79,118,105, 83, 67,114,119, 95, 99,109,188,253,253,253,253,253, # 50 +253, 72, 70, 80, 81, 60, 96, 93, 89, 68,120, 97, 77, 86, 69, 55, # 60 + 78,115, 65, 66, 58, 76,106,103, 87,107,112,253,253,253,253,253, # 70 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 80 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 90 +253,233, 90,253,253,253,253,253,253,253,253,253,253, 74,253,253, # a0 +253,253,253,253,247,248, 61, 36, 46, 71, 73,253, 54,253,108,123, # b0 +110, 31, 51, 43, 41, 34, 91, 40, 52, 47, 44, 53, 38, 49, 59, 39, # c0 + 35, 48,250, 37, 33, 45, 56, 50, 84, 57,120,121, 17, 18, 22, 15, # d0 +124, 1, 29, 20, 21, 3, 32, 13, 25, 5, 11, 16, 10, 6, 30, 4, # e0 + 9, 8, 14, 7, 2, 12, 28, 23, 42, 24, 64, 75, 19, 26, 27,253, # f0 +) + +win1253_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 82,100,104, 94, 98,101,116,102,111,187,117, 92, 88,113, 85, # 40 + 79,118,105, 83, 67,114,119, 95, 99,109,188,253,253,253,253,253, # 50 +253, 72, 70, 80, 81, 60, 96, 93, 89, 68,120, 97, 77, 86, 69, 55, # 60 + 78,115, 65, 66, 58, 76,106,103, 87,107,112,253,253,253,253,253, # 70 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 80 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 90 +253,233, 61,253,253,253,253,253,253,253,253,253,253, 74,253,253, # a0 +253,253,253,253,247,253,253, 36, 46, 71, 73,253, 54,253,108,123, # b0 +110, 31, 51, 43, 41, 34, 91, 40, 52, 47, 44, 53, 38, 49, 59, 39, # c0 + 35, 48,250, 37, 33, 45, 56, 50, 84, 57,120,121, 17, 18, 22, 15, # d0 +124, 1, 29, 20, 21, 3, 32, 13, 25, 5, 11, 16, 10, 6, 30, 4, # e0 + 9, 8, 14, 7, 2, 12, 28, 23, 42, 24, 64, 75, 19, 26, 27,253, # f0 +) + +# Model Table: +# total sequences: 100% +# first 512 sequences: 98.2851% +# first 1024 sequences:1.7001% +# rest sequences: 0.0359% +# negative sequences: 0.0148% +GreekLangModel = ( +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,2,2,3,3,3,3,3,3,3,3,1,3,3,3,0,2,2,3,3,0,3,0,3,2,0,3,3,3,0, +3,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,0,3,3,0,3,2,3,3,0,3,2,3,3,3,0,0,3,0,3,0,3,3,2,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, +0,2,3,2,2,3,3,3,3,3,3,3,3,0,3,3,3,3,0,2,3,3,0,3,3,3,3,2,3,3,3,0, +2,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,0,2,1,3,3,3,3,2,3,3,2,3,3,2,0, +0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,0,3,3,3,3,3,3,0,3,3,0,3,3,3,3,3,3,3,3,3,3,0,3,2,3,3,0, +2,0,1,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,2,3,0,0,0,0,3,3,0,3,1,3,3,3,0,3,3,0,3,3,3,3,0,0,0,0, +2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,0,3,0,3,3,3,3,3,0,3,2,2,2,3,0,2,3,3,3,3,3,2,3,3,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,3,2,2,2,3,3,3,3,0,3,1,3,3,3,3,2,3,3,3,3,3,3,3,2,2,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,2,0,3,0,0,0,3,3,2,3,3,3,3,3,0,0,3,2,3,0,2,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,3,3,3,3,0,0,3,3,0,2,3,0,3,0,3,3,3,0,0,3,0,3,0,2,2,3,3,0,0, +0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,2,0,3,2,3,3,3,3,0,3,3,3,3,3,0,3,3,2,3,2,3,3,2,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,2,3,2,3,3,3,3,3,3,0,2,3,2,3,2,2,2,3,2,3,3,2,3,0,2,2,2,3,0, +2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,0,0,0,3,3,3,2,3,3,0,0,3,0,3,0,0,0,3,2,0,3,0,3,0,0,2,0,2,0, +0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,0,3,3,3,3,3,3,0,3,3,0,3,0,0,0,3,3,0,3,3,3,0,0,1,2,3,0, +3,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,2,0,0,3,2,2,3,3,0,3,3,3,3,3,2,1,3,0,3,2,3,3,2,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,3,0,2,3,3,3,3,3,3,0,0,3,0,3,0,0,0,3,3,0,3,2,3,0,0,3,3,3,0, +3,0,0,0,2,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,0,3,3,3,3,3,3,0,0,3,0,3,0,0,0,3,2,0,3,2,3,0,0,3,2,3,0, +2,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,1,2,2,3,3,3,3,3,3,0,2,3,0,3,0,0,0,3,3,0,3,0,2,0,0,2,3,1,0, +2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,3,3,3,3,0,3,0,3,3,2,3,0,3,3,3,3,3,3,0,3,3,3,0,2,3,0,0,3,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,3,3,3,0,0,3,0,0,0,3,3,0,3,0,2,3,3,0,0,3,0,3,0,3,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,0,0,0,3,3,3,3,3,3,0,0,3,0,2,0,0,0,3,3,0,3,0,3,0,0,2,0,2,0, +0,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,3,0,3,0,2,0,3,2,0,3,2,3,2,3,0,0,3,2,3,2,3,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,0,0,2,3,3,3,3,3,0,0,0,3,0,2,1,0,0,3,2,2,2,0,3,0,0,2,2,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,3,3,3,2,0,3,0,3,0,3,3,0,2,1,2,3,3,0,0,3,0,3,0,3,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,3,3,3,0,3,3,3,3,3,3,0,2,3,0,3,0,0,0,2,1,0,2,2,3,0,0,2,2,2,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,0,0,2,3,3,3,2,3,0,0,1,3,0,2,0,0,0,0,3,0,1,0,2,0,0,1,1,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,1,0,3,0,0,0,3,2,0,3,2,3,3,3,0,0,3,0,3,2,2,2,1,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,3,3,3,0,0,3,0,0,0,0,2,0,2,3,3,2,2,2,2,3,0,2,0,2,2,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,2,0,0,0,0,0,0,2,3,0,2,0,2,3,2,0,0,3,0,3,0,3,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,3,2,3,3,2,2,3,0,2,0,3,0,0,0,2,0,0,0,0,1,2,0,2,0,2,0, +0,2,0,2,0,2,2,0,0,1,0,2,2,2,0,2,2,2,0,2,2,2,0,0,2,0,0,1,0,0,0,0, +0,2,0,3,3,2,0,0,0,0,0,0,1,3,0,2,0,2,2,2,0,0,2,0,3,0,0,2,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,2,3,2,0,2,2,0,2,0,2,2,0,2,0,2,2,2,0,0,0,0,0,0,2,3,0,0,0,2, +0,1,2,0,0,0,0,2,2,0,0,0,2,1,0,2,2,0,0,0,0,0,0,1,0,2,0,0,0,0,0,0, +0,0,2,1,0,2,3,2,2,3,2,3,2,0,0,3,3,3,0,0,3,2,0,0,0,1,1,0,2,0,2,2, +0,2,0,2,0,2,2,0,0,2,0,2,2,2,0,2,2,2,2,0,0,2,0,0,0,2,0,1,0,0,0,0, +0,3,0,3,3,2,2,0,3,0,0,0,2,2,0,2,2,2,1,2,0,0,1,2,2,0,0,3,0,0,0,2, +0,1,2,0,0,0,1,2,0,0,0,0,0,0,0,2,2,0,1,0,0,2,0,0,0,2,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,3,3,2,2,0,0,0,2,0,2,3,3,0,2,0,0,0,0,0,0,2,2,2,0,2,2,0,2,0,2, +0,2,2,0,0,2,2,2,2,1,0,0,2,2,0,2,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0, +0,2,0,3,2,3,0,0,0,3,0,0,2,2,0,2,0,2,2,2,0,0,2,0,0,0,0,0,0,0,0,2, +0,0,2,2,0,0,2,2,2,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,0,0,3,2,0,2,2,2,2,2,0,0,0,2,0,0,0,0,2,0,1,0,0,2,0,1,0,0,0, +0,2,2,2,0,2,2,0,1,2,0,2,2,2,0,2,2,2,2,1,2,2,0,0,2,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +0,2,0,2,0,2,2,0,0,0,0,1,2,1,0,0,2,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,3,2,3,0,0,2,0,0,0,2,2,0,2,0,0,0,1,0,0,2,0,2,0,2,2,0,0,0,0, +0,0,2,0,0,0,0,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0, +0,2,2,3,2,2,0,0,0,0,0,0,1,3,0,2,0,2,2,0,0,0,1,0,2,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,0,2,0,3,2,0,2,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +0,0,2,0,0,0,0,1,1,0,0,2,1,2,0,2,2,0,1,0,0,1,0,0,0,2,0,0,0,0,0,0, +0,3,0,2,2,2,0,0,2,0,0,0,2,0,0,0,2,3,0,2,0,0,0,0,0,0,2,2,0,0,0,2, +0,1,2,0,0,0,1,2,2,1,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,1,2,0,2,2,0,2,0,0,2,0,0,0,0,1,2,1,0,2,1,0,0,0,0,0,0,0,0,0,0, +0,0,2,0,0,0,3,1,2,2,0,2,0,0,0,0,2,0,0,0,2,0,0,3,0,0,0,0,2,2,2,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,1,0,2,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,2, +0,2,2,0,0,2,2,2,2,2,0,1,2,0,0,0,2,2,0,1,0,2,0,0,2,2,0,0,0,0,0,0, +0,0,0,0,1,0,0,0,0,0,0,0,3,0,0,2,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,2, +0,1,2,0,0,0,0,2,2,1,0,1,0,1,0,2,2,2,1,0,0,0,0,0,0,1,0,0,0,0,0,0, +0,2,0,1,2,0,0,0,0,0,0,0,0,0,0,2,0,0,2,2,0,0,0,0,1,0,0,0,0,0,0,2, +0,2,2,0,0,0,0,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0, +0,2,2,2,2,0,0,0,3,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,1, +0,0,2,0,0,0,0,1,2,0,0,0,0,0,0,2,2,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0, +0,2,0,2,2,2,0,0,2,0,0,0,0,0,0,0,2,2,2,0,0,0,2,0,0,0,0,0,0,0,0,2, +0,0,1,0,0,0,0,2,1,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0, +0,3,0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,2, +0,0,2,0,0,0,0,2,2,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,0,2,2,1,0,0,0,0,0,0,2,0,0,2,0,2,2,2,0,0,0,0,0,0,2,0,0,0,0,2, +0,0,2,0,0,2,0,2,2,0,0,0,0,2,0,2,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0, +0,0,3,0,0,0,2,2,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0, +0,2,2,2,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1, +0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +0,2,0,0,0,2,0,0,0,0,0,1,0,0,0,0,2,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,2,0,0,0, +0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,2,0,2,0,0,0, +0,0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,2,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +) + +Latin7GreekModel = { + 'char_to_order_map': Latin7_char_to_order_map, + 'precedence_matrix': GreekLangModel, + 'typical_positive_ratio': 0.982851, + 'keep_english_letter': False, + 'charset_name': "ISO-8859-7", + 'language': 'Greek', +} + +Win1253GreekModel = { + 'char_to_order_map': win1253_char_to_order_map, + 'precedence_matrix': GreekLangModel, + 'typical_positive_ratio': 0.982851, + 'keep_english_letter': False, + 'charset_name': "windows-1253", + 'language': 'Greek', +} diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langhebrewmodel.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langhebrewmodel.py new file mode 100644 index 0000000..58f4c87 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langhebrewmodel.py @@ -0,0 +1,200 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Simon Montagu +# Portions created by the Initial Developer are Copyright (C) 2005 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# Shoshannah Forbes - original C code (?) +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# 255: Control characters that usually does not exist in any text +# 254: Carriage/Return +# 253: symbol (punctuation) that does not belong to word +# 252: 0 - 9 + +# Windows-1255 language model +# Character Mapping Table: +WIN1255_CHAR_TO_ORDER_MAP = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 69, 91, 79, 80, 92, 89, 97, 90, 68,111,112, 82, 73, 95, 85, # 40 + 78,121, 86, 71, 67,102,107, 84,114,103,115,253,253,253,253,253, # 50 +253, 50, 74, 60, 61, 42, 76, 70, 64, 53,105, 93, 56, 65, 54, 49, # 60 + 66,110, 51, 43, 44, 63, 81, 77, 98, 75,108,253,253,253,253,253, # 70 +124,202,203,204,205, 40, 58,206,207,208,209,210,211,212,213,214, +215, 83, 52, 47, 46, 72, 32, 94,216,113,217,109,218,219,220,221, + 34,116,222,118,100,223,224,117,119,104,125,225,226, 87, 99,227, +106,122,123,228, 55,229,230,101,231,232,120,233, 48, 39, 57,234, + 30, 59, 41, 88, 33, 37, 36, 31, 29, 35,235, 62, 28,236,126,237, +238, 38, 45,239,240,241,242,243,127,244,245,246,247,248,249,250, + 9, 8, 20, 16, 3, 2, 24, 14, 22, 1, 25, 15, 4, 11, 6, 23, + 12, 19, 13, 26, 18, 27, 21, 17, 7, 10, 5,251,252,128, 96,253, +) + +# Model Table: +# total sequences: 100% +# first 512 sequences: 98.4004% +# first 1024 sequences: 1.5981% +# rest sequences: 0.087% +# negative sequences: 0.0015% +HEBREW_LANG_MODEL = ( +0,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,2,3,2,1,2,0,1,0,0, +3,0,3,1,0,0,1,3,2,0,1,1,2,0,2,2,2,1,1,1,1,2,1,1,1,2,0,0,2,2,0,1, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2, +1,2,1,2,1,2,0,0,2,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2, +1,2,1,3,1,1,0,0,2,0,0,0,1,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,0,1,2,2,1,3, +1,2,1,1,2,2,0,0,2,2,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,1,0,1,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,2,2,2,2,3,2, +1,2,1,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,2,3,2,2,3,2,2,2,1,2,2,2,2, +1,2,1,1,2,2,0,1,2,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,0,2,2,2,2,2, +0,2,0,2,2,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,0,2,2,2, +0,2,1,2,2,2,0,0,2,1,0,0,0,0,1,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,2,1,2,3,2,2,2, +1,2,1,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,0, +3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,1,0,2,0,2, +0,2,1,2,2,2,0,0,1,2,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,2,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,2,3,2,2,3,2,1,2,1,1,1, +0,1,1,1,1,1,3,0,1,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1,0,0,1,0,0,1,0,0,0,0, +0,0,1,0,0,0,0,0,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2, +0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,2,3,3,3,2,1,2,3,3,2,3,3,3,3,2,3,2,1,2,0,2,1,2, +0,2,0,2,2,2,0,0,1,2,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0, +3,3,3,3,3,3,3,3,3,2,3,3,3,1,2,2,3,3,2,3,2,3,2,2,3,1,2,2,0,2,2,2, +0,2,1,2,2,2,0,0,1,2,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,2,2,2,3,3,3,3,1,3,2,2,2, +0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,2,3,2,2,2,1,2,2,0,2,2,2,2, +0,2,0,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,1,3,2,3,3,2,3,3,2,2,1,2,2,2,2,2,2, +0,2,1,2,1,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,2,3,2,3,3,2,3,3,3,3,2,3,2,3,3,3,3,3,2,2,2,2,2,2,2,1, +0,2,0,1,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,2,1,2,3,3,3,3,3,3,3,2,3,2,3,2,1,2,3,0,2,1,2,2, +0,2,1,1,2,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,2,0, +3,3,3,3,3,3,3,3,3,2,3,3,3,3,2,1,3,1,2,2,2,1,2,3,3,1,2,1,2,2,2,2, +0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,0,2,3,3,3,1,3,3,3,1,2,2,2,2,1,1,2,2,2,2,2,2, +0,2,0,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,2,3,3,3,2,2,3,3,3,2,1,2,3,2,3,2,2,2,2,1,2,1,1,1,2,2, +0,2,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,1,0,0,0,0,0, +1,0,1,0,0,0,0,0,2,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,2,3,3,2,3,1,2,2,2,2,3,2,3,1,1,2,2,1,2,2,1,1,0,2,2,2,2, +0,1,0,1,2,2,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,0,0,1,1,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,0, +0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,1,0,1,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,0,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +3,2,2,1,2,2,2,2,2,2,2,1,2,2,1,2,2,1,1,1,1,1,1,1,1,2,1,1,0,3,3,3, +0,3,0,2,2,2,2,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,1,2,2,2,1,1,1,2,0,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,0,2,2,0,0,0,0,0,0, +0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,1,0,2,1,0, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +0,3,1,1,2,2,2,2,2,1,2,2,2,1,1,2,2,2,2,2,2,2,1,2,2,1,0,1,1,1,1,0, +0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,1,1,1,1,2,1,1,2,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,0,0,0, +0,0,2,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,0,0, +2,1,1,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,1,2,1,2,1,1,1,1,0,0,0,0, +0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,2,1,2,2,2,2,2,2,2,2,2,2,1,2,1,2,1,1,2,1,1,1,2,1,2,1,2,0,1,0,1, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,1,2,2,2,1,2,2,2,2,2,2,2,2,1,2,1,1,1,1,1,1,2,1,2,1,1,0,1,0,1, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,1,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2, +0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,1,1,1,1,1,1,1,0,1,1,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,2,0,1,1,1,0,1,0,0,0,1,1,0,1,1,0,0,0,0,0,1,1,0,0, +0,1,1,1,2,1,2,2,2,0,2,0,2,0,1,1,2,1,1,1,1,2,1,0,1,1,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,1,0,0,0,0,0,1,0,1,2,2,0,1,0,0,1,1,2,2,1,2,0,2,0,0,0,1,2,0,1, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,2,0,2,1,2,0,2,0,0,1,1,1,1,1,1,0,1,0,0,0,1,0,0,1, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,0,0,0,0,0,1,0,2,1,1,0,1,0,0,1,1,1,2,2,0,0,1,0,0,0,1,0,0,1, +1,1,2,1,0,1,1,1,0,1,0,1,1,1,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,2,2,1, +0,2,0,1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,1,0,0,1,0,1,1,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,1,1,1,1,1,1,1,1,2,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,1,1,0,1,0,0,0,1,1,0,1, +2,0,1,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,1,1,1,0,1,0,0,1,1,2,1,1,2,0,1,0,0,0,1,1,0,1, +1,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,0,0,2,1,1,2,0,2,0,0,0,1,1,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,2,1,1,0,1,0,0,2,2,1,2,1,1,0,1,0,0,0,1,1,0,1, +2,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,1,1,0,1,0,0,1,0,0,0,0,1,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,2,1,1,1,0,2,1,1,0,0,0,2,1,0,1, +1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,1,1,0,2,1,1,0,1,0,0,0,1,1,0,1, +2,2,1,1,1,0,1,1,0,1,1,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,2,1,1,0,1,0,0,1,1,0,1,2,1,0,2,0,0,0,1,1,0,1, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0, +0,1,0,0,2,0,2,1,1,0,1,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,1,1,1,0,1,0,0,1,0,0,0,1,0,0,1, +1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,0,0,0,0,0,1,0,1,1,0,0,1,0,0,2,1,1,1,1,1,0,1,0,0,0,0,1,0,1, +0,1,1,1,2,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,2,1,0,0,0,0,0,1,1,1,1,1,0,1,0,0,0,1,1,0,0, +) + +Win1255HebrewModel = { + 'char_to_order_map': WIN1255_CHAR_TO_ORDER_MAP, + 'precedence_matrix': HEBREW_LANG_MODEL, + 'typical_positive_ratio': 0.984004, + 'keep_english_letter': False, + 'charset_name': "windows-1255", + 'language': 'Hebrew', +} diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langhungarianmodel.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langhungarianmodel.py new file mode 100644 index 0000000..bb7c095 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langhungarianmodel.py @@ -0,0 +1,225 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# 255: Control characters that usually does not exist in any text +# 254: Carriage/Return +# 253: symbol (punctuation) that does not belong to word +# 252: 0 - 9 + +# Character Mapping Table: +Latin2_HungarianCharToOrderMap = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 28, 40, 54, 45, 32, 50, 49, 38, 39, 53, 36, 41, 34, 35, 47, + 46, 71, 43, 33, 37, 57, 48, 64, 68, 55, 52,253,253,253,253,253, +253, 2, 18, 26, 17, 1, 27, 12, 20, 9, 22, 7, 6, 13, 4, 8, + 23, 67, 10, 5, 3, 21, 19, 65, 62, 16, 11,253,253,253,253,253, +159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174, +175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190, +191,192,193,194,195,196,197, 75,198,199,200,201,202,203,204,205, + 79,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220, +221, 51, 81,222, 78,223,224,225,226, 44,227,228,229, 61,230,231, +232,233,234, 58,235, 66, 59,236,237,238, 60, 69, 63,239,240,241, + 82, 14, 74,242, 70, 80,243, 72,244, 15, 83, 77, 84, 30, 76, 85, +245,246,247, 25, 73, 42, 24,248,249,250, 31, 56, 29,251,252,253, +) + +win1250HungarianCharToOrderMap = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 28, 40, 54, 45, 32, 50, 49, 38, 39, 53, 36, 41, 34, 35, 47, + 46, 72, 43, 33, 37, 57, 48, 64, 68, 55, 52,253,253,253,253,253, +253, 2, 18, 26, 17, 1, 27, 12, 20, 9, 22, 7, 6, 13, 4, 8, + 23, 67, 10, 5, 3, 21, 19, 65, 62, 16, 11,253,253,253,253,253, +161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176, +177,178,179,180, 78,181, 69,182,183,184,185,186,187,188,189,190, +191,192,193,194,195,196,197, 76,198,199,200,201,202,203,204,205, + 81,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220, +221, 51, 83,222, 80,223,224,225,226, 44,227,228,229, 61,230,231, +232,233,234, 58,235, 66, 59,236,237,238, 60, 70, 63,239,240,241, + 84, 14, 75,242, 71, 82,243, 73,244, 15, 85, 79, 86, 30, 77, 87, +245,246,247, 25, 74, 42, 24,248,249,250, 31, 56, 29,251,252,253, +) + +# Model Table: +# total sequences: 100% +# first 512 sequences: 94.7368% +# first 1024 sequences:5.2623% +# rest sequences: 0.8894% +# negative sequences: 0.0009% +HungarianLangModel = ( +0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,2,2,3,3,1,1,2,2,2,2,2,1,2, +3,2,2,3,3,3,3,3,2,3,3,3,3,3,3,1,2,3,3,3,3,2,3,3,1,1,3,3,0,1,1,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0, +3,2,1,3,3,3,3,3,2,3,3,3,3,3,1,1,2,3,3,3,3,3,3,3,1,1,3,2,0,1,1,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,1,1,2,3,3,3,1,3,3,3,3,3,1,3,3,2,2,0,3,2,3, +0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,3,2,3,3,2,3,3,3,3,3,2,3,3,2,2,3,2,3,2,0,3,2,2, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0, +3,3,3,3,3,3,2,3,3,3,3,3,2,3,3,3,1,2,3,2,2,3,1,2,3,3,2,2,0,3,3,3, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,3,2,3,3,3,3,2,3,3,3,3,0,2,3,2, +0,0,0,1,1,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,1,1,1,3,3,2,1,3,2,2,3,2,1,3,2,2,1,0,3,3,1, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,2,2,3,3,3,3,3,1,2,3,3,3,3,1,2,1,3,3,3,3,2,2,3,1,1,3,2,0,1,1,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,2,1,3,3,3,3,3,2,2,1,3,3,3,0,1,1,2, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,2,3,3,3,2,0,3,2,3, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,1,0, +3,3,3,3,3,3,2,3,3,3,2,3,2,3,3,3,1,3,2,2,2,3,1,1,3,3,1,1,0,3,3,2, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,2,3,3,3,2,3,2,3,3,3,2,3,3,3,3,3,1,2,3,2,2,0,2,2,2, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,2,2,2,3,1,3,3,2,2,1,3,3,3,1,1,3,1,2,3,2,3,2,2,2,1,0,2,2,2, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, +3,1,1,3,3,3,3,3,1,2,3,3,3,3,1,2,1,3,3,3,2,2,3,2,1,0,3,2,0,1,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,1,3,3,3,3,3,1,2,3,3,3,3,1,1,0,3,3,3,3,0,2,3,0,0,2,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,2,3,3,2,2,2,2,3,3,0,1,2,3,2,3,2,2,3,2,1,2,0,2,2,2, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, +3,3,3,3,3,3,1,2,3,3,3,2,1,2,3,3,2,2,2,3,2,3,3,1,3,3,1,1,0,2,3,2, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,1,2,2,2,2,3,3,3,1,1,1,3,3,1,1,3,1,1,3,2,1,2,3,1,1,0,2,2,2, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,2,1,2,1,1,3,3,1,1,1,1,3,3,1,1,2,2,1,2,1,1,2,2,1,1,0,2,2,1, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,1,1,2,1,1,3,3,1,0,1,1,3,3,2,0,1,1,2,3,1,0,2,2,1,0,0,1,3,2, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,2,1,3,3,3,3,3,1,2,3,2,3,3,2,1,1,3,2,3,2,1,2,2,0,1,2,1,0,0,1,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,2,2,2,2,3,1,2,2,1,1,3,3,0,3,2,1,2,3,2,1,3,3,1,1,0,2,1,3, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,2,2,2,3,2,3,3,3,2,1,1,3,3,1,1,1,2,2,3,2,3,2,2,2,1,0,2,2,1, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +1,0,0,3,3,3,3,3,0,0,3,3,2,3,0,0,0,2,3,3,1,0,1,2,0,0,1,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,2,3,3,3,3,3,1,2,3,3,2,2,1,1,0,3,3,2,2,1,2,2,1,0,2,2,0,1,1,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,2,1,3,1,2,3,3,2,2,1,1,2,2,1,1,1,1,3,2,1,1,1,1,2,1,0,1,2,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +2,3,3,1,1,1,1,1,3,3,3,0,1,1,3,3,1,1,1,1,1,2,2,0,3,1,1,2,0,2,1,1, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,1,0,1,2,1,2,2,0,1,2,3,1,2,0,0,0,2,1,1,1,1,1,2,0,0,1,1,0,0,0,0, +1,2,1,2,2,2,1,2,1,2,0,2,0,2,2,1,1,2,1,1,2,1,1,1,0,1,0,0,0,1,1,0, +1,1,1,2,3,2,3,3,0,1,2,2,3,1,0,1,0,2,1,2,2,0,1,1,0,0,1,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,3,3,2,2,1,0,0,3,2,3,2,0,0,0,1,1,3,0,0,1,1,0,0,2,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,1,2,2,3,3,1,0,1,3,2,3,1,1,1,0,1,1,1,1,1,3,1,0,0,2,2,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,1,1,2,2,2,1,0,1,2,3,3,2,0,0,0,2,1,1,1,2,1,1,1,0,1,1,1,0,0,0, +1,2,2,2,2,2,1,1,1,2,0,2,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,0,0,1,1, +3,2,2,1,0,0,1,1,2,2,0,3,0,1,2,1,1,0,0,1,1,1,0,1,1,1,1,0,2,1,1,1, +2,2,1,1,1,2,1,2,1,1,1,1,1,1,1,2,1,1,1,2,3,1,1,1,1,1,1,1,1,1,0,1, +2,3,3,0,1,0,0,0,3,3,1,0,0,1,2,2,1,0,0,0,0,2,0,0,1,1,1,0,2,1,1,1, +2,1,1,1,1,1,1,2,1,1,0,1,1,0,1,1,1,0,1,2,1,1,0,1,1,1,1,1,1,1,0,1, +2,3,3,0,1,0,0,0,2,2,0,0,0,0,1,2,2,0,0,0,0,1,0,0,1,1,0,0,2,0,1,0, +2,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,0,1, +3,2,2,0,1,0,1,0,2,3,2,0,0,1,2,2,1,0,0,1,1,1,0,0,2,1,0,1,2,2,1,1, +2,1,1,1,1,1,1,2,1,1,1,1,1,1,0,2,1,0,1,1,0,1,1,1,0,1,1,2,1,1,0,1, +2,2,2,0,0,1,0,0,2,2,1,1,0,0,2,1,1,0,0,0,1,2,0,0,2,1,0,0,2,1,1,1, +2,1,1,1,1,2,1,2,1,1,1,2,2,1,1,2,1,1,1,2,1,1,1,1,1,1,1,1,1,1,0,1, +1,2,3,0,0,0,1,0,3,2,1,0,0,1,2,1,1,0,0,0,0,2,1,0,1,1,0,0,2,1,2,1, +1,1,0,0,0,1,0,1,1,1,1,1,2,0,0,1,0,0,0,2,0,0,1,1,1,1,1,1,1,1,0,1, +3,0,0,2,1,2,2,1,0,0,2,1,2,2,0,0,0,2,1,1,1,0,1,1,0,0,1,1,2,0,0,0, +1,2,1,2,2,1,1,2,1,2,0,1,1,1,1,1,1,1,1,1,2,1,1,0,0,1,1,1,1,0,0,1, +1,3,2,0,0,0,1,0,2,2,2,0,0,0,2,2,1,0,0,0,0,3,1,1,1,1,0,0,2,1,1,1, +2,1,0,1,1,1,0,1,1,1,1,1,1,1,0,2,1,0,0,1,0,1,1,0,1,1,1,1,1,1,0,1, +2,3,2,0,0,0,1,0,2,2,0,0,0,0,2,1,1,0,0,0,0,2,1,0,1,1,0,0,2,1,1,0, +2,1,1,1,1,2,1,2,1,2,0,1,1,1,0,2,1,1,1,2,1,1,1,1,0,1,1,1,1,1,0,1, +3,1,1,2,2,2,3,2,1,1,2,2,1,1,0,1,0,2,2,1,1,1,1,1,0,0,1,1,0,1,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,0,0,0,0,0,2,2,0,0,0,0,2,2,1,0,0,0,1,1,0,0,1,2,0,0,2,1,1,1, +2,2,1,1,1,2,1,2,1,1,0,1,1,1,1,2,1,1,1,2,1,1,1,1,0,1,2,1,1,1,0,1, +1,0,0,1,2,3,2,1,0,0,2,0,1,1,0,0,0,1,1,1,1,0,1,1,0,0,1,0,0,0,0,0, +1,2,1,2,1,2,1,1,1,2,0,2,1,1,1,0,1,2,0,0,1,1,1,0,0,0,0,0,0,0,0,0, +2,3,2,0,0,0,0,0,1,1,2,1,0,0,1,1,1,0,0,0,0,2,0,0,1,1,0,0,2,1,1,1, +2,1,1,1,1,1,1,2,1,0,1,1,1,1,0,2,1,1,1,1,1,1,0,1,0,1,1,1,1,1,0,1, +1,2,2,0,1,1,1,0,2,2,2,0,0,0,3,2,1,0,0,0,1,1,0,0,1,1,0,1,1,1,0,0, +1,1,0,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,0,0,1,1,1,0,1,0,1, +2,1,0,2,1,1,2,2,1,1,2,1,1,1,0,0,0,1,1,0,1,1,1,1,0,0,1,1,1,0,0,0, +1,2,2,2,2,2,1,1,1,2,0,2,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,1,0, +1,2,3,0,0,0,1,0,2,2,0,0,0,0,2,2,0,0,0,0,0,1,0,0,1,0,0,0,2,0,1,0, +2,1,1,1,1,1,0,2,0,0,0,1,2,1,1,1,1,0,1,2,0,1,0,1,0,1,1,1,0,1,0,1, +2,2,2,0,0,0,1,0,2,1,2,0,0,0,1,1,2,0,0,0,0,1,0,0,1,1,0,0,2,1,0,1, +2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,0,1, +1,2,2,0,0,0,1,0,2,2,2,0,0,0,1,1,0,0,0,0,0,1,1,0,2,0,0,1,1,1,0,1, +1,0,1,1,1,1,1,1,0,1,1,1,1,0,0,1,0,0,1,1,0,1,0,1,1,1,1,1,0,0,0,1, +1,0,0,1,0,1,2,1,0,0,1,1,1,2,0,0,0,1,1,0,1,0,1,1,0,0,1,0,0,0,0,0, +0,2,1,2,1,1,1,1,1,2,0,2,0,1,1,0,1,2,1,0,1,1,1,0,0,0,0,0,0,1,0,0, +2,1,1,0,1,2,0,0,1,1,1,0,0,0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,2,1,0,1, +2,2,1,1,1,1,1,2,1,1,0,1,1,1,1,2,1,1,1,2,1,1,0,1,0,1,1,1,1,1,0,1, +1,2,2,0,0,0,0,0,1,1,0,0,0,0,2,1,0,0,0,0,0,2,0,0,2,2,0,0,2,0,0,1, +2,1,1,1,1,1,1,1,0,1,1,0,1,1,0,1,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1, +1,1,2,0,0,3,1,0,2,1,1,1,0,0,1,1,1,0,0,0,1,1,0,0,0,1,0,0,1,0,1,0, +1,2,1,0,1,1,1,2,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,1,0,0,0,1,0,0, +2,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,2,0,0,0, +2,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,2,1,1,0,0,1,1,1,1,1,0,1, +2,1,1,1,2,1,1,1,0,1,1,2,1,0,0,0,0,1,1,1,1,0,1,0,0,0,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,1,0,1,1,1,1,1,0,0,1,1,2,1,0,0,0,1,1,0,0,0,1,1,0,0,1,0,1,0,0,0, +1,2,1,1,1,1,1,1,1,1,0,1,0,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,1,0,0, +2,0,0,0,1,1,1,1,0,0,1,1,0,0,0,0,0,1,1,1,2,0,0,1,0,0,1,0,1,0,0,0, +0,1,1,1,1,1,1,1,1,2,0,1,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0, +1,0,0,1,1,1,1,1,0,0,2,1,0,1,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0, +0,1,1,1,1,1,1,0,1,1,0,1,0,1,1,0,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0, +1,0,0,1,1,1,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +0,1,1,1,1,1,0,0,1,1,0,1,0,1,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0, +0,0,0,1,0,0,0,0,0,0,1,1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,1,1,1,0,1,0,0,1,1,0,1,0,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0, +2,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,0,1,0,0,1,0,1,0,1,1,1,0,0,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,1,1,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, +0,1,1,1,1,1,1,0,1,1,0,1,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0, +) + +Latin2HungarianModel = { + 'char_to_order_map': Latin2_HungarianCharToOrderMap, + 'precedence_matrix': HungarianLangModel, + 'typical_positive_ratio': 0.947368, + 'keep_english_letter': True, + 'charset_name': "ISO-8859-2", + 'language': 'Hungarian', +} + +Win1250HungarianModel = { + 'char_to_order_map': win1250HungarianCharToOrderMap, + 'precedence_matrix': HungarianLangModel, + 'typical_positive_ratio': 0.947368, + 'keep_english_letter': True, + 'charset_name': "windows-1250", + 'language': 'Hungarian', +} diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langthaimodel.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langthaimodel.py new file mode 100644 index 0000000..15f94c2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langthaimodel.py @@ -0,0 +1,199 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# 255: Control characters that usually does not exist in any text +# 254: Carriage/Return +# 253: symbol (punctuation) that does not belong to word +# 252: 0 - 9 + +# The following result for thai was collected from a limited sample (1M). + +# Character Mapping Table: +TIS620CharToOrderMap = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,182,106,107,100,183,184,185,101, 94,186,187,108,109,110,111, # 40 +188,189,190, 89, 95,112,113,191,192,193,194,253,253,253,253,253, # 50 +253, 64, 72, 73,114, 74,115,116,102, 81,201,117, 90,103, 78, 82, # 60 + 96,202, 91, 79, 84,104,105, 97, 98, 92,203,253,253,253,253,253, # 70 +209,210,211,212,213, 88,214,215,216,217,218,219,220,118,221,222, +223,224, 99, 85, 83,225,226,227,228,229,230,231,232,233,234,235, +236, 5, 30,237, 24,238, 75, 8, 26, 52, 34, 51,119, 47, 58, 57, + 49, 53, 55, 43, 20, 19, 44, 14, 48, 3, 17, 25, 39, 62, 31, 54, + 45, 9, 16, 2, 61, 15,239, 12, 42, 46, 18, 21, 76, 4, 66, 63, + 22, 10, 1, 36, 23, 13, 40, 27, 32, 35, 86,240,241,242,243,244, + 11, 28, 41, 29, 33,245, 50, 37, 6, 7, 67, 77, 38, 93,246,247, + 68, 56, 59, 65, 69, 60, 70, 80, 71, 87,248,249,250,251,252,253, +) + +# Model Table: +# total sequences: 100% +# first 512 sequences: 92.6386% +# first 1024 sequences:7.3177% +# rest sequences: 1.0230% +# negative sequences: 0.0436% +ThaiLangModel = ( +0,1,3,3,3,3,0,0,3,3,0,3,3,0,3,3,3,3,3,3,3,3,0,0,3,3,3,0,3,3,3,3, +0,3,3,0,0,0,1,3,0,3,3,2,3,3,0,1,2,3,3,3,3,0,2,0,2,0,0,3,2,1,2,2, +3,0,3,3,2,3,0,0,3,3,0,3,3,0,3,3,3,3,3,3,3,3,3,0,3,2,3,0,2,2,2,3, +0,2,3,0,0,0,0,1,0,1,2,3,1,1,3,2,2,0,1,1,0,0,1,0,0,0,0,0,0,0,1,1, +3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,3,3,2,3,2,3,3,2,2,2, +3,1,2,3,0,3,3,2,2,1,2,3,3,1,2,0,1,3,0,1,0,0,1,0,0,0,0,0,0,0,1,1, +3,3,2,2,3,3,3,3,1,2,3,3,3,3,3,2,2,2,2,3,3,2,2,3,3,2,2,3,2,3,2,2, +3,3,1,2,3,1,2,2,3,3,1,0,2,1,0,0,3,1,2,1,0,0,1,0,0,0,0,0,0,1,0,1, +3,3,3,3,3,3,2,2,3,3,3,3,2,3,2,2,3,3,2,2,3,2,2,2,2,1,1,3,1,2,1,1, +3,2,1,0,2,1,0,1,0,1,1,0,1,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0, +3,3,3,2,3,2,3,3,2,2,3,2,3,3,2,3,1,1,2,3,2,2,2,3,2,2,2,2,2,1,2,1, +2,2,1,1,3,3,2,1,0,1,2,2,0,1,3,0,0,0,1,1,0,0,0,0,0,2,3,0,0,2,1,1, +3,3,2,3,3,2,0,0,3,3,0,3,3,0,2,2,3,1,2,2,1,1,1,0,2,2,2,0,2,2,1,1, +0,2,1,0,2,0,0,2,0,1,0,0,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,2,3,3,2,0,0,3,3,0,2,3,0,2,1,2,2,2,2,1,2,0,0,2,2,2,0,2,2,1,1, +0,2,1,0,2,0,0,2,0,1,1,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0, +3,3,2,3,2,3,2,0,2,2,1,3,2,1,3,2,1,2,3,2,2,3,0,2,3,2,2,1,2,2,2,2, +1,2,2,0,0,0,0,2,0,1,2,0,1,1,1,0,1,0,3,1,1,0,0,0,0,0,0,0,0,0,1,0, +3,3,2,3,3,2,3,2,2,2,3,2,2,3,2,2,1,2,3,2,2,3,1,3,2,2,2,3,2,2,2,3, +3,2,1,3,0,1,1,1,0,2,1,1,1,1,1,0,1,0,1,1,0,0,0,0,0,0,0,0,0,2,0,0, +1,0,0,3,0,3,3,3,3,3,0,0,3,0,2,2,3,3,3,3,3,0,0,0,1,1,3,0,0,0,0,2, +0,0,1,0,0,0,0,0,0,0,2,3,0,0,0,3,0,2,0,0,0,0,0,3,0,0,0,0,0,0,0,0, +2,0,3,3,3,3,0,0,2,3,0,0,3,0,3,3,2,3,3,3,3,3,0,0,3,3,3,0,0,0,3,3, +0,0,3,0,0,0,0,2,0,0,2,1,1,3,0,0,1,0,0,2,3,0,1,0,0,0,0,0,0,0,1,0, +3,3,3,3,2,3,3,3,3,3,3,3,1,2,1,3,3,2,2,1,2,2,2,3,1,1,2,0,2,1,2,1, +2,2,1,0,0,0,1,1,0,1,0,1,1,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0, +3,0,2,1,2,3,3,3,0,2,0,2,2,0,2,1,3,2,2,1,2,1,0,0,2,2,1,0,2,1,2,2, +0,1,1,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,1,3,3,1,1,3,0,2,3,1,1,3,2,1,1,2,0,2,2,3,2,1,1,1,1,1,2, +3,0,0,1,3,1,2,1,2,0,3,0,0,0,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0, +3,3,1,1,3,2,3,3,3,1,3,2,1,3,2,1,3,2,2,2,2,1,3,3,1,2,1,3,1,2,3,0, +2,1,1,3,2,2,2,1,2,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2, +3,3,2,3,2,3,3,2,3,2,3,2,3,3,2,1,0,3,2,2,2,1,2,2,2,1,2,2,1,2,1,1, +2,2,2,3,0,1,3,1,1,1,1,0,1,1,0,2,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,3,2,2,1,1,3,2,3,2,3,2,0,3,2,2,1,2,0,2,2,2,1,2,2,2,2,1, +3,2,1,2,2,1,0,2,0,1,0,0,1,1,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,2,3,1,2,3,3,2,2,3,0,1,1,2,0,3,3,2,2,3,0,1,1,3,0,0,0,0, +3,1,0,3,3,0,2,0,2,1,0,0,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,3,2,3,3,0,1,3,1,1,2,1,2,1,1,3,1,1,0,2,3,1,1,1,1,1,1,1,1, +3,1,1,2,2,2,2,1,1,1,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,2,2,1,1,2,1,3,3,2,3,2,2,3,2,2,3,1,2,2,1,2,0,3,2,1,2,2,2,2,2,1, +3,2,1,2,2,2,1,1,1,1,0,0,1,1,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,1,3,3,0,2,1,0,3,2,0,0,3,1,0,1,1,0,1,0,0,0,0,0,1, +1,0,0,1,0,3,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,2,2,2,3,0,0,1,3,0,3,2,0,3,2,2,3,3,3,3,3,1,0,2,2,2,0,2,2,1,2, +0,2,3,0,0,0,0,1,0,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,0,2,3,1,3,3,2,3,3,0,3,3,0,3,2,2,3,2,3,3,3,0,0,2,2,3,0,1,1,1,3, +0,0,3,0,0,0,2,2,0,1,3,0,1,2,2,2,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1, +3,2,3,3,2,0,3,3,2,2,3,1,3,2,1,3,2,0,1,2,2,0,2,3,2,1,0,3,0,0,0,0, +3,0,0,2,3,1,3,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,3,2,2,2,1,2,0,1,3,1,1,3,1,3,0,0,2,1,1,1,1,2,1,1,1,0,2,1,0,1, +1,2,0,0,0,3,1,1,0,0,0,0,1,0,1,0,0,1,0,1,0,0,0,0,0,3,1,0,0,0,1,0, +3,3,3,3,2,2,2,2,2,1,3,1,1,1,2,0,1,1,2,1,2,1,3,2,0,0,3,1,1,1,1,1, +3,1,0,2,3,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,2,3,0,3,3,0,2,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,3,1,3,0,0,1,2,0,0,2,0,3,3,2,3,3,3,2,3,0,0,2,2,2,0,0,0,2,2, +0,0,1,0,0,0,0,3,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +0,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,1,2,3,1,3,3,0,0,1,0,3,0,0,0,0,0, +0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,1,2,3,1,2,3,1,0,3,0,2,2,1,0,2,1,1,2,0,1,0,0,1,1,1,1,0,1,0,0, +1,0,0,0,0,1,1,0,3,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,1,0,1,1,1,3,1,2,2,2,2,2,2,1,1,1,1,0,3,1,0,1,3,1,1,1,1, +1,1,0,2,0,1,3,1,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1, +3,0,2,2,1,3,3,2,3,3,0,1,1,0,2,2,1,2,1,3,3,1,0,0,3,2,0,0,0,0,2,1, +0,1,0,0,0,0,1,2,0,1,1,3,1,1,2,2,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +0,0,3,0,0,1,0,0,0,3,0,0,3,0,3,1,0,1,1,1,3,2,0,0,0,3,0,0,0,0,2,0, +0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,1,3,2,1,3,3,1,2,2,0,1,2,1,0,1,2,0,0,0,0,0,3,0,0,0,3,0,0,0,0, +3,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,1,2,0,3,3,3,2,2,0,1,1,0,1,3,0,0,0,2,2,0,0,0,0,3,1,0,1,0,0,0, +0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,2,3,1,2,0,0,2,1,0,3,1,0,1,2,0,1,1,1,1,3,0,0,3,1,1,0,2,2,1,1, +0,2,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,3,1,2,0,0,2,2,0,1,2,0,1,0,1,3,1,2,1,0,0,0,2,0,3,0,0,0,1,0, +0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,1,1,2,2,0,0,0,2,0,2,1,0,1,1,0,1,1,1,2,1,0,0,1,1,1,0,2,1,1,1, +0,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1, +0,0,0,2,0,1,3,1,1,1,1,0,0,0,0,3,2,0,1,0,0,0,1,2,0,0,0,1,0,0,0,0, +0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,3,3,3,3,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,2,3,2,2,0,0,0,1,0,0,0,0,2,3,2,1,2,2,3,0,0,0,2,3,1,0,0,0,1,1, +0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0, +3,3,2,2,0,1,0,0,0,0,2,0,2,0,1,0,0,0,1,1,0,0,0,2,1,0,1,0,1,1,0,0, +0,1,0,2,0,0,1,0,3,0,1,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,1,0,0,1,0,0,0,0,0,1,1,2,0,0,0,0,1,0,0,1,3,1,0,0,0,0,1,1,0,0, +0,1,0,0,0,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0, +3,3,1,1,1,1,2,3,0,0,2,1,1,1,1,1,0,2,1,1,0,0,0,2,1,0,1,2,1,1,0,1, +2,1,0,3,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,3,1,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1, +0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,0,0,0,0,0,0,1,2,1,0,1,1,0,2,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,2,0,0,0,1,3,0,1,0,0,0,2,0,0,0,0,0,0,0,1,2,0,0,0,0,0, +3,3,0,0,1,1,2,0,0,1,2,1,0,1,1,1,0,1,1,0,0,2,1,1,0,1,0,0,1,1,1,0, +0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,1,0,0,0,0,1,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,0,0,1,1,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,1,0,1,2,0,1,2,0,0,1,1,0,2,0,1,0,0,1,0,0,0,0,1,0,0,0,2,0,0,0,0, +1,0,0,1,0,1,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,1,0,0,0,0,0,0,0,1,1,0,1,1,0,2,1,3,0,0,0,0,1,1,0,0,0,0,0,0,0,3, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,1,0,1,0,0,2,0,0,2,0,0,1,1,2,0,0,1,1,0,0,0,1,0,0,0,1,1,0,0,0, +1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,1,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,3,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0, +1,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,1,0,0,2,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +) + +TIS620ThaiModel = { + 'char_to_order_map': TIS620CharToOrderMap, + 'precedence_matrix': ThaiLangModel, + 'typical_positive_ratio': 0.926386, + 'keep_english_letter': False, + 'charset_name': "TIS-620", + 'language': 'Thai', +} diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langturkishmodel.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langturkishmodel.py new file mode 100644 index 0000000..a427a45 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langturkishmodel.py @@ -0,0 +1,193 @@ +# -*- coding: utf-8 -*- +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Özgür Baskın - Turkish Language Model +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# 255: Control characters that usually does not exist in any text +# 254: Carriage/Return +# 253: symbol (punctuation) that does not belong to word +# 252: 0 - 9 + +# Character Mapping Table: +Latin5_TurkishCharToOrderMap = ( +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255, 23, 37, 47, 39, 29, 52, 36, 45, 53, 60, 16, 49, 20, 46, 42, + 48, 69, 44, 35, 31, 51, 38, 62, 65, 43, 56,255,255,255,255,255, +255, 1, 21, 28, 12, 2, 18, 27, 25, 3, 24, 10, 5, 13, 4, 15, + 26, 64, 7, 8, 9, 14, 32, 57, 58, 11, 22,255,255,255,255,255, +180,179,178,177,176,175,174,173,172,171,170,169,168,167,166,165, +164,163,162,161,160,159,101,158,157,156,155,154,153,152,151,106, +150,149,148,147,146,145,144,100,143,142,141,140,139,138,137,136, + 94, 80, 93,135,105,134,133, 63,132,131,130,129,128,127,126,125, +124,104, 73, 99, 79, 85,123, 54,122, 98, 92,121,120, 91,103,119, + 68,118,117, 97,116,115, 50, 90,114,113,112,111, 55, 41, 40, 86, + 89, 70, 59, 78, 71, 82, 88, 33, 77, 66, 84, 83,110, 75, 61, 96, + 30, 67,109, 74, 87,102, 34, 95, 81,108, 76, 72, 17, 6, 19,107, +) + +TurkishLangModel = ( +3,2,3,3,3,1,3,3,3,3,3,3,3,3,2,1,1,3,3,1,3,3,0,3,3,3,3,3,0,3,1,3, +3,2,1,0,0,1,1,0,0,0,1,0,0,1,1,1,1,0,0,0,0,0,0,0,2,2,0,0,1,0,0,1, +3,2,2,3,3,0,3,3,3,3,3,3,3,2,3,1,0,3,3,1,3,3,0,3,3,3,3,3,0,3,0,3, +3,1,1,0,1,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,2,2,0,0,0,1,0,1, +3,3,2,3,3,0,3,3,3,3,3,3,3,2,3,1,1,3,3,0,3,3,1,2,3,3,3,3,0,3,0,3, +3,1,1,0,0,0,1,0,0,0,0,1,1,0,1,2,1,0,0,0,1,0,0,0,0,2,0,0,0,0,0,1, +3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,1,3,3,2,0,3,2,1,2,2,1,3,3,0,0,0,2, +2,2,0,1,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,1,0,0,1, +3,3,3,2,3,3,1,2,3,3,3,3,3,3,3,1,3,2,1,0,3,2,0,1,2,3,3,2,1,0,0,2, +2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0, +1,0,1,3,3,1,3,3,3,3,3,3,3,1,2,0,0,2,3,0,2,3,0,0,2,2,2,3,0,3,0,1, +2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,0,3,2,0,2,3,2,3,3,1,0,0,2, +3,2,0,0,1,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,1,1,1,0,2,0,0,1, +3,3,3,2,3,3,2,3,3,3,3,2,3,3,3,0,3,3,0,0,2,1,0,0,2,3,2,2,0,0,0,2, +2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,0,1,0,2,0,0,1, +3,3,3,2,3,3,3,3,3,3,3,2,3,3,3,0,3,2,0,1,3,2,1,1,3,2,3,2,1,0,0,2, +2,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0, +3,3,3,2,3,3,3,3,3,3,3,2,3,3,3,0,3,2,2,0,2,3,0,0,2,2,2,2,0,0,0,2, +3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,1,0,0,0, +3,3,3,3,3,3,3,2,2,2,2,3,2,3,3,0,3,3,1,1,2,2,0,0,2,2,3,2,0,0,1,3, +0,3,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1, +3,3,3,2,3,3,3,2,1,2,2,3,2,3,3,0,3,2,0,0,1,1,0,1,1,2,1,2,0,0,0,1, +0,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0, +3,3,3,2,3,3,2,3,2,2,2,3,3,3,3,1,3,1,1,0,3,2,1,1,3,3,2,3,1,0,0,1, +1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,0,1, +3,2,2,3,3,0,3,3,3,3,3,3,3,2,2,1,0,3,3,1,3,3,0,1,3,3,2,3,0,3,0,3, +2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, +2,2,2,3,3,0,3,3,3,3,3,3,3,3,3,0,0,3,2,0,3,3,0,3,2,3,3,3,0,3,1,3, +2,0,0,0,0,0,0,0,0,0,0,1,0,1,2,0,1,0,0,0,0,0,0,0,2,2,0,0,1,0,0,1, +3,3,3,1,2,3,3,1,0,0,1,0,0,3,3,2,3,0,0,2,0,0,2,0,2,0,0,0,2,0,2,0, +0,3,1,0,1,0,0,0,2,2,1,0,1,1,2,1,2,2,2,0,2,1,1,0,0,0,2,0,0,0,0,0, +1,2,1,3,3,0,3,3,3,3,3,2,3,0,0,0,0,2,3,0,2,3,1,0,2,3,1,3,0,3,0,2, +3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,1,3,3,2,2,3,2,2,0,1,2,3,0,1,2,1,0,1,0,0,0,1,0,2,2,0,0,0,1, +1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0, +3,3,3,1,3,3,1,1,3,3,1,1,3,3,1,0,2,1,2,0,2,1,0,0,1,1,2,1,0,0,0,2, +2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,1,0,2,1,3,0,0,2,0,0,3,3,0,3,0,0,1,0,1,2,0,0,1,1,2,2,0,1,0, +0,1,2,1,1,0,1,0,1,1,1,1,1,0,1,1,1,2,2,1,2,0,1,0,0,0,0,0,0,1,0,0, +3,3,3,2,3,2,3,3,0,2,2,2,3,3,3,0,3,0,0,0,2,2,0,1,2,1,1,1,0,0,0,1, +0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, +3,3,3,3,3,3,2,1,2,2,3,3,3,3,2,0,2,0,0,0,2,2,0,0,2,1,3,3,0,0,1,1, +1,1,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0, +1,1,2,3,3,0,3,3,3,3,3,3,2,2,0,2,0,2,3,2,3,2,2,2,2,2,2,2,1,3,2,3, +2,0,2,1,2,2,2,2,1,1,2,2,1,2,2,1,2,0,0,2,1,1,0,2,1,0,0,1,0,0,0,1, +2,3,3,1,1,1,0,1,1,1,2,3,2,1,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0, +0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,2,2,3,2,3,2,2,1,3,3,3,0,2,1,2,0,2,1,0,0,1,1,1,1,1,0,0,1, +2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,2,0,1,0,0,0, +3,3,3,2,3,3,3,3,3,2,3,1,2,3,3,1,2,0,0,0,0,0,0,0,3,2,1,1,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, +3,3,3,2,2,3,3,2,1,1,1,1,1,3,3,0,3,1,0,0,1,1,0,0,3,1,2,1,0,0,0,0, +0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0, +3,3,3,2,2,3,2,2,2,3,2,1,1,3,3,0,3,0,0,0,0,1,0,0,3,1,1,2,0,0,0,1, +1,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,1,1,3,3,0,3,3,3,3,3,2,2,2,1,2,0,2,1,2,2,1,1,0,1,2,2,2,2,2,2,2, +0,0,2,1,2,1,2,1,0,1,1,3,1,2,1,1,2,0,0,2,0,1,0,1,0,1,0,0,0,1,0,1, +3,3,3,1,3,3,3,0,1,1,0,2,2,3,1,0,3,0,0,0,1,0,0,0,1,0,0,1,0,1,0,0, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,0,0,2,2,1,0,0,1,0,0,3,3,1,3,0,0,1,1,0,2,0,3,0,0,0,2,0,1,1, +0,1,2,0,1,2,2,0,2,2,2,2,1,0,2,1,1,0,2,0,2,1,2,0,0,0,0,0,0,0,0,0, +3,3,3,1,3,2,3,2,0,2,2,2,1,3,2,0,2,1,2,0,1,2,0,0,1,0,2,2,0,0,0,2, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0, +3,3,3,0,3,3,1,1,2,3,1,0,3,2,3,0,3,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0, +1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,3,3,0,3,3,2,3,3,2,2,0,0,0,0,1,2,0,1,3,0,0,0,3,1,1,0,3,0,2, +2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,1,2,2,1,0,3,1,1,1,1,3,3,2,3,0,0,1,0,1,2,0,2,2,0,2,2,0,2,1, +0,2,2,1,1,1,1,0,2,1,1,0,1,1,1,1,2,1,2,1,2,0,1,0,1,0,0,0,0,0,0,0, +3,3,3,0,1,1,3,0,0,1,1,0,0,2,2,0,3,0,0,1,1,0,1,0,0,0,0,0,2,0,0,0, +0,3,1,0,1,0,1,0,2,0,0,1,0,1,0,1,1,1,2,1,1,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,0,2,0,2,0,1,1,1,0,0,3,3,0,2,0,0,1,0,0,2,1,1,0,1,0,1,0,1,0, +0,2,0,1,2,0,2,0,2,1,1,0,1,0,2,1,1,0,2,1,1,0,1,0,0,0,1,1,0,0,0,0, +3,2,3,0,1,0,0,0,0,0,0,0,0,1,2,0,1,0,0,1,0,0,1,0,0,0,0,0,2,0,0,0, +0,0,1,1,0,0,1,0,1,0,0,1,0,0,0,2,1,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,0,0,2,3,0,0,1,0,1,0,2,3,2,3,0,0,1,3,0,2,1,0,0,0,0,2,0,1,0, +0,2,1,0,0,1,1,0,2,1,0,0,1,0,0,1,1,0,1,1,2,0,1,0,0,0,0,1,0,0,0,0, +3,2,2,0,0,1,1,0,0,0,0,0,0,3,1,1,1,0,0,0,0,0,1,0,0,0,0,0,2,0,1,0, +0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,3,3,0,2,3,2,2,1,2,2,1,1,2,0,1,3,2,2,2,0,0,2,2,0,0,0,1,2,1, +3,0,2,1,1,0,1,1,1,0,1,2,2,2,1,1,2,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0, +0,1,1,2,3,0,3,3,3,2,2,2,2,1,0,1,0,1,0,1,2,2,0,0,2,2,1,3,1,1,2,1, +0,0,1,1,2,0,1,1,0,0,1,2,0,2,1,1,2,0,0,1,0,0,0,1,0,1,0,1,0,0,0,0, +3,3,2,0,0,3,1,0,0,0,0,0,0,3,2,1,2,0,0,1,0,0,2,0,0,0,0,0,2,0,1,0, +0,2,1,1,0,0,1,0,1,2,0,0,1,1,0,0,2,1,1,1,1,0,2,0,0,0,0,0,0,0,0,0, +3,3,2,0,0,1,0,0,0,0,1,0,0,3,3,2,2,0,0,1,0,0,2,0,1,0,0,0,2,0,1,0, +0,0,1,1,0,0,2,0,2,1,0,0,1,1,2,1,2,0,2,1,2,1,1,1,0,0,1,1,0,0,0,0, +3,3,2,0,0,2,2,0,0,0,1,1,0,2,2,1,3,1,0,1,0,1,2,0,0,0,0,0,1,0,1,0, +0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,0,0,0,1,0,0,1,0,0,2,3,1,2,0,0,1,0,0,2,0,0,0,1,0,2,0,2,0, +0,1,1,2,2,1,2,0,2,1,1,0,0,1,1,0,1,1,1,1,2,1,1,0,0,0,0,0,0,0,0,0, +3,3,3,0,2,1,2,1,0,0,1,1,0,3,3,1,2,0,0,1,0,0,2,0,2,0,1,1,2,0,0,0, +0,0,1,1,1,1,2,0,1,1,0,1,1,1,1,0,0,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0, +3,3,3,0,2,2,3,2,0,0,1,0,0,2,3,1,0,0,0,0,0,0,2,0,2,0,0,0,2,0,0,0, +0,1,1,0,0,0,1,0,0,1,0,1,1,0,1,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,0,0,0,0,0,0,0,1,0,0,2,2,2,2,0,0,1,0,0,2,0,0,0,0,0,2,0,1,0, +0,0,2,1,1,0,1,0,2,1,1,0,0,1,1,2,1,0,2,0,2,0,1,0,0,0,2,0,0,0,0,0, +0,0,0,2,2,0,2,1,1,1,1,2,2,0,0,1,0,1,0,0,1,3,0,0,0,0,1,0,0,2,1,0, +0,0,1,0,1,0,0,0,0,0,2,1,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, +2,0,0,2,3,0,2,3,1,2,2,0,2,0,0,2,0,2,1,1,1,2,1,0,0,1,2,1,1,2,1,0, +1,0,2,0,1,0,1,1,0,0,2,2,1,2,1,1,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,0,2,1,2,0,0,0,1,0,0,3,2,0,1,0,0,1,0,0,2,0,0,0,1,2,1,0,1,0, +0,0,0,0,1,0,1,0,0,1,0,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,2,2,0,2,2,1,1,0,1,1,1,1,1,0,0,1,2,1,1,1,0,1,0,0,0,1,1,1,1, +0,0,2,1,0,1,1,1,0,1,1,2,1,2,1,1,2,0,1,1,2,1,0,2,0,0,0,0,0,0,0,0, +3,2,2,0,0,2,0,0,0,0,0,0,0,2,2,0,2,0,0,1,0,0,2,0,0,0,0,0,2,0,0,0, +0,2,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,3,2,0,2,2,0,1,1,0,1,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0, +2,0,1,0,1,0,1,1,0,0,1,2,0,1,0,1,1,0,0,1,0,1,0,2,0,0,0,0,0,0,0,0, +2,2,2,0,1,1,0,0,0,1,0,0,0,1,2,0,1,0,0,1,0,0,1,0,0,0,0,1,2,0,1,0, +0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,2,1,0,1,1,1,0,0,0,0,1,2,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, +1,1,2,0,1,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,1, +0,0,1,2,2,0,2,1,2,1,1,2,2,0,0,0,0,1,0,0,1,1,0,0,2,0,0,0,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, +2,2,2,0,0,0,1,0,0,0,0,0,0,2,2,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,0,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +) + +Latin5TurkishModel = { + 'char_to_order_map': Latin5_TurkishCharToOrderMap, + 'precedence_matrix': TurkishLangModel, + 'typical_positive_ratio': 0.970290, + 'keep_english_letter': True, + 'charset_name': "ISO-8859-9", + 'language': 'Turkish', +} diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/latin1prober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/latin1prober.py new file mode 100644 index 0000000..7d1e8c2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/latin1prober.py @@ -0,0 +1,145 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetprober import CharSetProber +from .enums import ProbingState + +FREQ_CAT_NUM = 4 + +UDF = 0 # undefined +OTH = 1 # other +ASC = 2 # ascii capital letter +ASS = 3 # ascii small letter +ACV = 4 # accent capital vowel +ACO = 5 # accent capital other +ASV = 6 # accent small vowel +ASO = 7 # accent small other +CLASS_NUM = 8 # total classes + +Latin1_CharToClass = ( + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 00 - 07 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 08 - 0F + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 10 - 17 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 18 - 1F + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 20 - 27 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 28 - 2F + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 30 - 37 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 38 - 3F + OTH, ASC, ASC, ASC, ASC, ASC, ASC, ASC, # 40 - 47 + ASC, ASC, ASC, ASC, ASC, ASC, ASC, ASC, # 48 - 4F + ASC, ASC, ASC, ASC, ASC, ASC, ASC, ASC, # 50 - 57 + ASC, ASC, ASC, OTH, OTH, OTH, OTH, OTH, # 58 - 5F + OTH, ASS, ASS, ASS, ASS, ASS, ASS, ASS, # 60 - 67 + ASS, ASS, ASS, ASS, ASS, ASS, ASS, ASS, # 68 - 6F + ASS, ASS, ASS, ASS, ASS, ASS, ASS, ASS, # 70 - 77 + ASS, ASS, ASS, OTH, OTH, OTH, OTH, OTH, # 78 - 7F + OTH, UDF, OTH, ASO, OTH, OTH, OTH, OTH, # 80 - 87 + OTH, OTH, ACO, OTH, ACO, UDF, ACO, UDF, # 88 - 8F + UDF, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 90 - 97 + OTH, OTH, ASO, OTH, ASO, UDF, ASO, ACO, # 98 - 9F + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # A0 - A7 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # A8 - AF + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # B0 - B7 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # B8 - BF + ACV, ACV, ACV, ACV, ACV, ACV, ACO, ACO, # C0 - C7 + ACV, ACV, ACV, ACV, ACV, ACV, ACV, ACV, # C8 - CF + ACO, ACO, ACV, ACV, ACV, ACV, ACV, OTH, # D0 - D7 + ACV, ACV, ACV, ACV, ACV, ACO, ACO, ACO, # D8 - DF + ASV, ASV, ASV, ASV, ASV, ASV, ASO, ASO, # E0 - E7 + ASV, ASV, ASV, ASV, ASV, ASV, ASV, ASV, # E8 - EF + ASO, ASO, ASV, ASV, ASV, ASV, ASV, OTH, # F0 - F7 + ASV, ASV, ASV, ASV, ASV, ASO, ASO, ASO, # F8 - FF +) + +# 0 : illegal +# 1 : very unlikely +# 2 : normal +# 3 : very likely +Latin1ClassModel = ( +# UDF OTH ASC ASS ACV ACO ASV ASO + 0, 0, 0, 0, 0, 0, 0, 0, # UDF + 0, 3, 3, 3, 3, 3, 3, 3, # OTH + 0, 3, 3, 3, 3, 3, 3, 3, # ASC + 0, 3, 3, 3, 1, 1, 3, 3, # ASS + 0, 3, 3, 3, 1, 2, 1, 2, # ACV + 0, 3, 3, 3, 3, 3, 3, 3, # ACO + 0, 3, 1, 3, 1, 1, 1, 3, # ASV + 0, 3, 1, 3, 1, 1, 3, 3, # ASO +) + + +class Latin1Prober(CharSetProber): + def __init__(self): + super(Latin1Prober, self).__init__() + self._last_char_class = None + self._freq_counter = None + self.reset() + + def reset(self): + self._last_char_class = OTH + self._freq_counter = [0] * FREQ_CAT_NUM + CharSetProber.reset(self) + + @property + def charset_name(self): + return "ISO-8859-1" + + @property + def language(self): + return "" + + def feed(self, byte_str): + byte_str = self.filter_with_english_letters(byte_str) + for c in byte_str: + char_class = Latin1_CharToClass[c] + freq = Latin1ClassModel[(self._last_char_class * CLASS_NUM) + + char_class] + if freq == 0: + self._state = ProbingState.NOT_ME + break + self._freq_counter[freq] += 1 + self._last_char_class = char_class + + return self.state + + def get_confidence(self): + if self.state == ProbingState.NOT_ME: + return 0.01 + + total = sum(self._freq_counter) + if total < 0.01: + confidence = 0.0 + else: + confidence = ((self._freq_counter[3] - self._freq_counter[1] * 20.0) + / total) + if confidence < 0.0: + confidence = 0.0 + # lower the confidence of latin1 so that other more accurate + # detector can take priority. + confidence = confidence * 0.73 + return confidence diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/mbcharsetprober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/mbcharsetprober.py new file mode 100644 index 0000000..6256ecf --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/mbcharsetprober.py @@ -0,0 +1,91 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# Proofpoint, Inc. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetprober import CharSetProber +from .enums import ProbingState, MachineState + + +class MultiByteCharSetProber(CharSetProber): + """ + MultiByteCharSetProber + """ + + def __init__(self, lang_filter=None): + super(MultiByteCharSetProber, self).__init__(lang_filter=lang_filter) + self.distribution_analyzer = None + self.coding_sm = None + self._last_char = [0, 0] + + def reset(self): + super(MultiByteCharSetProber, self).reset() + if self.coding_sm: + self.coding_sm.reset() + if self.distribution_analyzer: + self.distribution_analyzer.reset() + self._last_char = [0, 0] + + @property + def charset_name(self): + raise NotImplementedError + + @property + def language(self): + raise NotImplementedError + + def feed(self, byte_str): + for i in range(len(byte_str)): + coding_state = self.coding_sm.next_state(byte_str[i]) + if coding_state == MachineState.ERROR: + self.logger.debug('%s %s prober hit error at byte %s', + self.charset_name, self.language, i) + self._state = ProbingState.NOT_ME + break + elif coding_state == MachineState.ITS_ME: + self._state = ProbingState.FOUND_IT + break + elif coding_state == MachineState.START: + char_len = self.coding_sm.get_current_charlen() + if i == 0: + self._last_char[1] = byte_str[0] + self.distribution_analyzer.feed(self._last_char, char_len) + else: + self.distribution_analyzer.feed(byte_str[i - 1:i + 1], + char_len) + + self._last_char[0] = byte_str[-1] + + if self.state == ProbingState.DETECTING: + if (self.distribution_analyzer.got_enough_data() and + (self.get_confidence() > self.SHORTCUT_THRESHOLD)): + self._state = ProbingState.FOUND_IT + + return self.state + + def get_confidence(self): + return self.distribution_analyzer.get_confidence() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/mbcsgroupprober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/mbcsgroupprober.py new file mode 100644 index 0000000..530abe7 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/mbcsgroupprober.py @@ -0,0 +1,54 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# Proofpoint, Inc. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetgroupprober import CharSetGroupProber +from .utf8prober import UTF8Prober +from .sjisprober import SJISProber +from .eucjpprober import EUCJPProber +from .gb2312prober import GB2312Prober +from .euckrprober import EUCKRProber +from .cp949prober import CP949Prober +from .big5prober import Big5Prober +from .euctwprober import EUCTWProber + + +class MBCSGroupProber(CharSetGroupProber): + def __init__(self, lang_filter=None): + super(MBCSGroupProber, self).__init__(lang_filter=lang_filter) + self.probers = [ + UTF8Prober(), + SJISProber(), + EUCJPProber(), + GB2312Prober(), + EUCKRProber(), + CP949Prober(), + Big5Prober(), + EUCTWProber() + ] + self.reset() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/mbcssm.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/mbcssm.py new file mode 100644 index 0000000..8360d0f --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/mbcssm.py @@ -0,0 +1,572 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .enums import MachineState + +# BIG5 + +BIG5_CLS = ( + 1,1,1,1,1,1,1,1, # 00 - 07 #allow 0x00 as legal value + 1,1,1,1,1,1,0,0, # 08 - 0f + 1,1,1,1,1,1,1,1, # 10 - 17 + 1,1,1,0,1,1,1,1, # 18 - 1f + 1,1,1,1,1,1,1,1, # 20 - 27 + 1,1,1,1,1,1,1,1, # 28 - 2f + 1,1,1,1,1,1,1,1, # 30 - 37 + 1,1,1,1,1,1,1,1, # 38 - 3f + 2,2,2,2,2,2,2,2, # 40 - 47 + 2,2,2,2,2,2,2,2, # 48 - 4f + 2,2,2,2,2,2,2,2, # 50 - 57 + 2,2,2,2,2,2,2,2, # 58 - 5f + 2,2,2,2,2,2,2,2, # 60 - 67 + 2,2,2,2,2,2,2,2, # 68 - 6f + 2,2,2,2,2,2,2,2, # 70 - 77 + 2,2,2,2,2,2,2,1, # 78 - 7f + 4,4,4,4,4,4,4,4, # 80 - 87 + 4,4,4,4,4,4,4,4, # 88 - 8f + 4,4,4,4,4,4,4,4, # 90 - 97 + 4,4,4,4,4,4,4,4, # 98 - 9f + 4,3,3,3,3,3,3,3, # a0 - a7 + 3,3,3,3,3,3,3,3, # a8 - af + 3,3,3,3,3,3,3,3, # b0 - b7 + 3,3,3,3,3,3,3,3, # b8 - bf + 3,3,3,3,3,3,3,3, # c0 - c7 + 3,3,3,3,3,3,3,3, # c8 - cf + 3,3,3,3,3,3,3,3, # d0 - d7 + 3,3,3,3,3,3,3,3, # d8 - df + 3,3,3,3,3,3,3,3, # e0 - e7 + 3,3,3,3,3,3,3,3, # e8 - ef + 3,3,3,3,3,3,3,3, # f0 - f7 + 3,3,3,3,3,3,3,0 # f8 - ff +) + +BIG5_ST = ( + MachineState.ERROR,MachineState.START,MachineState.START, 3,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,#08-0f + MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START#10-17 +) + +BIG5_CHAR_LEN_TABLE = (0, 1, 1, 2, 0) + +BIG5_SM_MODEL = {'class_table': BIG5_CLS, + 'class_factor': 5, + 'state_table': BIG5_ST, + 'char_len_table': BIG5_CHAR_LEN_TABLE, + 'name': 'Big5'} + +# CP949 + +CP949_CLS = ( + 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,0,0, # 00 - 0f + 1,1,1,1,1,1,1,1, 1,1,1,0,1,1,1,1, # 10 - 1f + 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, # 20 - 2f + 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, # 30 - 3f + 1,4,4,4,4,4,4,4, 4,4,4,4,4,4,4,4, # 40 - 4f + 4,4,5,5,5,5,5,5, 5,5,5,1,1,1,1,1, # 50 - 5f + 1,5,5,5,5,5,5,5, 5,5,5,5,5,5,5,5, # 60 - 6f + 5,5,5,5,5,5,5,5, 5,5,5,1,1,1,1,1, # 70 - 7f + 0,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, # 80 - 8f + 6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, # 90 - 9f + 6,7,7,7,7,7,7,7, 7,7,7,7,7,8,8,8, # a0 - af + 7,7,7,7,7,7,7,7, 7,7,7,7,7,7,7,7, # b0 - bf + 7,7,7,7,7,7,9,2, 2,3,2,2,2,2,2,2, # c0 - cf + 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, # d0 - df + 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, # e0 - ef + 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,0, # f0 - ff +) + +CP949_ST = ( +#cls= 0 1 2 3 4 5 6 7 8 9 # previous state = + MachineState.ERROR,MachineState.START, 3,MachineState.ERROR,MachineState.START,MachineState.START, 4, 5,MachineState.ERROR, 6, # MachineState.START + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, # MachineState.ERROR + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME, # MachineState.ITS_ME + MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START, # 3 + MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START, # 4 + MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START, # 5 + MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START, # 6 +) + +CP949_CHAR_LEN_TABLE = (0, 1, 2, 0, 1, 1, 2, 2, 0, 2) + +CP949_SM_MODEL = {'class_table': CP949_CLS, + 'class_factor': 10, + 'state_table': CP949_ST, + 'char_len_table': CP949_CHAR_LEN_TABLE, + 'name': 'CP949'} + +# EUC-JP + +EUCJP_CLS = ( + 4,4,4,4,4,4,4,4, # 00 - 07 + 4,4,4,4,4,4,5,5, # 08 - 0f + 4,4,4,4,4,4,4,4, # 10 - 17 + 4,4,4,5,4,4,4,4, # 18 - 1f + 4,4,4,4,4,4,4,4, # 20 - 27 + 4,4,4,4,4,4,4,4, # 28 - 2f + 4,4,4,4,4,4,4,4, # 30 - 37 + 4,4,4,4,4,4,4,4, # 38 - 3f + 4,4,4,4,4,4,4,4, # 40 - 47 + 4,4,4,4,4,4,4,4, # 48 - 4f + 4,4,4,4,4,4,4,4, # 50 - 57 + 4,4,4,4,4,4,4,4, # 58 - 5f + 4,4,4,4,4,4,4,4, # 60 - 67 + 4,4,4,4,4,4,4,4, # 68 - 6f + 4,4,4,4,4,4,4,4, # 70 - 77 + 4,4,4,4,4,4,4,4, # 78 - 7f + 5,5,5,5,5,5,5,5, # 80 - 87 + 5,5,5,5,5,5,1,3, # 88 - 8f + 5,5,5,5,5,5,5,5, # 90 - 97 + 5,5,5,5,5,5,5,5, # 98 - 9f + 5,2,2,2,2,2,2,2, # a0 - a7 + 2,2,2,2,2,2,2,2, # a8 - af + 2,2,2,2,2,2,2,2, # b0 - b7 + 2,2,2,2,2,2,2,2, # b8 - bf + 2,2,2,2,2,2,2,2, # c0 - c7 + 2,2,2,2,2,2,2,2, # c8 - cf + 2,2,2,2,2,2,2,2, # d0 - d7 + 2,2,2,2,2,2,2,2, # d8 - df + 0,0,0,0,0,0,0,0, # e0 - e7 + 0,0,0,0,0,0,0,0, # e8 - ef + 0,0,0,0,0,0,0,0, # f0 - f7 + 0,0,0,0,0,0,0,5 # f8 - ff +) + +EUCJP_ST = ( + 3, 4, 3, 5,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.START,MachineState.ERROR,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#10-17 + MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 3,MachineState.ERROR,#18-1f + 3,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START#20-27 +) + +EUCJP_CHAR_LEN_TABLE = (2, 2, 2, 3, 1, 0) + +EUCJP_SM_MODEL = {'class_table': EUCJP_CLS, + 'class_factor': 6, + 'state_table': EUCJP_ST, + 'char_len_table': EUCJP_CHAR_LEN_TABLE, + 'name': 'EUC-JP'} + +# EUC-KR + +EUCKR_CLS = ( + 1,1,1,1,1,1,1,1, # 00 - 07 + 1,1,1,1,1,1,0,0, # 08 - 0f + 1,1,1,1,1,1,1,1, # 10 - 17 + 1,1,1,0,1,1,1,1, # 18 - 1f + 1,1,1,1,1,1,1,1, # 20 - 27 + 1,1,1,1,1,1,1,1, # 28 - 2f + 1,1,1,1,1,1,1,1, # 30 - 37 + 1,1,1,1,1,1,1,1, # 38 - 3f + 1,1,1,1,1,1,1,1, # 40 - 47 + 1,1,1,1,1,1,1,1, # 48 - 4f + 1,1,1,1,1,1,1,1, # 50 - 57 + 1,1,1,1,1,1,1,1, # 58 - 5f + 1,1,1,1,1,1,1,1, # 60 - 67 + 1,1,1,1,1,1,1,1, # 68 - 6f + 1,1,1,1,1,1,1,1, # 70 - 77 + 1,1,1,1,1,1,1,1, # 78 - 7f + 0,0,0,0,0,0,0,0, # 80 - 87 + 0,0,0,0,0,0,0,0, # 88 - 8f + 0,0,0,0,0,0,0,0, # 90 - 97 + 0,0,0,0,0,0,0,0, # 98 - 9f + 0,2,2,2,2,2,2,2, # a0 - a7 + 2,2,2,2,2,3,3,3, # a8 - af + 2,2,2,2,2,2,2,2, # b0 - b7 + 2,2,2,2,2,2,2,2, # b8 - bf + 2,2,2,2,2,2,2,2, # c0 - c7 + 2,3,2,2,2,2,2,2, # c8 - cf + 2,2,2,2,2,2,2,2, # d0 - d7 + 2,2,2,2,2,2,2,2, # d8 - df + 2,2,2,2,2,2,2,2, # e0 - e7 + 2,2,2,2,2,2,2,2, # e8 - ef + 2,2,2,2,2,2,2,2, # f0 - f7 + 2,2,2,2,2,2,2,0 # f8 - ff +) + +EUCKR_ST = ( + MachineState.ERROR,MachineState.START, 3,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#00-07 + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START #08-0f +) + +EUCKR_CHAR_LEN_TABLE = (0, 1, 2, 0) + +EUCKR_SM_MODEL = {'class_table': EUCKR_CLS, + 'class_factor': 4, + 'state_table': EUCKR_ST, + 'char_len_table': EUCKR_CHAR_LEN_TABLE, + 'name': 'EUC-KR'} + +# EUC-TW + +EUCTW_CLS = ( + 2,2,2,2,2,2,2,2, # 00 - 07 + 2,2,2,2,2,2,0,0, # 08 - 0f + 2,2,2,2,2,2,2,2, # 10 - 17 + 2,2,2,0,2,2,2,2, # 18 - 1f + 2,2,2,2,2,2,2,2, # 20 - 27 + 2,2,2,2,2,2,2,2, # 28 - 2f + 2,2,2,2,2,2,2,2, # 30 - 37 + 2,2,2,2,2,2,2,2, # 38 - 3f + 2,2,2,2,2,2,2,2, # 40 - 47 + 2,2,2,2,2,2,2,2, # 48 - 4f + 2,2,2,2,2,2,2,2, # 50 - 57 + 2,2,2,2,2,2,2,2, # 58 - 5f + 2,2,2,2,2,2,2,2, # 60 - 67 + 2,2,2,2,2,2,2,2, # 68 - 6f + 2,2,2,2,2,2,2,2, # 70 - 77 + 2,2,2,2,2,2,2,2, # 78 - 7f + 0,0,0,0,0,0,0,0, # 80 - 87 + 0,0,0,0,0,0,6,0, # 88 - 8f + 0,0,0,0,0,0,0,0, # 90 - 97 + 0,0,0,0,0,0,0,0, # 98 - 9f + 0,3,4,4,4,4,4,4, # a0 - a7 + 5,5,1,1,1,1,1,1, # a8 - af + 1,1,1,1,1,1,1,1, # b0 - b7 + 1,1,1,1,1,1,1,1, # b8 - bf + 1,1,3,1,3,3,3,3, # c0 - c7 + 3,3,3,3,3,3,3,3, # c8 - cf + 3,3,3,3,3,3,3,3, # d0 - d7 + 3,3,3,3,3,3,3,3, # d8 - df + 3,3,3,3,3,3,3,3, # e0 - e7 + 3,3,3,3,3,3,3,3, # e8 - ef + 3,3,3,3,3,3,3,3, # f0 - f7 + 3,3,3,3,3,3,3,0 # f8 - ff +) + +EUCTW_ST = ( + MachineState.ERROR,MachineState.ERROR,MachineState.START, 3, 3, 3, 4,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.START,MachineState.ERROR,#10-17 + MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#18-1f + 5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.ERROR,MachineState.START,MachineState.START,#20-27 + MachineState.START,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START #28-2f +) + +EUCTW_CHAR_LEN_TABLE = (0, 0, 1, 2, 2, 2, 3) + +EUCTW_SM_MODEL = {'class_table': EUCTW_CLS, + 'class_factor': 7, + 'state_table': EUCTW_ST, + 'char_len_table': EUCTW_CHAR_LEN_TABLE, + 'name': 'x-euc-tw'} + +# GB2312 + +GB2312_CLS = ( + 1,1,1,1,1,1,1,1, # 00 - 07 + 1,1,1,1,1,1,0,0, # 08 - 0f + 1,1,1,1,1,1,1,1, # 10 - 17 + 1,1,1,0,1,1,1,1, # 18 - 1f + 1,1,1,1,1,1,1,1, # 20 - 27 + 1,1,1,1,1,1,1,1, # 28 - 2f + 3,3,3,3,3,3,3,3, # 30 - 37 + 3,3,1,1,1,1,1,1, # 38 - 3f + 2,2,2,2,2,2,2,2, # 40 - 47 + 2,2,2,2,2,2,2,2, # 48 - 4f + 2,2,2,2,2,2,2,2, # 50 - 57 + 2,2,2,2,2,2,2,2, # 58 - 5f + 2,2,2,2,2,2,2,2, # 60 - 67 + 2,2,2,2,2,2,2,2, # 68 - 6f + 2,2,2,2,2,2,2,2, # 70 - 77 + 2,2,2,2,2,2,2,4, # 78 - 7f + 5,6,6,6,6,6,6,6, # 80 - 87 + 6,6,6,6,6,6,6,6, # 88 - 8f + 6,6,6,6,6,6,6,6, # 90 - 97 + 6,6,6,6,6,6,6,6, # 98 - 9f + 6,6,6,6,6,6,6,6, # a0 - a7 + 6,6,6,6,6,6,6,6, # a8 - af + 6,6,6,6,6,6,6,6, # b0 - b7 + 6,6,6,6,6,6,6,6, # b8 - bf + 6,6,6,6,6,6,6,6, # c0 - c7 + 6,6,6,6,6,6,6,6, # c8 - cf + 6,6,6,6,6,6,6,6, # d0 - d7 + 6,6,6,6,6,6,6,6, # d8 - df + 6,6,6,6,6,6,6,6, # e0 - e7 + 6,6,6,6,6,6,6,6, # e8 - ef + 6,6,6,6,6,6,6,6, # f0 - f7 + 6,6,6,6,6,6,6,0 # f8 - ff +) + +GB2312_ST = ( + MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START, 3,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.START,#10-17 + 4,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#18-1f + MachineState.ERROR,MachineState.ERROR, 5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,#20-27 + MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START #28-2f +) + +# To be accurate, the length of class 6 can be either 2 or 4. +# But it is not necessary to discriminate between the two since +# it is used for frequency analysis only, and we are validating +# each code range there as well. So it is safe to set it to be +# 2 here. +GB2312_CHAR_LEN_TABLE = (0, 1, 1, 1, 1, 1, 2) + +GB2312_SM_MODEL = {'class_table': GB2312_CLS, + 'class_factor': 7, + 'state_table': GB2312_ST, + 'char_len_table': GB2312_CHAR_LEN_TABLE, + 'name': 'GB2312'} + +# Shift_JIS + +SJIS_CLS = ( + 1,1,1,1,1,1,1,1, # 00 - 07 + 1,1,1,1,1,1,0,0, # 08 - 0f + 1,1,1,1,1,1,1,1, # 10 - 17 + 1,1,1,0,1,1,1,1, # 18 - 1f + 1,1,1,1,1,1,1,1, # 20 - 27 + 1,1,1,1,1,1,1,1, # 28 - 2f + 1,1,1,1,1,1,1,1, # 30 - 37 + 1,1,1,1,1,1,1,1, # 38 - 3f + 2,2,2,2,2,2,2,2, # 40 - 47 + 2,2,2,2,2,2,2,2, # 48 - 4f + 2,2,2,2,2,2,2,2, # 50 - 57 + 2,2,2,2,2,2,2,2, # 58 - 5f + 2,2,2,2,2,2,2,2, # 60 - 67 + 2,2,2,2,2,2,2,2, # 68 - 6f + 2,2,2,2,2,2,2,2, # 70 - 77 + 2,2,2,2,2,2,2,1, # 78 - 7f + 3,3,3,3,3,2,2,3, # 80 - 87 + 3,3,3,3,3,3,3,3, # 88 - 8f + 3,3,3,3,3,3,3,3, # 90 - 97 + 3,3,3,3,3,3,3,3, # 98 - 9f + #0xa0 is illegal in sjis encoding, but some pages does + #contain such byte. We need to be more error forgiven. + 2,2,2,2,2,2,2,2, # a0 - a7 + 2,2,2,2,2,2,2,2, # a8 - af + 2,2,2,2,2,2,2,2, # b0 - b7 + 2,2,2,2,2,2,2,2, # b8 - bf + 2,2,2,2,2,2,2,2, # c0 - c7 + 2,2,2,2,2,2,2,2, # c8 - cf + 2,2,2,2,2,2,2,2, # d0 - d7 + 2,2,2,2,2,2,2,2, # d8 - df + 3,3,3,3,3,3,3,3, # e0 - e7 + 3,3,3,3,3,4,4,4, # e8 - ef + 3,3,3,3,3,3,3,3, # f0 - f7 + 3,3,3,3,3,0,0,0) # f8 - ff + + +SJIS_ST = ( + MachineState.ERROR,MachineState.START,MachineState.START, 3,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START #10-17 +) + +SJIS_CHAR_LEN_TABLE = (0, 1, 1, 2, 0, 0) + +SJIS_SM_MODEL = {'class_table': SJIS_CLS, + 'class_factor': 6, + 'state_table': SJIS_ST, + 'char_len_table': SJIS_CHAR_LEN_TABLE, + 'name': 'Shift_JIS'} + +# UCS2-BE + +UCS2BE_CLS = ( + 0,0,0,0,0,0,0,0, # 00 - 07 + 0,0,1,0,0,2,0,0, # 08 - 0f + 0,0,0,0,0,0,0,0, # 10 - 17 + 0,0,0,3,0,0,0,0, # 18 - 1f + 0,0,0,0,0,0,0,0, # 20 - 27 + 0,3,3,3,3,3,0,0, # 28 - 2f + 0,0,0,0,0,0,0,0, # 30 - 37 + 0,0,0,0,0,0,0,0, # 38 - 3f + 0,0,0,0,0,0,0,0, # 40 - 47 + 0,0,0,0,0,0,0,0, # 48 - 4f + 0,0,0,0,0,0,0,0, # 50 - 57 + 0,0,0,0,0,0,0,0, # 58 - 5f + 0,0,0,0,0,0,0,0, # 60 - 67 + 0,0,0,0,0,0,0,0, # 68 - 6f + 0,0,0,0,0,0,0,0, # 70 - 77 + 0,0,0,0,0,0,0,0, # 78 - 7f + 0,0,0,0,0,0,0,0, # 80 - 87 + 0,0,0,0,0,0,0,0, # 88 - 8f + 0,0,0,0,0,0,0,0, # 90 - 97 + 0,0,0,0,0,0,0,0, # 98 - 9f + 0,0,0,0,0,0,0,0, # a0 - a7 + 0,0,0,0,0,0,0,0, # a8 - af + 0,0,0,0,0,0,0,0, # b0 - b7 + 0,0,0,0,0,0,0,0, # b8 - bf + 0,0,0,0,0,0,0,0, # c0 - c7 + 0,0,0,0,0,0,0,0, # c8 - cf + 0,0,0,0,0,0,0,0, # d0 - d7 + 0,0,0,0,0,0,0,0, # d8 - df + 0,0,0,0,0,0,0,0, # e0 - e7 + 0,0,0,0,0,0,0,0, # e8 - ef + 0,0,0,0,0,0,0,0, # f0 - f7 + 0,0,0,0,0,0,4,5 # f8 - ff +) + +UCS2BE_ST = ( + 5, 7, 7,MachineState.ERROR, 4, 3,MachineState.ERROR,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f + MachineState.ITS_ME,MachineState.ITS_ME, 6, 6, 6, 6,MachineState.ERROR,MachineState.ERROR,#10-17 + 6, 6, 6, 6, 6,MachineState.ITS_ME, 6, 6,#18-1f + 6, 6, 6, 6, 5, 7, 7,MachineState.ERROR,#20-27 + 5, 8, 6, 6,MachineState.ERROR, 6, 6, 6,#28-2f + 6, 6, 6, 6,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START #30-37 +) + +UCS2BE_CHAR_LEN_TABLE = (2, 2, 2, 0, 2, 2) + +UCS2BE_SM_MODEL = {'class_table': UCS2BE_CLS, + 'class_factor': 6, + 'state_table': UCS2BE_ST, + 'char_len_table': UCS2BE_CHAR_LEN_TABLE, + 'name': 'UTF-16BE'} + +# UCS2-LE + +UCS2LE_CLS = ( + 0,0,0,0,0,0,0,0, # 00 - 07 + 0,0,1,0,0,2,0,0, # 08 - 0f + 0,0,0,0,0,0,0,0, # 10 - 17 + 0,0,0,3,0,0,0,0, # 18 - 1f + 0,0,0,0,0,0,0,0, # 20 - 27 + 0,3,3,3,3,3,0,0, # 28 - 2f + 0,0,0,0,0,0,0,0, # 30 - 37 + 0,0,0,0,0,0,0,0, # 38 - 3f + 0,0,0,0,0,0,0,0, # 40 - 47 + 0,0,0,0,0,0,0,0, # 48 - 4f + 0,0,0,0,0,0,0,0, # 50 - 57 + 0,0,0,0,0,0,0,0, # 58 - 5f + 0,0,0,0,0,0,0,0, # 60 - 67 + 0,0,0,0,0,0,0,0, # 68 - 6f + 0,0,0,0,0,0,0,0, # 70 - 77 + 0,0,0,0,0,0,0,0, # 78 - 7f + 0,0,0,0,0,0,0,0, # 80 - 87 + 0,0,0,0,0,0,0,0, # 88 - 8f + 0,0,0,0,0,0,0,0, # 90 - 97 + 0,0,0,0,0,0,0,0, # 98 - 9f + 0,0,0,0,0,0,0,0, # a0 - a7 + 0,0,0,0,0,0,0,0, # a8 - af + 0,0,0,0,0,0,0,0, # b0 - b7 + 0,0,0,0,0,0,0,0, # b8 - bf + 0,0,0,0,0,0,0,0, # c0 - c7 + 0,0,0,0,0,0,0,0, # c8 - cf + 0,0,0,0,0,0,0,0, # d0 - d7 + 0,0,0,0,0,0,0,0, # d8 - df + 0,0,0,0,0,0,0,0, # e0 - e7 + 0,0,0,0,0,0,0,0, # e8 - ef + 0,0,0,0,0,0,0,0, # f0 - f7 + 0,0,0,0,0,0,4,5 # f8 - ff +) + +UCS2LE_ST = ( + 6, 6, 7, 6, 4, 3,MachineState.ERROR,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f + MachineState.ITS_ME,MachineState.ITS_ME, 5, 5, 5,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,#10-17 + 5, 5, 5,MachineState.ERROR, 5,MachineState.ERROR, 6, 6,#18-1f + 7, 6, 8, 8, 5, 5, 5,MachineState.ERROR,#20-27 + 5, 5, 5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 5, 5,#28-2f + 5, 5, 5,MachineState.ERROR, 5,MachineState.ERROR,MachineState.START,MachineState.START #30-37 +) + +UCS2LE_CHAR_LEN_TABLE = (2, 2, 2, 2, 2, 2) + +UCS2LE_SM_MODEL = {'class_table': UCS2LE_CLS, + 'class_factor': 6, + 'state_table': UCS2LE_ST, + 'char_len_table': UCS2LE_CHAR_LEN_TABLE, + 'name': 'UTF-16LE'} + +# UTF-8 + +UTF8_CLS = ( + 1,1,1,1,1,1,1,1, # 00 - 07 #allow 0x00 as a legal value + 1,1,1,1,1,1,0,0, # 08 - 0f + 1,1,1,1,1,1,1,1, # 10 - 17 + 1,1,1,0,1,1,1,1, # 18 - 1f + 1,1,1,1,1,1,1,1, # 20 - 27 + 1,1,1,1,1,1,1,1, # 28 - 2f + 1,1,1,1,1,1,1,1, # 30 - 37 + 1,1,1,1,1,1,1,1, # 38 - 3f + 1,1,1,1,1,1,1,1, # 40 - 47 + 1,1,1,1,1,1,1,1, # 48 - 4f + 1,1,1,1,1,1,1,1, # 50 - 57 + 1,1,1,1,1,1,1,1, # 58 - 5f + 1,1,1,1,1,1,1,1, # 60 - 67 + 1,1,1,1,1,1,1,1, # 68 - 6f + 1,1,1,1,1,1,1,1, # 70 - 77 + 1,1,1,1,1,1,1,1, # 78 - 7f + 2,2,2,2,3,3,3,3, # 80 - 87 + 4,4,4,4,4,4,4,4, # 88 - 8f + 4,4,4,4,4,4,4,4, # 90 - 97 + 4,4,4,4,4,4,4,4, # 98 - 9f + 5,5,5,5,5,5,5,5, # a0 - a7 + 5,5,5,5,5,5,5,5, # a8 - af + 5,5,5,5,5,5,5,5, # b0 - b7 + 5,5,5,5,5,5,5,5, # b8 - bf + 0,0,6,6,6,6,6,6, # c0 - c7 + 6,6,6,6,6,6,6,6, # c8 - cf + 6,6,6,6,6,6,6,6, # d0 - d7 + 6,6,6,6,6,6,6,6, # d8 - df + 7,8,8,8,8,8,8,8, # e0 - e7 + 8,8,8,8,8,9,8,8, # e8 - ef + 10,11,11,11,11,11,11,11, # f0 - f7 + 12,13,13,13,14,15,0,0 # f8 - ff +) + +UTF8_ST = ( + MachineState.ERROR,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 12, 10,#00-07 + 9, 11, 8, 7, 6, 5, 4, 3,#08-0f + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#10-17 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#18-1f + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#20-27 + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#28-2f + MachineState.ERROR,MachineState.ERROR, 5, 5, 5, 5,MachineState.ERROR,MachineState.ERROR,#30-37 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#38-3f + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 5, 5, 5,MachineState.ERROR,MachineState.ERROR,#40-47 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#48-4f + MachineState.ERROR,MachineState.ERROR, 7, 7, 7, 7,MachineState.ERROR,MachineState.ERROR,#50-57 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#58-5f + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 7, 7,MachineState.ERROR,MachineState.ERROR,#60-67 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#68-6f + MachineState.ERROR,MachineState.ERROR, 9, 9, 9, 9,MachineState.ERROR,MachineState.ERROR,#70-77 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#78-7f + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 9,MachineState.ERROR,MachineState.ERROR,#80-87 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#88-8f + MachineState.ERROR,MachineState.ERROR, 12, 12, 12, 12,MachineState.ERROR,MachineState.ERROR,#90-97 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#98-9f + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 12,MachineState.ERROR,MachineState.ERROR,#a0-a7 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#a8-af + MachineState.ERROR,MachineState.ERROR, 12, 12, 12,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#b0-b7 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#b8-bf + MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,#c0-c7 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR #c8-cf +) + +UTF8_CHAR_LEN_TABLE = (0, 1, 0, 0, 0, 0, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6) + +UTF8_SM_MODEL = {'class_table': UTF8_CLS, + 'class_factor': 16, + 'state_table': UTF8_ST, + 'char_len_table': UTF8_CHAR_LEN_TABLE, + 'name': 'UTF-8'} diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/sbcharsetprober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/sbcharsetprober.py new file mode 100644 index 0000000..0adb51d --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/sbcharsetprober.py @@ -0,0 +1,132 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetprober import CharSetProber +from .enums import CharacterCategory, ProbingState, SequenceLikelihood + + +class SingleByteCharSetProber(CharSetProber): + SAMPLE_SIZE = 64 + SB_ENOUGH_REL_THRESHOLD = 1024 # 0.25 * SAMPLE_SIZE^2 + POSITIVE_SHORTCUT_THRESHOLD = 0.95 + NEGATIVE_SHORTCUT_THRESHOLD = 0.05 + + def __init__(self, model, reversed=False, name_prober=None): + super(SingleByteCharSetProber, self).__init__() + self._model = model + # TRUE if we need to reverse every pair in the model lookup + self._reversed = reversed + # Optional auxiliary prober for name decision + self._name_prober = name_prober + self._last_order = None + self._seq_counters = None + self._total_seqs = None + self._total_char = None + self._freq_char = None + self.reset() + + def reset(self): + super(SingleByteCharSetProber, self).reset() + # char order of last character + self._last_order = 255 + self._seq_counters = [0] * SequenceLikelihood.get_num_categories() + self._total_seqs = 0 + self._total_char = 0 + # characters that fall in our sampling range + self._freq_char = 0 + + @property + def charset_name(self): + if self._name_prober: + return self._name_prober.charset_name + else: + return self._model['charset_name'] + + @property + def language(self): + if self._name_prober: + return self._name_prober.language + else: + return self._model.get('language') + + def feed(self, byte_str): + if not self._model['keep_english_letter']: + byte_str = self.filter_international_words(byte_str) + if not byte_str: + return self.state + char_to_order_map = self._model['char_to_order_map'] + for i, c in enumerate(byte_str): + # XXX: Order is in range 1-64, so one would think we want 0-63 here, + # but that leads to 27 more test failures than before. + order = char_to_order_map[c] + # XXX: This was SYMBOL_CAT_ORDER before, with a value of 250, but + # CharacterCategory.SYMBOL is actually 253, so we use CONTROL + # to make it closer to the original intent. The only difference + # is whether or not we count digits and control characters for + # _total_char purposes. + if order < CharacterCategory.CONTROL: + self._total_char += 1 + if order < self.SAMPLE_SIZE: + self._freq_char += 1 + if self._last_order < self.SAMPLE_SIZE: + self._total_seqs += 1 + if not self._reversed: + i = (self._last_order * self.SAMPLE_SIZE) + order + model = self._model['precedence_matrix'][i] + else: # reverse the order of the letters in the lookup + i = (order * self.SAMPLE_SIZE) + self._last_order + model = self._model['precedence_matrix'][i] + self._seq_counters[model] += 1 + self._last_order = order + + charset_name = self._model['charset_name'] + if self.state == ProbingState.DETECTING: + if self._total_seqs > self.SB_ENOUGH_REL_THRESHOLD: + confidence = self.get_confidence() + if confidence > self.POSITIVE_SHORTCUT_THRESHOLD: + self.logger.debug('%s confidence = %s, we have a winner', + charset_name, confidence) + self._state = ProbingState.FOUND_IT + elif confidence < self.NEGATIVE_SHORTCUT_THRESHOLD: + self.logger.debug('%s confidence = %s, below negative ' + 'shortcut threshhold %s', charset_name, + confidence, + self.NEGATIVE_SHORTCUT_THRESHOLD) + self._state = ProbingState.NOT_ME + + return self.state + + def get_confidence(self): + r = 0.01 + if self._total_seqs > 0: + r = ((1.0 * self._seq_counters[SequenceLikelihood.POSITIVE]) / + self._total_seqs / self._model['typical_positive_ratio']) + r = r * self._freq_char / self._total_char + if r >= 1.0: + r = 0.99 + return r diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/sbcsgroupprober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/sbcsgroupprober.py new file mode 100644 index 0000000..98e95dc --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/sbcsgroupprober.py @@ -0,0 +1,73 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetgroupprober import CharSetGroupProber +from .sbcharsetprober import SingleByteCharSetProber +from .langcyrillicmodel import (Win1251CyrillicModel, Koi8rModel, + Latin5CyrillicModel, MacCyrillicModel, + Ibm866Model, Ibm855Model) +from .langgreekmodel import Latin7GreekModel, Win1253GreekModel +from .langbulgarianmodel import Latin5BulgarianModel, Win1251BulgarianModel +# from .langhungarianmodel import Latin2HungarianModel, Win1250HungarianModel +from .langthaimodel import TIS620ThaiModel +from .langhebrewmodel import Win1255HebrewModel +from .hebrewprober import HebrewProber +from .langturkishmodel import Latin5TurkishModel + + +class SBCSGroupProber(CharSetGroupProber): + def __init__(self): + super(SBCSGroupProber, self).__init__() + self.probers = [ + SingleByteCharSetProber(Win1251CyrillicModel), + SingleByteCharSetProber(Koi8rModel), + SingleByteCharSetProber(Latin5CyrillicModel), + SingleByteCharSetProber(MacCyrillicModel), + SingleByteCharSetProber(Ibm866Model), + SingleByteCharSetProber(Ibm855Model), + SingleByteCharSetProber(Latin7GreekModel), + SingleByteCharSetProber(Win1253GreekModel), + SingleByteCharSetProber(Latin5BulgarianModel), + SingleByteCharSetProber(Win1251BulgarianModel), + # TODO: Restore Hungarian encodings (iso-8859-2 and windows-1250) + # after we retrain model. + # SingleByteCharSetProber(Latin2HungarianModel), + # SingleByteCharSetProber(Win1250HungarianModel), + SingleByteCharSetProber(TIS620ThaiModel), + SingleByteCharSetProber(Latin5TurkishModel), + ] + hebrew_prober = HebrewProber() + logical_hebrew_prober = SingleByteCharSetProber(Win1255HebrewModel, + False, hebrew_prober) + visual_hebrew_prober = SingleByteCharSetProber(Win1255HebrewModel, True, + hebrew_prober) + hebrew_prober.set_model_probers(logical_hebrew_prober, visual_hebrew_prober) + self.probers.extend([hebrew_prober, logical_hebrew_prober, + visual_hebrew_prober]) + + self.reset() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/sjisprober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/sjisprober.py new file mode 100644 index 0000000..9e29623 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/sjisprober.py @@ -0,0 +1,92 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .mbcharsetprober import MultiByteCharSetProber +from .codingstatemachine import CodingStateMachine +from .chardistribution import SJISDistributionAnalysis +from .jpcntx import SJISContextAnalysis +from .mbcssm import SJIS_SM_MODEL +from .enums import ProbingState, MachineState + + +class SJISProber(MultiByteCharSetProber): + def __init__(self): + super(SJISProber, self).__init__() + self.coding_sm = CodingStateMachine(SJIS_SM_MODEL) + self.distribution_analyzer = SJISDistributionAnalysis() + self.context_analyzer = SJISContextAnalysis() + self.reset() + + def reset(self): + super(SJISProber, self).reset() + self.context_analyzer.reset() + + @property + def charset_name(self): + return self.context_analyzer.charset_name + + @property + def language(self): + return "Japanese" + + def feed(self, byte_str): + for i in range(len(byte_str)): + coding_state = self.coding_sm.next_state(byte_str[i]) + if coding_state == MachineState.ERROR: + self.logger.debug('%s %s prober hit error at byte %s', + self.charset_name, self.language, i) + self._state = ProbingState.NOT_ME + break + elif coding_state == MachineState.ITS_ME: + self._state = ProbingState.FOUND_IT + break + elif coding_state == MachineState.START: + char_len = self.coding_sm.get_current_charlen() + if i == 0: + self._last_char[1] = byte_str[0] + self.context_analyzer.feed(self._last_char[2 - char_len:], + char_len) + self.distribution_analyzer.feed(self._last_char, char_len) + else: + self.context_analyzer.feed(byte_str[i + 1 - char_len:i + 3 + - char_len], char_len) + self.distribution_analyzer.feed(byte_str[i - 1:i + 1], + char_len) + + self._last_char[0] = byte_str[-1] + + if self.state == ProbingState.DETECTING: + if (self.context_analyzer.got_enough_data() and + (self.get_confidence() > self.SHORTCUT_THRESHOLD)): + self._state = ProbingState.FOUND_IT + + return self.state + + def get_confidence(self): + context_conf = self.context_analyzer.get_confidence() + distrib_conf = self.distribution_analyzer.get_confidence() + return max(context_conf, distrib_conf) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/universaldetector.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/universaldetector.py new file mode 100644 index 0000000..7b4e92d --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/universaldetector.py @@ -0,0 +1,286 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### +""" +Module containing the UniversalDetector detector class, which is the primary +class a user of ``chardet`` should use. + +:author: Mark Pilgrim (initial port to Python) +:author: Shy Shalom (original C code) +:author: Dan Blanchard (major refactoring for 3.0) +:author: Ian Cordasco +""" + + +import codecs +import logging +import re + +from .charsetgroupprober import CharSetGroupProber +from .enums import InputState, LanguageFilter, ProbingState +from .escprober import EscCharSetProber +from .latin1prober import Latin1Prober +from .mbcsgroupprober import MBCSGroupProber +from .sbcsgroupprober import SBCSGroupProber + + +class UniversalDetector(object): + """ + The ``UniversalDetector`` class underlies the ``chardet.detect`` function + and coordinates all of the different charset probers. + + To get a ``dict`` containing an encoding and its confidence, you can simply + run: + + .. code:: + + u = UniversalDetector() + u.feed(some_bytes) + u.close() + detected = u.result + + """ + + MINIMUM_THRESHOLD = 0.20 + HIGH_BYTE_DETECTOR = re.compile(b'[\x80-\xFF]') + ESC_DETECTOR = re.compile(b'(\033|~{)') + WIN_BYTE_DETECTOR = re.compile(b'[\x80-\x9F]') + ISO_WIN_MAP = {'iso-8859-1': 'Windows-1252', + 'iso-8859-2': 'Windows-1250', + 'iso-8859-5': 'Windows-1251', + 'iso-8859-6': 'Windows-1256', + 'iso-8859-7': 'Windows-1253', + 'iso-8859-8': 'Windows-1255', + 'iso-8859-9': 'Windows-1254', + 'iso-8859-13': 'Windows-1257'} + + def __init__(self, lang_filter=LanguageFilter.ALL): + self._esc_charset_prober = None + self._charset_probers = [] + self.result = None + self.done = None + self._got_data = None + self._input_state = None + self._last_char = None + self.lang_filter = lang_filter + self.logger = logging.getLogger(__name__) + self._has_win_bytes = None + self.reset() + + def reset(self): + """ + Reset the UniversalDetector and all of its probers back to their + initial states. This is called by ``__init__``, so you only need to + call this directly in between analyses of different documents. + """ + self.result = {'encoding': None, 'confidence': 0.0, 'language': None} + self.done = False + self._got_data = False + self._has_win_bytes = False + self._input_state = InputState.PURE_ASCII + self._last_char = b'' + if self._esc_charset_prober: + self._esc_charset_prober.reset() + for prober in self._charset_probers: + prober.reset() + + def feed(self, byte_str): + """ + Takes a chunk of a document and feeds it through all of the relevant + charset probers. + + After calling ``feed``, you can check the value of the ``done`` + attribute to see if you need to continue feeding the + ``UniversalDetector`` more data, or if it has made a prediction + (in the ``result`` attribute). + + .. note:: + You should always call ``close`` when you're done feeding in your + document if ``done`` is not already ``True``. + """ + if self.done: + return + + if not len(byte_str): + return + + if not isinstance(byte_str, bytearray): + byte_str = bytearray(byte_str) + + # First check for known BOMs, since these are guaranteed to be correct + if not self._got_data: + # If the data starts with BOM, we know it is UTF + if byte_str.startswith(codecs.BOM_UTF8): + # EF BB BF UTF-8 with BOM + self.result = {'encoding': "UTF-8-SIG", + 'confidence': 1.0, + 'language': ''} + elif byte_str.startswith((codecs.BOM_UTF32_LE, + codecs.BOM_UTF32_BE)): + # FF FE 00 00 UTF-32, little-endian BOM + # 00 00 FE FF UTF-32, big-endian BOM + self.result = {'encoding': "UTF-32", + 'confidence': 1.0, + 'language': ''} + elif byte_str.startswith(b'\xFE\xFF\x00\x00'): + # FE FF 00 00 UCS-4, unusual octet order BOM (3412) + self.result = {'encoding': "X-ISO-10646-UCS-4-3412", + 'confidence': 1.0, + 'language': ''} + elif byte_str.startswith(b'\x00\x00\xFF\xFE'): + # 00 00 FF FE UCS-4, unusual octet order BOM (2143) + self.result = {'encoding': "X-ISO-10646-UCS-4-2143", + 'confidence': 1.0, + 'language': ''} + elif byte_str.startswith((codecs.BOM_LE, codecs.BOM_BE)): + # FF FE UTF-16, little endian BOM + # FE FF UTF-16, big endian BOM + self.result = {'encoding': "UTF-16", + 'confidence': 1.0, + 'language': ''} + + self._got_data = True + if self.result['encoding'] is not None: + self.done = True + return + + # If none of those matched and we've only see ASCII so far, check + # for high bytes and escape sequences + if self._input_state == InputState.PURE_ASCII: + if self.HIGH_BYTE_DETECTOR.search(byte_str): + self._input_state = InputState.HIGH_BYTE + elif self._input_state == InputState.PURE_ASCII and \ + self.ESC_DETECTOR.search(self._last_char + byte_str): + self._input_state = InputState.ESC_ASCII + + self._last_char = byte_str[-1:] + + # If we've seen escape sequences, use the EscCharSetProber, which + # uses a simple state machine to check for known escape sequences in + # HZ and ISO-2022 encodings, since those are the only encodings that + # use such sequences. + if self._input_state == InputState.ESC_ASCII: + if not self._esc_charset_prober: + self._esc_charset_prober = EscCharSetProber(self.lang_filter) + if self._esc_charset_prober.feed(byte_str) == ProbingState.FOUND_IT: + self.result = {'encoding': + self._esc_charset_prober.charset_name, + 'confidence': + self._esc_charset_prober.get_confidence(), + 'language': + self._esc_charset_prober.language} + self.done = True + # If we've seen high bytes (i.e., those with values greater than 127), + # we need to do more complicated checks using all our multi-byte and + # single-byte probers that are left. The single-byte probers + # use character bigram distributions to determine the encoding, whereas + # the multi-byte probers use a combination of character unigram and + # bigram distributions. + elif self._input_state == InputState.HIGH_BYTE: + if not self._charset_probers: + self._charset_probers = [MBCSGroupProber(self.lang_filter)] + # If we're checking non-CJK encodings, use single-byte prober + if self.lang_filter & LanguageFilter.NON_CJK: + self._charset_probers.append(SBCSGroupProber()) + self._charset_probers.append(Latin1Prober()) + for prober in self._charset_probers: + if prober.feed(byte_str) == ProbingState.FOUND_IT: + self.result = {'encoding': prober.charset_name, + 'confidence': prober.get_confidence(), + 'language': prober.language} + self.done = True + break + if self.WIN_BYTE_DETECTOR.search(byte_str): + self._has_win_bytes = True + + def close(self): + """ + Stop analyzing the current document and come up with a final + prediction. + + :returns: The ``result`` attribute, a ``dict`` with the keys + `encoding`, `confidence`, and `language`. + """ + # Don't bother with checks if we're already done + if self.done: + return self.result + self.done = True + + if not self._got_data: + self.logger.debug('no data received!') + + # Default to ASCII if it is all we've seen so far + elif self._input_state == InputState.PURE_ASCII: + self.result = {'encoding': 'ascii', + 'confidence': 1.0, + 'language': ''} + + # If we have seen non-ASCII, return the best that met MINIMUM_THRESHOLD + elif self._input_state == InputState.HIGH_BYTE: + prober_confidence = None + max_prober_confidence = 0.0 + max_prober = None + for prober in self._charset_probers: + if not prober: + continue + prober_confidence = prober.get_confidence() + if prober_confidence > max_prober_confidence: + max_prober_confidence = prober_confidence + max_prober = prober + if max_prober and (max_prober_confidence > self.MINIMUM_THRESHOLD): + charset_name = max_prober.charset_name + lower_charset_name = max_prober.charset_name.lower() + confidence = max_prober.get_confidence() + # Use Windows encoding name instead of ISO-8859 if we saw any + # extra Windows-specific bytes + if lower_charset_name.startswith('iso-8859'): + if self._has_win_bytes: + charset_name = self.ISO_WIN_MAP.get(lower_charset_name, + charset_name) + self.result = {'encoding': charset_name, + 'confidence': confidence, + 'language': max_prober.language} + + # Log all prober confidences if none met MINIMUM_THRESHOLD + if self.logger.getEffectiveLevel() == logging.DEBUG: + if self.result['encoding'] is None: + self.logger.debug('no probers hit minimum threshold') + for group_prober in self._charset_probers: + if not group_prober: + continue + if isinstance(group_prober, CharSetGroupProber): + for prober in group_prober.probers: + self.logger.debug('%s %s confidence = %s', + prober.charset_name, + prober.language, + prober.get_confidence()) + else: + self.logger.debug('%s %s confidence = %s', + prober.charset_name, + prober.language, + prober.get_confidence()) + return self.result diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/utf8prober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/utf8prober.py new file mode 100644 index 0000000..6c3196c --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/utf8prober.py @@ -0,0 +1,82 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetprober import CharSetProber +from .enums import ProbingState, MachineState +from .codingstatemachine import CodingStateMachine +from .mbcssm import UTF8_SM_MODEL + + + +class UTF8Prober(CharSetProber): + ONE_CHAR_PROB = 0.5 + + def __init__(self): + super(UTF8Prober, self).__init__() + self.coding_sm = CodingStateMachine(UTF8_SM_MODEL) + self._num_mb_chars = None + self.reset() + + def reset(self): + super(UTF8Prober, self).reset() + self.coding_sm.reset() + self._num_mb_chars = 0 + + @property + def charset_name(self): + return "utf-8" + + @property + def language(self): + return "" + + def feed(self, byte_str): + for c in byte_str: + coding_state = self.coding_sm.next_state(c) + if coding_state == MachineState.ERROR: + self._state = ProbingState.NOT_ME + break + elif coding_state == MachineState.ITS_ME: + self._state = ProbingState.FOUND_IT + break + elif coding_state == MachineState.START: + if self.coding_sm.get_current_charlen() >= 2: + self._num_mb_chars += 1 + + if self.state == ProbingState.DETECTING: + if self.get_confidence() > self.SHORTCUT_THRESHOLD: + self._state = ProbingState.FOUND_IT + + return self.state + + def get_confidence(self): + unlike = 0.99 + if self._num_mb_chars < 6: + unlike *= self.ONE_CHAR_PROB ** self._num_mb_chars + return 1.0 - unlike + else: + return unlike diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/version.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/version.py new file mode 100644 index 0000000..bb2a34a --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/version.py @@ -0,0 +1,9 @@ +""" +This module exists only to simplify retrieving the version number of chardet +from within setup.py and from chardet subpackages. + +:author: Dan Blanchard (dan.blanchard@gmail.com) +""" + +__version__ = "3.0.4" +VERSION = __version__.split('.') diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/__init__.py new file mode 100644 index 0000000..2a3bf47 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/__init__.py @@ -0,0 +1,6 @@ +# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file. +from .initialise import init, deinit, reinit, colorama_text +from .ansi import Fore, Back, Style, Cursor +from .ansitowin32 import AnsiToWin32 + +__version__ = '0.4.1' diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3138cf73603105885a029ebbc3d85cad4635d579 GIT binary patch literal 469 zcmX|-%}&EG49A<U?Yecn^9nnx+1Qwbgb-hX+caqiqzEYrYqSNDrb@d(c>$h<SIU(W zC+=JzW`aom*|8lb|BTbLi$1>ZK0VKSclN)07o9k(E*x?%N77S>AmtNZwMa_^BtVe& zWvC(&sWxe=n8d0>I=}gr?5cz$E)Ga94;NlP`ao_}Kd^x)L~Wy-@4VUhbg88_Ofg#X z=Nj5Bwc$26W6MVyF6u^d8=Y@VrA;5%<g}>7wZ0X_c>g6FW|M3*>!+j(BL$P9;sz9$ z79aqG4mM!!n2BKD2E>4l14*D#>n9j!x-MfAO1IopLKl?2c_xKcz}G8YYsIk=s|}Zv zgDIXj%QZ7<ZuA3R)|K1WYhB#TXIHG|PprXPUTm=x_qhD6jI$|rm+?XAw6PVha4E{c y=r9{*<3ZWDa>iFHNMiSdBG(50eGaA+BvP7{jg60#&Nq@DgVYLC?V&x?^M3$<ErOZ= literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/__pycache__/ansi.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/__pycache__/ansi.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9b1f66f64b5d30d2aa76e421dc6c32eeec586039 GIT binary patch literal 3367 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 TbUT(~7bXh1!ZEs&Nrw9$nOu?Q literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/__pycache__/ansitowin32.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/__pycache__/ansitowin32.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..12bb6113dd33170078efdf5606d93e5d159fa956 GIT binary patch literal 7642 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/__pycache__/initialise.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/__pycache__/initialise.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..085204c78d4a07e695448209c166a0593ee72cc4 GIT binary patch literal 1690 zcma)6+ioL85bd6u$Ky+qC4`FtvhsjriDZDl3J{AxD}uy>6^ST|EQHm#8+)9w$Lek; zc=5jA2ni(k4}NK0dCD*B3!G{vPO<`t8Fh76S9MR#sZ({>Xe9jV?{9yqF!mR_^8{Fb zhG8s(WRmBsyPA2IJKgJg(vyDfkArT&;UPkd2%~}#%Rp3RD5Fc(P2>X^%jzZX)?^}U z*r_W%YRI~5T(TwaHf2+8V0S}q$}P;Bl7G$GFJ0lwtaHU7+q|rOJ~7!z@g$oZzIW6o z)6L^y@fgFr3SklCSygXaX8Dqjyd^_u4A=2a+t)rk%37hbLC;uO%xqcJ$|&0tdHyHU z5zJ0J|1}*JW0j7x!A#}vfABCpp7)1BkB@aRQhjTn+hH*|J??xdthx~M^juBO(>(h= zojS|m!Nb&KR_#wk|4a;&NvGL#|J{!c-Z?njpUz=EP=f(&rac^$g--iLUT85EX*S7h zCi2XvgXvs{2<icbp_DKlbGLKScPe&hrobHpzhSZP>rC%jwqOgs@CN>pL*o)~{LHO4 z@<jj{iip+#E7l)MCMuI18{2?R;GDk<17^LRFDm5gyuO21)p<oPc!i>B6Z4C$jq0|s z<N(|gi38p5Jbn8@i|L~yksH<O7n2|I4DhusGCORE$-GtAq0%j(2aitlOr5lwrH}10 zITiU#eW7)sOW({*8LjfA>2IB)w7$(GDNXv&RLPsn)<}n<l^EYMx|7J-kD2YsVxr1u zrIfK&gUndi3G;SPR>jN~jv!?Pv7ak#%Mdqa(=wpjZwaGOKdcNWbFW}!UWZ`bHjl%I zM_$4se}_Bi2beW6_1`(%g5{dSP2zCRvy`MNQs_eqZnzveBy<9IT_e#TQ75rx@oMEF zi=?914q-Pj1o0>$F1?2JIufcRy0O48dk`xU{ehG|MM6(eOHWWus4T3$S=W{4{>NR_ z_R0XsM83{0XucDSi=%Nv@*eQFAJcbSIDp9GiKln5vknJqwl3}#l>Y}z6P|Z~*(CM9 zfzb{aS3LKCc>~A#!~=Q=(shl!1!WQFy_*VK_>%t~JPQ}$2*Bt)%-%CpADWIwP3L9! z>m3r?5Z7I(TQkFAmdhUThzLzIZAbb|^1FXR6Qjz?ir)GKMD+%YUtt*fMaBcXb(dUc zX$ME0&PjVqQwJ#%keF~sn{oh^HG!sTiwkP1t~st)<+$Wvbl`2_tSgDzJeSSutHxr2 y?xtPhG-2jGdnZW8Mwk2elW`$ux%!lHYADk&0*$>oY9jF5@Z&JqjVsM+T=@r(T4%ig literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/__pycache__/win32.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/__pycache__/win32.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5747bf3755cc36fa4ab7375c466ad70bd5723d2e GIT binary patch literal 3892 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 GPT{|8%XtX^ literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/__pycache__/winterm.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/__pycache__/winterm.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..986fd4d310e190dd082a1f1ae5362d810df97cc0 GIT binary patch literal 4630 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/ansi.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/ansi.py new file mode 100644 index 0000000..7877658 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/ansi.py @@ -0,0 +1,102 @@ +# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file. +''' +This module generates ANSI character codes to printing colors to terminals. +See: http://en.wikipedia.org/wiki/ANSI_escape_code +''' + +CSI = '\033[' +OSC = '\033]' +BEL = '\007' + + +def code_to_chars(code): + return CSI + str(code) + 'm' + +def set_title(title): + return OSC + '2;' + title + BEL + +def clear_screen(mode=2): + return CSI + str(mode) + 'J' + +def clear_line(mode=2): + return CSI + str(mode) + 'K' + + +class AnsiCodes(object): + def __init__(self): + # the subclasses declare class attributes which are numbers. + # Upon instantiation we define instance attributes, which are the same + # as the class attributes but wrapped with the ANSI escape sequence + for name in dir(self): + if not name.startswith('_'): + value = getattr(self, name) + setattr(self, name, code_to_chars(value)) + + +class AnsiCursor(object): + def UP(self, n=1): + return CSI + str(n) + 'A' + def DOWN(self, n=1): + return CSI + str(n) + 'B' + def FORWARD(self, n=1): + return CSI + str(n) + 'C' + def BACK(self, n=1): + return CSI + str(n) + 'D' + def POS(self, x=1, y=1): + return CSI + str(y) + ';' + str(x) + 'H' + + +class AnsiFore(AnsiCodes): + BLACK = 30 + RED = 31 + GREEN = 32 + YELLOW = 33 + BLUE = 34 + MAGENTA = 35 + CYAN = 36 + WHITE = 37 + RESET = 39 + + # These are fairly well supported, but not part of the standard. + LIGHTBLACK_EX = 90 + LIGHTRED_EX = 91 + LIGHTGREEN_EX = 92 + LIGHTYELLOW_EX = 93 + LIGHTBLUE_EX = 94 + LIGHTMAGENTA_EX = 95 + LIGHTCYAN_EX = 96 + LIGHTWHITE_EX = 97 + + +class AnsiBack(AnsiCodes): + BLACK = 40 + RED = 41 + GREEN = 42 + YELLOW = 43 + BLUE = 44 + MAGENTA = 45 + CYAN = 46 + WHITE = 47 + RESET = 49 + + # These are fairly well supported, but not part of the standard. + LIGHTBLACK_EX = 100 + LIGHTRED_EX = 101 + LIGHTGREEN_EX = 102 + LIGHTYELLOW_EX = 103 + LIGHTBLUE_EX = 104 + LIGHTMAGENTA_EX = 105 + LIGHTCYAN_EX = 106 + LIGHTWHITE_EX = 107 + + +class AnsiStyle(AnsiCodes): + BRIGHT = 1 + DIM = 2 + NORMAL = 22 + RESET_ALL = 0 + +Fore = AnsiFore() +Back = AnsiBack() +Style = AnsiStyle() +Cursor = AnsiCursor() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/ansitowin32.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/ansitowin32.py new file mode 100644 index 0000000..359c92b --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/ansitowin32.py @@ -0,0 +1,257 @@ +# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file. +import re +import sys +import os + +from .ansi import AnsiFore, AnsiBack, AnsiStyle, Style +from .winterm import WinTerm, WinColor, WinStyle +from .win32 import windll, winapi_test + + +winterm = None +if windll is not None: + winterm = WinTerm() + + +class StreamWrapper(object): + ''' + Wraps a stream (such as stdout), acting as a transparent proxy for all + attribute access apart from method 'write()', which is delegated to our + Converter instance. + ''' + def __init__(self, wrapped, converter): + # double-underscore everything to prevent clashes with names of + # attributes on the wrapped stream object. + self.__wrapped = wrapped + self.__convertor = converter + + def __getattr__(self, name): + return getattr(self.__wrapped, name) + + def __enter__(self, *args, **kwargs): + # special method lookup bypasses __getattr__/__getattribute__, see + # https://stackoverflow.com/questions/12632894/why-doesnt-getattr-work-with-exit + # thus, contextlib magic methods are not proxied via __getattr__ + return self.__wrapped.__enter__(*args, **kwargs) + + def __exit__(self, *args, **kwargs): + return self.__wrapped.__exit__(*args, **kwargs) + + def write(self, text): + self.__convertor.write(text) + + def isatty(self): + stream = self.__wrapped + if 'PYCHARM_HOSTED' in os.environ: + if stream is not None and (stream is sys.__stdout__ or stream is sys.__stderr__): + return True + try: + stream_isatty = stream.isatty + except AttributeError: + return False + else: + return stream_isatty() + + @property + def closed(self): + stream = self.__wrapped + try: + return stream.closed + except AttributeError: + return True + + +class AnsiToWin32(object): + ''' + Implements a 'write()' method which, on Windows, will strip ANSI character + sequences from the text, and if outputting to a tty, will convert them into + win32 function calls. + ''' + ANSI_CSI_RE = re.compile('\001?\033\\[((?:\\d|;)*)([a-zA-Z])\002?') # Control Sequence Introducer + ANSI_OSC_RE = re.compile('\001?\033\\]((?:.|;)*?)(\x07)\002?') # Operating System Command + + def __init__(self, wrapped, convert=None, strip=None, autoreset=False): + # The wrapped stream (normally sys.stdout or sys.stderr) + self.wrapped = wrapped + + # should we reset colors to defaults after every .write() + self.autoreset = autoreset + + # create the proxy wrapping our output stream + self.stream = StreamWrapper(wrapped, self) + + on_windows = os.name == 'nt' + # We test if the WinAPI works, because even if we are on Windows + # we may be using a terminal that doesn't support the WinAPI + # (e.g. Cygwin Terminal). In this case it's up to the terminal + # to support the ANSI codes. + conversion_supported = on_windows and winapi_test() + + # should we strip ANSI sequences from our output? + if strip is None: + strip = conversion_supported or (not self.stream.closed and not self.stream.isatty()) + self.strip = strip + + # should we should convert ANSI sequences into win32 calls? + if convert is None: + convert = conversion_supported and not self.stream.closed and self.stream.isatty() + self.convert = convert + + # dict of ansi codes to win32 functions and parameters + self.win32_calls = self.get_win32_calls() + + # are we wrapping stderr? + self.on_stderr = self.wrapped is sys.stderr + + def should_wrap(self): + ''' + True if this class is actually needed. If false, then the output + stream will not be affected, nor will win32 calls be issued, so + wrapping stdout is not actually required. This will generally be + False on non-Windows platforms, unless optional functionality like + autoreset has been requested using kwargs to init() + ''' + return self.convert or self.strip or self.autoreset + + def get_win32_calls(self): + if self.convert and winterm: + return { + AnsiStyle.RESET_ALL: (winterm.reset_all, ), + AnsiStyle.BRIGHT: (winterm.style, WinStyle.BRIGHT), + AnsiStyle.DIM: (winterm.style, WinStyle.NORMAL), + AnsiStyle.NORMAL: (winterm.style, WinStyle.NORMAL), + AnsiFore.BLACK: (winterm.fore, WinColor.BLACK), + AnsiFore.RED: (winterm.fore, WinColor.RED), + AnsiFore.GREEN: (winterm.fore, WinColor.GREEN), + AnsiFore.YELLOW: (winterm.fore, WinColor.YELLOW), + AnsiFore.BLUE: (winterm.fore, WinColor.BLUE), + AnsiFore.MAGENTA: (winterm.fore, WinColor.MAGENTA), + AnsiFore.CYAN: (winterm.fore, WinColor.CYAN), + AnsiFore.WHITE: (winterm.fore, WinColor.GREY), + AnsiFore.RESET: (winterm.fore, ), + AnsiFore.LIGHTBLACK_EX: (winterm.fore, WinColor.BLACK, True), + AnsiFore.LIGHTRED_EX: (winterm.fore, WinColor.RED, True), + AnsiFore.LIGHTGREEN_EX: (winterm.fore, WinColor.GREEN, True), + AnsiFore.LIGHTYELLOW_EX: (winterm.fore, WinColor.YELLOW, True), + AnsiFore.LIGHTBLUE_EX: (winterm.fore, WinColor.BLUE, True), + AnsiFore.LIGHTMAGENTA_EX: (winterm.fore, WinColor.MAGENTA, True), + AnsiFore.LIGHTCYAN_EX: (winterm.fore, WinColor.CYAN, True), + AnsiFore.LIGHTWHITE_EX: (winterm.fore, WinColor.GREY, True), + AnsiBack.BLACK: (winterm.back, WinColor.BLACK), + AnsiBack.RED: (winterm.back, WinColor.RED), + AnsiBack.GREEN: (winterm.back, WinColor.GREEN), + AnsiBack.YELLOW: (winterm.back, WinColor.YELLOW), + AnsiBack.BLUE: (winterm.back, WinColor.BLUE), + AnsiBack.MAGENTA: (winterm.back, WinColor.MAGENTA), + AnsiBack.CYAN: (winterm.back, WinColor.CYAN), + AnsiBack.WHITE: (winterm.back, WinColor.GREY), + AnsiBack.RESET: (winterm.back, ), + AnsiBack.LIGHTBLACK_EX: (winterm.back, WinColor.BLACK, True), + AnsiBack.LIGHTRED_EX: (winterm.back, WinColor.RED, True), + AnsiBack.LIGHTGREEN_EX: (winterm.back, WinColor.GREEN, True), + AnsiBack.LIGHTYELLOW_EX: (winterm.back, WinColor.YELLOW, True), + AnsiBack.LIGHTBLUE_EX: (winterm.back, WinColor.BLUE, True), + AnsiBack.LIGHTMAGENTA_EX: (winterm.back, WinColor.MAGENTA, True), + AnsiBack.LIGHTCYAN_EX: (winterm.back, WinColor.CYAN, True), + AnsiBack.LIGHTWHITE_EX: (winterm.back, WinColor.GREY, True), + } + return dict() + + def write(self, text): + if self.strip or self.convert: + self.write_and_convert(text) + else: + self.wrapped.write(text) + self.wrapped.flush() + if self.autoreset: + self.reset_all() + + + def reset_all(self): + if self.convert: + self.call_win32('m', (0,)) + elif not self.strip and not self.stream.closed: + self.wrapped.write(Style.RESET_ALL) + + + def write_and_convert(self, text): + ''' + Write the given text to our wrapped stream, stripping any ANSI + sequences from the text, and optionally converting them into win32 + calls. + ''' + cursor = 0 + text = self.convert_osc(text) + for match in self.ANSI_CSI_RE.finditer(text): + start, end = match.span() + self.write_plain_text(text, cursor, start) + self.convert_ansi(*match.groups()) + cursor = end + self.write_plain_text(text, cursor, len(text)) + + + def write_plain_text(self, text, start, end): + if start < end: + self.wrapped.write(text[start:end]) + self.wrapped.flush() + + + def convert_ansi(self, paramstring, command): + if self.convert: + params = self.extract_params(command, paramstring) + self.call_win32(command, params) + + + def extract_params(self, command, paramstring): + if command in 'Hf': + params = tuple(int(p) if len(p) != 0 else 1 for p in paramstring.split(';')) + while len(params) < 2: + # defaults: + params = params + (1,) + else: + params = tuple(int(p) for p in paramstring.split(';') if len(p) != 0) + if len(params) == 0: + # defaults: + if command in 'JKm': + params = (0,) + elif command in 'ABCD': + params = (1,) + + return params + + + def call_win32(self, command, params): + if command == 'm': + for param in params: + if param in self.win32_calls: + func_args = self.win32_calls[param] + func = func_args[0] + args = func_args[1:] + kwargs = dict(on_stderr=self.on_stderr) + func(*args, **kwargs) + elif command in 'J': + winterm.erase_screen(params[0], on_stderr=self.on_stderr) + elif command in 'K': + winterm.erase_line(params[0], on_stderr=self.on_stderr) + elif command in 'Hf': # cursor position - absolute + winterm.set_cursor_position(params, on_stderr=self.on_stderr) + elif command in 'ABCD': # cursor position - relative + n = params[0] + # A - up, B - down, C - forward, D - back + x, y = {'A': (0, -n), 'B': (0, n), 'C': (n, 0), 'D': (-n, 0)}[command] + winterm.cursor_adjust(x, y, on_stderr=self.on_stderr) + + + def convert_osc(self, text): + for match in self.ANSI_OSC_RE.finditer(text): + start, end = match.span() + text = text[:start] + text[end:] + paramstring, command = match.groups() + if command in '\x07': # \x07 = BEL + params = paramstring.split(";") + # 0 - change title and icon (we will only change title) + # 1 - change icon (we don't support this) + # 2 - change title + if params[0] in '02': + winterm.set_title(params[1]) + return text diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/initialise.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/initialise.py new file mode 100644 index 0000000..430d066 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/initialise.py @@ -0,0 +1,80 @@ +# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file. +import atexit +import contextlib +import sys + +from .ansitowin32 import AnsiToWin32 + + +orig_stdout = None +orig_stderr = None + +wrapped_stdout = None +wrapped_stderr = None + +atexit_done = False + + +def reset_all(): + if AnsiToWin32 is not None: # Issue #74: objects might become None at exit + AnsiToWin32(orig_stdout).reset_all() + + +def init(autoreset=False, convert=None, strip=None, wrap=True): + + if not wrap and any([autoreset, convert, strip]): + raise ValueError('wrap=False conflicts with any other arg=True') + + global wrapped_stdout, wrapped_stderr + global orig_stdout, orig_stderr + + orig_stdout = sys.stdout + orig_stderr = sys.stderr + + if sys.stdout is None: + wrapped_stdout = None + else: + sys.stdout = wrapped_stdout = \ + wrap_stream(orig_stdout, convert, strip, autoreset, wrap) + if sys.stderr is None: + wrapped_stderr = None + else: + sys.stderr = wrapped_stderr = \ + wrap_stream(orig_stderr, convert, strip, autoreset, wrap) + + global atexit_done + if not atexit_done: + atexit.register(reset_all) + atexit_done = True + + +def deinit(): + if orig_stdout is not None: + sys.stdout = orig_stdout + if orig_stderr is not None: + sys.stderr = orig_stderr + + +@contextlib.contextmanager +def colorama_text(*args, **kwargs): + init(*args, **kwargs) + try: + yield + finally: + deinit() + + +def reinit(): + if wrapped_stdout is not None: + sys.stdout = wrapped_stdout + if wrapped_stderr is not None: + sys.stderr = wrapped_stderr + + +def wrap_stream(stream, convert, strip, autoreset, wrap): + if wrap: + wrapper = AnsiToWin32(stream, + convert=convert, strip=strip, autoreset=autoreset) + if wrapper.should_wrap(): + stream = wrapper.stream + return stream diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/win32.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/win32.py new file mode 100644 index 0000000..c2d8360 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/win32.py @@ -0,0 +1,152 @@ +# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file. + +# from winbase.h +STDOUT = -11 +STDERR = -12 + +try: + import ctypes + from ctypes import LibraryLoader + windll = LibraryLoader(ctypes.WinDLL) + from ctypes import wintypes +except (AttributeError, ImportError): + windll = None + SetConsoleTextAttribute = lambda *_: None + winapi_test = lambda *_: None +else: + from ctypes import byref, Structure, c_char, POINTER + + COORD = wintypes._COORD + + class CONSOLE_SCREEN_BUFFER_INFO(Structure): + """struct in wincon.h.""" + _fields_ = [ + ("dwSize", COORD), + ("dwCursorPosition", COORD), + ("wAttributes", wintypes.WORD), + ("srWindow", wintypes.SMALL_RECT), + ("dwMaximumWindowSize", COORD), + ] + def __str__(self): + return '(%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d)' % ( + self.dwSize.Y, self.dwSize.X + , self.dwCursorPosition.Y, self.dwCursorPosition.X + , self.wAttributes + , self.srWindow.Top, self.srWindow.Left, self.srWindow.Bottom, self.srWindow.Right + , self.dwMaximumWindowSize.Y, self.dwMaximumWindowSize.X + ) + + _GetStdHandle = windll.kernel32.GetStdHandle + _GetStdHandle.argtypes = [ + wintypes.DWORD, + ] + _GetStdHandle.restype = wintypes.HANDLE + + _GetConsoleScreenBufferInfo = windll.kernel32.GetConsoleScreenBufferInfo + _GetConsoleScreenBufferInfo.argtypes = [ + wintypes.HANDLE, + POINTER(CONSOLE_SCREEN_BUFFER_INFO), + ] + _GetConsoleScreenBufferInfo.restype = wintypes.BOOL + + _SetConsoleTextAttribute = windll.kernel32.SetConsoleTextAttribute + _SetConsoleTextAttribute.argtypes = [ + wintypes.HANDLE, + wintypes.WORD, + ] + _SetConsoleTextAttribute.restype = wintypes.BOOL + + _SetConsoleCursorPosition = windll.kernel32.SetConsoleCursorPosition + _SetConsoleCursorPosition.argtypes = [ + wintypes.HANDLE, + COORD, + ] + _SetConsoleCursorPosition.restype = wintypes.BOOL + + _FillConsoleOutputCharacterA = windll.kernel32.FillConsoleOutputCharacterA + _FillConsoleOutputCharacterA.argtypes = [ + wintypes.HANDLE, + c_char, + wintypes.DWORD, + COORD, + POINTER(wintypes.DWORD), + ] + _FillConsoleOutputCharacterA.restype = wintypes.BOOL + + _FillConsoleOutputAttribute = windll.kernel32.FillConsoleOutputAttribute + _FillConsoleOutputAttribute.argtypes = [ + wintypes.HANDLE, + wintypes.WORD, + wintypes.DWORD, + COORD, + POINTER(wintypes.DWORD), + ] + _FillConsoleOutputAttribute.restype = wintypes.BOOL + + _SetConsoleTitleW = windll.kernel32.SetConsoleTitleW + _SetConsoleTitleW.argtypes = [ + wintypes.LPCWSTR + ] + _SetConsoleTitleW.restype = wintypes.BOOL + + def _winapi_test(handle): + csbi = CONSOLE_SCREEN_BUFFER_INFO() + success = _GetConsoleScreenBufferInfo( + handle, byref(csbi)) + return bool(success) + + def winapi_test(): + return any(_winapi_test(h) for h in + (_GetStdHandle(STDOUT), _GetStdHandle(STDERR))) + + def GetConsoleScreenBufferInfo(stream_id=STDOUT): + handle = _GetStdHandle(stream_id) + csbi = CONSOLE_SCREEN_BUFFER_INFO() + success = _GetConsoleScreenBufferInfo( + handle, byref(csbi)) + return csbi + + def SetConsoleTextAttribute(stream_id, attrs): + handle = _GetStdHandle(stream_id) + return _SetConsoleTextAttribute(handle, attrs) + + def SetConsoleCursorPosition(stream_id, position, adjust=True): + position = COORD(*position) + # If the position is out of range, do nothing. + if position.Y <= 0 or position.X <= 0: + return + # Adjust for Windows' SetConsoleCursorPosition: + # 1. being 0-based, while ANSI is 1-based. + # 2. expecting (x,y), while ANSI uses (y,x). + adjusted_position = COORD(position.Y - 1, position.X - 1) + if adjust: + # Adjust for viewport's scroll position + sr = GetConsoleScreenBufferInfo(STDOUT).srWindow + adjusted_position.Y += sr.Top + adjusted_position.X += sr.Left + # Resume normal processing + handle = _GetStdHandle(stream_id) + return _SetConsoleCursorPosition(handle, adjusted_position) + + def FillConsoleOutputCharacter(stream_id, char, length, start): + handle = _GetStdHandle(stream_id) + char = c_char(char.encode()) + length = wintypes.DWORD(length) + num_written = wintypes.DWORD(0) + # Note that this is hard-coded for ANSI (vs wide) bytes. + success = _FillConsoleOutputCharacterA( + handle, char, length, start, byref(num_written)) + return num_written.value + + def FillConsoleOutputAttribute(stream_id, attr, length, start): + ''' FillConsoleOutputAttribute( hConsole, csbi.wAttributes, dwConSize, coordScreen, &cCharsWritten )''' + handle = _GetStdHandle(stream_id) + attribute = wintypes.WORD(attr) + length = wintypes.DWORD(length) + num_written = wintypes.DWORD(0) + # Note that this is hard-coded for ANSI (vs wide) bytes. + return _FillConsoleOutputAttribute( + handle, attribute, length, start, byref(num_written)) + + def SetConsoleTitle(title): + return _SetConsoleTitleW(title) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/winterm.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/winterm.py new file mode 100644 index 0000000..0fdb4ec --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/winterm.py @@ -0,0 +1,169 @@ +# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file. +from . import win32 + + +# from wincon.h +class WinColor(object): + BLACK = 0 + BLUE = 1 + GREEN = 2 + CYAN = 3 + RED = 4 + MAGENTA = 5 + YELLOW = 6 + GREY = 7 + +# from wincon.h +class WinStyle(object): + NORMAL = 0x00 # dim text, dim background + BRIGHT = 0x08 # bright text, dim background + BRIGHT_BACKGROUND = 0x80 # dim text, bright background + +class WinTerm(object): + + def __init__(self): + self._default = win32.GetConsoleScreenBufferInfo(win32.STDOUT).wAttributes + self.set_attrs(self._default) + self._default_fore = self._fore + self._default_back = self._back + self._default_style = self._style + # In order to emulate LIGHT_EX in windows, we borrow the BRIGHT style. + # So that LIGHT_EX colors and BRIGHT style do not clobber each other, + # we track them separately, since LIGHT_EX is overwritten by Fore/Back + # and BRIGHT is overwritten by Style codes. + self._light = 0 + + def get_attrs(self): + return self._fore + self._back * 16 + (self._style | self._light) + + def set_attrs(self, value): + self._fore = value & 7 + self._back = (value >> 4) & 7 + self._style = value & (WinStyle.BRIGHT | WinStyle.BRIGHT_BACKGROUND) + + def reset_all(self, on_stderr=None): + self.set_attrs(self._default) + self.set_console(attrs=self._default) + self._light = 0 + + def fore(self, fore=None, light=False, on_stderr=False): + if fore is None: + fore = self._default_fore + self._fore = fore + # Emulate LIGHT_EX with BRIGHT Style + if light: + self._light |= WinStyle.BRIGHT + else: + self._light &= ~WinStyle.BRIGHT + self.set_console(on_stderr=on_stderr) + + def back(self, back=None, light=False, on_stderr=False): + if back is None: + back = self._default_back + self._back = back + # Emulate LIGHT_EX with BRIGHT_BACKGROUND Style + if light: + self._light |= WinStyle.BRIGHT_BACKGROUND + else: + self._light &= ~WinStyle.BRIGHT_BACKGROUND + self.set_console(on_stderr=on_stderr) + + def style(self, style=None, on_stderr=False): + if style is None: + style = self._default_style + self._style = style + self.set_console(on_stderr=on_stderr) + + def set_console(self, attrs=None, on_stderr=False): + if attrs is None: + attrs = self.get_attrs() + handle = win32.STDOUT + if on_stderr: + handle = win32.STDERR + win32.SetConsoleTextAttribute(handle, attrs) + + def get_position(self, handle): + position = win32.GetConsoleScreenBufferInfo(handle).dwCursorPosition + # Because Windows coordinates are 0-based, + # and win32.SetConsoleCursorPosition expects 1-based. + position.X += 1 + position.Y += 1 + return position + + def set_cursor_position(self, position=None, on_stderr=False): + if position is None: + # I'm not currently tracking the position, so there is no default. + # position = self.get_position() + return + handle = win32.STDOUT + if on_stderr: + handle = win32.STDERR + win32.SetConsoleCursorPosition(handle, position) + + def cursor_adjust(self, x, y, on_stderr=False): + handle = win32.STDOUT + if on_stderr: + handle = win32.STDERR + position = self.get_position(handle) + adjusted_position = (position.Y + y, position.X + x) + win32.SetConsoleCursorPosition(handle, adjusted_position, adjust=False) + + def erase_screen(self, mode=0, on_stderr=False): + # 0 should clear from the cursor to the end of the screen. + # 1 should clear from the cursor to the beginning of the screen. + # 2 should clear the entire screen, and move cursor to (1,1) + handle = win32.STDOUT + if on_stderr: + handle = win32.STDERR + csbi = win32.GetConsoleScreenBufferInfo(handle) + # get the number of character cells in the current buffer + cells_in_screen = csbi.dwSize.X * csbi.dwSize.Y + # get number of character cells before current cursor position + cells_before_cursor = csbi.dwSize.X * csbi.dwCursorPosition.Y + csbi.dwCursorPosition.X + if mode == 0: + from_coord = csbi.dwCursorPosition + cells_to_erase = cells_in_screen - cells_before_cursor + elif mode == 1: + from_coord = win32.COORD(0, 0) + cells_to_erase = cells_before_cursor + elif mode == 2: + from_coord = win32.COORD(0, 0) + cells_to_erase = cells_in_screen + else: + # invalid mode + return + # fill the entire screen with blanks + win32.FillConsoleOutputCharacter(handle, ' ', cells_to_erase, from_coord) + # now set the buffer's attributes accordingly + win32.FillConsoleOutputAttribute(handle, self.get_attrs(), cells_to_erase, from_coord) + if mode == 2: + # put the cursor where needed + win32.SetConsoleCursorPosition(handle, (1, 1)) + + def erase_line(self, mode=0, on_stderr=False): + # 0 should clear from the cursor to the end of the line. + # 1 should clear from the cursor to the beginning of the line. + # 2 should clear the entire line. + handle = win32.STDOUT + if on_stderr: + handle = win32.STDERR + csbi = win32.GetConsoleScreenBufferInfo(handle) + if mode == 0: + from_coord = csbi.dwCursorPosition + cells_to_erase = csbi.dwSize.X - csbi.dwCursorPosition.X + elif mode == 1: + from_coord = win32.COORD(0, csbi.dwCursorPosition.Y) + cells_to_erase = csbi.dwCursorPosition.X + elif mode == 2: + from_coord = win32.COORD(0, csbi.dwCursorPosition.Y) + cells_to_erase = csbi.dwSize.X + else: + # invalid mode + return + # fill the entire screen with blanks + win32.FillConsoleOutputCharacter(handle, ' ', cells_to_erase, from_coord) + # now set the buffer's attributes accordingly + win32.FillConsoleOutputAttribute(handle, self.get_attrs(), cells_to_erase, from_coord) + + def set_title(self, title): + win32.SetConsoleTitle(title) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/__init__.py new file mode 100644 index 0000000..a786b4d --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012-2017 Vinay Sajip. +# Licensed to the Python Software Foundation under a contributor agreement. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +import logging + +__version__ = '0.2.8' + +class DistlibException(Exception): + pass + +try: + from logging import NullHandler +except ImportError: # pragma: no cover + class NullHandler(logging.Handler): + def handle(self, record): pass + def emit(self, record): pass + def createLock(self): self.lock = None + +logger = logging.getLogger(__name__) +logger.addHandler(NullHandler()) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8e8e300021f33af9c7522353609b3a893619d664 GIT binary patch literal 1067 zcma)5Uu)Dr5TDK8yIfn&D&hwa;U1b)Pm6*`K}!|NQ55_Wge7LzT-y9|ldE3w?TX*U zue7f|^(*+IGfCS!#RoU+WOnB_^P9{}#_Q`IJOA~5&j9!VD{FxIF7CQOAwaMULJ&sC z_Cc7!Is;)zV_}Boe27*%gWL)&25+FaV}Z1fJ@t|SJ&1RNi+ESUk%J!AJ1C5|fG1b> z7A)+`{*foG1uPgto>wsHog*hqPVH^~p8qhW!{uVA?BcH1P)G=wfY4~23_X07)=idv z*!vR8s!7XYGBS0K^CHS6=i1{uFU2e)eU0-^vncB<-$6MTtrb7N1=BK@L7pZvncaV| z6CBRtX{7Q)RUXN>sqx%Q%i{InWIt-;=V%_B$l@eG+MsGJV}B>8(?)JpQG6UFvJR@W z+PeG5-}c8_)f~;fOcJ^bIJ$~b1)|G4;5;qThI7A~E9?hQ4{B0+tUZsI9!zFg_B<*? zCe<H>A=obAZ=+ZiMi^%hnq9|2OW4A}vn^bzvg#o;CP!NIrs_V$U0WywAc#%cvWyIE z)iV329VO#ZiDki*i%{)M+mtrR7dM=4uH@-=#{XqfeGH&H5?5{MSS*>R&2=<%9K%%( zGR2fXEqc@UwBJIJ1bhX4`9)YpD=XvU5$mY_V)0@nv9$+?xPh)6*UeR~C15ggl!+ik z1yeQ&YMP?yR2w9g!CQ^0)z<wQDm7j87(MOXXrSG!Op>%n^nl}Zs2Zmj$F+Yo((N3y zU_E$|SEXw9lq!{WFJ?mb6WJVK45`}0v_k=<(q1IQ1?FEl>E7e+=XgRH)<a6nu#BN; Mup!%Ew``C72DIwu_y7O^ literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/__pycache__/compat.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/__pycache__/compat.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..df7b9b2c564819f8050a3b513a6c1f510b4817b7 GIT binary patch literal 32093 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 vm3?<|saRSp&b!|JrSj6`GtW;Qm^w7M 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 VabNcqzvVPE^k^<Ov~?)|e*iFO4MG3_ literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/__pycache__/resources.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/__pycache__/resources.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d3d1f77d4ea98344074000fb26bcd63de255b051 GIT binary patch literal 10934 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/__pycache__/scripts.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/__pycache__/scripts.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9070519dadd60f01aa6d21c07b653ee207f30919 GIT binary patch literal 11121 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/__pycache__/util.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/__pycache__/util.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d1ae0f793d5bc8058da523c12c56a79cfaf4fd3a GIT binary patch literal 48104 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/__init__.py new file mode 100644 index 0000000..f7dbf4c --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/__init__.py @@ -0,0 +1,6 @@ +"""Modules copied from Python 3 standard libraries, for internal use only. + +Individual classes and functions are found in d2._backport.misc. Intended +usage is to always import things missing from 3.1 from that module: the +built-in/stdlib objects will be used if found. +""" diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/misc.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/misc.py new file mode 100644 index 0000000..cfb318d --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/misc.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012 The Python Software Foundation. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +"""Backports for individual classes and functions.""" + +import os +import sys + +__all__ = ['cache_from_source', 'callable', 'fsencode'] + + +try: + from imp import cache_from_source +except ImportError: + def cache_from_source(py_file, debug=__debug__): + ext = debug and 'c' or 'o' + return py_file + ext + + +try: + callable = callable +except NameError: + from collections import Callable + + def callable(obj): + return isinstance(obj, Callable) + + +try: + fsencode = os.fsencode +except AttributeError: + def fsencode(filename): + if isinstance(filename, bytes): + return filename + elif isinstance(filename, str): + return filename.encode(sys.getfilesystemencoding()) + else: + raise TypeError("expect bytes or str, not %s" % + type(filename).__name__) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/shutil.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/shutil.py new file mode 100644 index 0000000..159e49e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/shutil.py @@ -0,0 +1,761 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012 The Python Software Foundation. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +"""Utility functions for copying and archiving files and directory trees. + +XXX The functions here don't copy the resource fork or other metadata on Mac. + +""" + +import os +import sys +import stat +from os.path import abspath +import fnmatch +import collections +import errno +from . import tarfile + +try: + import bz2 + _BZ2_SUPPORTED = True +except ImportError: + _BZ2_SUPPORTED = False + +try: + from pwd import getpwnam +except ImportError: + getpwnam = None + +try: + from grp import getgrnam +except ImportError: + getgrnam = None + +__all__ = ["copyfileobj", "copyfile", "copymode", "copystat", "copy", "copy2", + "copytree", "move", "rmtree", "Error", "SpecialFileError", + "ExecError", "make_archive", "get_archive_formats", + "register_archive_format", "unregister_archive_format", + "get_unpack_formats", "register_unpack_format", + "unregister_unpack_format", "unpack_archive", "ignore_patterns"] + +class Error(EnvironmentError): + pass + +class SpecialFileError(EnvironmentError): + """Raised when trying to do a kind of operation (e.g. copying) which is + not supported on a special file (e.g. a named pipe)""" + +class ExecError(EnvironmentError): + """Raised when a command could not be executed""" + +class ReadError(EnvironmentError): + """Raised when an archive cannot be read""" + +class RegistryError(Exception): + """Raised when a registry operation with the archiving + and unpacking registries fails""" + + +try: + WindowsError +except NameError: + WindowsError = None + +def copyfileobj(fsrc, fdst, length=16*1024): + """copy data from file-like object fsrc to file-like object fdst""" + while 1: + buf = fsrc.read(length) + if not buf: + break + fdst.write(buf) + +def _samefile(src, dst): + # Macintosh, Unix. + if hasattr(os.path, 'samefile'): + try: + return os.path.samefile(src, dst) + except OSError: + return False + + # All other platforms: check for same pathname. + return (os.path.normcase(os.path.abspath(src)) == + os.path.normcase(os.path.abspath(dst))) + +def copyfile(src, dst): + """Copy data from src to dst""" + if _samefile(src, dst): + raise Error("`%s` and `%s` are the same file" % (src, dst)) + + for fn in [src, dst]: + try: + st = os.stat(fn) + except OSError: + # File most likely does not exist + pass + else: + # XXX What about other special files? (sockets, devices...) + if stat.S_ISFIFO(st.st_mode): + raise SpecialFileError("`%s` is a named pipe" % fn) + + with open(src, 'rb') as fsrc: + with open(dst, 'wb') as fdst: + copyfileobj(fsrc, fdst) + +def copymode(src, dst): + """Copy mode bits from src to dst""" + if hasattr(os, 'chmod'): + st = os.stat(src) + mode = stat.S_IMODE(st.st_mode) + os.chmod(dst, mode) + +def copystat(src, dst): + """Copy all stat info (mode bits, atime, mtime, flags) from src to dst""" + st = os.stat(src) + mode = stat.S_IMODE(st.st_mode) + if hasattr(os, 'utime'): + os.utime(dst, (st.st_atime, st.st_mtime)) + if hasattr(os, 'chmod'): + os.chmod(dst, mode) + if hasattr(os, 'chflags') and hasattr(st, 'st_flags'): + try: + os.chflags(dst, st.st_flags) + except OSError as why: + if (not hasattr(errno, 'EOPNOTSUPP') or + why.errno != errno.EOPNOTSUPP): + raise + +def copy(src, dst): + """Copy data and mode bits ("cp src dst"). + + The destination may be a directory. + + """ + if os.path.isdir(dst): + dst = os.path.join(dst, os.path.basename(src)) + copyfile(src, dst) + copymode(src, dst) + +def copy2(src, dst): + """Copy data and all stat info ("cp -p src dst"). + + The destination may be a directory. + + """ + if os.path.isdir(dst): + dst = os.path.join(dst, os.path.basename(src)) + copyfile(src, dst) + copystat(src, dst) + +def ignore_patterns(*patterns): + """Function that can be used as copytree() ignore parameter. + + Patterns is a sequence of glob-style patterns + that are used to exclude files""" + def _ignore_patterns(path, names): + ignored_names = [] + for pattern in patterns: + ignored_names.extend(fnmatch.filter(names, pattern)) + return set(ignored_names) + return _ignore_patterns + +def copytree(src, dst, symlinks=False, ignore=None, copy_function=copy2, + ignore_dangling_symlinks=False): + """Recursively copy a directory tree. + + The destination directory must not already exist. + If exception(s) occur, an Error is raised with a list of reasons. + + If the optional symlinks flag is true, symbolic links in the + source tree result in symbolic links in the destination tree; if + it is false, the contents of the files pointed to by symbolic + links are copied. If the file pointed by the symlink doesn't + exist, an exception will be added in the list of errors raised in + an Error exception at the end of the copy process. + + You can set the optional ignore_dangling_symlinks flag to true if you + want to silence this exception. Notice that this has no effect on + platforms that don't support os.symlink. + + The optional ignore argument is a callable. If given, it + is called with the `src` parameter, which is the directory + being visited by copytree(), and `names` which is the list of + `src` contents, as returned by os.listdir(): + + callable(src, names) -> ignored_names + + Since copytree() is called recursively, the callable will be + called once for each directory that is copied. It returns a + list of names relative to the `src` directory that should + not be copied. + + The optional copy_function argument is a callable that will be used + to copy each file. It will be called with the source path and the + destination path as arguments. By default, copy2() is used, but any + function that supports the same signature (like copy()) can be used. + + """ + names = os.listdir(src) + if ignore is not None: + ignored_names = ignore(src, names) + else: + ignored_names = set() + + os.makedirs(dst) + errors = [] + for name in names: + if name in ignored_names: + continue + srcname = os.path.join(src, name) + dstname = os.path.join(dst, name) + try: + if os.path.islink(srcname): + linkto = os.readlink(srcname) + if symlinks: + os.symlink(linkto, dstname) + else: + # ignore dangling symlink if the flag is on + if not os.path.exists(linkto) and ignore_dangling_symlinks: + continue + # otherwise let the copy occurs. copy2 will raise an error + copy_function(srcname, dstname) + elif os.path.isdir(srcname): + copytree(srcname, dstname, symlinks, ignore, copy_function) + else: + # Will raise a SpecialFileError for unsupported file types + copy_function(srcname, dstname) + # catch the Error from the recursive copytree so that we can + # continue with other files + except Error as err: + errors.extend(err.args[0]) + except EnvironmentError as why: + errors.append((srcname, dstname, str(why))) + try: + copystat(src, dst) + except OSError as why: + if WindowsError is not None and isinstance(why, WindowsError): + # Copying file access times may fail on Windows + pass + else: + errors.extend((src, dst, str(why))) + if errors: + raise Error(errors) + +def rmtree(path, ignore_errors=False, onerror=None): + """Recursively delete a directory tree. + + If ignore_errors is set, errors are ignored; otherwise, if onerror + is set, it is called to handle the error with arguments (func, + path, exc_info) where func is os.listdir, os.remove, or os.rmdir; + path is the argument to that function that caused it to fail; and + exc_info is a tuple returned by sys.exc_info(). If ignore_errors + is false and onerror is None, an exception is raised. + + """ + if ignore_errors: + def onerror(*args): + pass + elif onerror is None: + def onerror(*args): + raise + try: + if os.path.islink(path): + # symlinks to directories are forbidden, see bug #1669 + raise OSError("Cannot call rmtree on a symbolic link") + except OSError: + onerror(os.path.islink, path, sys.exc_info()) + # can't continue even if onerror hook returns + return + names = [] + try: + names = os.listdir(path) + except os.error: + onerror(os.listdir, path, sys.exc_info()) + for name in names: + fullname = os.path.join(path, name) + try: + mode = os.lstat(fullname).st_mode + except os.error: + mode = 0 + if stat.S_ISDIR(mode): + rmtree(fullname, ignore_errors, onerror) + else: + try: + os.remove(fullname) + except os.error: + onerror(os.remove, fullname, sys.exc_info()) + try: + os.rmdir(path) + except os.error: + onerror(os.rmdir, path, sys.exc_info()) + + +def _basename(path): + # A basename() variant which first strips the trailing slash, if present. + # Thus we always get the last component of the path, even for directories. + return os.path.basename(path.rstrip(os.path.sep)) + +def move(src, dst): + """Recursively move a file or directory to another location. This is + similar to the Unix "mv" command. + + If the destination is a directory or a symlink to a directory, the source + is moved inside the directory. The destination path must not already + exist. + + If the destination already exists but is not a directory, it may be + overwritten depending on os.rename() semantics. + + If the destination is on our current filesystem, then rename() is used. + Otherwise, src is copied to the destination and then removed. + A lot more could be done here... A look at a mv.c shows a lot of + the issues this implementation glosses over. + + """ + real_dst = dst + if os.path.isdir(dst): + if _samefile(src, dst): + # We might be on a case insensitive filesystem, + # perform the rename anyway. + os.rename(src, dst) + return + + real_dst = os.path.join(dst, _basename(src)) + if os.path.exists(real_dst): + raise Error("Destination path '%s' already exists" % real_dst) + try: + os.rename(src, real_dst) + except OSError: + if os.path.isdir(src): + if _destinsrc(src, dst): + raise Error("Cannot move a directory '%s' into itself '%s'." % (src, dst)) + copytree(src, real_dst, symlinks=True) + rmtree(src) + else: + copy2(src, real_dst) + os.unlink(src) + +def _destinsrc(src, dst): + src = abspath(src) + dst = abspath(dst) + if not src.endswith(os.path.sep): + src += os.path.sep + if not dst.endswith(os.path.sep): + dst += os.path.sep + return dst.startswith(src) + +def _get_gid(name): + """Returns a gid, given a group name.""" + if getgrnam is None or name is None: + return None + try: + result = getgrnam(name) + except KeyError: + result = None + if result is not None: + return result[2] + return None + +def _get_uid(name): + """Returns an uid, given a user name.""" + if getpwnam is None or name is None: + return None + try: + result = getpwnam(name) + except KeyError: + result = None + if result is not None: + return result[2] + return None + +def _make_tarball(base_name, base_dir, compress="gzip", verbose=0, dry_run=0, + owner=None, group=None, logger=None): + """Create a (possibly compressed) tar file from all the files under + 'base_dir'. + + 'compress' must be "gzip" (the default), "bzip2", or None. + + 'owner' and 'group' can be used to define an owner and a group for the + archive that is being built. If not provided, the current owner and group + will be used. + + The output tar file will be named 'base_name' + ".tar", possibly plus + the appropriate compression extension (".gz", or ".bz2"). + + Returns the output filename. + """ + tar_compression = {'gzip': 'gz', None: ''} + compress_ext = {'gzip': '.gz'} + + if _BZ2_SUPPORTED: + tar_compression['bzip2'] = 'bz2' + compress_ext['bzip2'] = '.bz2' + + # flags for compression program, each element of list will be an argument + if compress is not None and compress not in compress_ext: + raise ValueError("bad value for 'compress', or compression format not " + "supported : {0}".format(compress)) + + archive_name = base_name + '.tar' + compress_ext.get(compress, '') + archive_dir = os.path.dirname(archive_name) + + if not os.path.exists(archive_dir): + if logger is not None: + logger.info("creating %s", archive_dir) + if not dry_run: + os.makedirs(archive_dir) + + # creating the tarball + if logger is not None: + logger.info('Creating tar archive') + + uid = _get_uid(owner) + gid = _get_gid(group) + + def _set_uid_gid(tarinfo): + if gid is not None: + tarinfo.gid = gid + tarinfo.gname = group + if uid is not None: + tarinfo.uid = uid + tarinfo.uname = owner + return tarinfo + + if not dry_run: + tar = tarfile.open(archive_name, 'w|%s' % tar_compression[compress]) + try: + tar.add(base_dir, filter=_set_uid_gid) + finally: + tar.close() + + return archive_name + +def _call_external_zip(base_dir, zip_filename, verbose=False, dry_run=False): + # XXX see if we want to keep an external call here + if verbose: + zipoptions = "-r" + else: + zipoptions = "-rq" + from distutils.errors import DistutilsExecError + from distutils.spawn import spawn + try: + spawn(["zip", zipoptions, zip_filename, base_dir], dry_run=dry_run) + except DistutilsExecError: + # XXX really should distinguish between "couldn't find + # external 'zip' command" and "zip failed". + raise ExecError("unable to create zip file '%s': " + "could neither import the 'zipfile' module nor " + "find a standalone zip utility") % zip_filename + +def _make_zipfile(base_name, base_dir, verbose=0, dry_run=0, logger=None): + """Create a zip file from all the files under 'base_dir'. + + The output zip file will be named 'base_name' + ".zip". Uses either the + "zipfile" Python module (if available) or the InfoZIP "zip" utility + (if installed and found on the default search path). If neither tool is + available, raises ExecError. Returns the name of the output zip + file. + """ + zip_filename = base_name + ".zip" + archive_dir = os.path.dirname(base_name) + + if not os.path.exists(archive_dir): + if logger is not None: + logger.info("creating %s", archive_dir) + if not dry_run: + os.makedirs(archive_dir) + + # If zipfile module is not available, try spawning an external 'zip' + # command. + try: + import zipfile + except ImportError: + zipfile = None + + if zipfile is None: + _call_external_zip(base_dir, zip_filename, verbose, dry_run) + else: + if logger is not None: + logger.info("creating '%s' and adding '%s' to it", + zip_filename, base_dir) + + if not dry_run: + zip = zipfile.ZipFile(zip_filename, "w", + compression=zipfile.ZIP_DEFLATED) + + for dirpath, dirnames, filenames in os.walk(base_dir): + for name in filenames: + path = os.path.normpath(os.path.join(dirpath, name)) + if os.path.isfile(path): + zip.write(path, path) + if logger is not None: + logger.info("adding '%s'", path) + zip.close() + + return zip_filename + +_ARCHIVE_FORMATS = { + 'gztar': (_make_tarball, [('compress', 'gzip')], "gzip'ed tar-file"), + 'bztar': (_make_tarball, [('compress', 'bzip2')], "bzip2'ed tar-file"), + 'tar': (_make_tarball, [('compress', None)], "uncompressed tar file"), + 'zip': (_make_zipfile, [], "ZIP file"), + } + +if _BZ2_SUPPORTED: + _ARCHIVE_FORMATS['bztar'] = (_make_tarball, [('compress', 'bzip2')], + "bzip2'ed tar-file") + +def get_archive_formats(): + """Returns a list of supported formats for archiving and unarchiving. + + Each element of the returned sequence is a tuple (name, description) + """ + formats = [(name, registry[2]) for name, registry in + _ARCHIVE_FORMATS.items()] + formats.sort() + return formats + +def register_archive_format(name, function, extra_args=None, description=''): + """Registers an archive format. + + name is the name of the format. function is the callable that will be + used to create archives. If provided, extra_args is a sequence of + (name, value) tuples that will be passed as arguments to the callable. + description can be provided to describe the format, and will be returned + by the get_archive_formats() function. + """ + if extra_args is None: + extra_args = [] + if not isinstance(function, collections.Callable): + raise TypeError('The %s object is not callable' % function) + if not isinstance(extra_args, (tuple, list)): + raise TypeError('extra_args needs to be a sequence') + for element in extra_args: + if not isinstance(element, (tuple, list)) or len(element) !=2: + raise TypeError('extra_args elements are : (arg_name, value)') + + _ARCHIVE_FORMATS[name] = (function, extra_args, description) + +def unregister_archive_format(name): + del _ARCHIVE_FORMATS[name] + +def make_archive(base_name, format, root_dir=None, base_dir=None, verbose=0, + dry_run=0, owner=None, group=None, logger=None): + """Create an archive file (eg. zip or tar). + + 'base_name' is the name of the file to create, minus any format-specific + extension; 'format' is the archive format: one of "zip", "tar", "bztar" + or "gztar". + + 'root_dir' is a directory that will be the root directory of the + archive; ie. we typically chdir into 'root_dir' before creating the + archive. 'base_dir' is the directory where we start archiving from; + ie. 'base_dir' will be the common prefix of all files and + directories in the archive. 'root_dir' and 'base_dir' both default + to the current directory. Returns the name of the archive file. + + 'owner' and 'group' are used when creating a tar archive. By default, + uses the current owner and group. + """ + save_cwd = os.getcwd() + if root_dir is not None: + if logger is not None: + logger.debug("changing into '%s'", root_dir) + base_name = os.path.abspath(base_name) + if not dry_run: + os.chdir(root_dir) + + if base_dir is None: + base_dir = os.curdir + + kwargs = {'dry_run': dry_run, 'logger': logger} + + try: + format_info = _ARCHIVE_FORMATS[format] + except KeyError: + raise ValueError("unknown archive format '%s'" % format) + + func = format_info[0] + for arg, val in format_info[1]: + kwargs[arg] = val + + if format != 'zip': + kwargs['owner'] = owner + kwargs['group'] = group + + try: + filename = func(base_name, base_dir, **kwargs) + finally: + if root_dir is not None: + if logger is not None: + logger.debug("changing back to '%s'", save_cwd) + os.chdir(save_cwd) + + return filename + + +def get_unpack_formats(): + """Returns a list of supported formats for unpacking. + + Each element of the returned sequence is a tuple + (name, extensions, description) + """ + formats = [(name, info[0], info[3]) for name, info in + _UNPACK_FORMATS.items()] + formats.sort() + return formats + +def _check_unpack_options(extensions, function, extra_args): + """Checks what gets registered as an unpacker.""" + # first make sure no other unpacker is registered for this extension + existing_extensions = {} + for name, info in _UNPACK_FORMATS.items(): + for ext in info[0]: + existing_extensions[ext] = name + + for extension in extensions: + if extension in existing_extensions: + msg = '%s is already registered for "%s"' + raise RegistryError(msg % (extension, + existing_extensions[extension])) + + if not isinstance(function, collections.Callable): + raise TypeError('The registered function must be a callable') + + +def register_unpack_format(name, extensions, function, extra_args=None, + description=''): + """Registers an unpack format. + + `name` is the name of the format. `extensions` is a list of extensions + corresponding to the format. + + `function` is the callable that will be + used to unpack archives. The callable will receive archives to unpack. + If it's unable to handle an archive, it needs to raise a ReadError + exception. + + If provided, `extra_args` is a sequence of + (name, value) tuples that will be passed as arguments to the callable. + description can be provided to describe the format, and will be returned + by the get_unpack_formats() function. + """ + if extra_args is None: + extra_args = [] + _check_unpack_options(extensions, function, extra_args) + _UNPACK_FORMATS[name] = extensions, function, extra_args, description + +def unregister_unpack_format(name): + """Removes the pack format from the registry.""" + del _UNPACK_FORMATS[name] + +def _ensure_directory(path): + """Ensure that the parent directory of `path` exists""" + dirname = os.path.dirname(path) + if not os.path.isdir(dirname): + os.makedirs(dirname) + +def _unpack_zipfile(filename, extract_dir): + """Unpack zip `filename` to `extract_dir` + """ + try: + import zipfile + except ImportError: + raise ReadError('zlib not supported, cannot unpack this archive.') + + if not zipfile.is_zipfile(filename): + raise ReadError("%s is not a zip file" % filename) + + zip = zipfile.ZipFile(filename) + try: + for info in zip.infolist(): + name = info.filename + + # don't extract absolute paths or ones with .. in them + if name.startswith('/') or '..' in name: + continue + + target = os.path.join(extract_dir, *name.split('/')) + if not target: + continue + + _ensure_directory(target) + if not name.endswith('/'): + # file + data = zip.read(info.filename) + f = open(target, 'wb') + try: + f.write(data) + finally: + f.close() + del data + finally: + zip.close() + +def _unpack_tarfile(filename, extract_dir): + """Unpack tar/tar.gz/tar.bz2 `filename` to `extract_dir` + """ + try: + tarobj = tarfile.open(filename) + except tarfile.TarError: + raise ReadError( + "%s is not a compressed or uncompressed tar file" % filename) + try: + tarobj.extractall(extract_dir) + finally: + tarobj.close() + +_UNPACK_FORMATS = { + 'gztar': (['.tar.gz', '.tgz'], _unpack_tarfile, [], "gzip'ed tar-file"), + 'tar': (['.tar'], _unpack_tarfile, [], "uncompressed tar file"), + 'zip': (['.zip'], _unpack_zipfile, [], "ZIP file") + } + +if _BZ2_SUPPORTED: + _UNPACK_FORMATS['bztar'] = (['.bz2'], _unpack_tarfile, [], + "bzip2'ed tar-file") + +def _find_unpack_format(filename): + for name, info in _UNPACK_FORMATS.items(): + for extension in info[0]: + if filename.endswith(extension): + return name + return None + +def unpack_archive(filename, extract_dir=None, format=None): + """Unpack an archive. + + `filename` is the name of the archive. + + `extract_dir` is the name of the target directory, where the archive + is unpacked. If not provided, the current working directory is used. + + `format` is the archive format: one of "zip", "tar", or "gztar". Or any + other registered format. If not provided, unpack_archive will use the + filename extension and see if an unpacker was registered for that + extension. + + In case none is found, a ValueError is raised. + """ + if extract_dir is None: + extract_dir = os.getcwd() + + if format is not None: + try: + format_info = _UNPACK_FORMATS[format] + except KeyError: + raise ValueError("Unknown unpack format '{0}'".format(format)) + + func = format_info[1] + func(filename, extract_dir, **dict(format_info[2])) + else: + # we need to look at the registered unpackers supported extensions + format = _find_unpack_format(filename) + if format is None: + raise ReadError("Unknown archive format '{0}'".format(filename)) + + func = _UNPACK_FORMATS[format][1] + kwargs = dict(_UNPACK_FORMATS[format][2]) + func(filename, extract_dir, **kwargs) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/sysconfig.cfg b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/sysconfig.cfg new file mode 100644 index 0000000..1746bd0 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/sysconfig.cfg @@ -0,0 +1,84 @@ +[posix_prefix] +# Configuration directories. Some of these come straight out of the +# configure script. They are for implementing the other variables, not to +# be used directly in [resource_locations]. +confdir = /etc +datadir = /usr/share +libdir = /usr/lib +statedir = /var +# User resource directory +local = ~/.local/{distribution.name} + +stdlib = {base}/lib/python{py_version_short} +platstdlib = {platbase}/lib/python{py_version_short} +purelib = {base}/lib/python{py_version_short}/site-packages +platlib = {platbase}/lib/python{py_version_short}/site-packages +include = {base}/include/python{py_version_short}{abiflags} +platinclude = {platbase}/include/python{py_version_short}{abiflags} +data = {base} + +[posix_home] +stdlib = {base}/lib/python +platstdlib = {base}/lib/python +purelib = {base}/lib/python +platlib = {base}/lib/python +include = {base}/include/python +platinclude = {base}/include/python +scripts = {base}/bin +data = {base} + +[nt] +stdlib = {base}/Lib +platstdlib = {base}/Lib +purelib = {base}/Lib/site-packages +platlib = {base}/Lib/site-packages +include = {base}/Include +platinclude = {base}/Include +scripts = {base}/Scripts +data = {base} + +[os2] +stdlib = {base}/Lib +platstdlib = {base}/Lib +purelib = {base}/Lib/site-packages +platlib = {base}/Lib/site-packages +include = {base}/Include +platinclude = {base}/Include +scripts = {base}/Scripts +data = {base} + +[os2_home] +stdlib = {userbase}/lib/python{py_version_short} +platstdlib = {userbase}/lib/python{py_version_short} +purelib = {userbase}/lib/python{py_version_short}/site-packages +platlib = {userbase}/lib/python{py_version_short}/site-packages +include = {userbase}/include/python{py_version_short} +scripts = {userbase}/bin +data = {userbase} + +[nt_user] +stdlib = {userbase}/Python{py_version_nodot} +platstdlib = {userbase}/Python{py_version_nodot} +purelib = {userbase}/Python{py_version_nodot}/site-packages +platlib = {userbase}/Python{py_version_nodot}/site-packages +include = {userbase}/Python{py_version_nodot}/Include +scripts = {userbase}/Scripts +data = {userbase} + +[posix_user] +stdlib = {userbase}/lib/python{py_version_short} +platstdlib = {userbase}/lib/python{py_version_short} +purelib = {userbase}/lib/python{py_version_short}/site-packages +platlib = {userbase}/lib/python{py_version_short}/site-packages +include = {userbase}/include/python{py_version_short} +scripts = {userbase}/bin +data = {userbase} + +[osx_framework_user] +stdlib = {userbase}/lib/python +platstdlib = {userbase}/lib/python +purelib = {userbase}/lib/python/site-packages +platlib = {userbase}/lib/python/site-packages +include = {userbase}/include +scripts = {userbase}/bin +data = {userbase} diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/sysconfig.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/sysconfig.py new file mode 100644 index 0000000..1df3aba --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/sysconfig.py @@ -0,0 +1,788 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012 The Python Software Foundation. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +"""Access to Python's configuration information.""" + +import codecs +import os +import re +import sys +from os.path import pardir, realpath +try: + import configparser +except ImportError: + import ConfigParser as configparser + + +__all__ = [ + 'get_config_h_filename', + 'get_config_var', + 'get_config_vars', + 'get_makefile_filename', + 'get_path', + 'get_path_names', + 'get_paths', + 'get_platform', + 'get_python_version', + 'get_scheme_names', + 'parse_config_h', +] + + +def _safe_realpath(path): + try: + return realpath(path) + except OSError: + return path + + +if sys.executable: + _PROJECT_BASE = os.path.dirname(_safe_realpath(sys.executable)) +else: + # sys.executable can be empty if argv[0] has been changed and Python is + # unable to retrieve the real program name + _PROJECT_BASE = _safe_realpath(os.getcwd()) + +if os.name == "nt" and "pcbuild" in _PROJECT_BASE[-8:].lower(): + _PROJECT_BASE = _safe_realpath(os.path.join(_PROJECT_BASE, pardir)) +# PC/VS7.1 +if os.name == "nt" and "\\pc\\v" in _PROJECT_BASE[-10:].lower(): + _PROJECT_BASE = _safe_realpath(os.path.join(_PROJECT_BASE, pardir, pardir)) +# PC/AMD64 +if os.name == "nt" and "\\pcbuild\\amd64" in _PROJECT_BASE[-14:].lower(): + _PROJECT_BASE = _safe_realpath(os.path.join(_PROJECT_BASE, pardir, pardir)) + + +def is_python_build(): + for fn in ("Setup.dist", "Setup.local"): + if os.path.isfile(os.path.join(_PROJECT_BASE, "Modules", fn)): + return True + return False + +_PYTHON_BUILD = is_python_build() + +_cfg_read = False + +def _ensure_cfg_read(): + global _cfg_read + if not _cfg_read: + from ..resources import finder + backport_package = __name__.rsplit('.', 1)[0] + _finder = finder(backport_package) + _cfgfile = _finder.find('sysconfig.cfg') + assert _cfgfile, 'sysconfig.cfg exists' + with _cfgfile.as_stream() as s: + _SCHEMES.readfp(s) + if _PYTHON_BUILD: + for scheme in ('posix_prefix', 'posix_home'): + _SCHEMES.set(scheme, 'include', '{srcdir}/Include') + _SCHEMES.set(scheme, 'platinclude', '{projectbase}/.') + + _cfg_read = True + + +_SCHEMES = configparser.RawConfigParser() +_VAR_REPL = re.compile(r'\{([^{]*?)\}') + +def _expand_globals(config): + _ensure_cfg_read() + if config.has_section('globals'): + globals = config.items('globals') + else: + globals = tuple() + + sections = config.sections() + for section in sections: + if section == 'globals': + continue + for option, value in globals: + if config.has_option(section, option): + continue + config.set(section, option, value) + config.remove_section('globals') + + # now expanding local variables defined in the cfg file + # + for section in config.sections(): + variables = dict(config.items(section)) + + def _replacer(matchobj): + name = matchobj.group(1) + if name in variables: + return variables[name] + return matchobj.group(0) + + for option, value in config.items(section): + config.set(section, option, _VAR_REPL.sub(_replacer, value)) + +#_expand_globals(_SCHEMES) + + # FIXME don't rely on sys.version here, its format is an implementation detail + # of CPython, use sys.version_info or sys.hexversion +_PY_VERSION = sys.version.split()[0] +_PY_VERSION_SHORT = sys.version[:3] +_PY_VERSION_SHORT_NO_DOT = _PY_VERSION[0] + _PY_VERSION[2] +_PREFIX = os.path.normpath(sys.prefix) +_EXEC_PREFIX = os.path.normpath(sys.exec_prefix) +_CONFIG_VARS = None +_USER_BASE = None + + +def _subst_vars(path, local_vars): + """In the string `path`, replace tokens like {some.thing} with the + corresponding value from the map `local_vars`. + + If there is no corresponding value, leave the token unchanged. + """ + def _replacer(matchobj): + name = matchobj.group(1) + if name in local_vars: + return local_vars[name] + elif name in os.environ: + return os.environ[name] + return matchobj.group(0) + return _VAR_REPL.sub(_replacer, path) + + +def _extend_dict(target_dict, other_dict): + target_keys = target_dict.keys() + for key, value in other_dict.items(): + if key in target_keys: + continue + target_dict[key] = value + + +def _expand_vars(scheme, vars): + res = {} + if vars is None: + vars = {} + _extend_dict(vars, get_config_vars()) + + for key, value in _SCHEMES.items(scheme): + if os.name in ('posix', 'nt'): + value = os.path.expanduser(value) + res[key] = os.path.normpath(_subst_vars(value, vars)) + return res + + +def format_value(value, vars): + def _replacer(matchobj): + name = matchobj.group(1) + if name in vars: + return vars[name] + return matchobj.group(0) + return _VAR_REPL.sub(_replacer, value) + + +def _get_default_scheme(): + if os.name == 'posix': + # the default scheme for posix is posix_prefix + return 'posix_prefix' + return os.name + + +def _getuserbase(): + env_base = os.environ.get("PYTHONUSERBASE", None) + + def joinuser(*args): + return os.path.expanduser(os.path.join(*args)) + + # what about 'os2emx', 'riscos' ? + if os.name == "nt": + base = os.environ.get("APPDATA") or "~" + if env_base: + return env_base + else: + return joinuser(base, "Python") + + if sys.platform == "darwin": + framework = get_config_var("PYTHONFRAMEWORK") + if framework: + if env_base: + return env_base + else: + return joinuser("~", "Library", framework, "%d.%d" % + sys.version_info[:2]) + + if env_base: + return env_base + else: + return joinuser("~", ".local") + + +def _parse_makefile(filename, vars=None): + """Parse a Makefile-style file. + + A dictionary containing name/value pairs is returned. If an + optional dictionary is passed in as the second argument, it is + used instead of a new dictionary. + """ + # Regexes needed for parsing Makefile (and similar syntaxes, + # like old-style Setup files). + _variable_rx = re.compile(r"([a-zA-Z][a-zA-Z0-9_]+)\s*=\s*(.*)") + _findvar1_rx = re.compile(r"\$\(([A-Za-z][A-Za-z0-9_]*)\)") + _findvar2_rx = re.compile(r"\${([A-Za-z][A-Za-z0-9_]*)}") + + if vars is None: + vars = {} + done = {} + notdone = {} + + with codecs.open(filename, encoding='utf-8', errors="surrogateescape") as f: + lines = f.readlines() + + for line in lines: + if line.startswith('#') or line.strip() == '': + continue + m = _variable_rx.match(line) + if m: + n, v = m.group(1, 2) + v = v.strip() + # `$$' is a literal `$' in make + tmpv = v.replace('$$', '') + + if "$" in tmpv: + notdone[n] = v + else: + try: + v = int(v) + except ValueError: + # insert literal `$' + done[n] = v.replace('$$', '$') + else: + done[n] = v + + # do variable interpolation here + variables = list(notdone.keys()) + + # Variables with a 'PY_' prefix in the makefile. These need to + # be made available without that prefix through sysconfig. + # Special care is needed to ensure that variable expansion works, even + # if the expansion uses the name without a prefix. + renamed_variables = ('CFLAGS', 'LDFLAGS', 'CPPFLAGS') + + while len(variables) > 0: + for name in tuple(variables): + value = notdone[name] + m = _findvar1_rx.search(value) or _findvar2_rx.search(value) + if m is not None: + n = m.group(1) + found = True + if n in done: + item = str(done[n]) + elif n in notdone: + # get it on a subsequent round + found = False + elif n in os.environ: + # do it like make: fall back to environment + item = os.environ[n] + + elif n in renamed_variables: + if (name.startswith('PY_') and + name[3:] in renamed_variables): + item = "" + + elif 'PY_' + n in notdone: + found = False + + else: + item = str(done['PY_' + n]) + + else: + done[n] = item = "" + + if found: + after = value[m.end():] + value = value[:m.start()] + item + after + if "$" in after: + notdone[name] = value + else: + try: + value = int(value) + except ValueError: + done[name] = value.strip() + else: + done[name] = value + variables.remove(name) + + if (name.startswith('PY_') and + name[3:] in renamed_variables): + + name = name[3:] + if name not in done: + done[name] = value + + else: + # bogus variable reference (e.g. "prefix=$/opt/python"); + # just drop it since we can't deal + done[name] = value + variables.remove(name) + + # strip spurious spaces + for k, v in done.items(): + if isinstance(v, str): + done[k] = v.strip() + + # save the results in the global dictionary + vars.update(done) + return vars + + +def get_makefile_filename(): + """Return the path of the Makefile.""" + if _PYTHON_BUILD: + return os.path.join(_PROJECT_BASE, "Makefile") + if hasattr(sys, 'abiflags'): + config_dir_name = 'config-%s%s' % (_PY_VERSION_SHORT, sys.abiflags) + else: + config_dir_name = 'config' + return os.path.join(get_path('stdlib'), config_dir_name, 'Makefile') + + +def _init_posix(vars): + """Initialize the module as appropriate for POSIX systems.""" + # load the installed Makefile: + makefile = get_makefile_filename() + try: + _parse_makefile(makefile, vars) + except IOError as e: + msg = "invalid Python installation: unable to open %s" % makefile + if hasattr(e, "strerror"): + msg = msg + " (%s)" % e.strerror + raise IOError(msg) + # load the installed pyconfig.h: + config_h = get_config_h_filename() + try: + with open(config_h) as f: + parse_config_h(f, vars) + except IOError as e: + msg = "invalid Python installation: unable to open %s" % config_h + if hasattr(e, "strerror"): + msg = msg + " (%s)" % e.strerror + raise IOError(msg) + # On AIX, there are wrong paths to the linker scripts in the Makefile + # -- these paths are relative to the Python source, but when installed + # the scripts are in another directory. + if _PYTHON_BUILD: + vars['LDSHARED'] = vars['BLDSHARED'] + + +def _init_non_posix(vars): + """Initialize the module as appropriate for NT""" + # set basic install directories + vars['LIBDEST'] = get_path('stdlib') + vars['BINLIBDEST'] = get_path('platstdlib') + vars['INCLUDEPY'] = get_path('include') + vars['SO'] = '.pyd' + vars['EXE'] = '.exe' + vars['VERSION'] = _PY_VERSION_SHORT_NO_DOT + vars['BINDIR'] = os.path.dirname(_safe_realpath(sys.executable)) + +# +# public APIs +# + + +def parse_config_h(fp, vars=None): + """Parse a config.h-style file. + + A dictionary containing name/value pairs is returned. If an + optional dictionary is passed in as the second argument, it is + used instead of a new dictionary. + """ + if vars is None: + vars = {} + define_rx = re.compile("#define ([A-Z][A-Za-z0-9_]+) (.*)\n") + undef_rx = re.compile("/[*] #undef ([A-Z][A-Za-z0-9_]+) [*]/\n") + + while True: + line = fp.readline() + if not line: + break + m = define_rx.match(line) + if m: + n, v = m.group(1, 2) + try: + v = int(v) + except ValueError: + pass + vars[n] = v + else: + m = undef_rx.match(line) + if m: + vars[m.group(1)] = 0 + return vars + + +def get_config_h_filename(): + """Return the path of pyconfig.h.""" + if _PYTHON_BUILD: + if os.name == "nt": + inc_dir = os.path.join(_PROJECT_BASE, "PC") + else: + inc_dir = _PROJECT_BASE + else: + inc_dir = get_path('platinclude') + return os.path.join(inc_dir, 'pyconfig.h') + + +def get_scheme_names(): + """Return a tuple containing the schemes names.""" + return tuple(sorted(_SCHEMES.sections())) + + +def get_path_names(): + """Return a tuple containing the paths names.""" + # xxx see if we want a static list + return _SCHEMES.options('posix_prefix') + + +def get_paths(scheme=_get_default_scheme(), vars=None, expand=True): + """Return a mapping containing an install scheme. + + ``scheme`` is the install scheme name. If not provided, it will + return the default scheme for the current platform. + """ + _ensure_cfg_read() + if expand: + return _expand_vars(scheme, vars) + else: + return dict(_SCHEMES.items(scheme)) + + +def get_path(name, scheme=_get_default_scheme(), vars=None, expand=True): + """Return a path corresponding to the scheme. + + ``scheme`` is the install scheme name. + """ + return get_paths(scheme, vars, expand)[name] + + +def get_config_vars(*args): + """With no arguments, return a dictionary of all configuration + variables relevant for the current platform. + + On Unix, this means every variable defined in Python's installed Makefile; + On Windows and Mac OS it's a much smaller set. + + With arguments, return a list of values that result from looking up + each argument in the configuration variable dictionary. + """ + global _CONFIG_VARS + if _CONFIG_VARS is None: + _CONFIG_VARS = {} + # Normalized versions of prefix and exec_prefix are handy to have; + # in fact, these are the standard versions used most places in the + # distutils2 module. + _CONFIG_VARS['prefix'] = _PREFIX + _CONFIG_VARS['exec_prefix'] = _EXEC_PREFIX + _CONFIG_VARS['py_version'] = _PY_VERSION + _CONFIG_VARS['py_version_short'] = _PY_VERSION_SHORT + _CONFIG_VARS['py_version_nodot'] = _PY_VERSION[0] + _PY_VERSION[2] + _CONFIG_VARS['base'] = _PREFIX + _CONFIG_VARS['platbase'] = _EXEC_PREFIX + _CONFIG_VARS['projectbase'] = _PROJECT_BASE + try: + _CONFIG_VARS['abiflags'] = sys.abiflags + except AttributeError: + # sys.abiflags may not be defined on all platforms. + _CONFIG_VARS['abiflags'] = '' + + if os.name in ('nt', 'os2'): + _init_non_posix(_CONFIG_VARS) + if os.name == 'posix': + _init_posix(_CONFIG_VARS) + # Setting 'userbase' is done below the call to the + # init function to enable using 'get_config_var' in + # the init-function. + if sys.version >= '2.6': + _CONFIG_VARS['userbase'] = _getuserbase() + + if 'srcdir' not in _CONFIG_VARS: + _CONFIG_VARS['srcdir'] = _PROJECT_BASE + else: + _CONFIG_VARS['srcdir'] = _safe_realpath(_CONFIG_VARS['srcdir']) + + # Convert srcdir into an absolute path if it appears necessary. + # Normally it is relative to the build directory. However, during + # testing, for example, we might be running a non-installed python + # from a different directory. + if _PYTHON_BUILD and os.name == "posix": + base = _PROJECT_BASE + try: + cwd = os.getcwd() + except OSError: + cwd = None + if (not os.path.isabs(_CONFIG_VARS['srcdir']) and + base != cwd): + # srcdir is relative and we are not in the same directory + # as the executable. Assume executable is in the build + # directory and make srcdir absolute. + srcdir = os.path.join(base, _CONFIG_VARS['srcdir']) + _CONFIG_VARS['srcdir'] = os.path.normpath(srcdir) + + if sys.platform == 'darwin': + kernel_version = os.uname()[2] # Kernel version (8.4.3) + major_version = int(kernel_version.split('.')[0]) + + if major_version < 8: + # On Mac OS X before 10.4, check if -arch and -isysroot + # are in CFLAGS or LDFLAGS and remove them if they are. + # This is needed when building extensions on a 10.3 system + # using a universal build of python. + for key in ('LDFLAGS', 'BASECFLAGS', + # a number of derived variables. These need to be + # patched up as well. + 'CFLAGS', 'PY_CFLAGS', 'BLDSHARED'): + flags = _CONFIG_VARS[key] + flags = re.sub(r'-arch\s+\w+\s', ' ', flags) + flags = re.sub('-isysroot [^ \t]*', ' ', flags) + _CONFIG_VARS[key] = flags + else: + # Allow the user to override the architecture flags using + # an environment variable. + # NOTE: This name was introduced by Apple in OSX 10.5 and + # is used by several scripting languages distributed with + # that OS release. + if 'ARCHFLAGS' in os.environ: + arch = os.environ['ARCHFLAGS'] + for key in ('LDFLAGS', 'BASECFLAGS', + # a number of derived variables. These need to be + # patched up as well. + 'CFLAGS', 'PY_CFLAGS', 'BLDSHARED'): + + flags = _CONFIG_VARS[key] + flags = re.sub(r'-arch\s+\w+\s', ' ', flags) + flags = flags + ' ' + arch + _CONFIG_VARS[key] = flags + + # If we're on OSX 10.5 or later and the user tries to + # compiles an extension using an SDK that is not present + # on the current machine it is better to not use an SDK + # than to fail. + # + # The major usecase for this is users using a Python.org + # binary installer on OSX 10.6: that installer uses + # the 10.4u SDK, but that SDK is not installed by default + # when you install Xcode. + # + CFLAGS = _CONFIG_VARS.get('CFLAGS', '') + m = re.search(r'-isysroot\s+(\S+)', CFLAGS) + if m is not None: + sdk = m.group(1) + if not os.path.exists(sdk): + for key in ('LDFLAGS', 'BASECFLAGS', + # a number of derived variables. These need to be + # patched up as well. + 'CFLAGS', 'PY_CFLAGS', 'BLDSHARED'): + + flags = _CONFIG_VARS[key] + flags = re.sub(r'-isysroot\s+\S+(\s|$)', ' ', flags) + _CONFIG_VARS[key] = flags + + if args: + vals = [] + for name in args: + vals.append(_CONFIG_VARS.get(name)) + return vals + else: + return _CONFIG_VARS + + +def get_config_var(name): + """Return the value of a single variable using the dictionary returned by + 'get_config_vars()'. + + Equivalent to get_config_vars().get(name) + """ + return get_config_vars().get(name) + + +def get_platform(): + """Return a string that identifies the current platform. + + This is used mainly to distinguish platform-specific build directories and + platform-specific built distributions. Typically includes the OS name + and version and the architecture (as supplied by 'os.uname()'), + although the exact information included depends on the OS; eg. for IRIX + the architecture isn't particularly important (IRIX only runs on SGI + hardware), but for Linux the kernel version isn't particularly + important. + + Examples of returned values: + linux-i586 + linux-alpha (?) + solaris-2.6-sun4u + irix-5.3 + irix64-6.2 + + Windows will return one of: + win-amd64 (64bit Windows on AMD64 (aka x86_64, Intel64, EM64T, etc) + win-ia64 (64bit Windows on Itanium) + win32 (all others - specifically, sys.platform is returned) + + For other non-POSIX platforms, currently just returns 'sys.platform'. + """ + if os.name == 'nt': + # sniff sys.version for architecture. + prefix = " bit (" + i = sys.version.find(prefix) + if i == -1: + return sys.platform + j = sys.version.find(")", i) + look = sys.version[i+len(prefix):j].lower() + if look == 'amd64': + return 'win-amd64' + if look == 'itanium': + return 'win-ia64' + return sys.platform + + if os.name != "posix" or not hasattr(os, 'uname'): + # XXX what about the architecture? NT is Intel or Alpha, + # Mac OS is M68k or PPC, etc. + return sys.platform + + # Try to distinguish various flavours of Unix + osname, host, release, version, machine = os.uname() + + # Convert the OS name to lowercase, remove '/' characters + # (to accommodate BSD/OS), and translate spaces (for "Power Macintosh") + osname = osname.lower().replace('/', '') + machine = machine.replace(' ', '_') + machine = machine.replace('/', '-') + + if osname[:5] == "linux": + # At least on Linux/Intel, 'machine' is the processor -- + # i386, etc. + # XXX what about Alpha, SPARC, etc? + return "%s-%s" % (osname, machine) + elif osname[:5] == "sunos": + if release[0] >= "5": # SunOS 5 == Solaris 2 + osname = "solaris" + release = "%d.%s" % (int(release[0]) - 3, release[2:]) + # fall through to standard osname-release-machine representation + elif osname[:4] == "irix": # could be "irix64"! + return "%s-%s" % (osname, release) + elif osname[:3] == "aix": + return "%s-%s.%s" % (osname, version, release) + elif osname[:6] == "cygwin": + osname = "cygwin" + rel_re = re.compile(r'[\d.]+') + m = rel_re.match(release) + if m: + release = m.group() + elif osname[:6] == "darwin": + # + # For our purposes, we'll assume that the system version from + # distutils' perspective is what MACOSX_DEPLOYMENT_TARGET is set + # to. This makes the compatibility story a bit more sane because the + # machine is going to compile and link as if it were + # MACOSX_DEPLOYMENT_TARGET. + cfgvars = get_config_vars() + macver = cfgvars.get('MACOSX_DEPLOYMENT_TARGET') + + if True: + # Always calculate the release of the running machine, + # needed to determine if we can build fat binaries or not. + + macrelease = macver + # Get the system version. Reading this plist is a documented + # way to get the system version (see the documentation for + # the Gestalt Manager) + try: + f = open('/System/Library/CoreServices/SystemVersion.plist') + except IOError: + # We're on a plain darwin box, fall back to the default + # behaviour. + pass + else: + try: + m = re.search(r'<key>ProductUserVisibleVersion</key>\s*' + r'<string>(.*?)</string>', f.read()) + finally: + f.close() + if m is not None: + macrelease = '.'.join(m.group(1).split('.')[:2]) + # else: fall back to the default behaviour + + if not macver: + macver = macrelease + + if macver: + release = macver + osname = "macosx" + + if ((macrelease + '.') >= '10.4.' and + '-arch' in get_config_vars().get('CFLAGS', '').strip()): + # The universal build will build fat binaries, but not on + # systems before 10.4 + # + # Try to detect 4-way universal builds, those have machine-type + # 'universal' instead of 'fat'. + + machine = 'fat' + cflags = get_config_vars().get('CFLAGS') + + archs = re.findall(r'-arch\s+(\S+)', cflags) + archs = tuple(sorted(set(archs))) + + if len(archs) == 1: + machine = archs[0] + elif archs == ('i386', 'ppc'): + machine = 'fat' + elif archs == ('i386', 'x86_64'): + machine = 'intel' + elif archs == ('i386', 'ppc', 'x86_64'): + machine = 'fat3' + elif archs == ('ppc64', 'x86_64'): + machine = 'fat64' + elif archs == ('i386', 'ppc', 'ppc64', 'x86_64'): + machine = 'universal' + else: + raise ValueError( + "Don't know machine value for archs=%r" % (archs,)) + + elif machine == 'i386': + # On OSX the machine type returned by uname is always the + # 32-bit variant, even if the executable architecture is + # the 64-bit variant + if sys.maxsize >= 2**32: + machine = 'x86_64' + + elif machine in ('PowerPC', 'Power_Macintosh'): + # Pick a sane name for the PPC architecture. + # See 'i386' case + if sys.maxsize >= 2**32: + machine = 'ppc64' + else: + machine = 'ppc' + + return "%s-%s-%s" % (osname, release, machine) + + +def get_python_version(): + return _PY_VERSION_SHORT + + +def _print_dict(title, data): + for index, (key, value) in enumerate(sorted(data.items())): + if index == 0: + print('%s: ' % (title)) + print('\t%s = "%s"' % (key, value)) + + +def _main(): + """Display all information sysconfig detains.""" + print('Platform: "%s"' % get_platform()) + print('Python version: "%s"' % get_python_version()) + print('Current installation scheme: "%s"' % _get_default_scheme()) + print() + _print_dict('Paths', get_paths()) + print() + _print_dict('Variables', get_config_vars()) + + +if __name__ == '__main__': + _main() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/tarfile.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/tarfile.py new file mode 100644 index 0000000..d66d856 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/tarfile.py @@ -0,0 +1,2607 @@ +#------------------------------------------------------------------- +# tarfile.py +#------------------------------------------------------------------- +# Copyright (C) 2002 Lars Gustaebel <lars@gustaebel.de> +# All rights reserved. +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +from __future__ import print_function + +"""Read from and write to tar format archives. +""" + +__version__ = "$Revision$" + +version = "0.9.0" +__author__ = "Lars Gust\u00e4bel (lars@gustaebel.de)" +__date__ = "$Date: 2011-02-25 17:42:01 +0200 (Fri, 25 Feb 2011) $" +__cvsid__ = "$Id: tarfile.py 88586 2011-02-25 15:42:01Z marc-andre.lemburg $" +__credits__ = "Gustavo Niemeyer, Niels Gust\u00e4bel, Richard Townsend." + +#--------- +# Imports +#--------- +import sys +import os +import stat +import errno +import time +import struct +import copy +import re + +try: + import grp, pwd +except ImportError: + grp = pwd = None + +# os.symlink on Windows prior to 6.0 raises NotImplementedError +symlink_exception = (AttributeError, NotImplementedError) +try: + # WindowsError (1314) will be raised if the caller does not hold the + # SeCreateSymbolicLinkPrivilege privilege + symlink_exception += (WindowsError,) +except NameError: + pass + +# from tarfile import * +__all__ = ["TarFile", "TarInfo", "is_tarfile", "TarError"] + +if sys.version_info[0] < 3: + import __builtin__ as builtins +else: + import builtins + +_open = builtins.open # Since 'open' is TarFile.open + +#--------------------------------------------------------- +# tar constants +#--------------------------------------------------------- +NUL = b"\0" # the null character +BLOCKSIZE = 512 # length of processing blocks +RECORDSIZE = BLOCKSIZE * 20 # length of records +GNU_MAGIC = b"ustar \0" # magic gnu tar string +POSIX_MAGIC = b"ustar\x0000" # magic posix tar string + +LENGTH_NAME = 100 # maximum length of a filename +LENGTH_LINK = 100 # maximum length of a linkname +LENGTH_PREFIX = 155 # maximum length of the prefix field + +REGTYPE = b"0" # regular file +AREGTYPE = b"\0" # regular file +LNKTYPE = b"1" # link (inside tarfile) +SYMTYPE = b"2" # symbolic link +CHRTYPE = b"3" # character special device +BLKTYPE = b"4" # block special device +DIRTYPE = b"5" # directory +FIFOTYPE = b"6" # fifo special device +CONTTYPE = b"7" # contiguous file + +GNUTYPE_LONGNAME = b"L" # GNU tar longname +GNUTYPE_LONGLINK = b"K" # GNU tar longlink +GNUTYPE_SPARSE = b"S" # GNU tar sparse file + +XHDTYPE = b"x" # POSIX.1-2001 extended header +XGLTYPE = b"g" # POSIX.1-2001 global header +SOLARIS_XHDTYPE = b"X" # Solaris extended header + +USTAR_FORMAT = 0 # POSIX.1-1988 (ustar) format +GNU_FORMAT = 1 # GNU tar format +PAX_FORMAT = 2 # POSIX.1-2001 (pax) format +DEFAULT_FORMAT = GNU_FORMAT + +#--------------------------------------------------------- +# tarfile constants +#--------------------------------------------------------- +# File types that tarfile supports: +SUPPORTED_TYPES = (REGTYPE, AREGTYPE, LNKTYPE, + SYMTYPE, DIRTYPE, FIFOTYPE, + CONTTYPE, CHRTYPE, BLKTYPE, + GNUTYPE_LONGNAME, GNUTYPE_LONGLINK, + GNUTYPE_SPARSE) + +# File types that will be treated as a regular file. +REGULAR_TYPES = (REGTYPE, AREGTYPE, + CONTTYPE, GNUTYPE_SPARSE) + +# File types that are part of the GNU tar format. +GNU_TYPES = (GNUTYPE_LONGNAME, GNUTYPE_LONGLINK, + GNUTYPE_SPARSE) + +# Fields from a pax header that override a TarInfo attribute. +PAX_FIELDS = ("path", "linkpath", "size", "mtime", + "uid", "gid", "uname", "gname") + +# Fields from a pax header that are affected by hdrcharset. +PAX_NAME_FIELDS = set(("path", "linkpath", "uname", "gname")) + +# Fields in a pax header that are numbers, all other fields +# are treated as strings. +PAX_NUMBER_FIELDS = { + "atime": float, + "ctime": float, + "mtime": float, + "uid": int, + "gid": int, + "size": int +} + +#--------------------------------------------------------- +# Bits used in the mode field, values in octal. +#--------------------------------------------------------- +S_IFLNK = 0o120000 # symbolic link +S_IFREG = 0o100000 # regular file +S_IFBLK = 0o060000 # block device +S_IFDIR = 0o040000 # directory +S_IFCHR = 0o020000 # character device +S_IFIFO = 0o010000 # fifo + +TSUID = 0o4000 # set UID on execution +TSGID = 0o2000 # set GID on execution +TSVTX = 0o1000 # reserved + +TUREAD = 0o400 # read by owner +TUWRITE = 0o200 # write by owner +TUEXEC = 0o100 # execute/search by owner +TGREAD = 0o040 # read by group +TGWRITE = 0o020 # write by group +TGEXEC = 0o010 # execute/search by group +TOREAD = 0o004 # read by other +TOWRITE = 0o002 # write by other +TOEXEC = 0o001 # execute/search by other + +#--------------------------------------------------------- +# initialization +#--------------------------------------------------------- +if os.name in ("nt", "ce"): + ENCODING = "utf-8" +else: + ENCODING = sys.getfilesystemencoding() + +#--------------------------------------------------------- +# Some useful functions +#--------------------------------------------------------- + +def stn(s, length, encoding, errors): + """Convert a string to a null-terminated bytes object. + """ + s = s.encode(encoding, errors) + return s[:length] + (length - len(s)) * NUL + +def nts(s, encoding, errors): + """Convert a null-terminated bytes object to a string. + """ + p = s.find(b"\0") + if p != -1: + s = s[:p] + return s.decode(encoding, errors) + +def nti(s): + """Convert a number field to a python number. + """ + # There are two possible encodings for a number field, see + # itn() below. + if s[0] != chr(0o200): + try: + n = int(nts(s, "ascii", "strict") or "0", 8) + except ValueError: + raise InvalidHeaderError("invalid header") + else: + n = 0 + for i in range(len(s) - 1): + n <<= 8 + n += ord(s[i + 1]) + return n + +def itn(n, digits=8, format=DEFAULT_FORMAT): + """Convert a python number to a number field. + """ + # POSIX 1003.1-1988 requires numbers to be encoded as a string of + # octal digits followed by a null-byte, this allows values up to + # (8**(digits-1))-1. GNU tar allows storing numbers greater than + # that if necessary. A leading 0o200 byte indicates this particular + # encoding, the following digits-1 bytes are a big-endian + # representation. This allows values up to (256**(digits-1))-1. + if 0 <= n < 8 ** (digits - 1): + s = ("%0*o" % (digits - 1, n)).encode("ascii") + NUL + else: + if format != GNU_FORMAT or n >= 256 ** (digits - 1): + raise ValueError("overflow in number field") + + if n < 0: + # XXX We mimic GNU tar's behaviour with negative numbers, + # this could raise OverflowError. + n = struct.unpack("L", struct.pack("l", n))[0] + + s = bytearray() + for i in range(digits - 1): + s.insert(0, n & 0o377) + n >>= 8 + s.insert(0, 0o200) + return s + +def calc_chksums(buf): + """Calculate the checksum for a member's header by summing up all + characters except for the chksum field which is treated as if + it was filled with spaces. According to the GNU tar sources, + some tars (Sun and NeXT) calculate chksum with signed char, + which will be different if there are chars in the buffer with + the high bit set. So we calculate two checksums, unsigned and + signed. + """ + unsigned_chksum = 256 + sum(struct.unpack("148B", buf[:148]) + struct.unpack("356B", buf[156:512])) + signed_chksum = 256 + sum(struct.unpack("148b", buf[:148]) + struct.unpack("356b", buf[156:512])) + return unsigned_chksum, signed_chksum + +def copyfileobj(src, dst, length=None): + """Copy length bytes from fileobj src to fileobj dst. + If length is None, copy the entire content. + """ + if length == 0: + return + if length is None: + while True: + buf = src.read(16*1024) + if not buf: + break + dst.write(buf) + return + + BUFSIZE = 16 * 1024 + blocks, remainder = divmod(length, BUFSIZE) + for b in range(blocks): + buf = src.read(BUFSIZE) + if len(buf) < BUFSIZE: + raise IOError("end of file reached") + dst.write(buf) + + if remainder != 0: + buf = src.read(remainder) + if len(buf) < remainder: + raise IOError("end of file reached") + dst.write(buf) + return + +filemode_table = ( + ((S_IFLNK, "l"), + (S_IFREG, "-"), + (S_IFBLK, "b"), + (S_IFDIR, "d"), + (S_IFCHR, "c"), + (S_IFIFO, "p")), + + ((TUREAD, "r"),), + ((TUWRITE, "w"),), + ((TUEXEC|TSUID, "s"), + (TSUID, "S"), + (TUEXEC, "x")), + + ((TGREAD, "r"),), + ((TGWRITE, "w"),), + ((TGEXEC|TSGID, "s"), + (TSGID, "S"), + (TGEXEC, "x")), + + ((TOREAD, "r"),), + ((TOWRITE, "w"),), + ((TOEXEC|TSVTX, "t"), + (TSVTX, "T"), + (TOEXEC, "x")) +) + +def filemode(mode): + """Convert a file's mode to a string of the form + -rwxrwxrwx. + Used by TarFile.list() + """ + perm = [] + for table in filemode_table: + for bit, char in table: + if mode & bit == bit: + perm.append(char) + break + else: + perm.append("-") + return "".join(perm) + +class TarError(Exception): + """Base exception.""" + pass +class ExtractError(TarError): + """General exception for extract errors.""" + pass +class ReadError(TarError): + """Exception for unreadable tar archives.""" + pass +class CompressionError(TarError): + """Exception for unavailable compression methods.""" + pass +class StreamError(TarError): + """Exception for unsupported operations on stream-like TarFiles.""" + pass +class HeaderError(TarError): + """Base exception for header errors.""" + pass +class EmptyHeaderError(HeaderError): + """Exception for empty headers.""" + pass +class TruncatedHeaderError(HeaderError): + """Exception for truncated headers.""" + pass +class EOFHeaderError(HeaderError): + """Exception for end of file headers.""" + pass +class InvalidHeaderError(HeaderError): + """Exception for invalid headers.""" + pass +class SubsequentHeaderError(HeaderError): + """Exception for missing and invalid extended headers.""" + pass + +#--------------------------- +# internal stream interface +#--------------------------- +class _LowLevelFile(object): + """Low-level file object. Supports reading and writing. + It is used instead of a regular file object for streaming + access. + """ + + def __init__(self, name, mode): + mode = { + "r": os.O_RDONLY, + "w": os.O_WRONLY | os.O_CREAT | os.O_TRUNC, + }[mode] + if hasattr(os, "O_BINARY"): + mode |= os.O_BINARY + self.fd = os.open(name, mode, 0o666) + + def close(self): + os.close(self.fd) + + def read(self, size): + return os.read(self.fd, size) + + def write(self, s): + os.write(self.fd, s) + +class _Stream(object): + """Class that serves as an adapter between TarFile and + a stream-like object. The stream-like object only + needs to have a read() or write() method and is accessed + blockwise. Use of gzip or bzip2 compression is possible. + A stream-like object could be for example: sys.stdin, + sys.stdout, a socket, a tape device etc. + + _Stream is intended to be used only internally. + """ + + def __init__(self, name, mode, comptype, fileobj, bufsize): + """Construct a _Stream object. + """ + self._extfileobj = True + if fileobj is None: + fileobj = _LowLevelFile(name, mode) + self._extfileobj = False + + if comptype == '*': + # Enable transparent compression detection for the + # stream interface + fileobj = _StreamProxy(fileobj) + comptype = fileobj.getcomptype() + + self.name = name or "" + self.mode = mode + self.comptype = comptype + self.fileobj = fileobj + self.bufsize = bufsize + self.buf = b"" + self.pos = 0 + self.closed = False + + try: + if comptype == "gz": + try: + import zlib + except ImportError: + raise CompressionError("zlib module is not available") + self.zlib = zlib + self.crc = zlib.crc32(b"") + if mode == "r": + self._init_read_gz() + else: + self._init_write_gz() + + if comptype == "bz2": + try: + import bz2 + except ImportError: + raise CompressionError("bz2 module is not available") + if mode == "r": + self.dbuf = b"" + self.cmp = bz2.BZ2Decompressor() + else: + self.cmp = bz2.BZ2Compressor() + except: + if not self._extfileobj: + self.fileobj.close() + self.closed = True + raise + + def __del__(self): + if hasattr(self, "closed") and not self.closed: + self.close() + + def _init_write_gz(self): + """Initialize for writing with gzip compression. + """ + self.cmp = self.zlib.compressobj(9, self.zlib.DEFLATED, + -self.zlib.MAX_WBITS, + self.zlib.DEF_MEM_LEVEL, + 0) + timestamp = struct.pack("<L", int(time.time())) + self.__write(b"\037\213\010\010" + timestamp + b"\002\377") + if self.name.endswith(".gz"): + self.name = self.name[:-3] + # RFC1952 says we must use ISO-8859-1 for the FNAME field. + self.__write(self.name.encode("iso-8859-1", "replace") + NUL) + + def write(self, s): + """Write string s to the stream. + """ + if self.comptype == "gz": + self.crc = self.zlib.crc32(s, self.crc) + self.pos += len(s) + if self.comptype != "tar": + s = self.cmp.compress(s) + self.__write(s) + + def __write(self, s): + """Write string s to the stream if a whole new block + is ready to be written. + """ + self.buf += s + while len(self.buf) > self.bufsize: + self.fileobj.write(self.buf[:self.bufsize]) + self.buf = self.buf[self.bufsize:] + + def close(self): + """Close the _Stream object. No operation should be + done on it afterwards. + """ + if self.closed: + return + + if self.mode == "w" and self.comptype != "tar": + self.buf += self.cmp.flush() + + if self.mode == "w" and self.buf: + self.fileobj.write(self.buf) + self.buf = b"" + if self.comptype == "gz": + # The native zlib crc is an unsigned 32-bit integer, but + # the Python wrapper implicitly casts that to a signed C + # long. So, on a 32-bit box self.crc may "look negative", + # while the same crc on a 64-bit box may "look positive". + # To avoid irksome warnings from the `struct` module, force + # it to look positive on all boxes. + self.fileobj.write(struct.pack("<L", self.crc & 0xffffffff)) + self.fileobj.write(struct.pack("<L", self.pos & 0xffffFFFF)) + + if not self._extfileobj: + self.fileobj.close() + + self.closed = True + + def _init_read_gz(self): + """Initialize for reading a gzip compressed fileobj. + """ + self.cmp = self.zlib.decompressobj(-self.zlib.MAX_WBITS) + self.dbuf = b"" + + # taken from gzip.GzipFile with some alterations + if self.__read(2) != b"\037\213": + raise ReadError("not a gzip file") + if self.__read(1) != b"\010": + raise CompressionError("unsupported compression method") + + flag = ord(self.__read(1)) + self.__read(6) + + if flag & 4: + xlen = ord(self.__read(1)) + 256 * ord(self.__read(1)) + self.read(xlen) + if flag & 8: + while True: + s = self.__read(1) + if not s or s == NUL: + break + if flag & 16: + while True: + s = self.__read(1) + if not s or s == NUL: + break + if flag & 2: + self.__read(2) + + def tell(self): + """Return the stream's file pointer position. + """ + return self.pos + + def seek(self, pos=0): + """Set the stream's file pointer to pos. Negative seeking + is forbidden. + """ + if pos - self.pos >= 0: + blocks, remainder = divmod(pos - self.pos, self.bufsize) + for i in range(blocks): + self.read(self.bufsize) + self.read(remainder) + else: + raise StreamError("seeking backwards is not allowed") + return self.pos + + def read(self, size=None): + """Return the next size number of bytes from the stream. + If size is not defined, return all bytes of the stream + up to EOF. + """ + if size is None: + t = [] + while True: + buf = self._read(self.bufsize) + if not buf: + break + t.append(buf) + buf = "".join(t) + else: + buf = self._read(size) + self.pos += len(buf) + return buf + + def _read(self, size): + """Return size bytes from the stream. + """ + if self.comptype == "tar": + return self.__read(size) + + c = len(self.dbuf) + while c < size: + buf = self.__read(self.bufsize) + if not buf: + break + try: + buf = self.cmp.decompress(buf) + except IOError: + raise ReadError("invalid compressed data") + self.dbuf += buf + c += len(buf) + buf = self.dbuf[:size] + self.dbuf = self.dbuf[size:] + return buf + + def __read(self, size): + """Return size bytes from stream. If internal buffer is empty, + read another block from the stream. + """ + c = len(self.buf) + while c < size: + buf = self.fileobj.read(self.bufsize) + if not buf: + break + self.buf += buf + c += len(buf) + buf = self.buf[:size] + self.buf = self.buf[size:] + return buf +# class _Stream + +class _StreamProxy(object): + """Small proxy class that enables transparent compression + detection for the Stream interface (mode 'r|*'). + """ + + def __init__(self, fileobj): + self.fileobj = fileobj + self.buf = self.fileobj.read(BLOCKSIZE) + + def read(self, size): + self.read = self.fileobj.read + return self.buf + + def getcomptype(self): + if self.buf.startswith(b"\037\213\010"): + return "gz" + if self.buf.startswith(b"BZh91"): + return "bz2" + return "tar" + + def close(self): + self.fileobj.close() +# class StreamProxy + +class _BZ2Proxy(object): + """Small proxy class that enables external file object + support for "r:bz2" and "w:bz2" modes. This is actually + a workaround for a limitation in bz2 module's BZ2File + class which (unlike gzip.GzipFile) has no support for + a file object argument. + """ + + blocksize = 16 * 1024 + + def __init__(self, fileobj, mode): + self.fileobj = fileobj + self.mode = mode + self.name = getattr(self.fileobj, "name", None) + self.init() + + def init(self): + import bz2 + self.pos = 0 + if self.mode == "r": + self.bz2obj = bz2.BZ2Decompressor() + self.fileobj.seek(0) + self.buf = b"" + else: + self.bz2obj = bz2.BZ2Compressor() + + def read(self, size): + x = len(self.buf) + while x < size: + raw = self.fileobj.read(self.blocksize) + if not raw: + break + data = self.bz2obj.decompress(raw) + self.buf += data + x += len(data) + + buf = self.buf[:size] + self.buf = self.buf[size:] + self.pos += len(buf) + return buf + + def seek(self, pos): + if pos < self.pos: + self.init() + self.read(pos - self.pos) + + def tell(self): + return self.pos + + def write(self, data): + self.pos += len(data) + raw = self.bz2obj.compress(data) + self.fileobj.write(raw) + + def close(self): + if self.mode == "w": + raw = self.bz2obj.flush() + self.fileobj.write(raw) +# class _BZ2Proxy + +#------------------------ +# Extraction file object +#------------------------ +class _FileInFile(object): + """A thin wrapper around an existing file object that + provides a part of its data as an individual file + object. + """ + + def __init__(self, fileobj, offset, size, blockinfo=None): + self.fileobj = fileobj + self.offset = offset + self.size = size + self.position = 0 + + if blockinfo is None: + blockinfo = [(0, size)] + + # Construct a map with data and zero blocks. + self.map_index = 0 + self.map = [] + lastpos = 0 + realpos = self.offset + for offset, size in blockinfo: + if offset > lastpos: + self.map.append((False, lastpos, offset, None)) + self.map.append((True, offset, offset + size, realpos)) + realpos += size + lastpos = offset + size + if lastpos < self.size: + self.map.append((False, lastpos, self.size, None)) + + def seekable(self): + if not hasattr(self.fileobj, "seekable"): + # XXX gzip.GzipFile and bz2.BZ2File + return True + return self.fileobj.seekable() + + def tell(self): + """Return the current file position. + """ + return self.position + + def seek(self, position): + """Seek to a position in the file. + """ + self.position = position + + def read(self, size=None): + """Read data from the file. + """ + if size is None: + size = self.size - self.position + else: + size = min(size, self.size - self.position) + + buf = b"" + while size > 0: + while True: + data, start, stop, offset = self.map[self.map_index] + if start <= self.position < stop: + break + else: + self.map_index += 1 + if self.map_index == len(self.map): + self.map_index = 0 + length = min(size, stop - self.position) + if data: + self.fileobj.seek(offset + (self.position - start)) + buf += self.fileobj.read(length) + else: + buf += NUL * length + size -= length + self.position += length + return buf +#class _FileInFile + + +class ExFileObject(object): + """File-like object for reading an archive member. + Is returned by TarFile.extractfile(). + """ + blocksize = 1024 + + def __init__(self, tarfile, tarinfo): + self.fileobj = _FileInFile(tarfile.fileobj, + tarinfo.offset_data, + tarinfo.size, + tarinfo.sparse) + self.name = tarinfo.name + self.mode = "r" + self.closed = False + self.size = tarinfo.size + + self.position = 0 + self.buffer = b"" + + def readable(self): + return True + + def writable(self): + return False + + def seekable(self): + return self.fileobj.seekable() + + def read(self, size=None): + """Read at most size bytes from the file. If size is not + present or None, read all data until EOF is reached. + """ + if self.closed: + raise ValueError("I/O operation on closed file") + + buf = b"" + if self.buffer: + if size is None: + buf = self.buffer + self.buffer = b"" + else: + buf = self.buffer[:size] + self.buffer = self.buffer[size:] + + if size is None: + buf += self.fileobj.read() + else: + buf += self.fileobj.read(size - len(buf)) + + self.position += len(buf) + return buf + + # XXX TextIOWrapper uses the read1() method. + read1 = read + + def readline(self, size=-1): + """Read one entire line from the file. If size is present + and non-negative, return a string with at most that + size, which may be an incomplete line. + """ + if self.closed: + raise ValueError("I/O operation on closed file") + + pos = self.buffer.find(b"\n") + 1 + if pos == 0: + # no newline found. + while True: + buf = self.fileobj.read(self.blocksize) + self.buffer += buf + if not buf or b"\n" in buf: + pos = self.buffer.find(b"\n") + 1 + if pos == 0: + # no newline found. + pos = len(self.buffer) + break + + if size != -1: + pos = min(size, pos) + + buf = self.buffer[:pos] + self.buffer = self.buffer[pos:] + self.position += len(buf) + return buf + + def readlines(self): + """Return a list with all remaining lines. + """ + result = [] + while True: + line = self.readline() + if not line: break + result.append(line) + return result + + def tell(self): + """Return the current file position. + """ + if self.closed: + raise ValueError("I/O operation on closed file") + + return self.position + + def seek(self, pos, whence=os.SEEK_SET): + """Seek to a position in the file. + """ + if self.closed: + raise ValueError("I/O operation on closed file") + + if whence == os.SEEK_SET: + self.position = min(max(pos, 0), self.size) + elif whence == os.SEEK_CUR: + if pos < 0: + self.position = max(self.position + pos, 0) + else: + self.position = min(self.position + pos, self.size) + elif whence == os.SEEK_END: + self.position = max(min(self.size + pos, self.size), 0) + else: + raise ValueError("Invalid argument") + + self.buffer = b"" + self.fileobj.seek(self.position) + + def close(self): + """Close the file object. + """ + self.closed = True + + def __iter__(self): + """Get an iterator over the file's lines. + """ + while True: + line = self.readline() + if not line: + break + yield line +#class ExFileObject + +#------------------ +# Exported Classes +#------------------ +class TarInfo(object): + """Informational class which holds the details about an + archive member given by a tar header block. + TarInfo objects are returned by TarFile.getmember(), + TarFile.getmembers() and TarFile.gettarinfo() and are + usually created internally. + """ + + __slots__ = ("name", "mode", "uid", "gid", "size", "mtime", + "chksum", "type", "linkname", "uname", "gname", + "devmajor", "devminor", + "offset", "offset_data", "pax_headers", "sparse", + "tarfile", "_sparse_structs", "_link_target") + + def __init__(self, name=""): + """Construct a TarInfo object. name is the optional name + of the member. + """ + self.name = name # member name + self.mode = 0o644 # file permissions + self.uid = 0 # user id + self.gid = 0 # group id + self.size = 0 # file size + self.mtime = 0 # modification time + self.chksum = 0 # header checksum + self.type = REGTYPE # member type + self.linkname = "" # link name + self.uname = "" # user name + self.gname = "" # group name + self.devmajor = 0 # device major number + self.devminor = 0 # device minor number + + self.offset = 0 # the tar header starts here + self.offset_data = 0 # the file's data starts here + + self.sparse = None # sparse member information + self.pax_headers = {} # pax header information + + # In pax headers the "name" and "linkname" field are called + # "path" and "linkpath". + def _getpath(self): + return self.name + def _setpath(self, name): + self.name = name + path = property(_getpath, _setpath) + + def _getlinkpath(self): + return self.linkname + def _setlinkpath(self, linkname): + self.linkname = linkname + linkpath = property(_getlinkpath, _setlinkpath) + + def __repr__(self): + return "<%s %r at %#x>" % (self.__class__.__name__,self.name,id(self)) + + def get_info(self): + """Return the TarInfo's attributes as a dictionary. + """ + info = { + "name": self.name, + "mode": self.mode & 0o7777, + "uid": self.uid, + "gid": self.gid, + "size": self.size, + "mtime": self.mtime, + "chksum": self.chksum, + "type": self.type, + "linkname": self.linkname, + "uname": self.uname, + "gname": self.gname, + "devmajor": self.devmajor, + "devminor": self.devminor + } + + if info["type"] == DIRTYPE and not info["name"].endswith("/"): + info["name"] += "/" + + return info + + def tobuf(self, format=DEFAULT_FORMAT, encoding=ENCODING, errors="surrogateescape"): + """Return a tar header as a string of 512 byte blocks. + """ + info = self.get_info() + + if format == USTAR_FORMAT: + return self.create_ustar_header(info, encoding, errors) + elif format == GNU_FORMAT: + return self.create_gnu_header(info, encoding, errors) + elif format == PAX_FORMAT: + return self.create_pax_header(info, encoding) + else: + raise ValueError("invalid format") + + def create_ustar_header(self, info, encoding, errors): + """Return the object as a ustar header block. + """ + info["magic"] = POSIX_MAGIC + + if len(info["linkname"]) > LENGTH_LINK: + raise ValueError("linkname is too long") + + if len(info["name"]) > LENGTH_NAME: + info["prefix"], info["name"] = self._posix_split_name(info["name"]) + + return self._create_header(info, USTAR_FORMAT, encoding, errors) + + def create_gnu_header(self, info, encoding, errors): + """Return the object as a GNU header block sequence. + """ + info["magic"] = GNU_MAGIC + + buf = b"" + if len(info["linkname"]) > LENGTH_LINK: + buf += self._create_gnu_long_header(info["linkname"], GNUTYPE_LONGLINK, encoding, errors) + + if len(info["name"]) > LENGTH_NAME: + buf += self._create_gnu_long_header(info["name"], GNUTYPE_LONGNAME, encoding, errors) + + return buf + self._create_header(info, GNU_FORMAT, encoding, errors) + + def create_pax_header(self, info, encoding): + """Return the object as a ustar header block. If it cannot be + represented this way, prepend a pax extended header sequence + with supplement information. + """ + info["magic"] = POSIX_MAGIC + pax_headers = self.pax_headers.copy() + + # Test string fields for values that exceed the field length or cannot + # be represented in ASCII encoding. + for name, hname, length in ( + ("name", "path", LENGTH_NAME), ("linkname", "linkpath", LENGTH_LINK), + ("uname", "uname", 32), ("gname", "gname", 32)): + + if hname in pax_headers: + # The pax header has priority. + continue + + # Try to encode the string as ASCII. + try: + info[name].encode("ascii", "strict") + except UnicodeEncodeError: + pax_headers[hname] = info[name] + continue + + if len(info[name]) > length: + pax_headers[hname] = info[name] + + # Test number fields for values that exceed the field limit or values + # that like to be stored as float. + for name, digits in (("uid", 8), ("gid", 8), ("size", 12), ("mtime", 12)): + if name in pax_headers: + # The pax header has priority. Avoid overflow. + info[name] = 0 + continue + + val = info[name] + if not 0 <= val < 8 ** (digits - 1) or isinstance(val, float): + pax_headers[name] = str(val) + info[name] = 0 + + # Create a pax extended header if necessary. + if pax_headers: + buf = self._create_pax_generic_header(pax_headers, XHDTYPE, encoding) + else: + buf = b"" + + return buf + self._create_header(info, USTAR_FORMAT, "ascii", "replace") + + @classmethod + def create_pax_global_header(cls, pax_headers): + """Return the object as a pax global header block sequence. + """ + return cls._create_pax_generic_header(pax_headers, XGLTYPE, "utf8") + + def _posix_split_name(self, name): + """Split a name longer than 100 chars into a prefix + and a name part. + """ + prefix = name[:LENGTH_PREFIX + 1] + while prefix and prefix[-1] != "/": + prefix = prefix[:-1] + + name = name[len(prefix):] + prefix = prefix[:-1] + + if not prefix or len(name) > LENGTH_NAME: + raise ValueError("name is too long") + return prefix, name + + @staticmethod + def _create_header(info, format, encoding, errors): + """Return a header block. info is a dictionary with file + information, format must be one of the *_FORMAT constants. + """ + parts = [ + stn(info.get("name", ""), 100, encoding, errors), + itn(info.get("mode", 0) & 0o7777, 8, format), + itn(info.get("uid", 0), 8, format), + itn(info.get("gid", 0), 8, format), + itn(info.get("size", 0), 12, format), + itn(info.get("mtime", 0), 12, format), + b" ", # checksum field + info.get("type", REGTYPE), + stn(info.get("linkname", ""), 100, encoding, errors), + info.get("magic", POSIX_MAGIC), + stn(info.get("uname", ""), 32, encoding, errors), + stn(info.get("gname", ""), 32, encoding, errors), + itn(info.get("devmajor", 0), 8, format), + itn(info.get("devminor", 0), 8, format), + stn(info.get("prefix", ""), 155, encoding, errors) + ] + + buf = struct.pack("%ds" % BLOCKSIZE, b"".join(parts)) + chksum = calc_chksums(buf[-BLOCKSIZE:])[0] + buf = buf[:-364] + ("%06o\0" % chksum).encode("ascii") + buf[-357:] + return buf + + @staticmethod + def _create_payload(payload): + """Return the string payload filled with zero bytes + up to the next 512 byte border. + """ + blocks, remainder = divmod(len(payload), BLOCKSIZE) + if remainder > 0: + payload += (BLOCKSIZE - remainder) * NUL + return payload + + @classmethod + def _create_gnu_long_header(cls, name, type, encoding, errors): + """Return a GNUTYPE_LONGNAME or GNUTYPE_LONGLINK sequence + for name. + """ + name = name.encode(encoding, errors) + NUL + + info = {} + info["name"] = "././@LongLink" + info["type"] = type + info["size"] = len(name) + info["magic"] = GNU_MAGIC + + # create extended header + name blocks. + return cls._create_header(info, USTAR_FORMAT, encoding, errors) + \ + cls._create_payload(name) + + @classmethod + def _create_pax_generic_header(cls, pax_headers, type, encoding): + """Return a POSIX.1-2008 extended or global header sequence + that contains a list of keyword, value pairs. The values + must be strings. + """ + # Check if one of the fields contains surrogate characters and thereby + # forces hdrcharset=BINARY, see _proc_pax() for more information. + binary = False + for keyword, value in pax_headers.items(): + try: + value.encode("utf8", "strict") + except UnicodeEncodeError: + binary = True + break + + records = b"" + if binary: + # Put the hdrcharset field at the beginning of the header. + records += b"21 hdrcharset=BINARY\n" + + for keyword, value in pax_headers.items(): + keyword = keyword.encode("utf8") + if binary: + # Try to restore the original byte representation of `value'. + # Needless to say, that the encoding must match the string. + value = value.encode(encoding, "surrogateescape") + else: + value = value.encode("utf8") + + l = len(keyword) + len(value) + 3 # ' ' + '=' + '\n' + n = p = 0 + while True: + n = l + len(str(p)) + if n == p: + break + p = n + records += bytes(str(p), "ascii") + b" " + keyword + b"=" + value + b"\n" + + # We use a hardcoded "././@PaxHeader" name like star does + # instead of the one that POSIX recommends. + info = {} + info["name"] = "././@PaxHeader" + info["type"] = type + info["size"] = len(records) + info["magic"] = POSIX_MAGIC + + # Create pax header + record blocks. + return cls._create_header(info, USTAR_FORMAT, "ascii", "replace") + \ + cls._create_payload(records) + + @classmethod + def frombuf(cls, buf, encoding, errors): + """Construct a TarInfo object from a 512 byte bytes object. + """ + if len(buf) == 0: + raise EmptyHeaderError("empty header") + if len(buf) != BLOCKSIZE: + raise TruncatedHeaderError("truncated header") + if buf.count(NUL) == BLOCKSIZE: + raise EOFHeaderError("end of file header") + + chksum = nti(buf[148:156]) + if chksum not in calc_chksums(buf): + raise InvalidHeaderError("bad checksum") + + obj = cls() + obj.name = nts(buf[0:100], encoding, errors) + obj.mode = nti(buf[100:108]) + obj.uid = nti(buf[108:116]) + obj.gid = nti(buf[116:124]) + obj.size = nti(buf[124:136]) + obj.mtime = nti(buf[136:148]) + obj.chksum = chksum + obj.type = buf[156:157] + obj.linkname = nts(buf[157:257], encoding, errors) + obj.uname = nts(buf[265:297], encoding, errors) + obj.gname = nts(buf[297:329], encoding, errors) + obj.devmajor = nti(buf[329:337]) + obj.devminor = nti(buf[337:345]) + prefix = nts(buf[345:500], encoding, errors) + + # Old V7 tar format represents a directory as a regular + # file with a trailing slash. + if obj.type == AREGTYPE and obj.name.endswith("/"): + obj.type = DIRTYPE + + # The old GNU sparse format occupies some of the unused + # space in the buffer for up to 4 sparse structures. + # Save the them for later processing in _proc_sparse(). + if obj.type == GNUTYPE_SPARSE: + pos = 386 + structs = [] + for i in range(4): + try: + offset = nti(buf[pos:pos + 12]) + numbytes = nti(buf[pos + 12:pos + 24]) + except ValueError: + break + structs.append((offset, numbytes)) + pos += 24 + isextended = bool(buf[482]) + origsize = nti(buf[483:495]) + obj._sparse_structs = (structs, isextended, origsize) + + # Remove redundant slashes from directories. + if obj.isdir(): + obj.name = obj.name.rstrip("/") + + # Reconstruct a ustar longname. + if prefix and obj.type not in GNU_TYPES: + obj.name = prefix + "/" + obj.name + return obj + + @classmethod + def fromtarfile(cls, tarfile): + """Return the next TarInfo object from TarFile object + tarfile. + """ + buf = tarfile.fileobj.read(BLOCKSIZE) + obj = cls.frombuf(buf, tarfile.encoding, tarfile.errors) + obj.offset = tarfile.fileobj.tell() - BLOCKSIZE + return obj._proc_member(tarfile) + + #-------------------------------------------------------------------------- + # The following are methods that are called depending on the type of a + # member. The entry point is _proc_member() which can be overridden in a + # subclass to add custom _proc_*() methods. A _proc_*() method MUST + # implement the following + # operations: + # 1. Set self.offset_data to the position where the data blocks begin, + # if there is data that follows. + # 2. Set tarfile.offset to the position where the next member's header will + # begin. + # 3. Return self or another valid TarInfo object. + def _proc_member(self, tarfile): + """Choose the right processing method depending on + the type and call it. + """ + if self.type in (GNUTYPE_LONGNAME, GNUTYPE_LONGLINK): + return self._proc_gnulong(tarfile) + elif self.type == GNUTYPE_SPARSE: + return self._proc_sparse(tarfile) + elif self.type in (XHDTYPE, XGLTYPE, SOLARIS_XHDTYPE): + return self._proc_pax(tarfile) + else: + return self._proc_builtin(tarfile) + + def _proc_builtin(self, tarfile): + """Process a builtin type or an unknown type which + will be treated as a regular file. + """ + self.offset_data = tarfile.fileobj.tell() + offset = self.offset_data + if self.isreg() or self.type not in SUPPORTED_TYPES: + # Skip the following data blocks. + offset += self._block(self.size) + tarfile.offset = offset + + # Patch the TarInfo object with saved global + # header information. + self._apply_pax_info(tarfile.pax_headers, tarfile.encoding, tarfile.errors) + + return self + + def _proc_gnulong(self, tarfile): + """Process the blocks that hold a GNU longname + or longlink member. + """ + buf = tarfile.fileobj.read(self._block(self.size)) + + # Fetch the next header and process it. + try: + next = self.fromtarfile(tarfile) + except HeaderError: + raise SubsequentHeaderError("missing or bad subsequent header") + + # Patch the TarInfo object from the next header with + # the longname information. + next.offset = self.offset + if self.type == GNUTYPE_LONGNAME: + next.name = nts(buf, tarfile.encoding, tarfile.errors) + elif self.type == GNUTYPE_LONGLINK: + next.linkname = nts(buf, tarfile.encoding, tarfile.errors) + + return next + + def _proc_sparse(self, tarfile): + """Process a GNU sparse header plus extra headers. + """ + # We already collected some sparse structures in frombuf(). + structs, isextended, origsize = self._sparse_structs + del self._sparse_structs + + # Collect sparse structures from extended header blocks. + while isextended: + buf = tarfile.fileobj.read(BLOCKSIZE) + pos = 0 + for i in range(21): + try: + offset = nti(buf[pos:pos + 12]) + numbytes = nti(buf[pos + 12:pos + 24]) + except ValueError: + break + if offset and numbytes: + structs.append((offset, numbytes)) + pos += 24 + isextended = bool(buf[504]) + self.sparse = structs + + self.offset_data = tarfile.fileobj.tell() + tarfile.offset = self.offset_data + self._block(self.size) + self.size = origsize + return self + + def _proc_pax(self, tarfile): + """Process an extended or global header as described in + POSIX.1-2008. + """ + # Read the header information. + buf = tarfile.fileobj.read(self._block(self.size)) + + # A pax header stores supplemental information for either + # the following file (extended) or all following files + # (global). + if self.type == XGLTYPE: + pax_headers = tarfile.pax_headers + else: + pax_headers = tarfile.pax_headers.copy() + + # Check if the pax header contains a hdrcharset field. This tells us + # the encoding of the path, linkpath, uname and gname fields. Normally, + # these fields are UTF-8 encoded but since POSIX.1-2008 tar + # implementations are allowed to store them as raw binary strings if + # the translation to UTF-8 fails. + match = re.search(br"\d+ hdrcharset=([^\n]+)\n", buf) + if match is not None: + pax_headers["hdrcharset"] = match.group(1).decode("utf8") + + # For the time being, we don't care about anything other than "BINARY". + # The only other value that is currently allowed by the standard is + # "ISO-IR 10646 2000 UTF-8" in other words UTF-8. + hdrcharset = pax_headers.get("hdrcharset") + if hdrcharset == "BINARY": + encoding = tarfile.encoding + else: + encoding = "utf8" + + # Parse pax header information. A record looks like that: + # "%d %s=%s\n" % (length, keyword, value). length is the size + # of the complete record including the length field itself and + # the newline. keyword and value are both UTF-8 encoded strings. + regex = re.compile(br"(\d+) ([^=]+)=") + pos = 0 + while True: + match = regex.match(buf, pos) + if not match: + break + + length, keyword = match.groups() + length = int(length) + value = buf[match.end(2) + 1:match.start(1) + length - 1] + + # Normally, we could just use "utf8" as the encoding and "strict" + # as the error handler, but we better not take the risk. For + # example, GNU tar <= 1.23 is known to store filenames it cannot + # translate to UTF-8 as raw strings (unfortunately without a + # hdrcharset=BINARY header). + # We first try the strict standard encoding, and if that fails we + # fall back on the user's encoding and error handler. + keyword = self._decode_pax_field(keyword, "utf8", "utf8", + tarfile.errors) + if keyword in PAX_NAME_FIELDS: + value = self._decode_pax_field(value, encoding, tarfile.encoding, + tarfile.errors) + else: + value = self._decode_pax_field(value, "utf8", "utf8", + tarfile.errors) + + pax_headers[keyword] = value + pos += length + + # Fetch the next header. + try: + next = self.fromtarfile(tarfile) + except HeaderError: + raise SubsequentHeaderError("missing or bad subsequent header") + + # Process GNU sparse information. + if "GNU.sparse.map" in pax_headers: + # GNU extended sparse format version 0.1. + self._proc_gnusparse_01(next, pax_headers) + + elif "GNU.sparse.size" in pax_headers: + # GNU extended sparse format version 0.0. + self._proc_gnusparse_00(next, pax_headers, buf) + + elif pax_headers.get("GNU.sparse.major") == "1" and pax_headers.get("GNU.sparse.minor") == "0": + # GNU extended sparse format version 1.0. + self._proc_gnusparse_10(next, pax_headers, tarfile) + + if self.type in (XHDTYPE, SOLARIS_XHDTYPE): + # Patch the TarInfo object with the extended header info. + next._apply_pax_info(pax_headers, tarfile.encoding, tarfile.errors) + next.offset = self.offset + + if "size" in pax_headers: + # If the extended header replaces the size field, + # we need to recalculate the offset where the next + # header starts. + offset = next.offset_data + if next.isreg() or next.type not in SUPPORTED_TYPES: + offset += next._block(next.size) + tarfile.offset = offset + + return next + + def _proc_gnusparse_00(self, next, pax_headers, buf): + """Process a GNU tar extended sparse header, version 0.0. + """ + offsets = [] + for match in re.finditer(br"\d+ GNU.sparse.offset=(\d+)\n", buf): + offsets.append(int(match.group(1))) + numbytes = [] + for match in re.finditer(br"\d+ GNU.sparse.numbytes=(\d+)\n", buf): + numbytes.append(int(match.group(1))) + next.sparse = list(zip(offsets, numbytes)) + + def _proc_gnusparse_01(self, next, pax_headers): + """Process a GNU tar extended sparse header, version 0.1. + """ + sparse = [int(x) for x in pax_headers["GNU.sparse.map"].split(",")] + next.sparse = list(zip(sparse[::2], sparse[1::2])) + + def _proc_gnusparse_10(self, next, pax_headers, tarfile): + """Process a GNU tar extended sparse header, version 1.0. + """ + fields = None + sparse = [] + buf = tarfile.fileobj.read(BLOCKSIZE) + fields, buf = buf.split(b"\n", 1) + fields = int(fields) + while len(sparse) < fields * 2: + if b"\n" not in buf: + buf += tarfile.fileobj.read(BLOCKSIZE) + number, buf = buf.split(b"\n", 1) + sparse.append(int(number)) + next.offset_data = tarfile.fileobj.tell() + next.sparse = list(zip(sparse[::2], sparse[1::2])) + + def _apply_pax_info(self, pax_headers, encoding, errors): + """Replace fields with supplemental information from a previous + pax extended or global header. + """ + for keyword, value in pax_headers.items(): + if keyword == "GNU.sparse.name": + setattr(self, "path", value) + elif keyword == "GNU.sparse.size": + setattr(self, "size", int(value)) + elif keyword == "GNU.sparse.realsize": + setattr(self, "size", int(value)) + elif keyword in PAX_FIELDS: + if keyword in PAX_NUMBER_FIELDS: + try: + value = PAX_NUMBER_FIELDS[keyword](value) + except ValueError: + value = 0 + if keyword == "path": + value = value.rstrip("/") + setattr(self, keyword, value) + + self.pax_headers = pax_headers.copy() + + def _decode_pax_field(self, value, encoding, fallback_encoding, fallback_errors): + """Decode a single field from a pax record. + """ + try: + return value.decode(encoding, "strict") + except UnicodeDecodeError: + return value.decode(fallback_encoding, fallback_errors) + + def _block(self, count): + """Round up a byte count by BLOCKSIZE and return it, + e.g. _block(834) => 1024. + """ + blocks, remainder = divmod(count, BLOCKSIZE) + if remainder: + blocks += 1 + return blocks * BLOCKSIZE + + def isreg(self): + return self.type in REGULAR_TYPES + def isfile(self): + return self.isreg() + def isdir(self): + return self.type == DIRTYPE + def issym(self): + return self.type == SYMTYPE + def islnk(self): + return self.type == LNKTYPE + def ischr(self): + return self.type == CHRTYPE + def isblk(self): + return self.type == BLKTYPE + def isfifo(self): + return self.type == FIFOTYPE + def issparse(self): + return self.sparse is not None + def isdev(self): + return self.type in (CHRTYPE, BLKTYPE, FIFOTYPE) +# class TarInfo + +class TarFile(object): + """The TarFile Class provides an interface to tar archives. + """ + + debug = 0 # May be set from 0 (no msgs) to 3 (all msgs) + + dereference = False # If true, add content of linked file to the + # tar file, else the link. + + ignore_zeros = False # If true, skips empty or invalid blocks and + # continues processing. + + errorlevel = 1 # If 0, fatal errors only appear in debug + # messages (if debug >= 0). If > 0, errors + # are passed to the caller as exceptions. + + format = DEFAULT_FORMAT # The format to use when creating an archive. + + encoding = ENCODING # Encoding for 8-bit character strings. + + errors = None # Error handler for unicode conversion. + + tarinfo = TarInfo # The default TarInfo class to use. + + fileobject = ExFileObject # The default ExFileObject class to use. + + def __init__(self, name=None, mode="r", fileobj=None, format=None, + tarinfo=None, dereference=None, ignore_zeros=None, encoding=None, + errors="surrogateescape", pax_headers=None, debug=None, errorlevel=None): + """Open an (uncompressed) tar archive `name'. `mode' is either 'r' to + read from an existing archive, 'a' to append data to an existing + file or 'w' to create a new file overwriting an existing one. `mode' + defaults to 'r'. + If `fileobj' is given, it is used for reading or writing data. If it + can be determined, `mode' is overridden by `fileobj's mode. + `fileobj' is not closed, when TarFile is closed. + """ + if len(mode) > 1 or mode not in "raw": + raise ValueError("mode must be 'r', 'a' or 'w'") + self.mode = mode + self._mode = {"r": "rb", "a": "r+b", "w": "wb"}[mode] + + if not fileobj: + if self.mode == "a" and not os.path.exists(name): + # Create nonexistent files in append mode. + self.mode = "w" + self._mode = "wb" + fileobj = bltn_open(name, self._mode) + self._extfileobj = False + else: + if name is None and hasattr(fileobj, "name"): + name = fileobj.name + if hasattr(fileobj, "mode"): + self._mode = fileobj.mode + self._extfileobj = True + self.name = os.path.abspath(name) if name else None + self.fileobj = fileobj + + # Init attributes. + if format is not None: + self.format = format + if tarinfo is not None: + self.tarinfo = tarinfo + if dereference is not None: + self.dereference = dereference + if ignore_zeros is not None: + self.ignore_zeros = ignore_zeros + if encoding is not None: + self.encoding = encoding + self.errors = errors + + if pax_headers is not None and self.format == PAX_FORMAT: + self.pax_headers = pax_headers + else: + self.pax_headers = {} + + if debug is not None: + self.debug = debug + if errorlevel is not None: + self.errorlevel = errorlevel + + # Init datastructures. + self.closed = False + self.members = [] # list of members as TarInfo objects + self._loaded = False # flag if all members have been read + self.offset = self.fileobj.tell() + # current position in the archive file + self.inodes = {} # dictionary caching the inodes of + # archive members already added + + try: + if self.mode == "r": + self.firstmember = None + self.firstmember = self.next() + + if self.mode == "a": + # Move to the end of the archive, + # before the first empty block. + while True: + self.fileobj.seek(self.offset) + try: + tarinfo = self.tarinfo.fromtarfile(self) + self.members.append(tarinfo) + except EOFHeaderError: + self.fileobj.seek(self.offset) + break + except HeaderError as e: + raise ReadError(str(e)) + + if self.mode in "aw": + self._loaded = True + + if self.pax_headers: + buf = self.tarinfo.create_pax_global_header(self.pax_headers.copy()) + self.fileobj.write(buf) + self.offset += len(buf) + except: + if not self._extfileobj: + self.fileobj.close() + self.closed = True + raise + + #-------------------------------------------------------------------------- + # Below are the classmethods which act as alternate constructors to the + # TarFile class. The open() method is the only one that is needed for + # public use; it is the "super"-constructor and is able to select an + # adequate "sub"-constructor for a particular compression using the mapping + # from OPEN_METH. + # + # This concept allows one to subclass TarFile without losing the comfort of + # the super-constructor. A sub-constructor is registered and made available + # by adding it to the mapping in OPEN_METH. + + @classmethod + def open(cls, name=None, mode="r", fileobj=None, bufsize=RECORDSIZE, **kwargs): + """Open a tar archive for reading, writing or appending. Return + an appropriate TarFile class. + + mode: + 'r' or 'r:*' open for reading with transparent compression + 'r:' open for reading exclusively uncompressed + 'r:gz' open for reading with gzip compression + 'r:bz2' open for reading with bzip2 compression + 'a' or 'a:' open for appending, creating the file if necessary + 'w' or 'w:' open for writing without compression + 'w:gz' open for writing with gzip compression + 'w:bz2' open for writing with bzip2 compression + + 'r|*' open a stream of tar blocks with transparent compression + 'r|' open an uncompressed stream of tar blocks for reading + 'r|gz' open a gzip compressed stream of tar blocks + 'r|bz2' open a bzip2 compressed stream of tar blocks + 'w|' open an uncompressed stream for writing + 'w|gz' open a gzip compressed stream for writing + 'w|bz2' open a bzip2 compressed stream for writing + """ + + if not name and not fileobj: + raise ValueError("nothing to open") + + if mode in ("r", "r:*"): + # Find out which *open() is appropriate for opening the file. + for comptype in cls.OPEN_METH: + func = getattr(cls, cls.OPEN_METH[comptype]) + if fileobj is not None: + saved_pos = fileobj.tell() + try: + return func(name, "r", fileobj, **kwargs) + except (ReadError, CompressionError) as e: + if fileobj is not None: + fileobj.seek(saved_pos) + continue + raise ReadError("file could not be opened successfully") + + elif ":" in mode: + filemode, comptype = mode.split(":", 1) + filemode = filemode or "r" + comptype = comptype or "tar" + + # Select the *open() function according to + # given compression. + if comptype in cls.OPEN_METH: + func = getattr(cls, cls.OPEN_METH[comptype]) + else: + raise CompressionError("unknown compression type %r" % comptype) + return func(name, filemode, fileobj, **kwargs) + + elif "|" in mode: + filemode, comptype = mode.split("|", 1) + filemode = filemode or "r" + comptype = comptype or "tar" + + if filemode not in "rw": + raise ValueError("mode must be 'r' or 'w'") + + stream = _Stream(name, filemode, comptype, fileobj, bufsize) + try: + t = cls(name, filemode, stream, **kwargs) + except: + stream.close() + raise + t._extfileobj = False + return t + + elif mode in "aw": + return cls.taropen(name, mode, fileobj, **kwargs) + + raise ValueError("undiscernible mode") + + @classmethod + def taropen(cls, name, mode="r", fileobj=None, **kwargs): + """Open uncompressed tar archive name for reading or writing. + """ + if len(mode) > 1 or mode not in "raw": + raise ValueError("mode must be 'r', 'a' or 'w'") + return cls(name, mode, fileobj, **kwargs) + + @classmethod + def gzopen(cls, name, mode="r", fileobj=None, compresslevel=9, **kwargs): + """Open gzip compressed tar archive name for reading or writing. + Appending is not allowed. + """ + if len(mode) > 1 or mode not in "rw": + raise ValueError("mode must be 'r' or 'w'") + + try: + import gzip + gzip.GzipFile + except (ImportError, AttributeError): + raise CompressionError("gzip module is not available") + + extfileobj = fileobj is not None + try: + fileobj = gzip.GzipFile(name, mode + "b", compresslevel, fileobj) + t = cls.taropen(name, mode, fileobj, **kwargs) + except IOError: + if not extfileobj and fileobj is not None: + fileobj.close() + if fileobj is None: + raise + raise ReadError("not a gzip file") + except: + if not extfileobj and fileobj is not None: + fileobj.close() + raise + t._extfileobj = extfileobj + return t + + @classmethod + def bz2open(cls, name, mode="r", fileobj=None, compresslevel=9, **kwargs): + """Open bzip2 compressed tar archive name for reading or writing. + Appending is not allowed. + """ + if len(mode) > 1 or mode not in "rw": + raise ValueError("mode must be 'r' or 'w'.") + + try: + import bz2 + except ImportError: + raise CompressionError("bz2 module is not available") + + if fileobj is not None: + fileobj = _BZ2Proxy(fileobj, mode) + else: + fileobj = bz2.BZ2File(name, mode, compresslevel=compresslevel) + + try: + t = cls.taropen(name, mode, fileobj, **kwargs) + except (IOError, EOFError): + fileobj.close() + raise ReadError("not a bzip2 file") + t._extfileobj = False + return t + + # All *open() methods are registered here. + OPEN_METH = { + "tar": "taropen", # uncompressed tar + "gz": "gzopen", # gzip compressed tar + "bz2": "bz2open" # bzip2 compressed tar + } + + #-------------------------------------------------------------------------- + # The public methods which TarFile provides: + + def close(self): + """Close the TarFile. In write-mode, two finishing zero blocks are + appended to the archive. + """ + if self.closed: + return + + if self.mode in "aw": + self.fileobj.write(NUL * (BLOCKSIZE * 2)) + self.offset += (BLOCKSIZE * 2) + # fill up the end with zero-blocks + # (like option -b20 for tar does) + blocks, remainder = divmod(self.offset, RECORDSIZE) + if remainder > 0: + self.fileobj.write(NUL * (RECORDSIZE - remainder)) + + if not self._extfileobj: + self.fileobj.close() + self.closed = True + + def getmember(self, name): + """Return a TarInfo object for member `name'. If `name' can not be + found in the archive, KeyError is raised. If a member occurs more + than once in the archive, its last occurrence is assumed to be the + most up-to-date version. + """ + tarinfo = self._getmember(name) + if tarinfo is None: + raise KeyError("filename %r not found" % name) + return tarinfo + + def getmembers(self): + """Return the members of the archive as a list of TarInfo objects. The + list has the same order as the members in the archive. + """ + self._check() + if not self._loaded: # if we want to obtain a list of + self._load() # all members, we first have to + # scan the whole archive. + return self.members + + def getnames(self): + """Return the members of the archive as a list of their names. It has + the same order as the list returned by getmembers(). + """ + return [tarinfo.name for tarinfo in self.getmembers()] + + def gettarinfo(self, name=None, arcname=None, fileobj=None): + """Create a TarInfo object for either the file `name' or the file + object `fileobj' (using os.fstat on its file descriptor). You can + modify some of the TarInfo's attributes before you add it using + addfile(). If given, `arcname' specifies an alternative name for the + file in the archive. + """ + self._check("aw") + + # When fileobj is given, replace name by + # fileobj's real name. + if fileobj is not None: + name = fileobj.name + + # Building the name of the member in the archive. + # Backward slashes are converted to forward slashes, + # Absolute paths are turned to relative paths. + if arcname is None: + arcname = name + drv, arcname = os.path.splitdrive(arcname) + arcname = arcname.replace(os.sep, "/") + arcname = arcname.lstrip("/") + + # Now, fill the TarInfo object with + # information specific for the file. + tarinfo = self.tarinfo() + tarinfo.tarfile = self + + # Use os.stat or os.lstat, depending on platform + # and if symlinks shall be resolved. + if fileobj is None: + if hasattr(os, "lstat") and not self.dereference: + statres = os.lstat(name) + else: + statres = os.stat(name) + else: + statres = os.fstat(fileobj.fileno()) + linkname = "" + + stmd = statres.st_mode + if stat.S_ISREG(stmd): + inode = (statres.st_ino, statres.st_dev) + if not self.dereference and statres.st_nlink > 1 and \ + inode in self.inodes and arcname != self.inodes[inode]: + # Is it a hardlink to an already + # archived file? + type = LNKTYPE + linkname = self.inodes[inode] + else: + # The inode is added only if its valid. + # For win32 it is always 0. + type = REGTYPE + if inode[0]: + self.inodes[inode] = arcname + elif stat.S_ISDIR(stmd): + type = DIRTYPE + elif stat.S_ISFIFO(stmd): + type = FIFOTYPE + elif stat.S_ISLNK(stmd): + type = SYMTYPE + linkname = os.readlink(name) + elif stat.S_ISCHR(stmd): + type = CHRTYPE + elif stat.S_ISBLK(stmd): + type = BLKTYPE + else: + return None + + # Fill the TarInfo object with all + # information we can get. + tarinfo.name = arcname + tarinfo.mode = stmd + tarinfo.uid = statres.st_uid + tarinfo.gid = statres.st_gid + if type == REGTYPE: + tarinfo.size = statres.st_size + else: + tarinfo.size = 0 + tarinfo.mtime = statres.st_mtime + tarinfo.type = type + tarinfo.linkname = linkname + if pwd: + try: + tarinfo.uname = pwd.getpwuid(tarinfo.uid)[0] + except KeyError: + pass + if grp: + try: + tarinfo.gname = grp.getgrgid(tarinfo.gid)[0] + except KeyError: + pass + + if type in (CHRTYPE, BLKTYPE): + if hasattr(os, "major") and hasattr(os, "minor"): + tarinfo.devmajor = os.major(statres.st_rdev) + tarinfo.devminor = os.minor(statres.st_rdev) + return tarinfo + + def list(self, verbose=True): + """Print a table of contents to sys.stdout. If `verbose' is False, only + the names of the members are printed. If it is True, an `ls -l'-like + output is produced. + """ + self._check() + + for tarinfo in self: + if verbose: + print(filemode(tarinfo.mode), end=' ') + print("%s/%s" % (tarinfo.uname or tarinfo.uid, + tarinfo.gname or tarinfo.gid), end=' ') + if tarinfo.ischr() or tarinfo.isblk(): + print("%10s" % ("%d,%d" \ + % (tarinfo.devmajor, tarinfo.devminor)), end=' ') + else: + print("%10d" % tarinfo.size, end=' ') + print("%d-%02d-%02d %02d:%02d:%02d" \ + % time.localtime(tarinfo.mtime)[:6], end=' ') + + print(tarinfo.name + ("/" if tarinfo.isdir() else ""), end=' ') + + if verbose: + if tarinfo.issym(): + print("->", tarinfo.linkname, end=' ') + if tarinfo.islnk(): + print("link to", tarinfo.linkname, end=' ') + print() + + def add(self, name, arcname=None, recursive=True, exclude=None, filter=None): + """Add the file `name' to the archive. `name' may be any type of file + (directory, fifo, symbolic link, etc.). If given, `arcname' + specifies an alternative name for the file in the archive. + Directories are added recursively by default. This can be avoided by + setting `recursive' to False. `exclude' is a function that should + return True for each filename to be excluded. `filter' is a function + that expects a TarInfo object argument and returns the changed + TarInfo object, if it returns None the TarInfo object will be + excluded from the archive. + """ + self._check("aw") + + if arcname is None: + arcname = name + + # Exclude pathnames. + if exclude is not None: + import warnings + warnings.warn("use the filter argument instead", + DeprecationWarning, 2) + if exclude(name): + self._dbg(2, "tarfile: Excluded %r" % name) + return + + # Skip if somebody tries to archive the archive... + if self.name is not None and os.path.abspath(name) == self.name: + self._dbg(2, "tarfile: Skipped %r" % name) + return + + self._dbg(1, name) + + # Create a TarInfo object from the file. + tarinfo = self.gettarinfo(name, arcname) + + if tarinfo is None: + self._dbg(1, "tarfile: Unsupported type %r" % name) + return + + # Change or exclude the TarInfo object. + if filter is not None: + tarinfo = filter(tarinfo) + if tarinfo is None: + self._dbg(2, "tarfile: Excluded %r" % name) + return + + # Append the tar header and data to the archive. + if tarinfo.isreg(): + f = bltn_open(name, "rb") + self.addfile(tarinfo, f) + f.close() + + elif tarinfo.isdir(): + self.addfile(tarinfo) + if recursive: + for f in os.listdir(name): + self.add(os.path.join(name, f), os.path.join(arcname, f), + recursive, exclude, filter=filter) + + else: + self.addfile(tarinfo) + + def addfile(self, tarinfo, fileobj=None): + """Add the TarInfo object `tarinfo' to the archive. If `fileobj' is + given, tarinfo.size bytes are read from it and added to the archive. + You can create TarInfo objects using gettarinfo(). + On Windows platforms, `fileobj' should always be opened with mode + 'rb' to avoid irritation about the file size. + """ + self._check("aw") + + tarinfo = copy.copy(tarinfo) + + buf = tarinfo.tobuf(self.format, self.encoding, self.errors) + self.fileobj.write(buf) + self.offset += len(buf) + + # If there's data to follow, append it. + if fileobj is not None: + copyfileobj(fileobj, self.fileobj, tarinfo.size) + blocks, remainder = divmod(tarinfo.size, BLOCKSIZE) + if remainder > 0: + self.fileobj.write(NUL * (BLOCKSIZE - remainder)) + blocks += 1 + self.offset += blocks * BLOCKSIZE + + self.members.append(tarinfo) + + def extractall(self, path=".", members=None): + """Extract all members from the archive to the current working + directory and set owner, modification time and permissions on + directories afterwards. `path' specifies a different directory + to extract to. `members' is optional and must be a subset of the + list returned by getmembers(). + """ + directories = [] + + if members is None: + members = self + + for tarinfo in members: + if tarinfo.isdir(): + # Extract directories with a safe mode. + directories.append(tarinfo) + tarinfo = copy.copy(tarinfo) + tarinfo.mode = 0o700 + # Do not set_attrs directories, as we will do that further down + self.extract(tarinfo, path, set_attrs=not tarinfo.isdir()) + + # Reverse sort directories. + directories.sort(key=lambda a: a.name) + directories.reverse() + + # Set correct owner, mtime and filemode on directories. + for tarinfo in directories: + dirpath = os.path.join(path, tarinfo.name) + try: + self.chown(tarinfo, dirpath) + self.utime(tarinfo, dirpath) + self.chmod(tarinfo, dirpath) + except ExtractError as e: + if self.errorlevel > 1: + raise + else: + self._dbg(1, "tarfile: %s" % e) + + def extract(self, member, path="", set_attrs=True): + """Extract a member from the archive to the current working directory, + using its full name. Its file information is extracted as accurately + as possible. `member' may be a filename or a TarInfo object. You can + specify a different directory using `path'. File attributes (owner, + mtime, mode) are set unless `set_attrs' is False. + """ + self._check("r") + + if isinstance(member, str): + tarinfo = self.getmember(member) + else: + tarinfo = member + + # Prepare the link target for makelink(). + if tarinfo.islnk(): + tarinfo._link_target = os.path.join(path, tarinfo.linkname) + + try: + self._extract_member(tarinfo, os.path.join(path, tarinfo.name), + set_attrs=set_attrs) + except EnvironmentError as e: + if self.errorlevel > 0: + raise + else: + if e.filename is None: + self._dbg(1, "tarfile: %s" % e.strerror) + else: + self._dbg(1, "tarfile: %s %r" % (e.strerror, e.filename)) + except ExtractError as e: + if self.errorlevel > 1: + raise + else: + self._dbg(1, "tarfile: %s" % e) + + def extractfile(self, member): + """Extract a member from the archive as a file object. `member' may be + a filename or a TarInfo object. If `member' is a regular file, a + file-like object is returned. If `member' is a link, a file-like + object is constructed from the link's target. If `member' is none of + the above, None is returned. + The file-like object is read-only and provides the following + methods: read(), readline(), readlines(), seek() and tell() + """ + self._check("r") + + if isinstance(member, str): + tarinfo = self.getmember(member) + else: + tarinfo = member + + if tarinfo.isreg(): + return self.fileobject(self, tarinfo) + + elif tarinfo.type not in SUPPORTED_TYPES: + # If a member's type is unknown, it is treated as a + # regular file. + return self.fileobject(self, tarinfo) + + elif tarinfo.islnk() or tarinfo.issym(): + if isinstance(self.fileobj, _Stream): + # A small but ugly workaround for the case that someone tries + # to extract a (sym)link as a file-object from a non-seekable + # stream of tar blocks. + raise StreamError("cannot extract (sym)link as file object") + else: + # A (sym)link's file object is its target's file object. + return self.extractfile(self._find_link_target(tarinfo)) + else: + # If there's no data associated with the member (directory, chrdev, + # blkdev, etc.), return None instead of a file object. + return None + + def _extract_member(self, tarinfo, targetpath, set_attrs=True): + """Extract the TarInfo object tarinfo to a physical + file called targetpath. + """ + # Fetch the TarInfo object for the given name + # and build the destination pathname, replacing + # forward slashes to platform specific separators. + targetpath = targetpath.rstrip("/") + targetpath = targetpath.replace("/", os.sep) + + # Create all upper directories. + upperdirs = os.path.dirname(targetpath) + if upperdirs and not os.path.exists(upperdirs): + # Create directories that are not part of the archive with + # default permissions. + os.makedirs(upperdirs) + + if tarinfo.islnk() or tarinfo.issym(): + self._dbg(1, "%s -> %s" % (tarinfo.name, tarinfo.linkname)) + else: + self._dbg(1, tarinfo.name) + + if tarinfo.isreg(): + self.makefile(tarinfo, targetpath) + elif tarinfo.isdir(): + self.makedir(tarinfo, targetpath) + elif tarinfo.isfifo(): + self.makefifo(tarinfo, targetpath) + elif tarinfo.ischr() or tarinfo.isblk(): + self.makedev(tarinfo, targetpath) + elif tarinfo.islnk() or tarinfo.issym(): + self.makelink(tarinfo, targetpath) + elif tarinfo.type not in SUPPORTED_TYPES: + self.makeunknown(tarinfo, targetpath) + else: + self.makefile(tarinfo, targetpath) + + if set_attrs: + self.chown(tarinfo, targetpath) + if not tarinfo.issym(): + self.chmod(tarinfo, targetpath) + self.utime(tarinfo, targetpath) + + #-------------------------------------------------------------------------- + # Below are the different file methods. They are called via + # _extract_member() when extract() is called. They can be replaced in a + # subclass to implement other functionality. + + def makedir(self, tarinfo, targetpath): + """Make a directory called targetpath. + """ + try: + # Use a safe mode for the directory, the real mode is set + # later in _extract_member(). + os.mkdir(targetpath, 0o700) + except EnvironmentError as e: + if e.errno != errno.EEXIST: + raise + + def makefile(self, tarinfo, targetpath): + """Make a file called targetpath. + """ + source = self.fileobj + source.seek(tarinfo.offset_data) + target = bltn_open(targetpath, "wb") + if tarinfo.sparse is not None: + for offset, size in tarinfo.sparse: + target.seek(offset) + copyfileobj(source, target, size) + else: + copyfileobj(source, target, tarinfo.size) + target.seek(tarinfo.size) + target.truncate() + target.close() + + def makeunknown(self, tarinfo, targetpath): + """Make a file from a TarInfo object with an unknown type + at targetpath. + """ + self.makefile(tarinfo, targetpath) + self._dbg(1, "tarfile: Unknown file type %r, " \ + "extracted as regular file." % tarinfo.type) + + def makefifo(self, tarinfo, targetpath): + """Make a fifo called targetpath. + """ + if hasattr(os, "mkfifo"): + os.mkfifo(targetpath) + else: + raise ExtractError("fifo not supported by system") + + def makedev(self, tarinfo, targetpath): + """Make a character or block device called targetpath. + """ + if not hasattr(os, "mknod") or not hasattr(os, "makedev"): + raise ExtractError("special devices not supported by system") + + mode = tarinfo.mode + if tarinfo.isblk(): + mode |= stat.S_IFBLK + else: + mode |= stat.S_IFCHR + + os.mknod(targetpath, mode, + os.makedev(tarinfo.devmajor, tarinfo.devminor)) + + def makelink(self, tarinfo, targetpath): + """Make a (symbolic) link called targetpath. If it cannot be created + (platform limitation), we try to make a copy of the referenced file + instead of a link. + """ + try: + # For systems that support symbolic and hard links. + if tarinfo.issym(): + os.symlink(tarinfo.linkname, targetpath) + else: + # See extract(). + if os.path.exists(tarinfo._link_target): + os.link(tarinfo._link_target, targetpath) + else: + self._extract_member(self._find_link_target(tarinfo), + targetpath) + except symlink_exception: + if tarinfo.issym(): + linkpath = os.path.join(os.path.dirname(tarinfo.name), + tarinfo.linkname) + else: + linkpath = tarinfo.linkname + else: + try: + self._extract_member(self._find_link_target(tarinfo), + targetpath) + except KeyError: + raise ExtractError("unable to resolve link inside archive") + + def chown(self, tarinfo, targetpath): + """Set owner of targetpath according to tarinfo. + """ + if pwd and hasattr(os, "geteuid") and os.geteuid() == 0: + # We have to be root to do so. + try: + g = grp.getgrnam(tarinfo.gname)[2] + except KeyError: + g = tarinfo.gid + try: + u = pwd.getpwnam(tarinfo.uname)[2] + except KeyError: + u = tarinfo.uid + try: + if tarinfo.issym() and hasattr(os, "lchown"): + os.lchown(targetpath, u, g) + else: + if sys.platform != "os2emx": + os.chown(targetpath, u, g) + except EnvironmentError as e: + raise ExtractError("could not change owner") + + def chmod(self, tarinfo, targetpath): + """Set file permissions of targetpath according to tarinfo. + """ + if hasattr(os, 'chmod'): + try: + os.chmod(targetpath, tarinfo.mode) + except EnvironmentError as e: + raise ExtractError("could not change mode") + + def utime(self, tarinfo, targetpath): + """Set modification time of targetpath according to tarinfo. + """ + if not hasattr(os, 'utime'): + return + try: + os.utime(targetpath, (tarinfo.mtime, tarinfo.mtime)) + except EnvironmentError as e: + raise ExtractError("could not change modification time") + + #-------------------------------------------------------------------------- + def next(self): + """Return the next member of the archive as a TarInfo object, when + TarFile is opened for reading. Return None if there is no more + available. + """ + self._check("ra") + if self.firstmember is not None: + m = self.firstmember + self.firstmember = None + return m + + # Read the next block. + self.fileobj.seek(self.offset) + tarinfo = None + while True: + try: + tarinfo = self.tarinfo.fromtarfile(self) + except EOFHeaderError as e: + if self.ignore_zeros: + self._dbg(2, "0x%X: %s" % (self.offset, e)) + self.offset += BLOCKSIZE + continue + except InvalidHeaderError as e: + if self.ignore_zeros: + self._dbg(2, "0x%X: %s" % (self.offset, e)) + self.offset += BLOCKSIZE + continue + elif self.offset == 0: + raise ReadError(str(e)) + except EmptyHeaderError: + if self.offset == 0: + raise ReadError("empty file") + except TruncatedHeaderError as e: + if self.offset == 0: + raise ReadError(str(e)) + except SubsequentHeaderError as e: + raise ReadError(str(e)) + break + + if tarinfo is not None: + self.members.append(tarinfo) + else: + self._loaded = True + + return tarinfo + + #-------------------------------------------------------------------------- + # Little helper methods: + + def _getmember(self, name, tarinfo=None, normalize=False): + """Find an archive member by name from bottom to top. + If tarinfo is given, it is used as the starting point. + """ + # Ensure that all members have been loaded. + members = self.getmembers() + + # Limit the member search list up to tarinfo. + if tarinfo is not None: + members = members[:members.index(tarinfo)] + + if normalize: + name = os.path.normpath(name) + + for member in reversed(members): + if normalize: + member_name = os.path.normpath(member.name) + else: + member_name = member.name + + if name == member_name: + return member + + def _load(self): + """Read through the entire archive file and look for readable + members. + """ + while True: + tarinfo = self.next() + if tarinfo is None: + break + self._loaded = True + + def _check(self, mode=None): + """Check if TarFile is still open, and if the operation's mode + corresponds to TarFile's mode. + """ + if self.closed: + raise IOError("%s is closed" % self.__class__.__name__) + if mode is not None and self.mode not in mode: + raise IOError("bad operation for mode %r" % self.mode) + + def _find_link_target(self, tarinfo): + """Find the target member of a symlink or hardlink member in the + archive. + """ + if tarinfo.issym(): + # Always search the entire archive. + linkname = os.path.dirname(tarinfo.name) + "/" + tarinfo.linkname + limit = None + else: + # Search the archive before the link, because a hard link is + # just a reference to an already archived file. + linkname = tarinfo.linkname + limit = tarinfo + + member = self._getmember(linkname, tarinfo=limit, normalize=True) + if member is None: + raise KeyError("linkname %r not found" % linkname) + return member + + def __iter__(self): + """Provide an iterator object. + """ + if self._loaded: + return iter(self.members) + else: + return TarIter(self) + + def _dbg(self, level, msg): + """Write debugging output to sys.stderr. + """ + if level <= self.debug: + print(msg, file=sys.stderr) + + def __enter__(self): + self._check() + return self + + def __exit__(self, type, value, traceback): + if type is None: + self.close() + else: + # An exception occurred. We must not call close() because + # it would try to write end-of-archive blocks and padding. + if not self._extfileobj: + self.fileobj.close() + self.closed = True +# class TarFile + +class TarIter(object): + """Iterator Class. + + for tarinfo in TarFile(...): + suite... + """ + + def __init__(self, tarfile): + """Construct a TarIter object. + """ + self.tarfile = tarfile + self.index = 0 + def __iter__(self): + """Return iterator object. + """ + return self + + def __next__(self): + """Return the next item using TarFile's next() method. + When all members have been read, set TarFile as _loaded. + """ + # Fix for SF #1100429: Under rare circumstances it can + # happen that getmembers() is called during iteration, + # which will cause TarIter to stop prematurely. + if not self.tarfile._loaded: + tarinfo = self.tarfile.next() + if not tarinfo: + self.tarfile._loaded = True + raise StopIteration + else: + try: + tarinfo = self.tarfile.members[self.index] + except IndexError: + raise StopIteration + self.index += 1 + return tarinfo + + next = __next__ # for Python 2.x + +#-------------------- +# exported functions +#-------------------- +def is_tarfile(name): + """Return True if name points to a tar archive that we + are able to handle, else return False. + """ + try: + t = open(name) + t.close() + return True + except TarError: + return False + +bltn_open = open +open = TarFile.open diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/compat.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/compat.py new file mode 100644 index 0000000..ff328c8 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/compat.py @@ -0,0 +1,1120 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2013-2017 Vinay Sajip. +# Licensed to the Python Software Foundation under a contributor agreement. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +from __future__ import absolute_import + +import os +import re +import sys + +try: + import ssl +except ImportError: # pragma: no cover + ssl = None + +if sys.version_info[0] < 3: # pragma: no cover + from StringIO import StringIO + string_types = basestring, + text_type = unicode + from types import FileType as file_type + import __builtin__ as builtins + import ConfigParser as configparser + from ._backport import shutil + from urlparse import urlparse, urlunparse, urljoin, urlsplit, urlunsplit + from urllib import (urlretrieve, quote as _quote, unquote, url2pathname, + pathname2url, ContentTooShortError, splittype) + + def quote(s): + if isinstance(s, unicode): + s = s.encode('utf-8') + return _quote(s) + + import urllib2 + from urllib2 import (Request, urlopen, URLError, HTTPError, + HTTPBasicAuthHandler, HTTPPasswordMgr, + HTTPHandler, HTTPRedirectHandler, + build_opener) + if ssl: + from urllib2 import HTTPSHandler + import httplib + import xmlrpclib + import Queue as queue + from HTMLParser import HTMLParser + import htmlentitydefs + raw_input = raw_input + from itertools import ifilter as filter + from itertools import ifilterfalse as filterfalse + + _userprog = None + def splituser(host): + """splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'.""" + global _userprog + if _userprog is None: + import re + _userprog = re.compile('^(.*)@(.*)$') + + match = _userprog.match(host) + if match: return match.group(1, 2) + return None, host + +else: # pragma: no cover + from io import StringIO + string_types = str, + text_type = str + from io import TextIOWrapper as file_type + import builtins + import configparser + import shutil + from urllib.parse import (urlparse, urlunparse, urljoin, splituser, quote, + unquote, urlsplit, urlunsplit, splittype) + from urllib.request import (urlopen, urlretrieve, Request, url2pathname, + pathname2url, + HTTPBasicAuthHandler, HTTPPasswordMgr, + HTTPHandler, HTTPRedirectHandler, + build_opener) + if ssl: + from urllib.request import HTTPSHandler + from urllib.error import HTTPError, URLError, ContentTooShortError + import http.client as httplib + import urllib.request as urllib2 + import xmlrpc.client as xmlrpclib + import queue + from html.parser import HTMLParser + import html.entities as htmlentitydefs + raw_input = input + from itertools import filterfalse + filter = filter + +try: + from ssl import match_hostname, CertificateError +except ImportError: # pragma: no cover + class CertificateError(ValueError): + pass + + + def _dnsname_match(dn, hostname, max_wildcards=1): + """Matching according to RFC 6125, section 6.4.3 + + http://tools.ietf.org/html/rfc6125#section-6.4.3 + """ + pats = [] + if not dn: + return False + + parts = dn.split('.') + leftmost, remainder = parts[0], parts[1:] + + wildcards = leftmost.count('*') + if wildcards > max_wildcards: + # Issue #17980: avoid denials of service by refusing more + # than one wildcard per fragment. A survey of established + # policy among SSL implementations showed it to be a + # reasonable choice. + raise CertificateError( + "too many wildcards in certificate DNS name: " + repr(dn)) + + # speed up common case w/o wildcards + if not wildcards: + return dn.lower() == hostname.lower() + + # RFC 6125, section 6.4.3, subitem 1. + # The client SHOULD NOT attempt to match a presented identifier in which + # the wildcard character comprises a label other than the left-most label. + if leftmost == '*': + # When '*' is a fragment by itself, it matches a non-empty dotless + # fragment. + pats.append('[^.]+') + elif leftmost.startswith('xn--') or hostname.startswith('xn--'): + # RFC 6125, section 6.4.3, subitem 3. + # The client SHOULD NOT attempt to match a presented identifier + # where the wildcard character is embedded within an A-label or + # U-label of an internationalized domain name. + pats.append(re.escape(leftmost)) + else: + # Otherwise, '*' matches any dotless string, e.g. www* + pats.append(re.escape(leftmost).replace(r'\*', '[^.]*')) + + # add the remaining fragments, ignore any wildcards + for frag in remainder: + pats.append(re.escape(frag)) + + pat = re.compile(r'\A' + r'\.'.join(pats) + r'\Z', re.IGNORECASE) + return pat.match(hostname) + + + def match_hostname(cert, hostname): + """Verify that *cert* (in decoded format as returned by + SSLSocket.getpeercert()) matches the *hostname*. RFC 2818 and RFC 6125 + rules are followed, but IP addresses are not accepted for *hostname*. + + CertificateError is raised on failure. On success, the function + returns nothing. + """ + if not cert: + raise ValueError("empty or no certificate, match_hostname needs a " + "SSL socket or SSL context with either " + "CERT_OPTIONAL or CERT_REQUIRED") + dnsnames = [] + san = cert.get('subjectAltName', ()) + for key, value in san: + if key == 'DNS': + if _dnsname_match(value, hostname): + return + dnsnames.append(value) + if not dnsnames: + # The subject is only checked when there is no dNSName entry + # in subjectAltName + for sub in cert.get('subject', ()): + for key, value in sub: + # XXX according to RFC 2818, the most specific Common Name + # must be used. + if key == 'commonName': + if _dnsname_match(value, hostname): + return + dnsnames.append(value) + if len(dnsnames) > 1: + raise CertificateError("hostname %r " + "doesn't match either of %s" + % (hostname, ', '.join(map(repr, dnsnames)))) + elif len(dnsnames) == 1: + raise CertificateError("hostname %r " + "doesn't match %r" + % (hostname, dnsnames[0])) + else: + raise CertificateError("no appropriate commonName or " + "subjectAltName fields were found") + + +try: + from types import SimpleNamespace as Container +except ImportError: # pragma: no cover + class Container(object): + """ + A generic container for when multiple values need to be returned + """ + def __init__(self, **kwargs): + self.__dict__.update(kwargs) + + +try: + from shutil import which +except ImportError: # pragma: no cover + # Implementation from Python 3.3 + def which(cmd, mode=os.F_OK | os.X_OK, path=None): + """Given a command, mode, and a PATH string, return the path which + conforms to the given mode on the PATH, or None if there is no such + file. + + `mode` defaults to os.F_OK | os.X_OK. `path` defaults to the result + of os.environ.get("PATH"), or can be overridden with a custom search + path. + + """ + # Check that a given file can be accessed with the correct mode. + # Additionally check that `file` is not a directory, as on Windows + # directories pass the os.access check. + def _access_check(fn, mode): + return (os.path.exists(fn) and os.access(fn, mode) + and not os.path.isdir(fn)) + + # If we're given a path with a directory part, look it up directly rather + # than referring to PATH directories. This includes checking relative to the + # current directory, e.g. ./script + if os.path.dirname(cmd): + if _access_check(cmd, mode): + return cmd + return None + + if path is None: + path = os.environ.get("PATH", os.defpath) + if not path: + return None + path = path.split(os.pathsep) + + if sys.platform == "win32": + # The current directory takes precedence on Windows. + if not os.curdir in path: + path.insert(0, os.curdir) + + # PATHEXT is necessary to check on Windows. + pathext = os.environ.get("PATHEXT", "").split(os.pathsep) + # See if the given file matches any of the expected path extensions. + # This will allow us to short circuit when given "python.exe". + # If it does match, only test that one, otherwise we have to try + # others. + if any(cmd.lower().endswith(ext.lower()) for ext in pathext): + files = [cmd] + else: + files = [cmd + ext for ext in pathext] + else: + # On other platforms you don't have things like PATHEXT to tell you + # what file suffixes are executable, so just pass on cmd as-is. + files = [cmd] + + seen = set() + for dir in path: + normdir = os.path.normcase(dir) + if not normdir in seen: + seen.add(normdir) + for thefile in files: + name = os.path.join(dir, thefile) + if _access_check(name, mode): + return name + return None + + +# ZipFile is a context manager in 2.7, but not in 2.6 + +from zipfile import ZipFile as BaseZipFile + +if hasattr(BaseZipFile, '__enter__'): # pragma: no cover + ZipFile = BaseZipFile +else: # pragma: no cover + from zipfile import ZipExtFile as BaseZipExtFile + + class ZipExtFile(BaseZipExtFile): + def __init__(self, base): + self.__dict__.update(base.__dict__) + + def __enter__(self): + return self + + def __exit__(self, *exc_info): + self.close() + # return None, so if an exception occurred, it will propagate + + class ZipFile(BaseZipFile): + def __enter__(self): + return self + + def __exit__(self, *exc_info): + self.close() + # return None, so if an exception occurred, it will propagate + + def open(self, *args, **kwargs): + base = BaseZipFile.open(self, *args, **kwargs) + return ZipExtFile(base) + +try: + from platform import python_implementation +except ImportError: # pragma: no cover + def python_implementation(): + """Return a string identifying the Python implementation.""" + if 'PyPy' in sys.version: + return 'PyPy' + if os.name == 'java': + return 'Jython' + if sys.version.startswith('IronPython'): + return 'IronPython' + return 'CPython' + +try: + import sysconfig +except ImportError: # pragma: no cover + from ._backport import sysconfig + +try: + callable = callable +except NameError: # pragma: no cover + from collections import Callable + + def callable(obj): + return isinstance(obj, Callable) + + +try: + fsencode = os.fsencode + fsdecode = os.fsdecode +except AttributeError: # pragma: no cover + # Issue #99: on some systems (e.g. containerised), + # sys.getfilesystemencoding() returns None, and we need a real value, + # so fall back to utf-8. From the CPython 2.7 docs relating to Unix and + # sys.getfilesystemencoding(): the return value is "the user’s preference + # according to the result of nl_langinfo(CODESET), or None if the + # nl_langinfo(CODESET) failed." + _fsencoding = sys.getfilesystemencoding() or 'utf-8' + if _fsencoding == 'mbcs': + _fserrors = 'strict' + else: + _fserrors = 'surrogateescape' + + def fsencode(filename): + if isinstance(filename, bytes): + return filename + elif isinstance(filename, text_type): + return filename.encode(_fsencoding, _fserrors) + else: + raise TypeError("expect bytes or str, not %s" % + type(filename).__name__) + + def fsdecode(filename): + if isinstance(filename, text_type): + return filename + elif isinstance(filename, bytes): + return filename.decode(_fsencoding, _fserrors) + else: + raise TypeError("expect bytes or str, not %s" % + type(filename).__name__) + +try: + from tokenize import detect_encoding +except ImportError: # pragma: no cover + from codecs import BOM_UTF8, lookup + import re + + cookie_re = re.compile(r"coding[:=]\s*([-\w.]+)") + + def _get_normal_name(orig_enc): + """Imitates get_normal_name in tokenizer.c.""" + # Only care about the first 12 characters. + enc = orig_enc[:12].lower().replace("_", "-") + if enc == "utf-8" or enc.startswith("utf-8-"): + return "utf-8" + if enc in ("latin-1", "iso-8859-1", "iso-latin-1") or \ + enc.startswith(("latin-1-", "iso-8859-1-", "iso-latin-1-")): + return "iso-8859-1" + return orig_enc + + def detect_encoding(readline): + """ + The detect_encoding() function is used to detect the encoding that should + be used to decode a Python source file. It requires one argument, readline, + in the same way as the tokenize() generator. + + It will call readline a maximum of twice, and return the encoding used + (as a string) and a list of any lines (left as bytes) it has read in. + + It detects the encoding from the presence of a utf-8 bom or an encoding + cookie as specified in pep-0263. If both a bom and a cookie are present, + but disagree, a SyntaxError will be raised. If the encoding cookie is an + invalid charset, raise a SyntaxError. Note that if a utf-8 bom is found, + 'utf-8-sig' is returned. + + If no encoding is specified, then the default of 'utf-8' will be returned. + """ + try: + filename = readline.__self__.name + except AttributeError: + filename = None + bom_found = False + encoding = None + default = 'utf-8' + def read_or_stop(): + try: + return readline() + except StopIteration: + return b'' + + def find_cookie(line): + try: + # Decode as UTF-8. Either the line is an encoding declaration, + # in which case it should be pure ASCII, or it must be UTF-8 + # per default encoding. + line_string = line.decode('utf-8') + except UnicodeDecodeError: + msg = "invalid or missing encoding declaration" + if filename is not None: + msg = '{} for {!r}'.format(msg, filename) + raise SyntaxError(msg) + + matches = cookie_re.findall(line_string) + if not matches: + return None + encoding = _get_normal_name(matches[0]) + try: + codec = lookup(encoding) + except LookupError: + # This behaviour mimics the Python interpreter + if filename is None: + msg = "unknown encoding: " + encoding + else: + msg = "unknown encoding for {!r}: {}".format(filename, + encoding) + raise SyntaxError(msg) + + if bom_found: + if codec.name != 'utf-8': + # This behaviour mimics the Python interpreter + if filename is None: + msg = 'encoding problem: utf-8' + else: + msg = 'encoding problem for {!r}: utf-8'.format(filename) + raise SyntaxError(msg) + encoding += '-sig' + return encoding + + first = read_or_stop() + if first.startswith(BOM_UTF8): + bom_found = True + first = first[3:] + default = 'utf-8-sig' + if not first: + return default, [] + + encoding = find_cookie(first) + if encoding: + return encoding, [first] + + second = read_or_stop() + if not second: + return default, [first] + + encoding = find_cookie(second) + if encoding: + return encoding, [first, second] + + return default, [first, second] + +# For converting & <-> & etc. +try: + from html import escape +except ImportError: + from cgi import escape +if sys.version_info[:2] < (3, 4): + unescape = HTMLParser().unescape +else: + from html import unescape + +try: + from collections import ChainMap +except ImportError: # pragma: no cover + from collections import MutableMapping + + try: + from reprlib import recursive_repr as _recursive_repr + except ImportError: + def _recursive_repr(fillvalue='...'): + ''' + Decorator to make a repr function return fillvalue for a recursive + call + ''' + + def decorating_function(user_function): + repr_running = set() + + def wrapper(self): + key = id(self), get_ident() + if key in repr_running: + return fillvalue + repr_running.add(key) + try: + result = user_function(self) + finally: + repr_running.discard(key) + return result + + # Can't use functools.wraps() here because of bootstrap issues + wrapper.__module__ = getattr(user_function, '__module__') + wrapper.__doc__ = getattr(user_function, '__doc__') + wrapper.__name__ = getattr(user_function, '__name__') + wrapper.__annotations__ = getattr(user_function, '__annotations__', {}) + return wrapper + + return decorating_function + + class ChainMap(MutableMapping): + ''' A ChainMap groups multiple dicts (or other mappings) together + to create a single, updateable view. + + The underlying mappings are stored in a list. That list is public and can + accessed or updated using the *maps* attribute. There is no other state. + + Lookups search the underlying mappings successively until a key is found. + In contrast, writes, updates, and deletions only operate on the first + mapping. + + ''' + + def __init__(self, *maps): + '''Initialize a ChainMap by setting *maps* to the given mappings. + If no mappings are provided, a single empty dictionary is used. + + ''' + self.maps = list(maps) or [{}] # always at least one map + + def __missing__(self, key): + raise KeyError(key) + + def __getitem__(self, key): + for mapping in self.maps: + try: + return mapping[key] # can't use 'key in mapping' with defaultdict + except KeyError: + pass + return self.__missing__(key) # support subclasses that define __missing__ + + def get(self, key, default=None): + return self[key] if key in self else default + + def __len__(self): + return len(set().union(*self.maps)) # reuses stored hash values if possible + + def __iter__(self): + return iter(set().union(*self.maps)) + + def __contains__(self, key): + return any(key in m for m in self.maps) + + def __bool__(self): + return any(self.maps) + + @_recursive_repr() + def __repr__(self): + return '{0.__class__.__name__}({1})'.format( + self, ', '.join(map(repr, self.maps))) + + @classmethod + def fromkeys(cls, iterable, *args): + 'Create a ChainMap with a single dict created from the iterable.' + return cls(dict.fromkeys(iterable, *args)) + + def copy(self): + 'New ChainMap or subclass with a new copy of maps[0] and refs to maps[1:]' + return self.__class__(self.maps[0].copy(), *self.maps[1:]) + + __copy__ = copy + + def new_child(self): # like Django's Context.push() + 'New ChainMap with a new dict followed by all previous maps.' + return self.__class__({}, *self.maps) + + @property + def parents(self): # like Django's Context.pop() + 'New ChainMap from maps[1:].' + return self.__class__(*self.maps[1:]) + + def __setitem__(self, key, value): + self.maps[0][key] = value + + def __delitem__(self, key): + try: + del self.maps[0][key] + except KeyError: + raise KeyError('Key not found in the first mapping: {!r}'.format(key)) + + def popitem(self): + 'Remove and return an item pair from maps[0]. Raise KeyError is maps[0] is empty.' + try: + return self.maps[0].popitem() + except KeyError: + raise KeyError('No keys found in the first mapping.') + + def pop(self, key, *args): + 'Remove *key* from maps[0] and return its value. Raise KeyError if *key* not in maps[0].' + try: + return self.maps[0].pop(key, *args) + except KeyError: + raise KeyError('Key not found in the first mapping: {!r}'.format(key)) + + def clear(self): + 'Clear maps[0], leaving maps[1:] intact.' + self.maps[0].clear() + +try: + from importlib.util import cache_from_source # Python >= 3.4 +except ImportError: # pragma: no cover + try: + from imp import cache_from_source + except ImportError: # pragma: no cover + def cache_from_source(path, debug_override=None): + assert path.endswith('.py') + if debug_override is None: + debug_override = __debug__ + if debug_override: + suffix = 'c' + else: + suffix = 'o' + return path + suffix + +try: + from collections import OrderedDict +except ImportError: # pragma: no cover +## {{{ http://code.activestate.com/recipes/576693/ (r9) +# Backport of OrderedDict() class that runs on Python 2.4, 2.5, 2.6, 2.7 and pypy. +# Passes Python2.7's test suite and incorporates all the latest updates. + try: + from thread import get_ident as _get_ident + except ImportError: + from dummy_thread import get_ident as _get_ident + + try: + from _abcoll import KeysView, ValuesView, ItemsView + except ImportError: + pass + + + class OrderedDict(dict): + 'Dictionary that remembers insertion order' + # An inherited dict maps keys to values. + # The inherited dict provides __getitem__, __len__, __contains__, and get. + # The remaining methods are order-aware. + # Big-O running times for all methods are the same as for regular dictionaries. + + # The internal self.__map dictionary maps keys to links in a doubly linked list. + # The circular doubly linked list starts and ends with a sentinel element. + # The sentinel element never gets deleted (this simplifies the algorithm). + # Each link is stored as a list of length three: [PREV, NEXT, KEY]. + + def __init__(self, *args, **kwds): + '''Initialize an ordered dictionary. Signature is the same as for + regular dictionaries, but keyword arguments are not recommended + because their insertion order is arbitrary. + + ''' + if len(args) > 1: + raise TypeError('expected at most 1 arguments, got %d' % len(args)) + try: + self.__root + except AttributeError: + self.__root = root = [] # sentinel node + root[:] = [root, root, None] + self.__map = {} + self.__update(*args, **kwds) + + def __setitem__(self, key, value, dict_setitem=dict.__setitem__): + 'od.__setitem__(i, y) <==> od[i]=y' + # Setting a new item creates a new link which goes at the end of the linked + # list, and the inherited dictionary is updated with the new key/value pair. + if key not in self: + root = self.__root + last = root[0] + last[1] = root[0] = self.__map[key] = [last, root, key] + dict_setitem(self, key, value) + + def __delitem__(self, key, dict_delitem=dict.__delitem__): + 'od.__delitem__(y) <==> del od[y]' + # Deleting an existing item uses self.__map to find the link which is + # then removed by updating the links in the predecessor and successor nodes. + dict_delitem(self, key) + link_prev, link_next, key = self.__map.pop(key) + link_prev[1] = link_next + link_next[0] = link_prev + + def __iter__(self): + 'od.__iter__() <==> iter(od)' + root = self.__root + curr = root[1] + while curr is not root: + yield curr[2] + curr = curr[1] + + def __reversed__(self): + 'od.__reversed__() <==> reversed(od)' + root = self.__root + curr = root[0] + while curr is not root: + yield curr[2] + curr = curr[0] + + def clear(self): + 'od.clear() -> None. Remove all items from od.' + try: + for node in self.__map.itervalues(): + del node[:] + root = self.__root + root[:] = [root, root, None] + self.__map.clear() + except AttributeError: + pass + dict.clear(self) + + def popitem(self, last=True): + '''od.popitem() -> (k, v), return and remove a (key, value) pair. + Pairs are returned in LIFO order if last is true or FIFO order if false. + + ''' + if not self: + raise KeyError('dictionary is empty') + root = self.__root + if last: + link = root[0] + link_prev = link[0] + link_prev[1] = root + root[0] = link_prev + else: + link = root[1] + link_next = link[1] + root[1] = link_next + link_next[0] = root + key = link[2] + del self.__map[key] + value = dict.pop(self, key) + return key, value + + # -- the following methods do not depend on the internal structure -- + + def keys(self): + 'od.keys() -> list of keys in od' + return list(self) + + def values(self): + 'od.values() -> list of values in od' + return [self[key] for key in self] + + def items(self): + 'od.items() -> list of (key, value) pairs in od' + return [(key, self[key]) for key in self] + + def iterkeys(self): + 'od.iterkeys() -> an iterator over the keys in od' + return iter(self) + + def itervalues(self): + 'od.itervalues -> an iterator over the values in od' + for k in self: + yield self[k] + + def iteritems(self): + 'od.iteritems -> an iterator over the (key, value) items in od' + for k in self: + yield (k, self[k]) + + def update(*args, **kwds): + '''od.update(E, **F) -> None. Update od from dict/iterable E and F. + + If E is a dict instance, does: for k in E: od[k] = E[k] + If E has a .keys() method, does: for k in E.keys(): od[k] = E[k] + Or if E is an iterable of items, does: for k, v in E: od[k] = v + In either case, this is followed by: for k, v in F.items(): od[k] = v + + ''' + if len(args) > 2: + raise TypeError('update() takes at most 2 positional ' + 'arguments (%d given)' % (len(args),)) + elif not args: + raise TypeError('update() takes at least 1 argument (0 given)') + self = args[0] + # Make progressively weaker assumptions about "other" + other = () + if len(args) == 2: + other = args[1] + if isinstance(other, dict): + for key in other: + self[key] = other[key] + elif hasattr(other, 'keys'): + for key in other.keys(): + self[key] = other[key] + else: + for key, value in other: + self[key] = value + for key, value in kwds.items(): + self[key] = value + + __update = update # let subclasses override update without breaking __init__ + + __marker = object() + + def pop(self, key, default=__marker): + '''od.pop(k[,d]) -> v, remove specified key and return the corresponding value. + If key is not found, d is returned if given, otherwise KeyError is raised. + + ''' + if key in self: + result = self[key] + del self[key] + return result + if default is self.__marker: + raise KeyError(key) + return default + + def setdefault(self, key, default=None): + 'od.setdefault(k[,d]) -> od.get(k,d), also set od[k]=d if k not in od' + if key in self: + return self[key] + self[key] = default + return default + + def __repr__(self, _repr_running=None): + 'od.__repr__() <==> repr(od)' + if not _repr_running: _repr_running = {} + call_key = id(self), _get_ident() + if call_key in _repr_running: + return '...' + _repr_running[call_key] = 1 + try: + if not self: + return '%s()' % (self.__class__.__name__,) + return '%s(%r)' % (self.__class__.__name__, self.items()) + finally: + del _repr_running[call_key] + + def __reduce__(self): + 'Return state information for pickling' + items = [[k, self[k]] for k in self] + inst_dict = vars(self).copy() + for k in vars(OrderedDict()): + inst_dict.pop(k, None) + if inst_dict: + return (self.__class__, (items,), inst_dict) + return self.__class__, (items,) + + def copy(self): + 'od.copy() -> a shallow copy of od' + return self.__class__(self) + + @classmethod + def fromkeys(cls, iterable, value=None): + '''OD.fromkeys(S[, v]) -> New ordered dictionary with keys from S + and values equal to v (which defaults to None). + + ''' + d = cls() + for key in iterable: + d[key] = value + return d + + def __eq__(self, other): + '''od.__eq__(y) <==> od==y. Comparison to another OD is order-sensitive + while comparison to a regular mapping is order-insensitive. + + ''' + if isinstance(other, OrderedDict): + return len(self)==len(other) and self.items() == other.items() + return dict.__eq__(self, other) + + def __ne__(self, other): + return not self == other + + # -- the following methods are only used in Python 2.7 -- + + def viewkeys(self): + "od.viewkeys() -> a set-like object providing a view on od's keys" + return KeysView(self) + + def viewvalues(self): + "od.viewvalues() -> an object providing a view on od's values" + return ValuesView(self) + + def viewitems(self): + "od.viewitems() -> a set-like object providing a view on od's items" + return ItemsView(self) + +try: + from logging.config import BaseConfigurator, valid_ident +except ImportError: # pragma: no cover + IDENTIFIER = re.compile('^[a-z_][a-z0-9_]*$', re.I) + + + def valid_ident(s): + m = IDENTIFIER.match(s) + if not m: + raise ValueError('Not a valid Python identifier: %r' % s) + return True + + + # The ConvertingXXX classes are wrappers around standard Python containers, + # and they serve to convert any suitable values in the container. The + # conversion converts base dicts, lists and tuples to their wrapped + # equivalents, whereas strings which match a conversion format are converted + # appropriately. + # + # Each wrapper should have a configurator attribute holding the actual + # configurator to use for conversion. + + class ConvertingDict(dict): + """A converting dictionary wrapper.""" + + def __getitem__(self, key): + value = dict.__getitem__(self, key) + result = self.configurator.convert(value) + #If the converted value is different, save for next time + if value is not result: + self[key] = result + if type(result) in (ConvertingDict, ConvertingList, + ConvertingTuple): + result.parent = self + result.key = key + return result + + def get(self, key, default=None): + value = dict.get(self, key, default) + result = self.configurator.convert(value) + #If the converted value is different, save for next time + if value is not result: + self[key] = result + if type(result) in (ConvertingDict, ConvertingList, + ConvertingTuple): + result.parent = self + result.key = key + return result + + def pop(self, key, default=None): + value = dict.pop(self, key, default) + result = self.configurator.convert(value) + if value is not result: + if type(result) in (ConvertingDict, ConvertingList, + ConvertingTuple): + result.parent = self + result.key = key + return result + + class ConvertingList(list): + """A converting list wrapper.""" + def __getitem__(self, key): + value = list.__getitem__(self, key) + result = self.configurator.convert(value) + #If the converted value is different, save for next time + if value is not result: + self[key] = result + if type(result) in (ConvertingDict, ConvertingList, + ConvertingTuple): + result.parent = self + result.key = key + return result + + def pop(self, idx=-1): + value = list.pop(self, idx) + result = self.configurator.convert(value) + if value is not result: + if type(result) in (ConvertingDict, ConvertingList, + ConvertingTuple): + result.parent = self + return result + + class ConvertingTuple(tuple): + """A converting tuple wrapper.""" + def __getitem__(self, key): + value = tuple.__getitem__(self, key) + result = self.configurator.convert(value) + if value is not result: + if type(result) in (ConvertingDict, ConvertingList, + ConvertingTuple): + result.parent = self + result.key = key + return result + + class BaseConfigurator(object): + """ + The configurator base class which defines some useful defaults. + """ + + CONVERT_PATTERN = re.compile(r'^(?P<prefix>[a-z]+)://(?P<suffix>.*)$') + + WORD_PATTERN = re.compile(r'^\s*(\w+)\s*') + DOT_PATTERN = re.compile(r'^\.\s*(\w+)\s*') + INDEX_PATTERN = re.compile(r'^\[\s*(\w+)\s*\]\s*') + DIGIT_PATTERN = re.compile(r'^\d+$') + + value_converters = { + 'ext' : 'ext_convert', + 'cfg' : 'cfg_convert', + } + + # We might want to use a different one, e.g. importlib + importer = staticmethod(__import__) + + def __init__(self, config): + self.config = ConvertingDict(config) + self.config.configurator = self + + def resolve(self, s): + """ + Resolve strings to objects using standard import and attribute + syntax. + """ + name = s.split('.') + used = name.pop(0) + try: + found = self.importer(used) + for frag in name: + used += '.' + frag + try: + found = getattr(found, frag) + except AttributeError: + self.importer(used) + found = getattr(found, frag) + return found + except ImportError: + e, tb = sys.exc_info()[1:] + v = ValueError('Cannot resolve %r: %s' % (s, e)) + v.__cause__, v.__traceback__ = e, tb + raise v + + def ext_convert(self, value): + """Default converter for the ext:// protocol.""" + return self.resolve(value) + + def cfg_convert(self, value): + """Default converter for the cfg:// protocol.""" + rest = value + m = self.WORD_PATTERN.match(rest) + if m is None: + raise ValueError("Unable to convert %r" % value) + else: + rest = rest[m.end():] + d = self.config[m.groups()[0]] + #print d, rest + while rest: + m = self.DOT_PATTERN.match(rest) + if m: + d = d[m.groups()[0]] + else: + m = self.INDEX_PATTERN.match(rest) + if m: + idx = m.groups()[0] + if not self.DIGIT_PATTERN.match(idx): + d = d[idx] + else: + try: + n = int(idx) # try as number first (most likely) + d = d[n] + except TypeError: + d = d[idx] + if m: + rest = rest[m.end():] + else: + raise ValueError('Unable to convert ' + '%r at %r' % (value, rest)) + #rest should be empty + return d + + def convert(self, value): + """ + Convert values to an appropriate type. dicts, lists and tuples are + replaced by their converting alternatives. Strings are checked to + see if they have a conversion format and are converted if they do. + """ + if not isinstance(value, ConvertingDict) and isinstance(value, dict): + value = ConvertingDict(value) + value.configurator = self + elif not isinstance(value, ConvertingList) and isinstance(value, list): + value = ConvertingList(value) + value.configurator = self + elif not isinstance(value, ConvertingTuple) and\ + isinstance(value, tuple): + value = ConvertingTuple(value) + value.configurator = self + elif isinstance(value, string_types): + m = self.CONVERT_PATTERN.match(value) + if m: + d = m.groupdict() + prefix = d['prefix'] + converter = self.value_converters.get(prefix, None) + if converter: + suffix = d['suffix'] + converter = getattr(self, converter) + value = converter(suffix) + return value + + def configure_custom(self, config): + """Configure an object with a user-supplied factory.""" + c = config.pop('()') + if not callable(c): + c = self.resolve(c) + props = config.pop('.', None) + # Check for valid identifiers + kwargs = dict([(k, config[k]) for k in config if valid_ident(k)]) + result = c(**kwargs) + if props: + for name, value in props.items(): + setattr(result, name, value) + return result + + def as_tuple(self, value): + """Utility function which converts lists to tuples.""" + if isinstance(value, list): + value = tuple(value) + return value diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/database.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/database.py new file mode 100644 index 0000000..b13cdac --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/database.py @@ -0,0 +1,1339 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012-2017 The Python Software Foundation. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +"""PEP 376 implementation.""" + +from __future__ import unicode_literals + +import base64 +import codecs +import contextlib +import hashlib +import logging +import os +import posixpath +import sys +import zipimport + +from . import DistlibException, resources +from .compat import StringIO +from .version import get_scheme, UnsupportedVersionError +from .metadata import (Metadata, METADATA_FILENAME, WHEEL_METADATA_FILENAME, + LEGACY_METADATA_FILENAME) +from .util import (parse_requirement, cached_property, parse_name_and_version, + read_exports, write_exports, CSVReader, CSVWriter) + + +__all__ = ['Distribution', 'BaseInstalledDistribution', + 'InstalledDistribution', 'EggInfoDistribution', + 'DistributionPath'] + + +logger = logging.getLogger(__name__) + +EXPORTS_FILENAME = 'pydist-exports.json' +COMMANDS_FILENAME = 'pydist-commands.json' + +DIST_FILES = ('INSTALLER', METADATA_FILENAME, 'RECORD', 'REQUESTED', + 'RESOURCES', EXPORTS_FILENAME, 'SHARED') + +DISTINFO_EXT = '.dist-info' + + +class _Cache(object): + """ + A simple cache mapping names and .dist-info paths to distributions + """ + def __init__(self): + """ + Initialise an instance. There is normally one for each DistributionPath. + """ + self.name = {} + self.path = {} + self.generated = False + + def clear(self): + """ + Clear the cache, setting it to its initial state. + """ + self.name.clear() + self.path.clear() + self.generated = False + + def add(self, dist): + """ + Add a distribution to the cache. + :param dist: The distribution to add. + """ + if dist.path not in self.path: + self.path[dist.path] = dist + self.name.setdefault(dist.key, []).append(dist) + + +class DistributionPath(object): + """ + Represents a set of distributions installed on a path (typically sys.path). + """ + def __init__(self, path=None, include_egg=False): + """ + Create an instance from a path, optionally including legacy (distutils/ + setuptools/distribute) distributions. + :param path: The path to use, as a list of directories. If not specified, + sys.path is used. + :param include_egg: If True, this instance will look for and return legacy + distributions as well as those based on PEP 376. + """ + if path is None: + path = sys.path + self.path = path + self._include_dist = True + self._include_egg = include_egg + + self._cache = _Cache() + self._cache_egg = _Cache() + self._cache_enabled = True + self._scheme = get_scheme('default') + + def _get_cache_enabled(self): + return self._cache_enabled + + def _set_cache_enabled(self, value): + self._cache_enabled = value + + cache_enabled = property(_get_cache_enabled, _set_cache_enabled) + + def clear_cache(self): + """ + Clears the internal cache. + """ + self._cache.clear() + self._cache_egg.clear() + + + def _yield_distributions(self): + """ + Yield .dist-info and/or .egg(-info) distributions. + """ + # We need to check if we've seen some resources already, because on + # some Linux systems (e.g. some Debian/Ubuntu variants) there are + # symlinks which alias other files in the environment. + seen = set() + for path in self.path: + finder = resources.finder_for_path(path) + if finder is None: + continue + r = finder.find('') + if not r or not r.is_container: + continue + rset = sorted(r.resources) + for entry in rset: + r = finder.find(entry) + if not r or r.path in seen: + continue + if self._include_dist and entry.endswith(DISTINFO_EXT): + possible_filenames = [METADATA_FILENAME, + WHEEL_METADATA_FILENAME, + LEGACY_METADATA_FILENAME] + for metadata_filename in possible_filenames: + metadata_path = posixpath.join(entry, metadata_filename) + pydist = finder.find(metadata_path) + if pydist: + break + else: + continue + + with contextlib.closing(pydist.as_stream()) as stream: + metadata = Metadata(fileobj=stream, scheme='legacy') + logger.debug('Found %s', r.path) + seen.add(r.path) + yield new_dist_class(r.path, metadata=metadata, + env=self) + elif self._include_egg and entry.endswith(('.egg-info', + '.egg')): + logger.debug('Found %s', r.path) + seen.add(r.path) + yield old_dist_class(r.path, self) + + def _generate_cache(self): + """ + Scan the path for distributions and populate the cache with + those that are found. + """ + gen_dist = not self._cache.generated + gen_egg = self._include_egg and not self._cache_egg.generated + if gen_dist or gen_egg: + for dist in self._yield_distributions(): + if isinstance(dist, InstalledDistribution): + self._cache.add(dist) + else: + self._cache_egg.add(dist) + + if gen_dist: + self._cache.generated = True + if gen_egg: + self._cache_egg.generated = True + + @classmethod + def distinfo_dirname(cls, name, version): + """ + The *name* and *version* parameters are converted into their + filename-escaped form, i.e. any ``'-'`` characters are replaced + with ``'_'`` other than the one in ``'dist-info'`` and the one + separating the name from the version number. + + :parameter name: is converted to a standard distribution name by replacing + any runs of non- alphanumeric characters with a single + ``'-'``. + :type name: string + :parameter version: is converted to a standard version string. Spaces + become dots, and all other non-alphanumeric characters + (except dots) become dashes, with runs of multiple + dashes condensed to a single dash. + :type version: string + :returns: directory name + :rtype: string""" + name = name.replace('-', '_') + return '-'.join([name, version]) + DISTINFO_EXT + + def get_distributions(self): + """ + Provides an iterator that looks for distributions and returns + :class:`InstalledDistribution` or + :class:`EggInfoDistribution` instances for each one of them. + + :rtype: iterator of :class:`InstalledDistribution` and + :class:`EggInfoDistribution` instances + """ + if not self._cache_enabled: + for dist in self._yield_distributions(): + yield dist + else: + self._generate_cache() + + for dist in self._cache.path.values(): + yield dist + + if self._include_egg: + for dist in self._cache_egg.path.values(): + yield dist + + def get_distribution(self, name): + """ + Looks for a named distribution on the path. + + This function only returns the first result found, as no more than one + value is expected. If nothing is found, ``None`` is returned. + + :rtype: :class:`InstalledDistribution`, :class:`EggInfoDistribution` + or ``None`` + """ + result = None + name = name.lower() + if not self._cache_enabled: + for dist in self._yield_distributions(): + if dist.key == name: + result = dist + break + else: + self._generate_cache() + + if name in self._cache.name: + result = self._cache.name[name][0] + elif self._include_egg and name in self._cache_egg.name: + result = self._cache_egg.name[name][0] + return result + + def provides_distribution(self, name, version=None): + """ + Iterates over all distributions to find which distributions provide *name*. + If a *version* is provided, it will be used to filter the results. + + This function only returns the first result found, since no more than + one values are expected. If the directory is not found, returns ``None``. + + :parameter version: a version specifier that indicates the version + required, conforming to the format in ``PEP-345`` + + :type name: string + :type version: string + """ + matcher = None + if version is not None: + try: + matcher = self._scheme.matcher('%s (%s)' % (name, version)) + except ValueError: + raise DistlibException('invalid name or version: %r, %r' % + (name, version)) + + for dist in self.get_distributions(): + # We hit a problem on Travis where enum34 was installed and doesn't + # have a provides attribute ... + if not hasattr(dist, 'provides'): + logger.debug('No "provides": %s', dist) + else: + provided = dist.provides + + for p in provided: + p_name, p_ver = parse_name_and_version(p) + if matcher is None: + if p_name == name: + yield dist + break + else: + if p_name == name and matcher.match(p_ver): + yield dist + break + + def get_file_path(self, name, relative_path): + """ + Return the path to a resource file. + """ + dist = self.get_distribution(name) + if dist is None: + raise LookupError('no distribution named %r found' % name) + return dist.get_resource_path(relative_path) + + def get_exported_entries(self, category, name=None): + """ + Return all of the exported entries in a particular category. + + :param category: The category to search for entries. + :param name: If specified, only entries with that name are returned. + """ + for dist in self.get_distributions(): + r = dist.exports + if category in r: + d = r[category] + if name is not None: + if name in d: + yield d[name] + else: + for v in d.values(): + yield v + + +class Distribution(object): + """ + A base class for distributions, whether installed or from indexes. + Either way, it must have some metadata, so that's all that's needed + for construction. + """ + + build_time_dependency = False + """ + Set to True if it's known to be only a build-time dependency (i.e. + not needed after installation). + """ + + requested = False + """A boolean that indicates whether the ``REQUESTED`` metadata file is + present (in other words, whether the package was installed by user + request or it was installed as a dependency).""" + + def __init__(self, metadata): + """ + Initialise an instance. + :param metadata: The instance of :class:`Metadata` describing this + distribution. + """ + self.metadata = metadata + self.name = metadata.name + self.key = self.name.lower() # for case-insensitive comparisons + self.version = metadata.version + self.locator = None + self.digest = None + self.extras = None # additional features requested + self.context = None # environment marker overrides + self.download_urls = set() + self.digests = {} + + @property + def source_url(self): + """ + The source archive download URL for this distribution. + """ + return self.metadata.source_url + + download_url = source_url # Backward compatibility + + @property + def name_and_version(self): + """ + A utility property which displays the name and version in parentheses. + """ + return '%s (%s)' % (self.name, self.version) + + @property + def provides(self): + """ + A set of distribution names and versions provided by this distribution. + :return: A set of "name (version)" strings. + """ + plist = self.metadata.provides + s = '%s (%s)' % (self.name, self.version) + if s not in plist: + plist.append(s) + return plist + + def _get_requirements(self, req_attr): + md = self.metadata + logger.debug('Getting requirements from metadata %r', md.todict()) + reqts = getattr(md, req_attr) + return set(md.get_requirements(reqts, extras=self.extras, + env=self.context)) + + @property + def run_requires(self): + return self._get_requirements('run_requires') + + @property + def meta_requires(self): + return self._get_requirements('meta_requires') + + @property + def build_requires(self): + return self._get_requirements('build_requires') + + @property + def test_requires(self): + return self._get_requirements('test_requires') + + @property + def dev_requires(self): + return self._get_requirements('dev_requires') + + def matches_requirement(self, req): + """ + Say if this instance matches (fulfills) a requirement. + :param req: The requirement to match. + :rtype req: str + :return: True if it matches, else False. + """ + # Requirement may contain extras - parse to lose those + # from what's passed to the matcher + r = parse_requirement(req) + scheme = get_scheme(self.metadata.scheme) + try: + matcher = scheme.matcher(r.requirement) + except UnsupportedVersionError: + # XXX compat-mode if cannot read the version + logger.warning('could not read version %r - using name only', + req) + name = req.split()[0] + matcher = scheme.matcher(name) + + name = matcher.key # case-insensitive + + result = False + for p in self.provides: + p_name, p_ver = parse_name_and_version(p) + if p_name != name: + continue + try: + result = matcher.match(p_ver) + break + except UnsupportedVersionError: + pass + return result + + def __repr__(self): + """ + Return a textual representation of this instance, + """ + if self.source_url: + suffix = ' [%s]' % self.source_url + else: + suffix = '' + return '<Distribution %s (%s)%s>' % (self.name, self.version, suffix) + + def __eq__(self, other): + """ + See if this distribution is the same as another. + :param other: The distribution to compare with. To be equal to one + another. distributions must have the same type, name, + version and source_url. + :return: True if it is the same, else False. + """ + if type(other) is not type(self): + result = False + else: + result = (self.name == other.name and + self.version == other.version and + self.source_url == other.source_url) + return result + + def __hash__(self): + """ + Compute hash in a way which matches the equality test. + """ + return hash(self.name) + hash(self.version) + hash(self.source_url) + + +class BaseInstalledDistribution(Distribution): + """ + This is the base class for installed distributions (whether PEP 376 or + legacy). + """ + + hasher = None + + def __init__(self, metadata, path, env=None): + """ + Initialise an instance. + :param metadata: An instance of :class:`Metadata` which describes the + distribution. This will normally have been initialised + from a metadata file in the ``path``. + :param path: The path of the ``.dist-info`` or ``.egg-info`` + directory for the distribution. + :param env: This is normally the :class:`DistributionPath` + instance where this distribution was found. + """ + super(BaseInstalledDistribution, self).__init__(metadata) + self.path = path + self.dist_path = env + + def get_hash(self, data, hasher=None): + """ + Get the hash of some data, using a particular hash algorithm, if + specified. + + :param data: The data to be hashed. + :type data: bytes + :param hasher: The name of a hash implementation, supported by hashlib, + or ``None``. Examples of valid values are ``'sha1'``, + ``'sha224'``, ``'sha384'``, '``sha256'``, ``'md5'`` and + ``'sha512'``. If no hasher is specified, the ``hasher`` + attribute of the :class:`InstalledDistribution` instance + is used. If the hasher is determined to be ``None``, MD5 + is used as the hashing algorithm. + :returns: The hash of the data. If a hasher was explicitly specified, + the returned hash will be prefixed with the specified hasher + followed by '='. + :rtype: str + """ + if hasher is None: + hasher = self.hasher + if hasher is None: + hasher = hashlib.md5 + prefix = '' + else: + hasher = getattr(hashlib, hasher) + prefix = '%s=' % self.hasher + digest = hasher(data).digest() + digest = base64.urlsafe_b64encode(digest).rstrip(b'=').decode('ascii') + return '%s%s' % (prefix, digest) + + +class InstalledDistribution(BaseInstalledDistribution): + """ + Created with the *path* of the ``.dist-info`` directory provided to the + constructor. It reads the metadata contained in ``pydist.json`` when it is + instantiated., or uses a passed in Metadata instance (useful for when + dry-run mode is being used). + """ + + hasher = 'sha256' + + def __init__(self, path, metadata=None, env=None): + self.modules = [] + self.finder = finder = resources.finder_for_path(path) + if finder is None: + raise ValueError('finder unavailable for %s' % path) + if env and env._cache_enabled and path in env._cache.path: + metadata = env._cache.path[path].metadata + elif metadata is None: + r = finder.find(METADATA_FILENAME) + # Temporary - for Wheel 0.23 support + if r is None: + r = finder.find(WHEEL_METADATA_FILENAME) + # Temporary - for legacy support + if r is None: + r = finder.find('METADATA') + if r is None: + raise ValueError('no %s found in %s' % (METADATA_FILENAME, + path)) + with contextlib.closing(r.as_stream()) as stream: + metadata = Metadata(fileobj=stream, scheme='legacy') + + super(InstalledDistribution, self).__init__(metadata, path, env) + + if env and env._cache_enabled: + env._cache.add(self) + + r = finder.find('REQUESTED') + self.requested = r is not None + p = os.path.join(path, 'top_level.txt') + if os.path.exists(p): + with open(p, 'rb') as f: + data = f.read() + self.modules = data.splitlines() + + def __repr__(self): + return '<InstalledDistribution %r %s at %r>' % ( + self.name, self.version, self.path) + + def __str__(self): + return "%s %s" % (self.name, self.version) + + def _get_records(self): + """ + Get the list of installed files for the distribution + :return: A list of tuples of path, hash and size. Note that hash and + size might be ``None`` for some entries. The path is exactly + as stored in the file (which is as in PEP 376). + """ + results = [] + r = self.get_distinfo_resource('RECORD') + with contextlib.closing(r.as_stream()) as stream: + with CSVReader(stream=stream) as record_reader: + # Base location is parent dir of .dist-info dir + #base_location = os.path.dirname(self.path) + #base_location = os.path.abspath(base_location) + for row in record_reader: + missing = [None for i in range(len(row), 3)] + path, checksum, size = row + missing + #if not os.path.isabs(path): + # path = path.replace('/', os.sep) + # path = os.path.join(base_location, path) + results.append((path, checksum, size)) + return results + + @cached_property + def exports(self): + """ + Return the information exported by this distribution. + :return: A dictionary of exports, mapping an export category to a dict + of :class:`ExportEntry` instances describing the individual + export entries, and keyed by name. + """ + result = {} + r = self.get_distinfo_resource(EXPORTS_FILENAME) + if r: + result = self.read_exports() + return result + + def read_exports(self): + """ + Read exports data from a file in .ini format. + + :return: A dictionary of exports, mapping an export category to a list + of :class:`ExportEntry` instances describing the individual + export entries. + """ + result = {} + r = self.get_distinfo_resource(EXPORTS_FILENAME) + if r: + with contextlib.closing(r.as_stream()) as stream: + result = read_exports(stream) + return result + + def write_exports(self, exports): + """ + Write a dictionary of exports to a file in .ini format. + :param exports: A dictionary of exports, mapping an export category to + a list of :class:`ExportEntry` instances describing the + individual export entries. + """ + rf = self.get_distinfo_file(EXPORTS_FILENAME) + with open(rf, 'w') as f: + write_exports(exports, f) + + def get_resource_path(self, relative_path): + """ + NOTE: This API may change in the future. + + Return the absolute path to a resource file with the given relative + path. + + :param relative_path: The path, relative to .dist-info, of the resource + of interest. + :return: The absolute path where the resource is to be found. + """ + r = self.get_distinfo_resource('RESOURCES') + with contextlib.closing(r.as_stream()) as stream: + with CSVReader(stream=stream) as resources_reader: + for relative, destination in resources_reader: + if relative == relative_path: + return destination + raise KeyError('no resource file with relative path %r ' + 'is installed' % relative_path) + + def list_installed_files(self): + """ + Iterates over the ``RECORD`` entries and returns a tuple + ``(path, hash, size)`` for each line. + + :returns: iterator of (path, hash, size) + """ + for result in self._get_records(): + yield result + + def write_installed_files(self, paths, prefix, dry_run=False): + """ + Writes the ``RECORD`` file, using the ``paths`` iterable passed in. Any + existing ``RECORD`` file is silently overwritten. + + prefix is used to determine when to write absolute paths. + """ + prefix = os.path.join(prefix, '') + base = os.path.dirname(self.path) + base_under_prefix = base.startswith(prefix) + base = os.path.join(base, '') + record_path = self.get_distinfo_file('RECORD') + logger.info('creating %s', record_path) + if dry_run: + return None + with CSVWriter(record_path) as writer: + for path in paths: + if os.path.isdir(path) or path.endswith(('.pyc', '.pyo')): + # do not put size and hash, as in PEP-376 + hash_value = size = '' + else: + size = '%d' % os.path.getsize(path) + with open(path, 'rb') as fp: + hash_value = self.get_hash(fp.read()) + if path.startswith(base) or (base_under_prefix and + path.startswith(prefix)): + path = os.path.relpath(path, base) + writer.writerow((path, hash_value, size)) + + # add the RECORD file itself + if record_path.startswith(base): + record_path = os.path.relpath(record_path, base) + writer.writerow((record_path, '', '')) + return record_path + + def check_installed_files(self): + """ + Checks that the hashes and sizes of the files in ``RECORD`` are + matched by the files themselves. Returns a (possibly empty) list of + mismatches. Each entry in the mismatch list will be a tuple consisting + of the path, 'exists', 'size' or 'hash' according to what didn't match + (existence is checked first, then size, then hash), the expected + value and the actual value. + """ + mismatches = [] + base = os.path.dirname(self.path) + record_path = self.get_distinfo_file('RECORD') + for path, hash_value, size in self.list_installed_files(): + if not os.path.isabs(path): + path = os.path.join(base, path) + if path == record_path: + continue + if not os.path.exists(path): + mismatches.append((path, 'exists', True, False)) + elif os.path.isfile(path): + actual_size = str(os.path.getsize(path)) + if size and actual_size != size: + mismatches.append((path, 'size', size, actual_size)) + elif hash_value: + if '=' in hash_value: + hasher = hash_value.split('=', 1)[0] + else: + hasher = None + + with open(path, 'rb') as f: + actual_hash = self.get_hash(f.read(), hasher) + if actual_hash != hash_value: + mismatches.append((path, 'hash', hash_value, actual_hash)) + return mismatches + + @cached_property + def shared_locations(self): + """ + A dictionary of shared locations whose keys are in the set 'prefix', + 'purelib', 'platlib', 'scripts', 'headers', 'data' and 'namespace'. + The corresponding value is the absolute path of that category for + this distribution, and takes into account any paths selected by the + user at installation time (e.g. via command-line arguments). In the + case of the 'namespace' key, this would be a list of absolute paths + for the roots of namespace packages in this distribution. + + The first time this property is accessed, the relevant information is + read from the SHARED file in the .dist-info directory. + """ + result = {} + shared_path = os.path.join(self.path, 'SHARED') + if os.path.isfile(shared_path): + with codecs.open(shared_path, 'r', encoding='utf-8') as f: + lines = f.read().splitlines() + for line in lines: + key, value = line.split('=', 1) + if key == 'namespace': + result.setdefault(key, []).append(value) + else: + result[key] = value + return result + + def write_shared_locations(self, paths, dry_run=False): + """ + Write shared location information to the SHARED file in .dist-info. + :param paths: A dictionary as described in the documentation for + :meth:`shared_locations`. + :param dry_run: If True, the action is logged but no file is actually + written. + :return: The path of the file written to. + """ + shared_path = os.path.join(self.path, 'SHARED') + logger.info('creating %s', shared_path) + if dry_run: + return None + lines = [] + for key in ('prefix', 'lib', 'headers', 'scripts', 'data'): + path = paths[key] + if os.path.isdir(paths[key]): + lines.append('%s=%s' % (key, path)) + for ns in paths.get('namespace', ()): + lines.append('namespace=%s' % ns) + + with codecs.open(shared_path, 'w', encoding='utf-8') as f: + f.write('\n'.join(lines)) + return shared_path + + def get_distinfo_resource(self, path): + if path not in DIST_FILES: + raise DistlibException('invalid path for a dist-info file: ' + '%r at %r' % (path, self.path)) + finder = resources.finder_for_path(self.path) + if finder is None: + raise DistlibException('Unable to get a finder for %s' % self.path) + return finder.find(path) + + def get_distinfo_file(self, path): + """ + Returns a path located under the ``.dist-info`` directory. Returns a + string representing the path. + + :parameter path: a ``'/'``-separated path relative to the + ``.dist-info`` directory or an absolute path; + If *path* is an absolute path and doesn't start + with the ``.dist-info`` directory path, + a :class:`DistlibException` is raised + :type path: str + :rtype: str + """ + # Check if it is an absolute path # XXX use relpath, add tests + if path.find(os.sep) >= 0: + # it's an absolute path? + distinfo_dirname, path = path.split(os.sep)[-2:] + if distinfo_dirname != self.path.split(os.sep)[-1]: + raise DistlibException( + 'dist-info file %r does not belong to the %r %s ' + 'distribution' % (path, self.name, self.version)) + + # The file must be relative + if path not in DIST_FILES: + raise DistlibException('invalid path for a dist-info file: ' + '%r at %r' % (path, self.path)) + + return os.path.join(self.path, path) + + def list_distinfo_files(self): + """ + Iterates over the ``RECORD`` entries and returns paths for each line if + the path is pointing to a file located in the ``.dist-info`` directory + or one of its subdirectories. + + :returns: iterator of paths + """ + base = os.path.dirname(self.path) + for path, checksum, size in self._get_records(): + # XXX add separator or use real relpath algo + if not os.path.isabs(path): + path = os.path.join(base, path) + if path.startswith(self.path): + yield path + + def __eq__(self, other): + return (isinstance(other, InstalledDistribution) and + self.path == other.path) + + # See http://docs.python.org/reference/datamodel#object.__hash__ + __hash__ = object.__hash__ + + +class EggInfoDistribution(BaseInstalledDistribution): + """Created with the *path* of the ``.egg-info`` directory or file provided + to the constructor. It reads the metadata contained in the file itself, or + if the given path happens to be a directory, the metadata is read from the + file ``PKG-INFO`` under that directory.""" + + requested = True # as we have no way of knowing, assume it was + shared_locations = {} + + def __init__(self, path, env=None): + def set_name_and_version(s, n, v): + s.name = n + s.key = n.lower() # for case-insensitive comparisons + s.version = v + + self.path = path + self.dist_path = env + if env and env._cache_enabled and path in env._cache_egg.path: + metadata = env._cache_egg.path[path].metadata + set_name_and_version(self, metadata.name, metadata.version) + else: + metadata = self._get_metadata(path) + + # Need to be set before caching + set_name_and_version(self, metadata.name, metadata.version) + + if env and env._cache_enabled: + env._cache_egg.add(self) + super(EggInfoDistribution, self).__init__(metadata, path, env) + + def _get_metadata(self, path): + requires = None + + def parse_requires_data(data): + """Create a list of dependencies from a requires.txt file. + + *data*: the contents of a setuptools-produced requires.txt file. + """ + reqs = [] + lines = data.splitlines() + for line in lines: + line = line.strip() + if line.startswith('['): + logger.warning('Unexpected line: quitting requirement scan: %r', + line) + break + r = parse_requirement(line) + if not r: + logger.warning('Not recognised as a requirement: %r', line) + continue + if r.extras: + logger.warning('extra requirements in requires.txt are ' + 'not supported') + if not r.constraints: + reqs.append(r.name) + else: + cons = ', '.join('%s%s' % c for c in r.constraints) + reqs.append('%s (%s)' % (r.name, cons)) + return reqs + + def parse_requires_path(req_path): + """Create a list of dependencies from a requires.txt file. + + *req_path*: the path to a setuptools-produced requires.txt file. + """ + + reqs = [] + try: + with codecs.open(req_path, 'r', 'utf-8') as fp: + reqs = parse_requires_data(fp.read()) + except IOError: + pass + return reqs + + tl_path = tl_data = None + if path.endswith('.egg'): + if os.path.isdir(path): + p = os.path.join(path, 'EGG-INFO') + meta_path = os.path.join(p, 'PKG-INFO') + metadata = Metadata(path=meta_path, scheme='legacy') + req_path = os.path.join(p, 'requires.txt') + tl_path = os.path.join(p, 'top_level.txt') + requires = parse_requires_path(req_path) + else: + # FIXME handle the case where zipfile is not available + zipf = zipimport.zipimporter(path) + fileobj = StringIO( + zipf.get_data('EGG-INFO/PKG-INFO').decode('utf8')) + metadata = Metadata(fileobj=fileobj, scheme='legacy') + try: + data = zipf.get_data('EGG-INFO/requires.txt') + tl_data = zipf.get_data('EGG-INFO/top_level.txt').decode('utf-8') + requires = parse_requires_data(data.decode('utf-8')) + except IOError: + requires = None + elif path.endswith('.egg-info'): + if os.path.isdir(path): + req_path = os.path.join(path, 'requires.txt') + requires = parse_requires_path(req_path) + path = os.path.join(path, 'PKG-INFO') + tl_path = os.path.join(path, 'top_level.txt') + metadata = Metadata(path=path, scheme='legacy') + else: + raise DistlibException('path must end with .egg-info or .egg, ' + 'got %r' % path) + + if requires: + metadata.add_requirements(requires) + # look for top-level modules in top_level.txt, if present + if tl_data is None: + if tl_path is not None and os.path.exists(tl_path): + with open(tl_path, 'rb') as f: + tl_data = f.read().decode('utf-8') + if not tl_data: + tl_data = [] + else: + tl_data = tl_data.splitlines() + self.modules = tl_data + return metadata + + def __repr__(self): + return '<EggInfoDistribution %r %s at %r>' % ( + self.name, self.version, self.path) + + def __str__(self): + return "%s %s" % (self.name, self.version) + + def check_installed_files(self): + """ + Checks that the hashes and sizes of the files in ``RECORD`` are + matched by the files themselves. Returns a (possibly empty) list of + mismatches. Each entry in the mismatch list will be a tuple consisting + of the path, 'exists', 'size' or 'hash' according to what didn't match + (existence is checked first, then size, then hash), the expected + value and the actual value. + """ + mismatches = [] + record_path = os.path.join(self.path, 'installed-files.txt') + if os.path.exists(record_path): + for path, _, _ in self.list_installed_files(): + if path == record_path: + continue + if not os.path.exists(path): + mismatches.append((path, 'exists', True, False)) + return mismatches + + def list_installed_files(self): + """ + Iterates over the ``installed-files.txt`` entries and returns a tuple + ``(path, hash, size)`` for each line. + + :returns: a list of (path, hash, size) + """ + + def _md5(path): + f = open(path, 'rb') + try: + content = f.read() + finally: + f.close() + return hashlib.md5(content).hexdigest() + + def _size(path): + return os.stat(path).st_size + + record_path = os.path.join(self.path, 'installed-files.txt') + result = [] + if os.path.exists(record_path): + with codecs.open(record_path, 'r', encoding='utf-8') as f: + for line in f: + line = line.strip() + p = os.path.normpath(os.path.join(self.path, line)) + # "./" is present as a marker between installed files + # and installation metadata files + if not os.path.exists(p): + logger.warning('Non-existent file: %s', p) + if p.endswith(('.pyc', '.pyo')): + continue + #otherwise fall through and fail + if not os.path.isdir(p): + result.append((p, _md5(p), _size(p))) + result.append((record_path, None, None)) + return result + + def list_distinfo_files(self, absolute=False): + """ + Iterates over the ``installed-files.txt`` entries and returns paths for + each line if the path is pointing to a file located in the + ``.egg-info`` directory or one of its subdirectories. + + :parameter absolute: If *absolute* is ``True``, each returned path is + transformed into a local absolute path. Otherwise the + raw value from ``installed-files.txt`` is returned. + :type absolute: boolean + :returns: iterator of paths + """ + record_path = os.path.join(self.path, 'installed-files.txt') + if os.path.exists(record_path): + skip = True + with codecs.open(record_path, 'r', encoding='utf-8') as f: + for line in f: + line = line.strip() + if line == './': + skip = False + continue + if not skip: + p = os.path.normpath(os.path.join(self.path, line)) + if p.startswith(self.path): + if absolute: + yield p + else: + yield line + + def __eq__(self, other): + return (isinstance(other, EggInfoDistribution) and + self.path == other.path) + + # See http://docs.python.org/reference/datamodel#object.__hash__ + __hash__ = object.__hash__ + +new_dist_class = InstalledDistribution +old_dist_class = EggInfoDistribution + + +class DependencyGraph(object): + """ + Represents a dependency graph between distributions. + + The dependency relationships are stored in an ``adjacency_list`` that maps + distributions to a list of ``(other, label)`` tuples where ``other`` + is a distribution and the edge is labeled with ``label`` (i.e. the version + specifier, if such was provided). Also, for more efficient traversal, for + every distribution ``x``, a list of predecessors is kept in + ``reverse_list[x]``. An edge from distribution ``a`` to + distribution ``b`` means that ``a`` depends on ``b``. If any missing + dependencies are found, they are stored in ``missing``, which is a + dictionary that maps distributions to a list of requirements that were not + provided by any other distributions. + """ + + def __init__(self): + self.adjacency_list = {} + self.reverse_list = {} + self.missing = {} + + def add_distribution(self, distribution): + """Add the *distribution* to the graph. + + :type distribution: :class:`distutils2.database.InstalledDistribution` + or :class:`distutils2.database.EggInfoDistribution` + """ + self.adjacency_list[distribution] = [] + self.reverse_list[distribution] = [] + #self.missing[distribution] = [] + + def add_edge(self, x, y, label=None): + """Add an edge from distribution *x* to distribution *y* with the given + *label*. + + :type x: :class:`distutils2.database.InstalledDistribution` or + :class:`distutils2.database.EggInfoDistribution` + :type y: :class:`distutils2.database.InstalledDistribution` or + :class:`distutils2.database.EggInfoDistribution` + :type label: ``str`` or ``None`` + """ + self.adjacency_list[x].append((y, label)) + # multiple edges are allowed, so be careful + if x not in self.reverse_list[y]: + self.reverse_list[y].append(x) + + def add_missing(self, distribution, requirement): + """ + Add a missing *requirement* for the given *distribution*. + + :type distribution: :class:`distutils2.database.InstalledDistribution` + or :class:`distutils2.database.EggInfoDistribution` + :type requirement: ``str`` + """ + logger.debug('%s missing %r', distribution, requirement) + self.missing.setdefault(distribution, []).append(requirement) + + def _repr_dist(self, dist): + return '%s %s' % (dist.name, dist.version) + + def repr_node(self, dist, level=1): + """Prints only a subgraph""" + output = [self._repr_dist(dist)] + for other, label in self.adjacency_list[dist]: + dist = self._repr_dist(other) + if label is not None: + dist = '%s [%s]' % (dist, label) + output.append(' ' * level + str(dist)) + suboutput = self.repr_node(other, level + 1) + subs = suboutput.split('\n') + output.extend(subs[1:]) + return '\n'.join(output) + + def to_dot(self, f, skip_disconnected=True): + """Writes a DOT output for the graph to the provided file *f*. + + If *skip_disconnected* is set to ``True``, then all distributions + that are not dependent on any other distribution are skipped. + + :type f: has to support ``file``-like operations + :type skip_disconnected: ``bool`` + """ + disconnected = [] + + f.write("digraph dependencies {\n") + for dist, adjs in self.adjacency_list.items(): + if len(adjs) == 0 and not skip_disconnected: + disconnected.append(dist) + for other, label in adjs: + if not label is None: + f.write('"%s" -> "%s" [label="%s"]\n' % + (dist.name, other.name, label)) + else: + f.write('"%s" -> "%s"\n' % (dist.name, other.name)) + if not skip_disconnected and len(disconnected) > 0: + f.write('subgraph disconnected {\n') + f.write('label = "Disconnected"\n') + f.write('bgcolor = red\n') + + for dist in disconnected: + f.write('"%s"' % dist.name) + f.write('\n') + f.write('}\n') + f.write('}\n') + + def topological_sort(self): + """ + Perform a topological sort of the graph. + :return: A tuple, the first element of which is a topologically sorted + list of distributions, and the second element of which is a + list of distributions that cannot be sorted because they have + circular dependencies and so form a cycle. + """ + result = [] + # Make a shallow copy of the adjacency list + alist = {} + for k, v in self.adjacency_list.items(): + alist[k] = v[:] + while True: + # See what we can remove in this run + to_remove = [] + for k, v in list(alist.items())[:]: + if not v: + to_remove.append(k) + del alist[k] + if not to_remove: + # What's left in alist (if anything) is a cycle. + break + # Remove from the adjacency list of others + for k, v in alist.items(): + alist[k] = [(d, r) for d, r in v if d not in to_remove] + logger.debug('Moving to result: %s', + ['%s (%s)' % (d.name, d.version) for d in to_remove]) + result.extend(to_remove) + return result, list(alist.keys()) + + def __repr__(self): + """Representation of the graph""" + output = [] + for dist, adjs in self.adjacency_list.items(): + output.append(self.repr_node(dist)) + return '\n'.join(output) + + +def make_graph(dists, scheme='default'): + """Makes a dependency graph from the given distributions. + + :parameter dists: a list of distributions + :type dists: list of :class:`distutils2.database.InstalledDistribution` and + :class:`distutils2.database.EggInfoDistribution` instances + :rtype: a :class:`DependencyGraph` instance + """ + scheme = get_scheme(scheme) + graph = DependencyGraph() + provided = {} # maps names to lists of (version, dist) tuples + + # first, build the graph and find out what's provided + for dist in dists: + graph.add_distribution(dist) + + for p in dist.provides: + name, version = parse_name_and_version(p) + logger.debug('Add to provided: %s, %s, %s', name, version, dist) + provided.setdefault(name, []).append((version, dist)) + + # now make the edges + for dist in dists: + requires = (dist.run_requires | dist.meta_requires | + dist.build_requires | dist.dev_requires) + for req in requires: + try: + matcher = scheme.matcher(req) + except UnsupportedVersionError: + # XXX compat-mode if cannot read the version + logger.warning('could not read version %r - using name only', + req) + name = req.split()[0] + matcher = scheme.matcher(name) + + name = matcher.key # case-insensitive + + matched = False + if name in provided: + for version, provider in provided[name]: + try: + match = matcher.match(version) + except UnsupportedVersionError: + match = False + + if match: + graph.add_edge(dist, provider, req) + matched = True + break + if not matched: + graph.add_missing(dist, req) + return graph + + +def get_dependent_dists(dists, dist): + """Recursively generate a list of distributions from *dists* that are + dependent on *dist*. + + :param dists: a list of distributions + :param dist: a distribution, member of *dists* for which we are interested + """ + if dist not in dists: + raise DistlibException('given distribution %r is not a member ' + 'of the list' % dist.name) + graph = make_graph(dists) + + dep = [dist] # dependent distributions + todo = graph.reverse_list[dist] # list of nodes we should inspect + + while todo: + d = todo.pop() + dep.append(d) + for succ in graph.reverse_list[d]: + if succ not in dep: + todo.append(succ) + + dep.pop(0) # remove dist from dep, was there to prevent infinite loops + return dep + + +def get_required_dists(dists, dist): + """Recursively generate a list of distributions from *dists* that are + required by *dist*. + + :param dists: a list of distributions + :param dist: a distribution, member of *dists* for which we are interested + """ + if dist not in dists: + raise DistlibException('given distribution %r is not a member ' + 'of the list' % dist.name) + graph = make_graph(dists) + + req = [] # required distributions + todo = graph.adjacency_list[dist] # list of nodes we should inspect + + while todo: + d = todo.pop()[0] + req.append(d) + for pred in graph.adjacency_list[d]: + if pred not in req: + todo.append(pred) + + return req + + +def make_dist(name, version, **kwargs): + """ + A convenience method for making a dist given just a name and version. + """ + summary = kwargs.pop('summary', 'Placeholder for summary') + md = Metadata(**kwargs) + md.name = name + md.version = version + md.summary = summary or 'Placeholder for summary' + return Distribution(md) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/index.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/index.py new file mode 100644 index 0000000..2406be2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/index.py @@ -0,0 +1,516 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2013 Vinay Sajip. +# Licensed to the Python Software Foundation under a contributor agreement. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +import hashlib +import logging +import os +import shutil +import subprocess +import tempfile +try: + from threading import Thread +except ImportError: + from dummy_threading import Thread + +from . import DistlibException +from .compat import (HTTPBasicAuthHandler, Request, HTTPPasswordMgr, + urlparse, build_opener, string_types) +from .util import cached_property, zip_dir, ServerProxy + +logger = logging.getLogger(__name__) + +DEFAULT_INDEX = 'https://pypi.python.org/pypi' +DEFAULT_REALM = 'pypi' + +class PackageIndex(object): + """ + This class represents a package index compatible with PyPI, the Python + Package Index. + """ + + boundary = b'----------ThIs_Is_tHe_distlib_index_bouNdaRY_$' + + def __init__(self, url=None): + """ + Initialise an instance. + + :param url: The URL of the index. If not specified, the URL for PyPI is + used. + """ + self.url = url or DEFAULT_INDEX + self.read_configuration() + scheme, netloc, path, params, query, frag = urlparse(self.url) + if params or query or frag or scheme not in ('http', 'https'): + raise DistlibException('invalid repository: %s' % self.url) + self.password_handler = None + self.ssl_verifier = None + self.gpg = None + self.gpg_home = None + with open(os.devnull, 'w') as sink: + # Use gpg by default rather than gpg2, as gpg2 insists on + # prompting for passwords + for s in ('gpg', 'gpg2'): + try: + rc = subprocess.check_call([s, '--version'], stdout=sink, + stderr=sink) + if rc == 0: + self.gpg = s + break + except OSError: + pass + + def _get_pypirc_command(self): + """ + Get the distutils command for interacting with PyPI configurations. + :return: the command. + """ + from distutils.core import Distribution + from distutils.config import PyPIRCCommand + d = Distribution() + return PyPIRCCommand(d) + + def read_configuration(self): + """ + Read the PyPI access configuration as supported by distutils, getting + PyPI to do the actual work. This populates ``username``, ``password``, + ``realm`` and ``url`` attributes from the configuration. + """ + # get distutils to do the work + c = self._get_pypirc_command() + c.repository = self.url + cfg = c._read_pypirc() + self.username = cfg.get('username') + self.password = cfg.get('password') + self.realm = cfg.get('realm', 'pypi') + self.url = cfg.get('repository', self.url) + + def save_configuration(self): + """ + Save the PyPI access configuration. You must have set ``username`` and + ``password`` attributes before calling this method. + + Again, distutils is used to do the actual work. + """ + self.check_credentials() + # get distutils to do the work + c = self._get_pypirc_command() + c._store_pypirc(self.username, self.password) + + def check_credentials(self): + """ + Check that ``username`` and ``password`` have been set, and raise an + exception if not. + """ + if self.username is None or self.password is None: + raise DistlibException('username and password must be set') + pm = HTTPPasswordMgr() + _, netloc, _, _, _, _ = urlparse(self.url) + pm.add_password(self.realm, netloc, self.username, self.password) + self.password_handler = HTTPBasicAuthHandler(pm) + + def register(self, metadata): + """ + Register a distribution on PyPI, using the provided metadata. + + :param metadata: A :class:`Metadata` instance defining at least a name + and version number for the distribution to be + registered. + :return: The HTTP response received from PyPI upon submission of the + request. + """ + self.check_credentials() + metadata.validate() + d = metadata.todict() + d[':action'] = 'verify' + request = self.encode_request(d.items(), []) + response = self.send_request(request) + d[':action'] = 'submit' + request = self.encode_request(d.items(), []) + return self.send_request(request) + + def _reader(self, name, stream, outbuf): + """ + Thread runner for reading lines of from a subprocess into a buffer. + + :param name: The logical name of the stream (used for logging only). + :param stream: The stream to read from. This will typically a pipe + connected to the output stream of a subprocess. + :param outbuf: The list to append the read lines to. + """ + while True: + s = stream.readline() + if not s: + break + s = s.decode('utf-8').rstrip() + outbuf.append(s) + logger.debug('%s: %s' % (name, s)) + stream.close() + + def get_sign_command(self, filename, signer, sign_password, + keystore=None): + """ + Return a suitable command for signing a file. + + :param filename: The pathname to the file to be signed. + :param signer: The identifier of the signer of the file. + :param sign_password: The passphrase for the signer's + private key used for signing. + :param keystore: The path to a directory which contains the keys + used in verification. If not specified, the + instance's ``gpg_home`` attribute is used instead. + :return: The signing command as a list suitable to be + passed to :class:`subprocess.Popen`. + """ + cmd = [self.gpg, '--status-fd', '2', '--no-tty'] + if keystore is None: + keystore = self.gpg_home + if keystore: + cmd.extend(['--homedir', keystore]) + if sign_password is not None: + cmd.extend(['--batch', '--passphrase-fd', '0']) + td = tempfile.mkdtemp() + sf = os.path.join(td, os.path.basename(filename) + '.asc') + cmd.extend(['--detach-sign', '--armor', '--local-user', + signer, '--output', sf, filename]) + logger.debug('invoking: %s', ' '.join(cmd)) + return cmd, sf + + def run_command(self, cmd, input_data=None): + """ + Run a command in a child process , passing it any input data specified. + + :param cmd: The command to run. + :param input_data: If specified, this must be a byte string containing + data to be sent to the child process. + :return: A tuple consisting of the subprocess' exit code, a list of + lines read from the subprocess' ``stdout``, and a list of + lines read from the subprocess' ``stderr``. + """ + kwargs = { + 'stdout': subprocess.PIPE, + 'stderr': subprocess.PIPE, + } + if input_data is not None: + kwargs['stdin'] = subprocess.PIPE + stdout = [] + stderr = [] + p = subprocess.Popen(cmd, **kwargs) + # We don't use communicate() here because we may need to + # get clever with interacting with the command + t1 = Thread(target=self._reader, args=('stdout', p.stdout, stdout)) + t1.start() + t2 = Thread(target=self._reader, args=('stderr', p.stderr, stderr)) + t2.start() + if input_data is not None: + p.stdin.write(input_data) + p.stdin.close() + + p.wait() + t1.join() + t2.join() + return p.returncode, stdout, stderr + + def sign_file(self, filename, signer, sign_password, keystore=None): + """ + Sign a file. + + :param filename: The pathname to the file to be signed. + :param signer: The identifier of the signer of the file. + :param sign_password: The passphrase for the signer's + private key used for signing. + :param keystore: The path to a directory which contains the keys + used in signing. If not specified, the instance's + ``gpg_home`` attribute is used instead. + :return: The absolute pathname of the file where the signature is + stored. + """ + cmd, sig_file = self.get_sign_command(filename, signer, sign_password, + keystore) + rc, stdout, stderr = self.run_command(cmd, + sign_password.encode('utf-8')) + if rc != 0: + raise DistlibException('sign command failed with error ' + 'code %s' % rc) + return sig_file + + def upload_file(self, metadata, filename, signer=None, sign_password=None, + filetype='sdist', pyversion='source', keystore=None): + """ + Upload a release file to the index. + + :param metadata: A :class:`Metadata` instance defining at least a name + and version number for the file to be uploaded. + :param filename: The pathname of the file to be uploaded. + :param signer: The identifier of the signer of the file. + :param sign_password: The passphrase for the signer's + private key used for signing. + :param filetype: The type of the file being uploaded. This is the + distutils command which produced that file, e.g. + ``sdist`` or ``bdist_wheel``. + :param pyversion: The version of Python which the release relates + to. For code compatible with any Python, this would + be ``source``, otherwise it would be e.g. ``3.2``. + :param keystore: The path to a directory which contains the keys + used in signing. If not specified, the instance's + ``gpg_home`` attribute is used instead. + :return: The HTTP response received from PyPI upon submission of the + request. + """ + self.check_credentials() + if not os.path.exists(filename): + raise DistlibException('not found: %s' % filename) + metadata.validate() + d = metadata.todict() + sig_file = None + if signer: + if not self.gpg: + logger.warning('no signing program available - not signed') + else: + sig_file = self.sign_file(filename, signer, sign_password, + keystore) + with open(filename, 'rb') as f: + file_data = f.read() + md5_digest = hashlib.md5(file_data).hexdigest() + sha256_digest = hashlib.sha256(file_data).hexdigest() + d.update({ + ':action': 'file_upload', + 'protocol_version': '1', + 'filetype': filetype, + 'pyversion': pyversion, + 'md5_digest': md5_digest, + 'sha256_digest': sha256_digest, + }) + files = [('content', os.path.basename(filename), file_data)] + if sig_file: + with open(sig_file, 'rb') as f: + sig_data = f.read() + files.append(('gpg_signature', os.path.basename(sig_file), + sig_data)) + shutil.rmtree(os.path.dirname(sig_file)) + request = self.encode_request(d.items(), files) + return self.send_request(request) + + def upload_documentation(self, metadata, doc_dir): + """ + Upload documentation to the index. + + :param metadata: A :class:`Metadata` instance defining at least a name + and version number for the documentation to be + uploaded. + :param doc_dir: The pathname of the directory which contains the + documentation. This should be the directory that + contains the ``index.html`` for the documentation. + :return: The HTTP response received from PyPI upon submission of the + request. + """ + self.check_credentials() + if not os.path.isdir(doc_dir): + raise DistlibException('not a directory: %r' % doc_dir) + fn = os.path.join(doc_dir, 'index.html') + if not os.path.exists(fn): + raise DistlibException('not found: %r' % fn) + metadata.validate() + name, version = metadata.name, metadata.version + zip_data = zip_dir(doc_dir).getvalue() + fields = [(':action', 'doc_upload'), + ('name', name), ('version', version)] + files = [('content', name, zip_data)] + request = self.encode_request(fields, files) + return self.send_request(request) + + def get_verify_command(self, signature_filename, data_filename, + keystore=None): + """ + Return a suitable command for verifying a file. + + :param signature_filename: The pathname to the file containing the + signature. + :param data_filename: The pathname to the file containing the + signed data. + :param keystore: The path to a directory which contains the keys + used in verification. If not specified, the + instance's ``gpg_home`` attribute is used instead. + :return: The verifying command as a list suitable to be + passed to :class:`subprocess.Popen`. + """ + cmd = [self.gpg, '--status-fd', '2', '--no-tty'] + if keystore is None: + keystore = self.gpg_home + if keystore: + cmd.extend(['--homedir', keystore]) + cmd.extend(['--verify', signature_filename, data_filename]) + logger.debug('invoking: %s', ' '.join(cmd)) + return cmd + + def verify_signature(self, signature_filename, data_filename, + keystore=None): + """ + Verify a signature for a file. + + :param signature_filename: The pathname to the file containing the + signature. + :param data_filename: The pathname to the file containing the + signed data. + :param keystore: The path to a directory which contains the keys + used in verification. If not specified, the + instance's ``gpg_home`` attribute is used instead. + :return: True if the signature was verified, else False. + """ + if not self.gpg: + raise DistlibException('verification unavailable because gpg ' + 'unavailable') + cmd = self.get_verify_command(signature_filename, data_filename, + keystore) + rc, stdout, stderr = self.run_command(cmd) + if rc not in (0, 1): + raise DistlibException('verify command failed with error ' + 'code %s' % rc) + return rc == 0 + + def download_file(self, url, destfile, digest=None, reporthook=None): + """ + This is a convenience method for downloading a file from an URL. + Normally, this will be a file from the index, though currently + no check is made for this (i.e. a file can be downloaded from + anywhere). + + The method is just like the :func:`urlretrieve` function in the + standard library, except that it allows digest computation to be + done during download and checking that the downloaded data + matched any expected value. + + :param url: The URL of the file to be downloaded (assumed to be + available via an HTTP GET request). + :param destfile: The pathname where the downloaded file is to be + saved. + :param digest: If specified, this must be a (hasher, value) + tuple, where hasher is the algorithm used (e.g. + ``'md5'``) and ``value`` is the expected value. + :param reporthook: The same as for :func:`urlretrieve` in the + standard library. + """ + if digest is None: + digester = None + logger.debug('No digest specified') + else: + if isinstance(digest, (list, tuple)): + hasher, digest = digest + else: + hasher = 'md5' + digester = getattr(hashlib, hasher)() + logger.debug('Digest specified: %s' % digest) + # The following code is equivalent to urlretrieve. + # We need to do it this way so that we can compute the + # digest of the file as we go. + with open(destfile, 'wb') as dfp: + # addinfourl is not a context manager on 2.x + # so we have to use try/finally + sfp = self.send_request(Request(url)) + try: + headers = sfp.info() + blocksize = 8192 + size = -1 + read = 0 + blocknum = 0 + if "content-length" in headers: + size = int(headers["Content-Length"]) + if reporthook: + reporthook(blocknum, blocksize, size) + while True: + block = sfp.read(blocksize) + if not block: + break + read += len(block) + dfp.write(block) + if digester: + digester.update(block) + blocknum += 1 + if reporthook: + reporthook(blocknum, blocksize, size) + finally: + sfp.close() + + # check that we got the whole file, if we can + if size >= 0 and read < size: + raise DistlibException( + 'retrieval incomplete: got only %d out of %d bytes' + % (read, size)) + # if we have a digest, it must match. + if digester: + actual = digester.hexdigest() + if digest != actual: + raise DistlibException('%s digest mismatch for %s: expected ' + '%s, got %s' % (hasher, destfile, + digest, actual)) + logger.debug('Digest verified: %s', digest) + + def send_request(self, req): + """ + Send a standard library :class:`Request` to PyPI and return its + response. + + :param req: The request to send. + :return: The HTTP response from PyPI (a standard library HTTPResponse). + """ + handlers = [] + if self.password_handler: + handlers.append(self.password_handler) + if self.ssl_verifier: + handlers.append(self.ssl_verifier) + opener = build_opener(*handlers) + return opener.open(req) + + def encode_request(self, fields, files): + """ + Encode fields and files for posting to an HTTP server. + + :param fields: The fields to send as a list of (fieldname, value) + tuples. + :param files: The files to send as a list of (fieldname, filename, + file_bytes) tuple. + """ + # Adapted from packaging, which in turn was adapted from + # http://code.activestate.com/recipes/146306 + + parts = [] + boundary = self.boundary + for k, values in fields: + if not isinstance(values, (list, tuple)): + values = [values] + + for v in values: + parts.extend(( + b'--' + boundary, + ('Content-Disposition: form-data; name="%s"' % + k).encode('utf-8'), + b'', + v.encode('utf-8'))) + for key, filename, value in files: + parts.extend(( + b'--' + boundary, + ('Content-Disposition: form-data; name="%s"; filename="%s"' % + (key, filename)).encode('utf-8'), + b'', + value)) + + parts.extend((b'--' + boundary + b'--', b'')) + + body = b'\r\n'.join(parts) + ct = b'multipart/form-data; boundary=' + boundary + headers = { + 'Content-type': ct, + 'Content-length': str(len(body)) + } + return Request(self.url, body, headers) + + def search(self, terms, operator=None): + if isinstance(terms, string_types): + terms = {'name': terms} + rpc_proxy = ServerProxy(self.url, timeout=3.0) + try: + return rpc_proxy.search(terms, operator or 'and') + finally: + rpc_proxy('close')() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/locators.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/locators.py new file mode 100644 index 0000000..5c655c3 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/locators.py @@ -0,0 +1,1295 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012-2015 Vinay Sajip. +# Licensed to the Python Software Foundation under a contributor agreement. +# See LICENSE.txt and CONTRIBUTORS.txt. +# + +import gzip +from io import BytesIO +import json +import logging +import os +import posixpath +import re +try: + import threading +except ImportError: # pragma: no cover + import dummy_threading as threading +import zlib + +from . import DistlibException +from .compat import (urljoin, urlparse, urlunparse, url2pathname, pathname2url, + queue, quote, unescape, string_types, build_opener, + HTTPRedirectHandler as BaseRedirectHandler, text_type, + Request, HTTPError, URLError) +from .database import Distribution, DistributionPath, make_dist +from .metadata import Metadata, MetadataInvalidError +from .util import (cached_property, parse_credentials, ensure_slash, + split_filename, get_project_data, parse_requirement, + parse_name_and_version, ServerProxy, normalize_name) +from .version import get_scheme, UnsupportedVersionError +from .wheel import Wheel, is_compatible + +logger = logging.getLogger(__name__) + +HASHER_HASH = re.compile(r'^(\w+)=([a-f0-9]+)') +CHARSET = re.compile(r';\s*charset\s*=\s*(.*)\s*$', re.I) +HTML_CONTENT_TYPE = re.compile('text/html|application/x(ht)?ml') +DEFAULT_INDEX = 'https://pypi.python.org/pypi' + +def get_all_distribution_names(url=None): + """ + Return all distribution names known by an index. + :param url: The URL of the index. + :return: A list of all known distribution names. + """ + if url is None: + url = DEFAULT_INDEX + client = ServerProxy(url, timeout=3.0) + try: + return client.list_packages() + finally: + client('close')() + +class RedirectHandler(BaseRedirectHandler): + """ + A class to work around a bug in some Python 3.2.x releases. + """ + # There's a bug in the base version for some 3.2.x + # (e.g. 3.2.2 on Ubuntu Oneiric). If a Location header + # returns e.g. /abc, it bails because it says the scheme '' + # is bogus, when actually it should use the request's + # URL for the scheme. See Python issue #13696. + def http_error_302(self, req, fp, code, msg, headers): + # Some servers (incorrectly) return multiple Location headers + # (so probably same goes for URI). Use first header. + newurl = None + for key in ('location', 'uri'): + if key in headers: + newurl = headers[key] + break + if newurl is None: # pragma: no cover + return + urlparts = urlparse(newurl) + if urlparts.scheme == '': + newurl = urljoin(req.get_full_url(), newurl) + if hasattr(headers, 'replace_header'): + headers.replace_header(key, newurl) + else: + headers[key] = newurl + return BaseRedirectHandler.http_error_302(self, req, fp, code, msg, + headers) + + http_error_301 = http_error_303 = http_error_307 = http_error_302 + +class Locator(object): + """ + A base class for locators - things that locate distributions. + """ + source_extensions = ('.tar.gz', '.tar.bz2', '.tar', '.zip', '.tgz', '.tbz') + binary_extensions = ('.egg', '.exe', '.whl') + excluded_extensions = ('.pdf',) + + # A list of tags indicating which wheels you want to match. The default + # value of None matches against the tags compatible with the running + # Python. If you want to match other values, set wheel_tags on a locator + # instance to a list of tuples (pyver, abi, arch) which you want to match. + wheel_tags = None + + downloadable_extensions = source_extensions + ('.whl',) + + def __init__(self, scheme='default'): + """ + Initialise an instance. + :param scheme: Because locators look for most recent versions, they + need to know the version scheme to use. This specifies + the current PEP-recommended scheme - use ``'legacy'`` + if you need to support existing distributions on PyPI. + """ + self._cache = {} + self.scheme = scheme + # Because of bugs in some of the handlers on some of the platforms, + # we use our own opener rather than just using urlopen. + self.opener = build_opener(RedirectHandler()) + # If get_project() is called from locate(), the matcher instance + # is set from the requirement passed to locate(). See issue #18 for + # why this can be useful to know. + self.matcher = None + self.errors = queue.Queue() + + def get_errors(self): + """ + Return any errors which have occurred. + """ + result = [] + while not self.errors.empty(): # pragma: no cover + try: + e = self.errors.get(False) + result.append(e) + except self.errors.Empty: + continue + self.errors.task_done() + return result + + def clear_errors(self): + """ + Clear any errors which may have been logged. + """ + # Just get the errors and throw them away + self.get_errors() + + def clear_cache(self): + self._cache.clear() + + def _get_scheme(self): + return self._scheme + + def _set_scheme(self, value): + self._scheme = value + + scheme = property(_get_scheme, _set_scheme) + + def _get_project(self, name): + """ + For a given project, get a dictionary mapping available versions to Distribution + instances. + + This should be implemented in subclasses. + + If called from a locate() request, self.matcher will be set to a + matcher for the requirement to satisfy, otherwise it will be None. + """ + raise NotImplementedError('Please implement in the subclass') + + def get_distribution_names(self): + """ + Return all the distribution names known to this locator. + """ + raise NotImplementedError('Please implement in the subclass') + + def get_project(self, name): + """ + For a given project, get a dictionary mapping available versions to Distribution + instances. + + This calls _get_project to do all the work, and just implements a caching layer on top. + """ + if self._cache is None: # pragma: no cover + result = self._get_project(name) + elif name in self._cache: + result = self._cache[name] + else: + self.clear_errors() + result = self._get_project(name) + self._cache[name] = result + return result + + def score_url(self, url): + """ + Give an url a score which can be used to choose preferred URLs + for a given project release. + """ + t = urlparse(url) + basename = posixpath.basename(t.path) + compatible = True + is_wheel = basename.endswith('.whl') + is_downloadable = basename.endswith(self.downloadable_extensions) + if is_wheel: + compatible = is_compatible(Wheel(basename), self.wheel_tags) + return (t.scheme == 'https', 'pypi.python.org' in t.netloc, + is_downloadable, is_wheel, compatible, basename) + + def prefer_url(self, url1, url2): + """ + Choose one of two URLs where both are candidates for distribution + archives for the same version of a distribution (for example, + .tar.gz vs. zip). + + The current implementation favours https:// URLs over http://, archives + from PyPI over those from other locations, wheel compatibility (if a + wheel) and then the archive name. + """ + result = url2 + if url1: + s1 = self.score_url(url1) + s2 = self.score_url(url2) + if s1 > s2: + result = url1 + if result != url2: + logger.debug('Not replacing %r with %r', url1, url2) + else: + logger.debug('Replacing %r with %r', url1, url2) + return result + + def split_filename(self, filename, project_name): + """ + Attempt to split a filename in project name, version and Python version. + """ + return split_filename(filename, project_name) + + def convert_url_to_download_info(self, url, project_name): + """ + See if a URL is a candidate for a download URL for a project (the URL + has typically been scraped from an HTML page). + + If it is, a dictionary is returned with keys "name", "version", + "filename" and "url"; otherwise, None is returned. + """ + def same_project(name1, name2): + return normalize_name(name1) == normalize_name(name2) + + result = None + scheme, netloc, path, params, query, frag = urlparse(url) + if frag.lower().startswith('egg='): # pragma: no cover + logger.debug('%s: version hint in fragment: %r', + project_name, frag) + m = HASHER_HASH.match(frag) + if m: + algo, digest = m.groups() + else: + algo, digest = None, None + origpath = path + if path and path[-1] == '/': # pragma: no cover + path = path[:-1] + if path.endswith('.whl'): + try: + wheel = Wheel(path) + if not is_compatible(wheel, self.wheel_tags): + logger.debug('Wheel not compatible: %s', path) + else: + if project_name is None: + include = True + else: + include = same_project(wheel.name, project_name) + if include: + result = { + 'name': wheel.name, + 'version': wheel.version, + 'filename': wheel.filename, + 'url': urlunparse((scheme, netloc, origpath, + params, query, '')), + 'python-version': ', '.join( + ['.'.join(list(v[2:])) for v in wheel.pyver]), + } + except Exception as e: # pragma: no cover + logger.warning('invalid path for wheel: %s', path) + elif not path.endswith(self.downloadable_extensions): # pragma: no cover + logger.debug('Not downloadable: %s', path) + else: # downloadable extension + path = filename = posixpath.basename(path) + for ext in self.downloadable_extensions: + if path.endswith(ext): + path = path[:-len(ext)] + t = self.split_filename(path, project_name) + if not t: # pragma: no cover + logger.debug('No match for project/version: %s', path) + else: + name, version, pyver = t + if not project_name or same_project(project_name, name): + result = { + 'name': name, + 'version': version, + 'filename': filename, + 'url': urlunparse((scheme, netloc, origpath, + params, query, '')), + #'packagetype': 'sdist', + } + if pyver: # pragma: no cover + result['python-version'] = pyver + break + if result and algo: + result['%s_digest' % algo] = digest + return result + + def _get_digest(self, info): + """ + Get a digest from a dictionary by looking at keys of the form + 'algo_digest'. + + Returns a 2-tuple (algo, digest) if found, else None. Currently + looks only for SHA256, then MD5. + """ + result = None + for algo in ('sha256', 'md5'): + key = '%s_digest' % algo + if key in info: + result = (algo, info[key]) + break + return result + + def _update_version_data(self, result, info): + """ + Update a result dictionary (the final result from _get_project) with a + dictionary for a specific version, which typically holds information + gleaned from a filename or URL for an archive for the distribution. + """ + name = info.pop('name') + version = info.pop('version') + if version in result: + dist = result[version] + md = dist.metadata + else: + dist = make_dist(name, version, scheme=self.scheme) + md = dist.metadata + dist.digest = digest = self._get_digest(info) + url = info['url'] + result['digests'][url] = digest + if md.source_url != info['url']: + md.source_url = self.prefer_url(md.source_url, url) + result['urls'].setdefault(version, set()).add(url) + dist.locator = self + result[version] = dist + + def locate(self, requirement, prereleases=False): + """ + Find the most recent distribution which matches the given + requirement. + + :param requirement: A requirement of the form 'foo (1.0)' or perhaps + 'foo (>= 1.0, < 2.0, != 1.3)' + :param prereleases: If ``True``, allow pre-release versions + to be located. Otherwise, pre-release versions + are not returned. + :return: A :class:`Distribution` instance, or ``None`` if no such + distribution could be located. + """ + result = None + r = parse_requirement(requirement) + if r is None: # pragma: no cover + raise DistlibException('Not a valid requirement: %r' % requirement) + scheme = get_scheme(self.scheme) + self.matcher = matcher = scheme.matcher(r.requirement) + logger.debug('matcher: %s (%s)', matcher, type(matcher).__name__) + versions = self.get_project(r.name) + if len(versions) > 2: # urls and digests keys are present + # sometimes, versions are invalid + slist = [] + vcls = matcher.version_class + for k in versions: + if k in ('urls', 'digests'): + continue + try: + if not matcher.match(k): + logger.debug('%s did not match %r', matcher, k) + else: + if prereleases or not vcls(k).is_prerelease: + slist.append(k) + else: + logger.debug('skipping pre-release ' + 'version %s of %s', k, matcher.name) + except Exception: # pragma: no cover + logger.warning('error matching %s with %r', matcher, k) + pass # slist.append(k) + if len(slist) > 1: + slist = sorted(slist, key=scheme.key) + if slist: + logger.debug('sorted list: %s', slist) + version = slist[-1] + result = versions[version] + if result: + if r.extras: + result.extras = r.extras + result.download_urls = versions.get('urls', {}).get(version, set()) + d = {} + sd = versions.get('digests', {}) + for url in result.download_urls: + if url in sd: # pragma: no cover + d[url] = sd[url] + result.digests = d + self.matcher = None + return result + + +class PyPIRPCLocator(Locator): + """ + This locator uses XML-RPC to locate distributions. It therefore + cannot be used with simple mirrors (that only mirror file content). + """ + def __init__(self, url, **kwargs): + """ + Initialise an instance. + + :param url: The URL to use for XML-RPC. + :param kwargs: Passed to the superclass constructor. + """ + super(PyPIRPCLocator, self).__init__(**kwargs) + self.base_url = url + self.client = ServerProxy(url, timeout=3.0) + + def get_distribution_names(self): + """ + Return all the distribution names known to this locator. + """ + return set(self.client.list_packages()) + + def _get_project(self, name): + result = {'urls': {}, 'digests': {}} + versions = self.client.package_releases(name, True) + for v in versions: + urls = self.client.release_urls(name, v) + data = self.client.release_data(name, v) + metadata = Metadata(scheme=self.scheme) + metadata.name = data['name'] + metadata.version = data['version'] + metadata.license = data.get('license') + metadata.keywords = data.get('keywords', []) + metadata.summary = data.get('summary') + dist = Distribution(metadata) + if urls: + info = urls[0] + metadata.source_url = info['url'] + dist.digest = self._get_digest(info) + dist.locator = self + result[v] = dist + for info in urls: + url = info['url'] + digest = self._get_digest(info) + result['urls'].setdefault(v, set()).add(url) + result['digests'][url] = digest + return result + +class PyPIJSONLocator(Locator): + """ + This locator uses PyPI's JSON interface. It's very limited in functionality + and probably not worth using. + """ + def __init__(self, url, **kwargs): + super(PyPIJSONLocator, self).__init__(**kwargs) + self.base_url = ensure_slash(url) + + def get_distribution_names(self): + """ + Return all the distribution names known to this locator. + """ + raise NotImplementedError('Not available from this locator') + + def _get_project(self, name): + result = {'urls': {}, 'digests': {}} + url = urljoin(self.base_url, '%s/json' % quote(name)) + try: + resp = self.opener.open(url) + data = resp.read().decode() # for now + d = json.loads(data) + md = Metadata(scheme=self.scheme) + data = d['info'] + md.name = data['name'] + md.version = data['version'] + md.license = data.get('license') + md.keywords = data.get('keywords', []) + md.summary = data.get('summary') + dist = Distribution(md) + dist.locator = self + urls = d['urls'] + result[md.version] = dist + for info in d['urls']: + url = info['url'] + dist.download_urls.add(url) + dist.digests[url] = self._get_digest(info) + result['urls'].setdefault(md.version, set()).add(url) + result['digests'][url] = self._get_digest(info) + # Now get other releases + for version, infos in d['releases'].items(): + if version == md.version: + continue # already done + omd = Metadata(scheme=self.scheme) + omd.name = md.name + omd.version = version + odist = Distribution(omd) + odist.locator = self + result[version] = odist + for info in infos: + url = info['url'] + odist.download_urls.add(url) + odist.digests[url] = self._get_digest(info) + result['urls'].setdefault(version, set()).add(url) + result['digests'][url] = self._get_digest(info) +# for info in urls: +# md.source_url = info['url'] +# dist.digest = self._get_digest(info) +# dist.locator = self +# for info in urls: +# url = info['url'] +# result['urls'].setdefault(md.version, set()).add(url) +# result['digests'][url] = self._get_digest(info) + except Exception as e: + self.errors.put(text_type(e)) + logger.exception('JSON fetch failed: %s', e) + return result + + +class Page(object): + """ + This class represents a scraped HTML page. + """ + # The following slightly hairy-looking regex just looks for the contents of + # an anchor link, which has an attribute "href" either immediately preceded + # or immediately followed by a "rel" attribute. The attribute values can be + # declared with double quotes, single quotes or no quotes - which leads to + # the length of the expression. + _href = re.compile(""" +(rel\\s*=\\s*(?:"(?P<rel1>[^"]*)"|'(?P<rel2>[^']*)'|(?P<rel3>[^>\\s\n]*))\\s+)? +href\\s*=\\s*(?:"(?P<url1>[^"]*)"|'(?P<url2>[^']*)'|(?P<url3>[^>\\s\n]*)) +(\\s+rel\\s*=\\s*(?:"(?P<rel4>[^"]*)"|'(?P<rel5>[^']*)'|(?P<rel6>[^>\\s\n]*)))? +""", re.I | re.S | re.X) + _base = re.compile(r"""<base\s+href\s*=\s*['"]?([^'">]+)""", re.I | re.S) + + def __init__(self, data, url): + """ + Initialise an instance with the Unicode page contents and the URL they + came from. + """ + self.data = data + self.base_url = self.url = url + m = self._base.search(self.data) + if m: + self.base_url = m.group(1) + + _clean_re = re.compile(r'[^a-z0-9$&+,/:;=?@.#%_\\|-]', re.I) + + @cached_property + def links(self): + """ + Return the URLs of all the links on a page together with information + about their "rel" attribute, for determining which ones to treat as + downloads and which ones to queue for further scraping. + """ + def clean(url): + "Tidy up an URL." + scheme, netloc, path, params, query, frag = urlparse(url) + return urlunparse((scheme, netloc, quote(path), + params, query, frag)) + + result = set() + for match in self._href.finditer(self.data): + d = match.groupdict('') + rel = (d['rel1'] or d['rel2'] or d['rel3'] or + d['rel4'] or d['rel5'] or d['rel6']) + url = d['url1'] or d['url2'] or d['url3'] + url = urljoin(self.base_url, url) + url = unescape(url) + url = self._clean_re.sub(lambda m: '%%%2x' % ord(m.group(0)), url) + result.add((url, rel)) + # We sort the result, hoping to bring the most recent versions + # to the front + result = sorted(result, key=lambda t: t[0], reverse=True) + return result + + +class SimpleScrapingLocator(Locator): + """ + A locator which scrapes HTML pages to locate downloads for a distribution. + This runs multiple threads to do the I/O; performance is at least as good + as pip's PackageFinder, which works in an analogous fashion. + """ + + # These are used to deal with various Content-Encoding schemes. + decoders = { + 'deflate': zlib.decompress, + 'gzip': lambda b: gzip.GzipFile(fileobj=BytesIO(d)).read(), + 'none': lambda b: b, + } + + def __init__(self, url, timeout=None, num_workers=10, **kwargs): + """ + Initialise an instance. + :param url: The root URL to use for scraping. + :param timeout: The timeout, in seconds, to be applied to requests. + This defaults to ``None`` (no timeout specified). + :param num_workers: The number of worker threads you want to do I/O, + This defaults to 10. + :param kwargs: Passed to the superclass. + """ + super(SimpleScrapingLocator, self).__init__(**kwargs) + self.base_url = ensure_slash(url) + self.timeout = timeout + self._page_cache = {} + self._seen = set() + self._to_fetch = queue.Queue() + self._bad_hosts = set() + self.skip_externals = False + self.num_workers = num_workers + self._lock = threading.RLock() + # See issue #45: we need to be resilient when the locator is used + # in a thread, e.g. with concurrent.futures. We can't use self._lock + # as it is for coordinating our internal threads - the ones created + # in _prepare_threads. + self._gplock = threading.RLock() + self.platform_check = False # See issue #112 + + def _prepare_threads(self): + """ + Threads are created only when get_project is called, and terminate + before it returns. They are there primarily to parallelise I/O (i.e. + fetching web pages). + """ + self._threads = [] + for i in range(self.num_workers): + t = threading.Thread(target=self._fetch) + t.setDaemon(True) + t.start() + self._threads.append(t) + + def _wait_threads(self): + """ + Tell all the threads to terminate (by sending a sentinel value) and + wait for them to do so. + """ + # Note that you need two loops, since you can't say which + # thread will get each sentinel + for t in self._threads: + self._to_fetch.put(None) # sentinel + for t in self._threads: + t.join() + self._threads = [] + + def _get_project(self, name): + result = {'urls': {}, 'digests': {}} + with self._gplock: + self.result = result + self.project_name = name + url = urljoin(self.base_url, '%s/' % quote(name)) + self._seen.clear() + self._page_cache.clear() + self._prepare_threads() + try: + logger.debug('Queueing %s', url) + self._to_fetch.put(url) + self._to_fetch.join() + finally: + self._wait_threads() + del self.result + return result + + platform_dependent = re.compile(r'\b(linux_(i\d86|x86_64|arm\w+)|' + r'win(32|_amd64)|macosx_?\d+)\b', re.I) + + def _is_platform_dependent(self, url): + """ + Does an URL refer to a platform-specific download? + """ + return self.platform_dependent.search(url) + + def _process_download(self, url): + """ + See if an URL is a suitable download for a project. + + If it is, register information in the result dictionary (for + _get_project) about the specific version it's for. + + Note that the return value isn't actually used other than as a boolean + value. + """ + if self.platform_check and self._is_platform_dependent(url): + info = None + else: + info = self.convert_url_to_download_info(url, self.project_name) + logger.debug('process_download: %s -> %s', url, info) + if info: + with self._lock: # needed because self.result is shared + self._update_version_data(self.result, info) + return info + + def _should_queue(self, link, referrer, rel): + """ + Determine whether a link URL from a referring page and with a + particular "rel" attribute should be queued for scraping. + """ + scheme, netloc, path, _, _, _ = urlparse(link) + if path.endswith(self.source_extensions + self.binary_extensions + + self.excluded_extensions): + result = False + elif self.skip_externals and not link.startswith(self.base_url): + result = False + elif not referrer.startswith(self.base_url): + result = False + elif rel not in ('homepage', 'download'): + result = False + elif scheme not in ('http', 'https', 'ftp'): + result = False + elif self._is_platform_dependent(link): + result = False + else: + host = netloc.split(':', 1)[0] + if host.lower() == 'localhost': + result = False + else: + result = True + logger.debug('should_queue: %s (%s) from %s -> %s', link, rel, + referrer, result) + return result + + def _fetch(self): + """ + Get a URL to fetch from the work queue, get the HTML page, examine its + links for download candidates and candidates for further scraping. + + This is a handy method to run in a thread. + """ + while True: + url = self._to_fetch.get() + try: + if url: + page = self.get_page(url) + if page is None: # e.g. after an error + continue + for link, rel in page.links: + if link not in self._seen: + try: + self._seen.add(link) + if (not self._process_download(link) and + self._should_queue(link, url, rel)): + logger.debug('Queueing %s from %s', link, url) + self._to_fetch.put(link) + except MetadataInvalidError: # e.g. invalid versions + pass + except Exception as e: # pragma: no cover + self.errors.put(text_type(e)) + finally: + # always do this, to avoid hangs :-) + self._to_fetch.task_done() + if not url: + #logger.debug('Sentinel seen, quitting.') + break + + def get_page(self, url): + """ + Get the HTML for an URL, possibly from an in-memory cache. + + XXX TODO Note: this cache is never actually cleared. It's assumed that + the data won't get stale over the lifetime of a locator instance (not + necessarily true for the default_locator). + """ + # http://peak.telecommunity.com/DevCenter/EasyInstall#package-index-api + scheme, netloc, path, _, _, _ = urlparse(url) + if scheme == 'file' and os.path.isdir(url2pathname(path)): + url = urljoin(ensure_slash(url), 'index.html') + + if url in self._page_cache: + result = self._page_cache[url] + logger.debug('Returning %s from cache: %s', url, result) + else: + host = netloc.split(':', 1)[0] + result = None + if host in self._bad_hosts: + logger.debug('Skipping %s due to bad host %s', url, host) + else: + req = Request(url, headers={'Accept-encoding': 'identity'}) + try: + logger.debug('Fetching %s', url) + resp = self.opener.open(req, timeout=self.timeout) + logger.debug('Fetched %s', url) + headers = resp.info() + content_type = headers.get('Content-Type', '') + if HTML_CONTENT_TYPE.match(content_type): + final_url = resp.geturl() + data = resp.read() + encoding = headers.get('Content-Encoding') + if encoding: + decoder = self.decoders[encoding] # fail if not found + data = decoder(data) + encoding = 'utf-8' + m = CHARSET.search(content_type) + if m: + encoding = m.group(1) + try: + data = data.decode(encoding) + except UnicodeError: # pragma: no cover + data = data.decode('latin-1') # fallback + result = Page(data, final_url) + self._page_cache[final_url] = result + except HTTPError as e: + if e.code != 404: + logger.exception('Fetch failed: %s: %s', url, e) + except URLError as e: # pragma: no cover + logger.exception('Fetch failed: %s: %s', url, e) + with self._lock: + self._bad_hosts.add(host) + except Exception as e: # pragma: no cover + logger.exception('Fetch failed: %s: %s', url, e) + finally: + self._page_cache[url] = result # even if None (failure) + return result + + _distname_re = re.compile('<a href=[^>]*>([^<]+)<') + + def get_distribution_names(self): + """ + Return all the distribution names known to this locator. + """ + result = set() + page = self.get_page(self.base_url) + if not page: + raise DistlibException('Unable to get %s' % self.base_url) + for match in self._distname_re.finditer(page.data): + result.add(match.group(1)) + return result + +class DirectoryLocator(Locator): + """ + This class locates distributions in a directory tree. + """ + + def __init__(self, path, **kwargs): + """ + Initialise an instance. + :param path: The root of the directory tree to search. + :param kwargs: Passed to the superclass constructor, + except for: + * recursive - if True (the default), subdirectories are + recursed into. If False, only the top-level directory + is searched, + """ + self.recursive = kwargs.pop('recursive', True) + super(DirectoryLocator, self).__init__(**kwargs) + path = os.path.abspath(path) + if not os.path.isdir(path): # pragma: no cover + raise DistlibException('Not a directory: %r' % path) + self.base_dir = path + + def should_include(self, filename, parent): + """ + Should a filename be considered as a candidate for a distribution + archive? As well as the filename, the directory which contains it + is provided, though not used by the current implementation. + """ + return filename.endswith(self.downloadable_extensions) + + def _get_project(self, name): + result = {'urls': {}, 'digests': {}} + for root, dirs, files in os.walk(self.base_dir): + for fn in files: + if self.should_include(fn, root): + fn = os.path.join(root, fn) + url = urlunparse(('file', '', + pathname2url(os.path.abspath(fn)), + '', '', '')) + info = self.convert_url_to_download_info(url, name) + if info: + self._update_version_data(result, info) + if not self.recursive: + break + return result + + def get_distribution_names(self): + """ + Return all the distribution names known to this locator. + """ + result = set() + for root, dirs, files in os.walk(self.base_dir): + for fn in files: + if self.should_include(fn, root): + fn = os.path.join(root, fn) + url = urlunparse(('file', '', + pathname2url(os.path.abspath(fn)), + '', '', '')) + info = self.convert_url_to_download_info(url, None) + if info: + result.add(info['name']) + if not self.recursive: + break + return result + +class JSONLocator(Locator): + """ + This locator uses special extended metadata (not available on PyPI) and is + the basis of performant dependency resolution in distlib. Other locators + require archive downloads before dependencies can be determined! As you + might imagine, that can be slow. + """ + def get_distribution_names(self): + """ + Return all the distribution names known to this locator. + """ + raise NotImplementedError('Not available from this locator') + + def _get_project(self, name): + result = {'urls': {}, 'digests': {}} + data = get_project_data(name) + if data: + for info in data.get('files', []): + if info['ptype'] != 'sdist' or info['pyversion'] != 'source': + continue + # We don't store summary in project metadata as it makes + # the data bigger for no benefit during dependency + # resolution + dist = make_dist(data['name'], info['version'], + summary=data.get('summary', + 'Placeholder for summary'), + scheme=self.scheme) + md = dist.metadata + md.source_url = info['url'] + # TODO SHA256 digest + if 'digest' in info and info['digest']: + dist.digest = ('md5', info['digest']) + md.dependencies = info.get('requirements', {}) + dist.exports = info.get('exports', {}) + result[dist.version] = dist + result['urls'].setdefault(dist.version, set()).add(info['url']) + return result + +class DistPathLocator(Locator): + """ + This locator finds installed distributions in a path. It can be useful for + adding to an :class:`AggregatingLocator`. + """ + def __init__(self, distpath, **kwargs): + """ + Initialise an instance. + + :param distpath: A :class:`DistributionPath` instance to search. + """ + super(DistPathLocator, self).__init__(**kwargs) + assert isinstance(distpath, DistributionPath) + self.distpath = distpath + + def _get_project(self, name): + dist = self.distpath.get_distribution(name) + if dist is None: + result = {'urls': {}, 'digests': {}} + else: + result = { + dist.version: dist, + 'urls': {dist.version: set([dist.source_url])}, + 'digests': {dist.version: set([None])} + } + return result + + +class AggregatingLocator(Locator): + """ + This class allows you to chain and/or merge a list of locators. + """ + def __init__(self, *locators, **kwargs): + """ + Initialise an instance. + + :param locators: The list of locators to search. + :param kwargs: Passed to the superclass constructor, + except for: + * merge - if False (the default), the first successful + search from any of the locators is returned. If True, + the results from all locators are merged (this can be + slow). + """ + self.merge = kwargs.pop('merge', False) + self.locators = locators + super(AggregatingLocator, self).__init__(**kwargs) + + def clear_cache(self): + super(AggregatingLocator, self).clear_cache() + for locator in self.locators: + locator.clear_cache() + + def _set_scheme(self, value): + self._scheme = value + for locator in self.locators: + locator.scheme = value + + scheme = property(Locator.scheme.fget, _set_scheme) + + def _get_project(self, name): + result = {} + for locator in self.locators: + d = locator.get_project(name) + if d: + if self.merge: + files = result.get('urls', {}) + digests = result.get('digests', {}) + # next line could overwrite result['urls'], result['digests'] + result.update(d) + df = result.get('urls') + if files and df: + for k, v in files.items(): + if k in df: + df[k] |= v + else: + df[k] = v + dd = result.get('digests') + if digests and dd: + dd.update(digests) + else: + # See issue #18. If any dists are found and we're looking + # for specific constraints, we only return something if + # a match is found. For example, if a DirectoryLocator + # returns just foo (1.0) while we're looking for + # foo (>= 2.0), we'll pretend there was nothing there so + # that subsequent locators can be queried. Otherwise we + # would just return foo (1.0) which would then lead to a + # failure to find foo (>= 2.0), because other locators + # weren't searched. Note that this only matters when + # merge=False. + if self.matcher is None: + found = True + else: + found = False + for k in d: + if self.matcher.match(k): + found = True + break + if found: + result = d + break + return result + + def get_distribution_names(self): + """ + Return all the distribution names known to this locator. + """ + result = set() + for locator in self.locators: + try: + result |= locator.get_distribution_names() + except NotImplementedError: + pass + return result + + +# We use a legacy scheme simply because most of the dists on PyPI use legacy +# versions which don't conform to PEP 426 / PEP 440. +default_locator = AggregatingLocator( + JSONLocator(), + SimpleScrapingLocator('https://pypi.python.org/simple/', + timeout=3.0), + scheme='legacy') + +locate = default_locator.locate + +NAME_VERSION_RE = re.compile(r'(?P<name>[\w-]+)\s*' + r'\(\s*(==\s*)?(?P<ver>[^)]+)\)$') + +class DependencyFinder(object): + """ + Locate dependencies for distributions. + """ + + def __init__(self, locator=None): + """ + Initialise an instance, using the specified locator + to locate distributions. + """ + self.locator = locator or default_locator + self.scheme = get_scheme(self.locator.scheme) + + def add_distribution(self, dist): + """ + Add a distribution to the finder. This will update internal information + about who provides what. + :param dist: The distribution to add. + """ + logger.debug('adding distribution %s', dist) + name = dist.key + self.dists_by_name[name] = dist + self.dists[(name, dist.version)] = dist + for p in dist.provides: + name, version = parse_name_and_version(p) + logger.debug('Add to provided: %s, %s, %s', name, version, dist) + self.provided.setdefault(name, set()).add((version, dist)) + + def remove_distribution(self, dist): + """ + Remove a distribution from the finder. This will update internal + information about who provides what. + :param dist: The distribution to remove. + """ + logger.debug('removing distribution %s', dist) + name = dist.key + del self.dists_by_name[name] + del self.dists[(name, dist.version)] + for p in dist.provides: + name, version = parse_name_and_version(p) + logger.debug('Remove from provided: %s, %s, %s', name, version, dist) + s = self.provided[name] + s.remove((version, dist)) + if not s: + del self.provided[name] + + def get_matcher(self, reqt): + """ + Get a version matcher for a requirement. + :param reqt: The requirement + :type reqt: str + :return: A version matcher (an instance of + :class:`distlib.version.Matcher`). + """ + try: + matcher = self.scheme.matcher(reqt) + except UnsupportedVersionError: # pragma: no cover + # XXX compat-mode if cannot read the version + name = reqt.split()[0] + matcher = self.scheme.matcher(name) + return matcher + + def find_providers(self, reqt): + """ + Find the distributions which can fulfill a requirement. + + :param reqt: The requirement. + :type reqt: str + :return: A set of distribution which can fulfill the requirement. + """ + matcher = self.get_matcher(reqt) + name = matcher.key # case-insensitive + result = set() + provided = self.provided + if name in provided: + for version, provider in provided[name]: + try: + match = matcher.match(version) + except UnsupportedVersionError: + match = False + + if match: + result.add(provider) + break + return result + + def try_to_replace(self, provider, other, problems): + """ + Attempt to replace one provider with another. This is typically used + when resolving dependencies from multiple sources, e.g. A requires + (B >= 1.0) while C requires (B >= 1.1). + + For successful replacement, ``provider`` must meet all the requirements + which ``other`` fulfills. + + :param provider: The provider we are trying to replace with. + :param other: The provider we're trying to replace. + :param problems: If False is returned, this will contain what + problems prevented replacement. This is currently + a tuple of the literal string 'cantreplace', + ``provider``, ``other`` and the set of requirements + that ``provider`` couldn't fulfill. + :return: True if we can replace ``other`` with ``provider``, else + False. + """ + rlist = self.reqts[other] + unmatched = set() + for s in rlist: + matcher = self.get_matcher(s) + if not matcher.match(provider.version): + unmatched.add(s) + if unmatched: + # can't replace other with provider + problems.add(('cantreplace', provider, other, + frozenset(unmatched))) + result = False + else: + # can replace other with provider + self.remove_distribution(other) + del self.reqts[other] + for s in rlist: + self.reqts.setdefault(provider, set()).add(s) + self.add_distribution(provider) + result = True + return result + + def find(self, requirement, meta_extras=None, prereleases=False): + """ + Find a distribution and all distributions it depends on. + + :param requirement: The requirement specifying the distribution to + find, or a Distribution instance. + :param meta_extras: A list of meta extras such as :test:, :build: and + so on. + :param prereleases: If ``True``, allow pre-release versions to be + returned - otherwise, don't return prereleases + unless they're all that's available. + + Return a set of :class:`Distribution` instances and a set of + problems. + + The distributions returned should be such that they have the + :attr:`required` attribute set to ``True`` if they were + from the ``requirement`` passed to ``find()``, and they have the + :attr:`build_time_dependency` attribute set to ``True`` unless they + are post-installation dependencies of the ``requirement``. + + The problems should be a tuple consisting of the string + ``'unsatisfied'`` and the requirement which couldn't be satisfied + by any distribution known to the locator. + """ + + self.provided = {} + self.dists = {} + self.dists_by_name = {} + self.reqts = {} + + meta_extras = set(meta_extras or []) + if ':*:' in meta_extras: + meta_extras.remove(':*:') + # :meta: and :run: are implicitly included + meta_extras |= set([':test:', ':build:', ':dev:']) + + if isinstance(requirement, Distribution): + dist = odist = requirement + logger.debug('passed %s as requirement', odist) + else: + dist = odist = self.locator.locate(requirement, + prereleases=prereleases) + if dist is None: + raise DistlibException('Unable to locate %r' % requirement) + logger.debug('located %s', odist) + dist.requested = True + problems = set() + todo = set([dist]) + install_dists = set([odist]) + while todo: + dist = todo.pop() + name = dist.key # case-insensitive + if name not in self.dists_by_name: + self.add_distribution(dist) + else: + #import pdb; pdb.set_trace() + other = self.dists_by_name[name] + if other != dist: + self.try_to_replace(dist, other, problems) + + ireqts = dist.run_requires | dist.meta_requires + sreqts = dist.build_requires + ereqts = set() + if meta_extras and dist in install_dists: + for key in ('test', 'build', 'dev'): + e = ':%s:' % key + if e in meta_extras: + ereqts |= getattr(dist, '%s_requires' % key) + all_reqts = ireqts | sreqts | ereqts + for r in all_reqts: + providers = self.find_providers(r) + if not providers: + logger.debug('No providers found for %r', r) + provider = self.locator.locate(r, prereleases=prereleases) + # If no provider is found and we didn't consider + # prereleases, consider them now. + if provider is None and not prereleases: + provider = self.locator.locate(r, prereleases=True) + if provider is None: + logger.debug('Cannot satisfy %r', r) + problems.add(('unsatisfied', r)) + else: + n, v = provider.key, provider.version + if (n, v) not in self.dists: + todo.add(provider) + providers.add(provider) + if r in ireqts and dist in install_dists: + install_dists.add(provider) + logger.debug('Adding %s to install_dists', + provider.name_and_version) + for p in providers: + name = p.key + if name not in self.dists_by_name: + self.reqts.setdefault(p, set()).add(r) + else: + other = self.dists_by_name[name] + if other != p: + # see if other can be replaced by p + self.try_to_replace(p, other, problems) + + dists = set(self.dists.values()) + for dist in dists: + dist.build_time_dependency = dist not in install_dists + if dist.build_time_dependency: + logger.debug('%s is a build-time dependency only.', + dist.name_and_version) + logger.debug('find done for %s', odist) + return dists, problems diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/manifest.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/manifest.py new file mode 100644 index 0000000..ca0fe44 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/manifest.py @@ -0,0 +1,393 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012-2013 Python Software Foundation. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +""" +Class representing the list of files in a distribution. + +Equivalent to distutils.filelist, but fixes some problems. +""" +import fnmatch +import logging +import os +import re +import sys + +from . import DistlibException +from .compat import fsdecode +from .util import convert_path + + +__all__ = ['Manifest'] + +logger = logging.getLogger(__name__) + +# a \ followed by some spaces + EOL +_COLLAPSE_PATTERN = re.compile('\\\\w*\n', re.M) +_COMMENTED_LINE = re.compile('#.*?(?=\n)|\n(?=$)', re.M | re.S) + +# +# Due to the different results returned by fnmatch.translate, we need +# to do slightly different processing for Python 2.7 and 3.2 ... this needed +# to be brought in for Python 3.6 onwards. +# +_PYTHON_VERSION = sys.version_info[:2] + +class Manifest(object): + """A list of files built by on exploring the filesystem and filtered by + applying various patterns to what we find there. + """ + + def __init__(self, base=None): + """ + Initialise an instance. + + :param base: The base directory to explore under. + """ + self.base = os.path.abspath(os.path.normpath(base or os.getcwd())) + self.prefix = self.base + os.sep + self.allfiles = None + self.files = set() + + # + # Public API + # + + def findall(self): + """Find all files under the base and set ``allfiles`` to the absolute + pathnames of files found. + """ + from stat import S_ISREG, S_ISDIR, S_ISLNK + + self.allfiles = allfiles = [] + root = self.base + stack = [root] + pop = stack.pop + push = stack.append + + while stack: + root = pop() + names = os.listdir(root) + + for name in names: + fullname = os.path.join(root, name) + + # Avoid excess stat calls -- just one will do, thank you! + stat = os.stat(fullname) + mode = stat.st_mode + if S_ISREG(mode): + allfiles.append(fsdecode(fullname)) + elif S_ISDIR(mode) and not S_ISLNK(mode): + push(fullname) + + def add(self, item): + """ + Add a file to the manifest. + + :param item: The pathname to add. This can be relative to the base. + """ + if not item.startswith(self.prefix): + item = os.path.join(self.base, item) + self.files.add(os.path.normpath(item)) + + def add_many(self, items): + """ + Add a list of files to the manifest. + + :param items: The pathnames to add. These can be relative to the base. + """ + for item in items: + self.add(item) + + def sorted(self, wantdirs=False): + """ + Return sorted files in directory order + """ + + def add_dir(dirs, d): + dirs.add(d) + logger.debug('add_dir added %s', d) + if d != self.base: + parent, _ = os.path.split(d) + assert parent not in ('', '/') + add_dir(dirs, parent) + + result = set(self.files) # make a copy! + if wantdirs: + dirs = set() + for f in result: + add_dir(dirs, os.path.dirname(f)) + result |= dirs + return [os.path.join(*path_tuple) for path_tuple in + sorted(os.path.split(path) for path in result)] + + def clear(self): + """Clear all collected files.""" + self.files = set() + self.allfiles = [] + + def process_directive(self, directive): + """ + Process a directive which either adds some files from ``allfiles`` to + ``files``, or removes some files from ``files``. + + :param directive: The directive to process. This should be in a format + compatible with distutils ``MANIFEST.in`` files: + + http://docs.python.org/distutils/sourcedist.html#commands + """ + # Parse the line: split it up, make sure the right number of words + # is there, and return the relevant words. 'action' is always + # defined: it's the first word of the line. Which of the other + # three are defined depends on the action; it'll be either + # patterns, (dir and patterns), or (dirpattern). + action, patterns, thedir, dirpattern = self._parse_directive(directive) + + # OK, now we know that the action is valid and we have the + # right number of words on the line for that action -- so we + # can proceed with minimal error-checking. + if action == 'include': + for pattern in patterns: + if not self._include_pattern(pattern, anchor=True): + logger.warning('no files found matching %r', pattern) + + elif action == 'exclude': + for pattern in patterns: + found = self._exclude_pattern(pattern, anchor=True) + #if not found: + # logger.warning('no previously-included files ' + # 'found matching %r', pattern) + + elif action == 'global-include': + for pattern in patterns: + if not self._include_pattern(pattern, anchor=False): + logger.warning('no files found matching %r ' + 'anywhere in distribution', pattern) + + elif action == 'global-exclude': + for pattern in patterns: + found = self._exclude_pattern(pattern, anchor=False) + #if not found: + # logger.warning('no previously-included files ' + # 'matching %r found anywhere in ' + # 'distribution', pattern) + + elif action == 'recursive-include': + for pattern in patterns: + if not self._include_pattern(pattern, prefix=thedir): + logger.warning('no files found matching %r ' + 'under directory %r', pattern, thedir) + + elif action == 'recursive-exclude': + for pattern in patterns: + found = self._exclude_pattern(pattern, prefix=thedir) + #if not found: + # logger.warning('no previously-included files ' + # 'matching %r found under directory %r', + # pattern, thedir) + + elif action == 'graft': + if not self._include_pattern(None, prefix=dirpattern): + logger.warning('no directories found matching %r', + dirpattern) + + elif action == 'prune': + if not self._exclude_pattern(None, prefix=dirpattern): + logger.warning('no previously-included directories found ' + 'matching %r', dirpattern) + else: # pragma: no cover + # This should never happen, as it should be caught in + # _parse_template_line + raise DistlibException( + 'invalid action %r' % action) + + # + # Private API + # + + def _parse_directive(self, directive): + """ + Validate a directive. + :param directive: The directive to validate. + :return: A tuple of action, patterns, thedir, dir_patterns + """ + words = directive.split() + if len(words) == 1 and words[0] not in ('include', 'exclude', + 'global-include', + 'global-exclude', + 'recursive-include', + 'recursive-exclude', + 'graft', 'prune'): + # no action given, let's use the default 'include' + words.insert(0, 'include') + + action = words[0] + patterns = thedir = dir_pattern = None + + if action in ('include', 'exclude', + 'global-include', 'global-exclude'): + if len(words) < 2: + raise DistlibException( + '%r expects <pattern1> <pattern2> ...' % action) + + patterns = [convert_path(word) for word in words[1:]] + + elif action in ('recursive-include', 'recursive-exclude'): + if len(words) < 3: + raise DistlibException( + '%r expects <dir> <pattern1> <pattern2> ...' % action) + + thedir = convert_path(words[1]) + patterns = [convert_path(word) for word in words[2:]] + + elif action in ('graft', 'prune'): + if len(words) != 2: + raise DistlibException( + '%r expects a single <dir_pattern>' % action) + + dir_pattern = convert_path(words[1]) + + else: + raise DistlibException('unknown action %r' % action) + + return action, patterns, thedir, dir_pattern + + def _include_pattern(self, pattern, anchor=True, prefix=None, + is_regex=False): + """Select strings (presumably filenames) from 'self.files' that + match 'pattern', a Unix-style wildcard (glob) pattern. + + Patterns are not quite the same as implemented by the 'fnmatch' + module: '*' and '?' match non-special characters, where "special" + is platform-dependent: slash on Unix; colon, slash, and backslash on + DOS/Windows; and colon on Mac OS. + + If 'anchor' is true (the default), then the pattern match is more + stringent: "*.py" will match "foo.py" but not "foo/bar.py". If + 'anchor' is false, both of these will match. + + If 'prefix' is supplied, then only filenames starting with 'prefix' + (itself a pattern) and ending with 'pattern', with anything in between + them, will match. 'anchor' is ignored in this case. + + If 'is_regex' is true, 'anchor' and 'prefix' are ignored, and + 'pattern' is assumed to be either a string containing a regex or a + regex object -- no translation is done, the regex is just compiled + and used as-is. + + Selected strings will be added to self.files. + + Return True if files are found. + """ + # XXX docstring lying about what the special chars are? + found = False + pattern_re = self._translate_pattern(pattern, anchor, prefix, is_regex) + + # delayed loading of allfiles list + if self.allfiles is None: + self.findall() + + for name in self.allfiles: + if pattern_re.search(name): + self.files.add(name) + found = True + return found + + def _exclude_pattern(self, pattern, anchor=True, prefix=None, + is_regex=False): + """Remove strings (presumably filenames) from 'files' that match + 'pattern'. + + Other parameters are the same as for 'include_pattern()', above. + The list 'self.files' is modified in place. Return True if files are + found. + + This API is public to allow e.g. exclusion of SCM subdirs, e.g. when + packaging source distributions + """ + found = False + pattern_re = self._translate_pattern(pattern, anchor, prefix, is_regex) + for f in list(self.files): + if pattern_re.search(f): + self.files.remove(f) + found = True + return found + + def _translate_pattern(self, pattern, anchor=True, prefix=None, + is_regex=False): + """Translate a shell-like wildcard pattern to a compiled regular + expression. + + Return the compiled regex. If 'is_regex' true, + then 'pattern' is directly compiled to a regex (if it's a string) + or just returned as-is (assumes it's a regex object). + """ + if is_regex: + if isinstance(pattern, str): + return re.compile(pattern) + else: + return pattern + + if _PYTHON_VERSION > (3, 2): + # ditch start and end characters + start, _, end = self._glob_to_re('_').partition('_') + + if pattern: + pattern_re = self._glob_to_re(pattern) + if _PYTHON_VERSION > (3, 2): + assert pattern_re.startswith(start) and pattern_re.endswith(end) + else: + pattern_re = '' + + base = re.escape(os.path.join(self.base, '')) + if prefix is not None: + # ditch end of pattern character + if _PYTHON_VERSION <= (3, 2): + empty_pattern = self._glob_to_re('') + prefix_re = self._glob_to_re(prefix)[:-len(empty_pattern)] + else: + prefix_re = self._glob_to_re(prefix) + assert prefix_re.startswith(start) and prefix_re.endswith(end) + prefix_re = prefix_re[len(start): len(prefix_re) - len(end)] + sep = os.sep + if os.sep == '\\': + sep = r'\\' + if _PYTHON_VERSION <= (3, 2): + pattern_re = '^' + base + sep.join((prefix_re, + '.*' + pattern_re)) + else: + pattern_re = pattern_re[len(start): len(pattern_re) - len(end)] + pattern_re = r'%s%s%s%s.*%s%s' % (start, base, prefix_re, sep, + pattern_re, end) + else: # no prefix -- respect anchor flag + if anchor: + if _PYTHON_VERSION <= (3, 2): + pattern_re = '^' + base + pattern_re + else: + pattern_re = r'%s%s%s' % (start, base, pattern_re[len(start):]) + + return re.compile(pattern_re) + + def _glob_to_re(self, pattern): + """Translate a shell-like glob pattern to a regular expression. + + Return a string containing the regex. Differs from + 'fnmatch.translate()' in that '*' does not match "special characters" + (which are platform-specific). + """ + pattern_re = fnmatch.translate(pattern) + + # '?' and '*' in the glob pattern become '.' and '.*' in the RE, which + # IMHO is wrong -- '?' and '*' aren't supposed to match slash in Unix, + # and by extension they shouldn't match such "special characters" under + # any OS. So change all non-escaped dots in the RE to match any + # character except the special characters (currently: just os.sep). + sep = os.sep + if os.sep == '\\': + # we're using a regex to manipulate a regex, so we need + # to escape the backslash twice + sep = r'\\\\' + escaped = r'\1[^%s]' % sep + pattern_re = re.sub(r'((?<!\\)(\\\\)*)\.', escaped, pattern_re) + return pattern_re diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/markers.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/markers.py new file mode 100644 index 0000000..ee1f3e2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/markers.py @@ -0,0 +1,131 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012-2017 Vinay Sajip. +# Licensed to the Python Software Foundation under a contributor agreement. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +""" +Parser for the environment markers micro-language defined in PEP 508. +""" + +# Note: In PEP 345, the micro-language was Python compatible, so the ast +# module could be used to parse it. However, PEP 508 introduced operators such +# as ~= and === which aren't in Python, necessitating a different approach. + +import os +import sys +import platform +import re + +from .compat import python_implementation, urlparse, string_types +from .util import in_venv, parse_marker + +__all__ = ['interpret'] + +def _is_literal(o): + if not isinstance(o, string_types) or not o: + return False + return o[0] in '\'"' + +class Evaluator(object): + """ + This class is used to evaluate marker expessions. + """ + + operations = { + '==': lambda x, y: x == y, + '===': lambda x, y: x == y, + '~=': lambda x, y: x == y or x > y, + '!=': lambda x, y: x != y, + '<': lambda x, y: x < y, + '<=': lambda x, y: x == y or x < y, + '>': lambda x, y: x > y, + '>=': lambda x, y: x == y or x > y, + 'and': lambda x, y: x and y, + 'or': lambda x, y: x or y, + 'in': lambda x, y: x in y, + 'not in': lambda x, y: x not in y, + } + + def evaluate(self, expr, context): + """ + Evaluate a marker expression returned by the :func:`parse_requirement` + function in the specified context. + """ + if isinstance(expr, string_types): + if expr[0] in '\'"': + result = expr[1:-1] + else: + if expr not in context: + raise SyntaxError('unknown variable: %s' % expr) + result = context[expr] + else: + assert isinstance(expr, dict) + op = expr['op'] + if op not in self.operations: + raise NotImplementedError('op not implemented: %s' % op) + elhs = expr['lhs'] + erhs = expr['rhs'] + if _is_literal(expr['lhs']) and _is_literal(expr['rhs']): + raise SyntaxError('invalid comparison: %s %s %s' % (elhs, op, erhs)) + + lhs = self.evaluate(elhs, context) + rhs = self.evaluate(erhs, context) + result = self.operations[op](lhs, rhs) + return result + +def default_context(): + def format_full_version(info): + version = '%s.%s.%s' % (info.major, info.minor, info.micro) + kind = info.releaselevel + if kind != 'final': + version += kind[0] + str(info.serial) + return version + + if hasattr(sys, 'implementation'): + implementation_version = format_full_version(sys.implementation.version) + implementation_name = sys.implementation.name + else: + implementation_version = '0' + implementation_name = '' + + result = { + 'implementation_name': implementation_name, + 'implementation_version': implementation_version, + 'os_name': os.name, + 'platform_machine': platform.machine(), + 'platform_python_implementation': platform.python_implementation(), + 'platform_release': platform.release(), + 'platform_system': platform.system(), + 'platform_version': platform.version(), + 'platform_in_venv': str(in_venv()), + 'python_full_version': platform.python_version(), + 'python_version': platform.python_version()[:3], + 'sys_platform': sys.platform, + } + return result + +DEFAULT_CONTEXT = default_context() +del default_context + +evaluator = Evaluator() + +def interpret(marker, execution_context=None): + """ + Interpret a marker and return a result depending on environment. + + :param marker: The marker to interpret. + :type marker: str + :param execution_context: The context used for name lookup. + :type execution_context: mapping + """ + try: + expr, rest = parse_marker(marker) + except Exception as e: + raise SyntaxError('Unable to interpret marker syntax: %s: %s' % (marker, e)) + if rest and rest[0] != '#': + raise SyntaxError('unexpected trailing data in marker: %s: %s' % (marker, rest)) + context = dict(DEFAULT_CONTEXT) + if execution_context: + context.update(execution_context) + return evaluator.evaluate(expr, context) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/metadata.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/metadata.py new file mode 100644 index 0000000..77eed7f --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/metadata.py @@ -0,0 +1,1094 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012 The Python Software Foundation. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +"""Implementation of the Metadata for Python packages PEPs. + +Supports all metadata formats (1.0, 1.1, 1.2, and 2.0 experimental). +""" +from __future__ import unicode_literals + +import codecs +from email import message_from_file +import json +import logging +import re + + +from . import DistlibException, __version__ +from .compat import StringIO, string_types, text_type +from .markers import interpret +from .util import extract_by_key, get_extras +from .version import get_scheme, PEP440_VERSION_RE + +logger = logging.getLogger(__name__) + + +class MetadataMissingError(DistlibException): + """A required metadata is missing""" + + +class MetadataConflictError(DistlibException): + """Attempt to read or write metadata fields that are conflictual.""" + + +class MetadataUnrecognizedVersionError(DistlibException): + """Unknown metadata version number.""" + + +class MetadataInvalidError(DistlibException): + """A metadata value is invalid""" + +# public API of this module +__all__ = ['Metadata', 'PKG_INFO_ENCODING', 'PKG_INFO_PREFERRED_VERSION'] + +# Encoding used for the PKG-INFO files +PKG_INFO_ENCODING = 'utf-8' + +# preferred version. Hopefully will be changed +# to 1.2 once PEP 345 is supported everywhere +PKG_INFO_PREFERRED_VERSION = '1.1' + +_LINE_PREFIX_1_2 = re.compile('\n \\|') +_LINE_PREFIX_PRE_1_2 = re.compile('\n ') +_241_FIELDS = ('Metadata-Version', 'Name', 'Version', 'Platform', + 'Summary', 'Description', + 'Keywords', 'Home-page', 'Author', 'Author-email', + 'License') + +_314_FIELDS = ('Metadata-Version', 'Name', 'Version', 'Platform', + 'Supported-Platform', 'Summary', 'Description', + 'Keywords', 'Home-page', 'Author', 'Author-email', + 'License', 'Classifier', 'Download-URL', 'Obsoletes', + 'Provides', 'Requires') + +_314_MARKERS = ('Obsoletes', 'Provides', 'Requires', 'Classifier', + 'Download-URL') + +_345_FIELDS = ('Metadata-Version', 'Name', 'Version', 'Platform', + 'Supported-Platform', 'Summary', 'Description', + 'Keywords', 'Home-page', 'Author', 'Author-email', + 'Maintainer', 'Maintainer-email', 'License', + 'Classifier', 'Download-URL', 'Obsoletes-Dist', + 'Project-URL', 'Provides-Dist', 'Requires-Dist', + 'Requires-Python', 'Requires-External') + +_345_MARKERS = ('Provides-Dist', 'Requires-Dist', 'Requires-Python', + 'Obsoletes-Dist', 'Requires-External', 'Maintainer', + 'Maintainer-email', 'Project-URL') + +_426_FIELDS = ('Metadata-Version', 'Name', 'Version', 'Platform', + 'Supported-Platform', 'Summary', 'Description', + 'Keywords', 'Home-page', 'Author', 'Author-email', + 'Maintainer', 'Maintainer-email', 'License', + 'Classifier', 'Download-URL', 'Obsoletes-Dist', + 'Project-URL', 'Provides-Dist', 'Requires-Dist', + 'Requires-Python', 'Requires-External', 'Private-Version', + 'Obsoleted-By', 'Setup-Requires-Dist', 'Extension', + 'Provides-Extra') + +_426_MARKERS = ('Private-Version', 'Provides-Extra', 'Obsoleted-By', + 'Setup-Requires-Dist', 'Extension') + +# See issue #106: Sometimes 'Requires' occurs wrongly in the metadata. Include +# it in the tuple literal below to allow it (for now) +_566_FIELDS = _426_FIELDS + ('Description-Content-Type', 'Requires') + +_566_MARKERS = ('Description-Content-Type',) + +_ALL_FIELDS = set() +_ALL_FIELDS.update(_241_FIELDS) +_ALL_FIELDS.update(_314_FIELDS) +_ALL_FIELDS.update(_345_FIELDS) +_ALL_FIELDS.update(_426_FIELDS) +_ALL_FIELDS.update(_566_FIELDS) + +EXTRA_RE = re.compile(r'''extra\s*==\s*("([^"]+)"|'([^']+)')''') + + +def _version2fieldlist(version): + if version == '1.0': + return _241_FIELDS + elif version == '1.1': + return _314_FIELDS + elif version == '1.2': + return _345_FIELDS + elif version in ('1.3', '2.1'): + return _345_FIELDS + _566_FIELDS + elif version == '2.0': + return _426_FIELDS + raise MetadataUnrecognizedVersionError(version) + + +def _best_version(fields): + """Detect the best version depending on the fields used.""" + def _has_marker(keys, markers): + for marker in markers: + if marker in keys: + return True + return False + + keys = [] + for key, value in fields.items(): + if value in ([], 'UNKNOWN', None): + continue + keys.append(key) + + possible_versions = ['1.0', '1.1', '1.2', '1.3', '2.0', '2.1'] + + # first let's try to see if a field is not part of one of the version + for key in keys: + if key not in _241_FIELDS and '1.0' in possible_versions: + possible_versions.remove('1.0') + logger.debug('Removed 1.0 due to %s', key) + if key not in _314_FIELDS and '1.1' in possible_versions: + possible_versions.remove('1.1') + logger.debug('Removed 1.1 due to %s', key) + if key not in _345_FIELDS and '1.2' in possible_versions: + possible_versions.remove('1.2') + logger.debug('Removed 1.2 due to %s', key) + if key not in _566_FIELDS and '1.3' in possible_versions: + possible_versions.remove('1.3') + logger.debug('Removed 1.3 due to %s', key) + if key not in _566_FIELDS and '2.1' in possible_versions: + if key != 'Description': # In 2.1, description allowed after headers + possible_versions.remove('2.1') + logger.debug('Removed 2.1 due to %s', key) + if key not in _426_FIELDS and '2.0' in possible_versions: + possible_versions.remove('2.0') + logger.debug('Removed 2.0 due to %s', key) + + # possible_version contains qualified versions + if len(possible_versions) == 1: + return possible_versions[0] # found ! + elif len(possible_versions) == 0: + logger.debug('Out of options - unknown metadata set: %s', fields) + raise MetadataConflictError('Unknown metadata set') + + # let's see if one unique marker is found + is_1_1 = '1.1' in possible_versions and _has_marker(keys, _314_MARKERS) + is_1_2 = '1.2' in possible_versions and _has_marker(keys, _345_MARKERS) + is_2_1 = '2.1' in possible_versions and _has_marker(keys, _566_MARKERS) + is_2_0 = '2.0' in possible_versions and _has_marker(keys, _426_MARKERS) + if int(is_1_1) + int(is_1_2) + int(is_2_1) + int(is_2_0) > 1: + raise MetadataConflictError('You used incompatible 1.1/1.2/2.0/2.1 fields') + + # we have the choice, 1.0, or 1.2, or 2.0 + # - 1.0 has a broken Summary field but works with all tools + # - 1.1 is to avoid + # - 1.2 fixes Summary but has little adoption + # - 2.0 adds more features and is very new + if not is_1_1 and not is_1_2 and not is_2_1 and not is_2_0: + # we couldn't find any specific marker + if PKG_INFO_PREFERRED_VERSION in possible_versions: + return PKG_INFO_PREFERRED_VERSION + if is_1_1: + return '1.1' + if is_1_2: + return '1.2' + if is_2_1: + return '2.1' + + return '2.0' + +_ATTR2FIELD = { + 'metadata_version': 'Metadata-Version', + 'name': 'Name', + 'version': 'Version', + 'platform': 'Platform', + 'supported_platform': 'Supported-Platform', + 'summary': 'Summary', + 'description': 'Description', + 'keywords': 'Keywords', + 'home_page': 'Home-page', + 'author': 'Author', + 'author_email': 'Author-email', + 'maintainer': 'Maintainer', + 'maintainer_email': 'Maintainer-email', + 'license': 'License', + 'classifier': 'Classifier', + 'download_url': 'Download-URL', + 'obsoletes_dist': 'Obsoletes-Dist', + 'provides_dist': 'Provides-Dist', + 'requires_dist': 'Requires-Dist', + 'setup_requires_dist': 'Setup-Requires-Dist', + 'requires_python': 'Requires-Python', + 'requires_external': 'Requires-External', + 'requires': 'Requires', + 'provides': 'Provides', + 'obsoletes': 'Obsoletes', + 'project_url': 'Project-URL', + 'private_version': 'Private-Version', + 'obsoleted_by': 'Obsoleted-By', + 'extension': 'Extension', + 'provides_extra': 'Provides-Extra', +} + +_PREDICATE_FIELDS = ('Requires-Dist', 'Obsoletes-Dist', 'Provides-Dist') +_VERSIONS_FIELDS = ('Requires-Python',) +_VERSION_FIELDS = ('Version',) +_LISTFIELDS = ('Platform', 'Classifier', 'Obsoletes', + 'Requires', 'Provides', 'Obsoletes-Dist', + 'Provides-Dist', 'Requires-Dist', 'Requires-External', + 'Project-URL', 'Supported-Platform', 'Setup-Requires-Dist', + 'Provides-Extra', 'Extension') +_LISTTUPLEFIELDS = ('Project-URL',) + +_ELEMENTSFIELD = ('Keywords',) + +_UNICODEFIELDS = ('Author', 'Maintainer', 'Summary', 'Description') + +_MISSING = object() + +_FILESAFE = re.compile('[^A-Za-z0-9.]+') + + +def _get_name_and_version(name, version, for_filename=False): + """Return the distribution name with version. + + If for_filename is true, return a filename-escaped form.""" + if for_filename: + # For both name and version any runs of non-alphanumeric or '.' + # characters are replaced with a single '-'. Additionally any + # spaces in the version string become '.' + name = _FILESAFE.sub('-', name) + version = _FILESAFE.sub('-', version.replace(' ', '.')) + return '%s-%s' % (name, version) + + +class LegacyMetadata(object): + """The legacy metadata of a release. + + Supports versions 1.0, 1.1 and 1.2 (auto-detected). You can + instantiate the class with one of these arguments (or none): + - *path*, the path to a metadata file + - *fileobj* give a file-like object with metadata as content + - *mapping* is a dict-like object + - *scheme* is a version scheme name + """ + # TODO document the mapping API and UNKNOWN default key + + def __init__(self, path=None, fileobj=None, mapping=None, + scheme='default'): + if [path, fileobj, mapping].count(None) < 2: + raise TypeError('path, fileobj and mapping are exclusive') + self._fields = {} + self.requires_files = [] + self._dependencies = None + self.scheme = scheme + if path is not None: + self.read(path) + elif fileobj is not None: + self.read_file(fileobj) + elif mapping is not None: + self.update(mapping) + self.set_metadata_version() + + def set_metadata_version(self): + self._fields['Metadata-Version'] = _best_version(self._fields) + + def _write_field(self, fileobj, name, value): + fileobj.write('%s: %s\n' % (name, value)) + + def __getitem__(self, name): + return self.get(name) + + def __setitem__(self, name, value): + return self.set(name, value) + + def __delitem__(self, name): + field_name = self._convert_name(name) + try: + del self._fields[field_name] + except KeyError: + raise KeyError(name) + + def __contains__(self, name): + return (name in self._fields or + self._convert_name(name) in self._fields) + + def _convert_name(self, name): + if name in _ALL_FIELDS: + return name + name = name.replace('-', '_').lower() + return _ATTR2FIELD.get(name, name) + + def _default_value(self, name): + if name in _LISTFIELDS or name in _ELEMENTSFIELD: + return [] + return 'UNKNOWN' + + def _remove_line_prefix(self, value): + if self.metadata_version in ('1.0', '1.1'): + return _LINE_PREFIX_PRE_1_2.sub('\n', value) + else: + return _LINE_PREFIX_1_2.sub('\n', value) + + def __getattr__(self, name): + if name in _ATTR2FIELD: + return self[name] + raise AttributeError(name) + + # + # Public API + # + +# dependencies = property(_get_dependencies, _set_dependencies) + + def get_fullname(self, filesafe=False): + """Return the distribution name with version. + + If filesafe is true, return a filename-escaped form.""" + return _get_name_and_version(self['Name'], self['Version'], filesafe) + + def is_field(self, name): + """return True if name is a valid metadata key""" + name = self._convert_name(name) + return name in _ALL_FIELDS + + def is_multi_field(self, name): + name = self._convert_name(name) + return name in _LISTFIELDS + + def read(self, filepath): + """Read the metadata values from a file path.""" + fp = codecs.open(filepath, 'r', encoding='utf-8') + try: + self.read_file(fp) + finally: + fp.close() + + def read_file(self, fileob): + """Read the metadata values from a file object.""" + msg = message_from_file(fileob) + self._fields['Metadata-Version'] = msg['metadata-version'] + + # When reading, get all the fields we can + for field in _ALL_FIELDS: + if field not in msg: + continue + if field in _LISTFIELDS: + # we can have multiple lines + values = msg.get_all(field) + if field in _LISTTUPLEFIELDS and values is not None: + values = [tuple(value.split(',')) for value in values] + self.set(field, values) + else: + # single line + value = msg[field] + if value is not None and value != 'UNKNOWN': + self.set(field, value) + # logger.debug('Attempting to set metadata for %s', self) + # self.set_metadata_version() + + def write(self, filepath, skip_unknown=False): + """Write the metadata fields to filepath.""" + fp = codecs.open(filepath, 'w', encoding='utf-8') + try: + self.write_file(fp, skip_unknown) + finally: + fp.close() + + def write_file(self, fileobject, skip_unknown=False): + """Write the PKG-INFO format data to a file object.""" + self.set_metadata_version() + + for field in _version2fieldlist(self['Metadata-Version']): + values = self.get(field) + if skip_unknown and values in ('UNKNOWN', [], ['UNKNOWN']): + continue + if field in _ELEMENTSFIELD: + self._write_field(fileobject, field, ','.join(values)) + continue + if field not in _LISTFIELDS: + if field == 'Description': + if self.metadata_version in ('1.0', '1.1'): + values = values.replace('\n', '\n ') + else: + values = values.replace('\n', '\n |') + values = [values] + + if field in _LISTTUPLEFIELDS: + values = [','.join(value) for value in values] + + for value in values: + self._write_field(fileobject, field, value) + + def update(self, other=None, **kwargs): + """Set metadata values from the given iterable `other` and kwargs. + + Behavior is like `dict.update`: If `other` has a ``keys`` method, + they are looped over and ``self[key]`` is assigned ``other[key]``. + Else, ``other`` is an iterable of ``(key, value)`` iterables. + + Keys that don't match a metadata field or that have an empty value are + dropped. + """ + def _set(key, value): + if key in _ATTR2FIELD and value: + self.set(self._convert_name(key), value) + + if not other: + # other is None or empty container + pass + elif hasattr(other, 'keys'): + for k in other.keys(): + _set(k, other[k]) + else: + for k, v in other: + _set(k, v) + + if kwargs: + for k, v in kwargs.items(): + _set(k, v) + + def set(self, name, value): + """Control then set a metadata field.""" + name = self._convert_name(name) + + if ((name in _ELEMENTSFIELD or name == 'Platform') and + not isinstance(value, (list, tuple))): + if isinstance(value, string_types): + value = [v.strip() for v in value.split(',')] + else: + value = [] + elif (name in _LISTFIELDS and + not isinstance(value, (list, tuple))): + if isinstance(value, string_types): + value = [value] + else: + value = [] + + if logger.isEnabledFor(logging.WARNING): + project_name = self['Name'] + + scheme = get_scheme(self.scheme) + if name in _PREDICATE_FIELDS and value is not None: + for v in value: + # check that the values are valid + if not scheme.is_valid_matcher(v.split(';')[0]): + logger.warning( + "'%s': '%s' is not valid (field '%s')", + project_name, v, name) + # FIXME this rejects UNKNOWN, is that right? + elif name in _VERSIONS_FIELDS and value is not None: + if not scheme.is_valid_constraint_list(value): + logger.warning("'%s': '%s' is not a valid version (field '%s')", + project_name, value, name) + elif name in _VERSION_FIELDS and value is not None: + if not scheme.is_valid_version(value): + logger.warning("'%s': '%s' is not a valid version (field '%s')", + project_name, value, name) + + if name in _UNICODEFIELDS: + if name == 'Description': + value = self._remove_line_prefix(value) + + self._fields[name] = value + + def get(self, name, default=_MISSING): + """Get a metadata field.""" + name = self._convert_name(name) + if name not in self._fields: + if default is _MISSING: + default = self._default_value(name) + return default + if name in _UNICODEFIELDS: + value = self._fields[name] + return value + elif name in _LISTFIELDS: + value = self._fields[name] + if value is None: + return [] + res = [] + for val in value: + if name not in _LISTTUPLEFIELDS: + res.append(val) + else: + # That's for Project-URL + res.append((val[0], val[1])) + return res + + elif name in _ELEMENTSFIELD: + value = self._fields[name] + if isinstance(value, string_types): + return value.split(',') + return self._fields[name] + + def check(self, strict=False): + """Check if the metadata is compliant. If strict is True then raise if + no Name or Version are provided""" + self.set_metadata_version() + + # XXX should check the versions (if the file was loaded) + missing, warnings = [], [] + + for attr in ('Name', 'Version'): # required by PEP 345 + if attr not in self: + missing.append(attr) + + if strict and missing != []: + msg = 'missing required metadata: %s' % ', '.join(missing) + raise MetadataMissingError(msg) + + for attr in ('Home-page', 'Author'): + if attr not in self: + missing.append(attr) + + # checking metadata 1.2 (XXX needs to check 1.1, 1.0) + if self['Metadata-Version'] != '1.2': + return missing, warnings + + scheme = get_scheme(self.scheme) + + def are_valid_constraints(value): + for v in value: + if not scheme.is_valid_matcher(v.split(';')[0]): + return False + return True + + for fields, controller in ((_PREDICATE_FIELDS, are_valid_constraints), + (_VERSIONS_FIELDS, + scheme.is_valid_constraint_list), + (_VERSION_FIELDS, + scheme.is_valid_version)): + for field in fields: + value = self.get(field, None) + if value is not None and not controller(value): + warnings.append("Wrong value for '%s': %s" % (field, value)) + + return missing, warnings + + def todict(self, skip_missing=False): + """Return fields as a dict. + + Field names will be converted to use the underscore-lowercase style + instead of hyphen-mixed case (i.e. home_page instead of Home-page). + """ + self.set_metadata_version() + + mapping_1_0 = ( + ('metadata_version', 'Metadata-Version'), + ('name', 'Name'), + ('version', 'Version'), + ('summary', 'Summary'), + ('home_page', 'Home-page'), + ('author', 'Author'), + ('author_email', 'Author-email'), + ('license', 'License'), + ('description', 'Description'), + ('keywords', 'Keywords'), + ('platform', 'Platform'), + ('classifiers', 'Classifier'), + ('download_url', 'Download-URL'), + ) + + data = {} + for key, field_name in mapping_1_0: + if not skip_missing or field_name in self._fields: + data[key] = self[field_name] + + if self['Metadata-Version'] == '1.2': + mapping_1_2 = ( + ('requires_dist', 'Requires-Dist'), + ('requires_python', 'Requires-Python'), + ('requires_external', 'Requires-External'), + ('provides_dist', 'Provides-Dist'), + ('obsoletes_dist', 'Obsoletes-Dist'), + ('project_url', 'Project-URL'), + ('maintainer', 'Maintainer'), + ('maintainer_email', 'Maintainer-email'), + ) + for key, field_name in mapping_1_2: + if not skip_missing or field_name in self._fields: + if key != 'project_url': + data[key] = self[field_name] + else: + data[key] = [','.join(u) for u in self[field_name]] + + elif self['Metadata-Version'] == '1.1': + mapping_1_1 = ( + ('provides', 'Provides'), + ('requires', 'Requires'), + ('obsoletes', 'Obsoletes'), + ) + for key, field_name in mapping_1_1: + if not skip_missing or field_name in self._fields: + data[key] = self[field_name] + + return data + + def add_requirements(self, requirements): + if self['Metadata-Version'] == '1.1': + # we can't have 1.1 metadata *and* Setuptools requires + for field in ('Obsoletes', 'Requires', 'Provides'): + if field in self: + del self[field] + self['Requires-Dist'] += requirements + + # Mapping API + # TODO could add iter* variants + + def keys(self): + return list(_version2fieldlist(self['Metadata-Version'])) + + def __iter__(self): + for key in self.keys(): + yield key + + def values(self): + return [self[key] for key in self.keys()] + + def items(self): + return [(key, self[key]) for key in self.keys()] + + def __repr__(self): + return '<%s %s %s>' % (self.__class__.__name__, self.name, + self.version) + + +METADATA_FILENAME = 'pydist.json' +WHEEL_METADATA_FILENAME = 'metadata.json' +LEGACY_METADATA_FILENAME = 'METADATA' + + +class Metadata(object): + """ + The metadata of a release. This implementation uses 2.0 (JSON) + metadata where possible. If not possible, it wraps a LegacyMetadata + instance which handles the key-value metadata format. + """ + + METADATA_VERSION_MATCHER = re.compile(r'^\d+(\.\d+)*$') + + NAME_MATCHER = re.compile('^[0-9A-Z]([0-9A-Z_.-]*[0-9A-Z])?$', re.I) + + VERSION_MATCHER = PEP440_VERSION_RE + + SUMMARY_MATCHER = re.compile('.{1,2047}') + + METADATA_VERSION = '2.0' + + GENERATOR = 'distlib (%s)' % __version__ + + MANDATORY_KEYS = { + 'name': (), + 'version': (), + 'summary': ('legacy',), + } + + INDEX_KEYS = ('name version license summary description author ' + 'author_email keywords platform home_page classifiers ' + 'download_url') + + DEPENDENCY_KEYS = ('extras run_requires test_requires build_requires ' + 'dev_requires provides meta_requires obsoleted_by ' + 'supports_environments') + + SYNTAX_VALIDATORS = { + 'metadata_version': (METADATA_VERSION_MATCHER, ()), + 'name': (NAME_MATCHER, ('legacy',)), + 'version': (VERSION_MATCHER, ('legacy',)), + 'summary': (SUMMARY_MATCHER, ('legacy',)), + } + + __slots__ = ('_legacy', '_data', 'scheme') + + def __init__(self, path=None, fileobj=None, mapping=None, + scheme='default'): + if [path, fileobj, mapping].count(None) < 2: + raise TypeError('path, fileobj and mapping are exclusive') + self._legacy = None + self._data = None + self.scheme = scheme + #import pdb; pdb.set_trace() + if mapping is not None: + try: + self._validate_mapping(mapping, scheme) + self._data = mapping + except MetadataUnrecognizedVersionError: + self._legacy = LegacyMetadata(mapping=mapping, scheme=scheme) + self.validate() + else: + data = None + if path: + with open(path, 'rb') as f: + data = f.read() + elif fileobj: + data = fileobj.read() + if data is None: + # Initialised with no args - to be added + self._data = { + 'metadata_version': self.METADATA_VERSION, + 'generator': self.GENERATOR, + } + else: + if not isinstance(data, text_type): + data = data.decode('utf-8') + try: + self._data = json.loads(data) + self._validate_mapping(self._data, scheme) + except ValueError: + # Note: MetadataUnrecognizedVersionError does not + # inherit from ValueError (it's a DistlibException, + # which should not inherit from ValueError). + # The ValueError comes from the json.load - if that + # succeeds and we get a validation error, we want + # that to propagate + self._legacy = LegacyMetadata(fileobj=StringIO(data), + scheme=scheme) + self.validate() + + common_keys = set(('name', 'version', 'license', 'keywords', 'summary')) + + none_list = (None, list) + none_dict = (None, dict) + + mapped_keys = { + 'run_requires': ('Requires-Dist', list), + 'build_requires': ('Setup-Requires-Dist', list), + 'dev_requires': none_list, + 'test_requires': none_list, + 'meta_requires': none_list, + 'extras': ('Provides-Extra', list), + 'modules': none_list, + 'namespaces': none_list, + 'exports': none_dict, + 'commands': none_dict, + 'classifiers': ('Classifier', list), + 'source_url': ('Download-URL', None), + 'metadata_version': ('Metadata-Version', None), + } + + del none_list, none_dict + + def __getattribute__(self, key): + common = object.__getattribute__(self, 'common_keys') + mapped = object.__getattribute__(self, 'mapped_keys') + if key in mapped: + lk, maker = mapped[key] + if self._legacy: + if lk is None: + result = None if maker is None else maker() + else: + result = self._legacy.get(lk) + else: + value = None if maker is None else maker() + if key not in ('commands', 'exports', 'modules', 'namespaces', + 'classifiers'): + result = self._data.get(key, value) + else: + # special cases for PEP 459 + sentinel = object() + result = sentinel + d = self._data.get('extensions') + if d: + if key == 'commands': + result = d.get('python.commands', value) + elif key == 'classifiers': + d = d.get('python.details') + if d: + result = d.get(key, value) + else: + d = d.get('python.exports') + if not d: + d = self._data.get('python.exports') + if d: + result = d.get(key, value) + if result is sentinel: + result = value + elif key not in common: + result = object.__getattribute__(self, key) + elif self._legacy: + result = self._legacy.get(key) + else: + result = self._data.get(key) + return result + + def _validate_value(self, key, value, scheme=None): + if key in self.SYNTAX_VALIDATORS: + pattern, exclusions = self.SYNTAX_VALIDATORS[key] + if (scheme or self.scheme) not in exclusions: + m = pattern.match(value) + if not m: + raise MetadataInvalidError("'%s' is an invalid value for " + "the '%s' property" % (value, + key)) + + def __setattr__(self, key, value): + self._validate_value(key, value) + common = object.__getattribute__(self, 'common_keys') + mapped = object.__getattribute__(self, 'mapped_keys') + if key in mapped: + lk, _ = mapped[key] + if self._legacy: + if lk is None: + raise NotImplementedError + self._legacy[lk] = value + elif key not in ('commands', 'exports', 'modules', 'namespaces', + 'classifiers'): + self._data[key] = value + else: + # special cases for PEP 459 + d = self._data.setdefault('extensions', {}) + if key == 'commands': + d['python.commands'] = value + elif key == 'classifiers': + d = d.setdefault('python.details', {}) + d[key] = value + else: + d = d.setdefault('python.exports', {}) + d[key] = value + elif key not in common: + object.__setattr__(self, key, value) + else: + if key == 'keywords': + if isinstance(value, string_types): + value = value.strip() + if value: + value = value.split() + else: + value = [] + if self._legacy: + self._legacy[key] = value + else: + self._data[key] = value + + @property + def name_and_version(self): + return _get_name_and_version(self.name, self.version, True) + + @property + def provides(self): + if self._legacy: + result = self._legacy['Provides-Dist'] + else: + result = self._data.setdefault('provides', []) + s = '%s (%s)' % (self.name, self.version) + if s not in result: + result.append(s) + return result + + @provides.setter + def provides(self, value): + if self._legacy: + self._legacy['Provides-Dist'] = value + else: + self._data['provides'] = value + + def get_requirements(self, reqts, extras=None, env=None): + """ + Base method to get dependencies, given a set of extras + to satisfy and an optional environment context. + :param reqts: A list of sometimes-wanted dependencies, + perhaps dependent on extras and environment. + :param extras: A list of optional components being requested. + :param env: An optional environment for marker evaluation. + """ + if self._legacy: + result = reqts + else: + result = [] + extras = get_extras(extras or [], self.extras) + for d in reqts: + if 'extra' not in d and 'environment' not in d: + # unconditional + include = True + else: + if 'extra' not in d: + # Not extra-dependent - only environment-dependent + include = True + else: + include = d.get('extra') in extras + if include: + # Not excluded because of extras, check environment + marker = d.get('environment') + if marker: + include = interpret(marker, env) + if include: + result.extend(d['requires']) + for key in ('build', 'dev', 'test'): + e = ':%s:' % key + if e in extras: + extras.remove(e) + # A recursive call, but it should terminate since 'test' + # has been removed from the extras + reqts = self._data.get('%s_requires' % key, []) + result.extend(self.get_requirements(reqts, extras=extras, + env=env)) + return result + + @property + def dictionary(self): + if self._legacy: + return self._from_legacy() + return self._data + + @property + def dependencies(self): + if self._legacy: + raise NotImplementedError + else: + return extract_by_key(self._data, self.DEPENDENCY_KEYS) + + @dependencies.setter + def dependencies(self, value): + if self._legacy: + raise NotImplementedError + else: + self._data.update(value) + + def _validate_mapping(self, mapping, scheme): + if mapping.get('metadata_version') != self.METADATA_VERSION: + raise MetadataUnrecognizedVersionError() + missing = [] + for key, exclusions in self.MANDATORY_KEYS.items(): + if key not in mapping: + if scheme not in exclusions: + missing.append(key) + if missing: + msg = 'Missing metadata items: %s' % ', '.join(missing) + raise MetadataMissingError(msg) + for k, v in mapping.items(): + self._validate_value(k, v, scheme) + + def validate(self): + if self._legacy: + missing, warnings = self._legacy.check(True) + if missing or warnings: + logger.warning('Metadata: missing: %s, warnings: %s', + missing, warnings) + else: + self._validate_mapping(self._data, self.scheme) + + def todict(self): + if self._legacy: + return self._legacy.todict(True) + else: + result = extract_by_key(self._data, self.INDEX_KEYS) + return result + + def _from_legacy(self): + assert self._legacy and not self._data + result = { + 'metadata_version': self.METADATA_VERSION, + 'generator': self.GENERATOR, + } + lmd = self._legacy.todict(True) # skip missing ones + for k in ('name', 'version', 'license', 'summary', 'description', + 'classifier'): + if k in lmd: + if k == 'classifier': + nk = 'classifiers' + else: + nk = k + result[nk] = lmd[k] + kw = lmd.get('Keywords', []) + if kw == ['']: + kw = [] + result['keywords'] = kw + keys = (('requires_dist', 'run_requires'), + ('setup_requires_dist', 'build_requires')) + for ok, nk in keys: + if ok in lmd and lmd[ok]: + result[nk] = [{'requires': lmd[ok]}] + result['provides'] = self.provides + author = {} + maintainer = {} + return result + + LEGACY_MAPPING = { + 'name': 'Name', + 'version': 'Version', + 'license': 'License', + 'summary': 'Summary', + 'description': 'Description', + 'classifiers': 'Classifier', + } + + def _to_legacy(self): + def process_entries(entries): + reqts = set() + for e in entries: + extra = e.get('extra') + env = e.get('environment') + rlist = e['requires'] + for r in rlist: + if not env and not extra: + reqts.add(r) + else: + marker = '' + if extra: + marker = 'extra == "%s"' % extra + if env: + if marker: + marker = '(%s) and %s' % (env, marker) + else: + marker = env + reqts.add(';'.join((r, marker))) + return reqts + + assert self._data and not self._legacy + result = LegacyMetadata() + nmd = self._data + for nk, ok in self.LEGACY_MAPPING.items(): + if nk in nmd: + result[ok] = nmd[nk] + r1 = process_entries(self.run_requires + self.meta_requires) + r2 = process_entries(self.build_requires + self.dev_requires) + if self.extras: + result['Provides-Extra'] = sorted(self.extras) + result['Requires-Dist'] = sorted(r1) + result['Setup-Requires-Dist'] = sorted(r2) + # TODO: other fields such as contacts + return result + + def write(self, path=None, fileobj=None, legacy=False, skip_unknown=True): + if [path, fileobj].count(None) != 1: + raise ValueError('Exactly one of path and fileobj is needed') + self.validate() + if legacy: + if self._legacy: + legacy_md = self._legacy + else: + legacy_md = self._to_legacy() + if path: + legacy_md.write(path, skip_unknown=skip_unknown) + else: + legacy_md.write_file(fileobj, skip_unknown=skip_unknown) + else: + if self._legacy: + d = self._from_legacy() + else: + d = self._data + if fileobj: + json.dump(d, fileobj, ensure_ascii=True, indent=2, + sort_keys=True) + else: + with codecs.open(path, 'w', 'utf-8') as f: + json.dump(d, f, ensure_ascii=True, indent=2, + sort_keys=True) + + def add_requirements(self, requirements): + if self._legacy: + self._legacy.add_requirements(requirements) + else: + run_requires = self._data.setdefault('run_requires', []) + always = None + for entry in run_requires: + if 'environment' not in entry and 'extra' not in entry: + always = entry + break + if always is None: + always = { 'requires': requirements } + run_requires.insert(0, always) + else: + rset = set(always['requires']) | set(requirements) + always['requires'] = sorted(rset) + + def __repr__(self): + name = self.name or '(no name)' + version = self.version or 'no version' + return '<%s %s %s (%s)>' % (self.__class__.__name__, + self.metadata_version, name, version) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/resources.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/resources.py new file mode 100644 index 0000000..1884016 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/resources.py @@ -0,0 +1,355 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2013-2017 Vinay Sajip. +# Licensed to the Python Software Foundation under a contributor agreement. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +from __future__ import unicode_literals + +import bisect +import io +import logging +import os +import pkgutil +import shutil +import sys +import types +import zipimport + +from . import DistlibException +from .util import cached_property, get_cache_base, path_to_cache_dir, Cache + +logger = logging.getLogger(__name__) + + +cache = None # created when needed + + +class ResourceCache(Cache): + def __init__(self, base=None): + if base is None: + # Use native string to avoid issues on 2.x: see Python #20140. + base = os.path.join(get_cache_base(), str('resource-cache')) + super(ResourceCache, self).__init__(base) + + def is_stale(self, resource, path): + """ + Is the cache stale for the given resource? + + :param resource: The :class:`Resource` being cached. + :param path: The path of the resource in the cache. + :return: True if the cache is stale. + """ + # Cache invalidation is a hard problem :-) + return True + + def get(self, resource): + """ + Get a resource into the cache, + + :param resource: A :class:`Resource` instance. + :return: The pathname of the resource in the cache. + """ + prefix, path = resource.finder.get_cache_info(resource) + if prefix is None: + result = path + else: + result = os.path.join(self.base, self.prefix_to_dir(prefix), path) + dirname = os.path.dirname(result) + if not os.path.isdir(dirname): + os.makedirs(dirname) + if not os.path.exists(result): + stale = True + else: + stale = self.is_stale(resource, path) + if stale: + # write the bytes of the resource to the cache location + with open(result, 'wb') as f: + f.write(resource.bytes) + return result + + +class ResourceBase(object): + def __init__(self, finder, name): + self.finder = finder + self.name = name + + +class Resource(ResourceBase): + """ + A class representing an in-package resource, such as a data file. This is + not normally instantiated by user code, but rather by a + :class:`ResourceFinder` which manages the resource. + """ + is_container = False # Backwards compatibility + + def as_stream(self): + """ + Get the resource as a stream. + + This is not a property to make it obvious that it returns a new stream + each time. + """ + return self.finder.get_stream(self) + + @cached_property + def file_path(self): + global cache + if cache is None: + cache = ResourceCache() + return cache.get(self) + + @cached_property + def bytes(self): + return self.finder.get_bytes(self) + + @cached_property + def size(self): + return self.finder.get_size(self) + + +class ResourceContainer(ResourceBase): + is_container = True # Backwards compatibility + + @cached_property + def resources(self): + return self.finder.get_resources(self) + + +class ResourceFinder(object): + """ + Resource finder for file system resources. + """ + + if sys.platform.startswith('java'): + skipped_extensions = ('.pyc', '.pyo', '.class') + else: + skipped_extensions = ('.pyc', '.pyo') + + def __init__(self, module): + self.module = module + self.loader = getattr(module, '__loader__', None) + self.base = os.path.dirname(getattr(module, '__file__', '')) + + def _adjust_path(self, path): + return os.path.realpath(path) + + def _make_path(self, resource_name): + # Issue #50: need to preserve type of path on Python 2.x + # like os.path._get_sep + if isinstance(resource_name, bytes): # should only happen on 2.x + sep = b'/' + else: + sep = '/' + parts = resource_name.split(sep) + parts.insert(0, self.base) + result = os.path.join(*parts) + return self._adjust_path(result) + + def _find(self, path): + return os.path.exists(path) + + def get_cache_info(self, resource): + return None, resource.path + + def find(self, resource_name): + path = self._make_path(resource_name) + if not self._find(path): + result = None + else: + if self._is_directory(path): + result = ResourceContainer(self, resource_name) + else: + result = Resource(self, resource_name) + result.path = path + return result + + def get_stream(self, resource): + return open(resource.path, 'rb') + + def get_bytes(self, resource): + with open(resource.path, 'rb') as f: + return f.read() + + def get_size(self, resource): + return os.path.getsize(resource.path) + + def get_resources(self, resource): + def allowed(f): + return (f != '__pycache__' and not + f.endswith(self.skipped_extensions)) + return set([f for f in os.listdir(resource.path) if allowed(f)]) + + def is_container(self, resource): + return self._is_directory(resource.path) + + _is_directory = staticmethod(os.path.isdir) + + def iterator(self, resource_name): + resource = self.find(resource_name) + if resource is not None: + todo = [resource] + while todo: + resource = todo.pop(0) + yield resource + if resource.is_container: + rname = resource.name + for name in resource.resources: + if not rname: + new_name = name + else: + new_name = '/'.join([rname, name]) + child = self.find(new_name) + if child.is_container: + todo.append(child) + else: + yield child + + +class ZipResourceFinder(ResourceFinder): + """ + Resource finder for resources in .zip files. + """ + def __init__(self, module): + super(ZipResourceFinder, self).__init__(module) + archive = self.loader.archive + self.prefix_len = 1 + len(archive) + # PyPy doesn't have a _files attr on zipimporter, and you can't set one + if hasattr(self.loader, '_files'): + self._files = self.loader._files + else: + self._files = zipimport._zip_directory_cache[archive] + self.index = sorted(self._files) + + def _adjust_path(self, path): + return path + + def _find(self, path): + path = path[self.prefix_len:] + if path in self._files: + result = True + else: + if path and path[-1] != os.sep: + path = path + os.sep + i = bisect.bisect(self.index, path) + try: + result = self.index[i].startswith(path) + except IndexError: + result = False + if not result: + logger.debug('_find failed: %r %r', path, self.loader.prefix) + else: + logger.debug('_find worked: %r %r', path, self.loader.prefix) + return result + + def get_cache_info(self, resource): + prefix = self.loader.archive + path = resource.path[1 + len(prefix):] + return prefix, path + + def get_bytes(self, resource): + return self.loader.get_data(resource.path) + + def get_stream(self, resource): + return io.BytesIO(self.get_bytes(resource)) + + def get_size(self, resource): + path = resource.path[self.prefix_len:] + return self._files[path][3] + + def get_resources(self, resource): + path = resource.path[self.prefix_len:] + if path and path[-1] != os.sep: + path += os.sep + plen = len(path) + result = set() + i = bisect.bisect(self.index, path) + while i < len(self.index): + if not self.index[i].startswith(path): + break + s = self.index[i][plen:] + result.add(s.split(os.sep, 1)[0]) # only immediate children + i += 1 + return result + + def _is_directory(self, path): + path = path[self.prefix_len:] + if path and path[-1] != os.sep: + path += os.sep + i = bisect.bisect(self.index, path) + try: + result = self.index[i].startswith(path) + except IndexError: + result = False + return result + +_finder_registry = { + type(None): ResourceFinder, + zipimport.zipimporter: ZipResourceFinder +} + +try: + # In Python 3.6, _frozen_importlib -> _frozen_importlib_external + try: + import _frozen_importlib_external as _fi + except ImportError: + import _frozen_importlib as _fi + _finder_registry[_fi.SourceFileLoader] = ResourceFinder + _finder_registry[_fi.FileFinder] = ResourceFinder + del _fi +except (ImportError, AttributeError): + pass + + +def register_finder(loader, finder_maker): + _finder_registry[type(loader)] = finder_maker + +_finder_cache = {} + + +def finder(package): + """ + Return a resource finder for a package. + :param package: The name of the package. + :return: A :class:`ResourceFinder` instance for the package. + """ + if package in _finder_cache: + result = _finder_cache[package] + else: + if package not in sys.modules: + __import__(package) + module = sys.modules[package] + path = getattr(module, '__path__', None) + if path is None: + raise DistlibException('You cannot get a finder for a module, ' + 'only for a package') + loader = getattr(module, '__loader__', None) + finder_maker = _finder_registry.get(type(loader)) + if finder_maker is None: + raise DistlibException('Unable to locate finder for %r' % package) + result = finder_maker(module) + _finder_cache[package] = result + return result + + +_dummy_module = types.ModuleType(str('__dummy__')) + + +def finder_for_path(path): + """ + Return a resource finder for a path, which should represent a container. + + :param path: The path. + :return: A :class:`ResourceFinder` instance for the path. + """ + result = None + # calls any path hooks, gets importer into cache + pkgutil.get_importer(path) + loader = sys.path_importer_cache.get(path) + finder = _finder_registry.get(type(loader)) + if finder: + module = _dummy_module + module.__file__ = os.path.join(path, '') + module.__loader__ = loader + result = finder(module) + return result diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/scripts.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/scripts.py new file mode 100644 index 0000000..8e22cb9 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/scripts.py @@ -0,0 +1,417 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2013-2015 Vinay Sajip. +# Licensed to the Python Software Foundation under a contributor agreement. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +from io import BytesIO +import logging +import os +import re +import struct +import sys + +from .compat import sysconfig, detect_encoding, ZipFile +from .resources import finder +from .util import (FileOperator, get_export_entry, convert_path, + get_executable, in_venv) + +logger = logging.getLogger(__name__) + +_DEFAULT_MANIFEST = ''' +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> + <assemblyIdentity version="1.0.0.0" + processorArchitecture="X86" + name="%s" + type="win32"/> + + <!-- Identify the application security requirements. --> + <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> + <security> + <requestedPrivileges> + <requestedExecutionLevel level="asInvoker" uiAccess="false"/> + </requestedPrivileges> + </security> + </trustInfo> +</assembly>'''.strip() + +# check if Python is called on the first line with this expression +FIRST_LINE_RE = re.compile(b'^#!.*pythonw?[0-9.]*([ \t].*)?$') +SCRIPT_TEMPLATE = r'''# -*- coding: utf-8 -*- +if __name__ == '__main__': + import sys, re + + def _resolve(module, func): + __import__(module) + mod = sys.modules[module] + parts = func.split('.') + result = getattr(mod, parts.pop(0)) + for p in parts: + result = getattr(result, p) + return result + + try: + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + + func = _resolve('%(module)s', '%(func)s') + rc = func() # None interpreted as 0 + except Exception as e: # only supporting Python >= 2.6 + sys.stderr.write('%%s\n' %% e) + rc = 1 + sys.exit(rc) +''' + + +def _enquote_executable(executable): + if ' ' in executable: + # make sure we quote only the executable in case of env + # for example /usr/bin/env "/dir with spaces/bin/jython" + # instead of "/usr/bin/env /dir with spaces/bin/jython" + # otherwise whole + if executable.startswith('/usr/bin/env '): + env, _executable = executable.split(' ', 1) + if ' ' in _executable and not _executable.startswith('"'): + executable = '%s "%s"' % (env, _executable) + else: + if not executable.startswith('"'): + executable = '"%s"' % executable + return executable + + +class ScriptMaker(object): + """ + A class to copy or create scripts from source scripts or callable + specifications. + """ + script_template = SCRIPT_TEMPLATE + + executable = None # for shebangs + + def __init__(self, source_dir, target_dir, add_launchers=True, + dry_run=False, fileop=None): + self.source_dir = source_dir + self.target_dir = target_dir + self.add_launchers = add_launchers + self.force = False + self.clobber = False + # It only makes sense to set mode bits on POSIX. + self.set_mode = (os.name == 'posix') or (os.name == 'java' and + os._name == 'posix') + self.variants = set(('', 'X.Y')) + self._fileop = fileop or FileOperator(dry_run) + + self._is_nt = os.name == 'nt' or ( + os.name == 'java' and os._name == 'nt') + + def _get_alternate_executable(self, executable, options): + if options.get('gui', False) and self._is_nt: # pragma: no cover + dn, fn = os.path.split(executable) + fn = fn.replace('python', 'pythonw') + executable = os.path.join(dn, fn) + return executable + + if sys.platform.startswith('java'): # pragma: no cover + def _is_shell(self, executable): + """ + Determine if the specified executable is a script + (contains a #! line) + """ + try: + with open(executable) as fp: + return fp.read(2) == '#!' + except (OSError, IOError): + logger.warning('Failed to open %s', executable) + return False + + def _fix_jython_executable(self, executable): + if self._is_shell(executable): + # Workaround for Jython is not needed on Linux systems. + import java + + if java.lang.System.getProperty('os.name') == 'Linux': + return executable + elif executable.lower().endswith('jython.exe'): + # Use wrapper exe for Jython on Windows + return executable + return '/usr/bin/env %s' % executable + + def _build_shebang(self, executable, post_interp): + """ + Build a shebang line. In the simple case (on Windows, or a shebang line + which is not too long or contains spaces) use a simple formulation for + the shebang. Otherwise, use /bin/sh as the executable, with a contrived + shebang which allows the script to run either under Python or sh, using + suitable quoting. Thanks to Harald Nordgren for his input. + + See also: http://www.in-ulm.de/~mascheck/various/shebang/#length + https://hg.mozilla.org/mozilla-central/file/tip/mach + """ + if os.name != 'posix': + simple_shebang = True + else: + # Add 3 for '#!' prefix and newline suffix. + shebang_length = len(executable) + len(post_interp) + 3 + if sys.platform == 'darwin': + max_shebang_length = 512 + else: + max_shebang_length = 127 + simple_shebang = ((b' ' not in executable) and + (shebang_length <= max_shebang_length)) + + if simple_shebang: + result = b'#!' + executable + post_interp + b'\n' + else: + result = b'#!/bin/sh\n' + result += b"'''exec' " + executable + post_interp + b' "$0" "$@"\n' + result += b"' '''" + return result + + def _get_shebang(self, encoding, post_interp=b'', options=None): + enquote = True + if self.executable: + executable = self.executable + enquote = False # assume this will be taken care of + elif not sysconfig.is_python_build(): + executable = get_executable() + elif in_venv(): # pragma: no cover + executable = os.path.join(sysconfig.get_path('scripts'), + 'python%s' % sysconfig.get_config_var('EXE')) + else: # pragma: no cover + executable = os.path.join( + sysconfig.get_config_var('BINDIR'), + 'python%s%s' % (sysconfig.get_config_var('VERSION'), + sysconfig.get_config_var('EXE'))) + if options: + executable = self._get_alternate_executable(executable, options) + + if sys.platform.startswith('java'): # pragma: no cover + executable = self._fix_jython_executable(executable) + # Normalise case for Windows + executable = os.path.normcase(executable) + # If the user didn't specify an executable, it may be necessary to + # cater for executable paths with spaces (not uncommon on Windows) + if enquote: + executable = _enquote_executable(executable) + # Issue #51: don't use fsencode, since we later try to + # check that the shebang is decodable using utf-8. + executable = executable.encode('utf-8') + # in case of IronPython, play safe and enable frames support + if (sys.platform == 'cli' and '-X:Frames' not in post_interp + and '-X:FullFrames' not in post_interp): # pragma: no cover + post_interp += b' -X:Frames' + shebang = self._build_shebang(executable, post_interp) + # Python parser starts to read a script using UTF-8 until + # it gets a #coding:xxx cookie. The shebang has to be the + # first line of a file, the #coding:xxx cookie cannot be + # written before. So the shebang has to be decodable from + # UTF-8. + try: + shebang.decode('utf-8') + except UnicodeDecodeError: # pragma: no cover + raise ValueError( + 'The shebang (%r) is not decodable from utf-8' % shebang) + # If the script is encoded to a custom encoding (use a + # #coding:xxx cookie), the shebang has to be decodable from + # the script encoding too. + if encoding != 'utf-8': + try: + shebang.decode(encoding) + except UnicodeDecodeError: # pragma: no cover + raise ValueError( + 'The shebang (%r) is not decodable ' + 'from the script encoding (%r)' % (shebang, encoding)) + return shebang + + def _get_script_text(self, entry): + return self.script_template % dict(module=entry.prefix, + func=entry.suffix) + + manifest = _DEFAULT_MANIFEST + + def get_manifest(self, exename): + base = os.path.basename(exename) + return self.manifest % base + + def _write_script(self, names, shebang, script_bytes, filenames, ext): + use_launcher = self.add_launchers and self._is_nt + linesep = os.linesep.encode('utf-8') + if not shebang.endswith(linesep): + shebang += linesep + if not use_launcher: + script_bytes = shebang + script_bytes + else: # pragma: no cover + if ext == 'py': + launcher = self._get_launcher('t') + else: + launcher = self._get_launcher('w') + stream = BytesIO() + with ZipFile(stream, 'w') as zf: + zf.writestr('__main__.py', script_bytes) + zip_data = stream.getvalue() + script_bytes = launcher + shebang + zip_data + for name in names: + outname = os.path.join(self.target_dir, name) + if use_launcher: # pragma: no cover + n, e = os.path.splitext(outname) + if e.startswith('.py'): + outname = n + outname = '%s.exe' % outname + try: + self._fileop.write_binary_file(outname, script_bytes) + except Exception: + # Failed writing an executable - it might be in use. + logger.warning('Failed to write executable - trying to ' + 'use .deleteme logic') + dfname = '%s.deleteme' % outname + if os.path.exists(dfname): + os.remove(dfname) # Not allowed to fail here + os.rename(outname, dfname) # nor here + self._fileop.write_binary_file(outname, script_bytes) + logger.debug('Able to replace executable using ' + '.deleteme logic') + try: + os.remove(dfname) + except Exception: + pass # still in use - ignore error + else: + if self._is_nt and not outname.endswith('.' + ext): # pragma: no cover + outname = '%s.%s' % (outname, ext) + if os.path.exists(outname) and not self.clobber: + logger.warning('Skipping existing file %s', outname) + continue + self._fileop.write_binary_file(outname, script_bytes) + if self.set_mode: + self._fileop.set_executable_mode([outname]) + filenames.append(outname) + + def _make_script(self, entry, filenames, options=None): + post_interp = b'' + if options: + args = options.get('interpreter_args', []) + if args: + args = ' %s' % ' '.join(args) + post_interp = args.encode('utf-8') + shebang = self._get_shebang('utf-8', post_interp, options=options) + script = self._get_script_text(entry).encode('utf-8') + name = entry.name + scriptnames = set() + if '' in self.variants: + scriptnames.add(name) + if 'X' in self.variants: + scriptnames.add('%s%s' % (name, sys.version[0])) + if 'X.Y' in self.variants: + scriptnames.add('%s-%s' % (name, sys.version[:3])) + if options and options.get('gui', False): + ext = 'pyw' + else: + ext = 'py' + self._write_script(scriptnames, shebang, script, filenames, ext) + + def _copy_script(self, script, filenames): + adjust = False + script = os.path.join(self.source_dir, convert_path(script)) + outname = os.path.join(self.target_dir, os.path.basename(script)) + if not self.force and not self._fileop.newer(script, outname): + logger.debug('not copying %s (up-to-date)', script) + return + + # Always open the file, but ignore failures in dry-run mode -- + # that way, we'll get accurate feedback if we can read the + # script. + try: + f = open(script, 'rb') + except IOError: # pragma: no cover + if not self.dry_run: + raise + f = None + else: + first_line = f.readline() + if not first_line: # pragma: no cover + logger.warning('%s: %s is an empty file (skipping)', + self.get_command_name(), script) + return + + match = FIRST_LINE_RE.match(first_line.replace(b'\r\n', b'\n')) + if match: + adjust = True + post_interp = match.group(1) or b'' + + if not adjust: + if f: + f.close() + self._fileop.copy_file(script, outname) + if self.set_mode: + self._fileop.set_executable_mode([outname]) + filenames.append(outname) + else: + logger.info('copying and adjusting %s -> %s', script, + self.target_dir) + if not self._fileop.dry_run: + encoding, lines = detect_encoding(f.readline) + f.seek(0) + shebang = self._get_shebang(encoding, post_interp) + if b'pythonw' in first_line: # pragma: no cover + ext = 'pyw' + else: + ext = 'py' + n = os.path.basename(outname) + self._write_script([n], shebang, f.read(), filenames, ext) + if f: + f.close() + + @property + def dry_run(self): + return self._fileop.dry_run + + @dry_run.setter + def dry_run(self, value): + self._fileop.dry_run = value + + if os.name == 'nt' or (os.name == 'java' and os._name == 'nt'): # pragma: no cover + # Executable launcher support. + # Launchers are from https://bitbucket.org/vinay.sajip/simple_launcher/ + + def _get_launcher(self, kind): + if struct.calcsize('P') == 8: # 64-bit + bits = '64' + else: + bits = '32' + name = '%s%s.exe' % (kind, bits) + # Issue 31: don't hardcode an absolute package name, but + # determine it relative to the current package + distlib_package = __name__.rsplit('.', 1)[0] + result = finder(distlib_package).find(name).bytes + return result + + # Public API follows + + def make(self, specification, options=None): + """ + Make a script. + + :param specification: The specification, which is either a valid export + entry specification (to make a script from a + callable) or a filename (to make a script by + copying from a source location). + :param options: A dictionary of options controlling script generation. + :return: A list of all absolute pathnames written to. + """ + filenames = [] + entry = get_export_entry(specification) + if entry is None: + self._copy_script(specification, filenames) + else: + self._make_script(entry, filenames, options=options) + return filenames + + def make_multiple(self, specifications, options=None): + """ + Take a list of specifications and make scripts from them, + :param specifications: A list of specifications. + :return: A list of all absolute pathnames written to, + """ + filenames = [] + for specification in specifications: + filenames.extend(self.make(specification, options)) + return filenames diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/t32.exe b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/t32.exe new file mode 100644 index 0000000000000000000000000000000000000000..a09d926872d84ae22a617dfe9ebb560d420b37de GIT binary patch literal 92672 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/t64.exe b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/t64.exe new file mode 100644 index 0000000000000000000000000000000000000000..9da9b40de922fb203df6b9a1d0ad4139af536850 GIT binary patch literal 102400 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�vlnW`{LoXpTySn$@;x8yoz96jn?+Kk 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�?dYNUd4WaURX_A__M4W}D0!0n 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/util.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/util.py new file mode 100644 index 0000000..9d4bfd3 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/util.py @@ -0,0 +1,1756 @@ +# +# Copyright (C) 2012-2017 The Python Software Foundation. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +import codecs +from collections import deque +import contextlib +import csv +from glob import iglob as std_iglob +import io +import json +import logging +import os +import py_compile +import re +import socket +try: + import ssl +except ImportError: # pragma: no cover + ssl = None +import subprocess +import sys +import tarfile +import tempfile +import textwrap + +try: + import threading +except ImportError: # pragma: no cover + import dummy_threading as threading +import time + +from . import DistlibException +from .compat import (string_types, text_type, shutil, raw_input, StringIO, + cache_from_source, urlopen, urljoin, httplib, xmlrpclib, + splittype, HTTPHandler, BaseConfigurator, valid_ident, + Container, configparser, URLError, ZipFile, fsdecode, + unquote, urlparse) + +logger = logging.getLogger(__name__) + +# +# Requirement parsing code as per PEP 508 +# + +IDENTIFIER = re.compile(r'^([\w\.-]+)\s*') +VERSION_IDENTIFIER = re.compile(r'^([\w\.*+-]+)\s*') +COMPARE_OP = re.compile(r'^(<=?|>=?|={2,3}|[~!]=)\s*') +MARKER_OP = re.compile(r'^((<=?)|(>=?)|={2,3}|[~!]=|in|not\s+in)\s*') +OR = re.compile(r'^or\b\s*') +AND = re.compile(r'^and\b\s*') +NON_SPACE = re.compile(r'(\S+)\s*') +STRING_CHUNK = re.compile(r'([\s\w\.{}()*+#:;,/?!~`@$%^&=|<>\[\]-]+)') + + +def parse_marker(marker_string): + """ + Parse a marker string and return a dictionary containing a marker expression. + + The dictionary will contain keys "op", "lhs" and "rhs" for non-terminals in + the expression grammar, or strings. A string contained in quotes is to be + interpreted as a literal string, and a string not contained in quotes is a + variable (such as os_name). + """ + def marker_var(remaining): + # either identifier, or literal string + m = IDENTIFIER.match(remaining) + if m: + result = m.groups()[0] + remaining = remaining[m.end():] + elif not remaining: + raise SyntaxError('unexpected end of input') + else: + q = remaining[0] + if q not in '\'"': + raise SyntaxError('invalid expression: %s' % remaining) + oq = '\'"'.replace(q, '') + remaining = remaining[1:] + parts = [q] + while remaining: + # either a string chunk, or oq, or q to terminate + if remaining[0] == q: + break + elif remaining[0] == oq: + parts.append(oq) + remaining = remaining[1:] + else: + m = STRING_CHUNK.match(remaining) + if not m: + raise SyntaxError('error in string literal: %s' % remaining) + parts.append(m.groups()[0]) + remaining = remaining[m.end():] + else: + s = ''.join(parts) + raise SyntaxError('unterminated string: %s' % s) + parts.append(q) + result = ''.join(parts) + remaining = remaining[1:].lstrip() # skip past closing quote + return result, remaining + + def marker_expr(remaining): + if remaining and remaining[0] == '(': + result, remaining = marker(remaining[1:].lstrip()) + if remaining[0] != ')': + raise SyntaxError('unterminated parenthesis: %s' % remaining) + remaining = remaining[1:].lstrip() + else: + lhs, remaining = marker_var(remaining) + while remaining: + m = MARKER_OP.match(remaining) + if not m: + break + op = m.groups()[0] + remaining = remaining[m.end():] + rhs, remaining = marker_var(remaining) + lhs = {'op': op, 'lhs': lhs, 'rhs': rhs} + result = lhs + return result, remaining + + def marker_and(remaining): + lhs, remaining = marker_expr(remaining) + while remaining: + m = AND.match(remaining) + if not m: + break + remaining = remaining[m.end():] + rhs, remaining = marker_expr(remaining) + lhs = {'op': 'and', 'lhs': lhs, 'rhs': rhs} + return lhs, remaining + + def marker(remaining): + lhs, remaining = marker_and(remaining) + while remaining: + m = OR.match(remaining) + if not m: + break + remaining = remaining[m.end():] + rhs, remaining = marker_and(remaining) + lhs = {'op': 'or', 'lhs': lhs, 'rhs': rhs} + return lhs, remaining + + return marker(marker_string) + + +def parse_requirement(req): + """ + Parse a requirement passed in as a string. Return a Container + whose attributes contain the various parts of the requirement. + """ + remaining = req.strip() + if not remaining or remaining.startswith('#'): + return None + m = IDENTIFIER.match(remaining) + if not m: + raise SyntaxError('name expected: %s' % remaining) + distname = m.groups()[0] + remaining = remaining[m.end():] + extras = mark_expr = versions = uri = None + if remaining and remaining[0] == '[': + i = remaining.find(']', 1) + if i < 0: + raise SyntaxError('unterminated extra: %s' % remaining) + s = remaining[1:i] + remaining = remaining[i + 1:].lstrip() + extras = [] + while s: + m = IDENTIFIER.match(s) + if not m: + raise SyntaxError('malformed extra: %s' % s) + extras.append(m.groups()[0]) + s = s[m.end():] + if not s: + break + if s[0] != ',': + raise SyntaxError('comma expected in extras: %s' % s) + s = s[1:].lstrip() + if not extras: + extras = None + if remaining: + if remaining[0] == '@': + # it's a URI + remaining = remaining[1:].lstrip() + m = NON_SPACE.match(remaining) + if not m: + raise SyntaxError('invalid URI: %s' % remaining) + uri = m.groups()[0] + t = urlparse(uri) + # there are issues with Python and URL parsing, so this test + # is a bit crude. See bpo-20271, bpo-23505. Python doesn't + # always parse invalid URLs correctly - it should raise + # exceptions for malformed URLs + if not (t.scheme and t.netloc): + raise SyntaxError('Invalid URL: %s' % uri) + remaining = remaining[m.end():].lstrip() + else: + + def get_versions(ver_remaining): + """ + Return a list of operator, version tuples if any are + specified, else None. + """ + m = COMPARE_OP.match(ver_remaining) + versions = None + if m: + versions = [] + while True: + op = m.groups()[0] + ver_remaining = ver_remaining[m.end():] + m = VERSION_IDENTIFIER.match(ver_remaining) + if not m: + raise SyntaxError('invalid version: %s' % ver_remaining) + v = m.groups()[0] + versions.append((op, v)) + ver_remaining = ver_remaining[m.end():] + if not ver_remaining or ver_remaining[0] != ',': + break + ver_remaining = ver_remaining[1:].lstrip() + m = COMPARE_OP.match(ver_remaining) + if not m: + raise SyntaxError('invalid constraint: %s' % ver_remaining) + if not versions: + versions = None + return versions, ver_remaining + + if remaining[0] != '(': + versions, remaining = get_versions(remaining) + else: + i = remaining.find(')', 1) + if i < 0: + raise SyntaxError('unterminated parenthesis: %s' % remaining) + s = remaining[1:i] + remaining = remaining[i + 1:].lstrip() + # As a special diversion from PEP 508, allow a version number + # a.b.c in parentheses as a synonym for ~= a.b.c (because this + # is allowed in earlier PEPs) + if COMPARE_OP.match(s): + versions, _ = get_versions(s) + else: + m = VERSION_IDENTIFIER.match(s) + if not m: + raise SyntaxError('invalid constraint: %s' % s) + v = m.groups()[0] + s = s[m.end():].lstrip() + if s: + raise SyntaxError('invalid constraint: %s' % s) + versions = [('~=', v)] + + if remaining: + if remaining[0] != ';': + raise SyntaxError('invalid requirement: %s' % remaining) + remaining = remaining[1:].lstrip() + + mark_expr, remaining = parse_marker(remaining) + + if remaining and remaining[0] != '#': + raise SyntaxError('unexpected trailing data: %s' % remaining) + + if not versions: + rs = distname + else: + rs = '%s %s' % (distname, ', '.join(['%s %s' % con for con in versions])) + return Container(name=distname, extras=extras, constraints=versions, + marker=mark_expr, url=uri, requirement=rs) + + +def get_resources_dests(resources_root, rules): + """Find destinations for resources files""" + + def get_rel_path(root, path): + # normalizes and returns a lstripped-/-separated path + root = root.replace(os.path.sep, '/') + path = path.replace(os.path.sep, '/') + assert path.startswith(root) + return path[len(root):].lstrip('/') + + destinations = {} + for base, suffix, dest in rules: + prefix = os.path.join(resources_root, base) + for abs_base in iglob(prefix): + abs_glob = os.path.join(abs_base, suffix) + for abs_path in iglob(abs_glob): + resource_file = get_rel_path(resources_root, abs_path) + if dest is None: # remove the entry if it was here + destinations.pop(resource_file, None) + else: + rel_path = get_rel_path(abs_base, abs_path) + rel_dest = dest.replace(os.path.sep, '/').rstrip('/') + destinations[resource_file] = rel_dest + '/' + rel_path + return destinations + + +def in_venv(): + if hasattr(sys, 'real_prefix'): + # virtualenv venvs + result = True + else: + # PEP 405 venvs + result = sys.prefix != getattr(sys, 'base_prefix', sys.prefix) + return result + + +def get_executable(): +# The __PYVENV_LAUNCHER__ dance is apparently no longer needed, as +# changes to the stub launcher mean that sys.executable always points +# to the stub on OS X +# if sys.platform == 'darwin' and ('__PYVENV_LAUNCHER__' +# in os.environ): +# result = os.environ['__PYVENV_LAUNCHER__'] +# else: +# result = sys.executable +# return result + result = os.path.normcase(sys.executable) + if not isinstance(result, text_type): + result = fsdecode(result) + return result + + +def proceed(prompt, allowed_chars, error_prompt=None, default=None): + p = prompt + while True: + s = raw_input(p) + p = prompt + if not s and default: + s = default + if s: + c = s[0].lower() + if c in allowed_chars: + break + if error_prompt: + p = '%c: %s\n%s' % (c, error_prompt, prompt) + return c + + +def extract_by_key(d, keys): + if isinstance(keys, string_types): + keys = keys.split() + result = {} + for key in keys: + if key in d: + result[key] = d[key] + return result + +def read_exports(stream): + if sys.version_info[0] >= 3: + # needs to be a text stream + stream = codecs.getreader('utf-8')(stream) + # Try to load as JSON, falling back on legacy format + data = stream.read() + stream = StringIO(data) + try: + jdata = json.load(stream) + result = jdata['extensions']['python.exports']['exports'] + for group, entries in result.items(): + for k, v in entries.items(): + s = '%s = %s' % (k, v) + entry = get_export_entry(s) + assert entry is not None + entries[k] = entry + return result + except Exception: + stream.seek(0, 0) + + def read_stream(cp, stream): + if hasattr(cp, 'read_file'): + cp.read_file(stream) + else: + cp.readfp(stream) + + cp = configparser.ConfigParser() + try: + read_stream(cp, stream) + except configparser.MissingSectionHeaderError: + stream.close() + data = textwrap.dedent(data) + stream = StringIO(data) + read_stream(cp, stream) + + result = {} + for key in cp.sections(): + result[key] = entries = {} + for name, value in cp.items(key): + s = '%s = %s' % (name, value) + entry = get_export_entry(s) + assert entry is not None + #entry.dist = self + entries[name] = entry + return result + + +def write_exports(exports, stream): + if sys.version_info[0] >= 3: + # needs to be a text stream + stream = codecs.getwriter('utf-8')(stream) + cp = configparser.ConfigParser() + for k, v in exports.items(): + # TODO check k, v for valid values + cp.add_section(k) + for entry in v.values(): + if entry.suffix is None: + s = entry.prefix + else: + s = '%s:%s' % (entry.prefix, entry.suffix) + if entry.flags: + s = '%s [%s]' % (s, ', '.join(entry.flags)) + cp.set(k, entry.name, s) + cp.write(stream) + + +@contextlib.contextmanager +def tempdir(): + td = tempfile.mkdtemp() + try: + yield td + finally: + shutil.rmtree(td) + +@contextlib.contextmanager +def chdir(d): + cwd = os.getcwd() + try: + os.chdir(d) + yield + finally: + os.chdir(cwd) + + +@contextlib.contextmanager +def socket_timeout(seconds=15): + cto = socket.getdefaulttimeout() + try: + socket.setdefaulttimeout(seconds) + yield + finally: + socket.setdefaulttimeout(cto) + + +class cached_property(object): + def __init__(self, func): + self.func = func + #for attr in ('__name__', '__module__', '__doc__'): + # setattr(self, attr, getattr(func, attr, None)) + + def __get__(self, obj, cls=None): + if obj is None: + return self + value = self.func(obj) + object.__setattr__(obj, self.func.__name__, value) + #obj.__dict__[self.func.__name__] = value = self.func(obj) + return value + +def convert_path(pathname): + """Return 'pathname' as a name that will work on the native filesystem. + + The path is split on '/' and put back together again using the current + directory separator. Needed because filenames in the setup script are + always supplied in Unix style, and have to be converted to the local + convention before we can actually use them in the filesystem. Raises + ValueError on non-Unix-ish systems if 'pathname' either starts or + ends with a slash. + """ + if os.sep == '/': + return pathname + if not pathname: + return pathname + if pathname[0] == '/': + raise ValueError("path '%s' cannot be absolute" % pathname) + if pathname[-1] == '/': + raise ValueError("path '%s' cannot end with '/'" % pathname) + + paths = pathname.split('/') + while os.curdir in paths: + paths.remove(os.curdir) + if not paths: + return os.curdir + return os.path.join(*paths) + + +class FileOperator(object): + def __init__(self, dry_run=False): + self.dry_run = dry_run + self.ensured = set() + self._init_record() + + def _init_record(self): + self.record = False + self.files_written = set() + self.dirs_created = set() + + def record_as_written(self, path): + if self.record: + self.files_written.add(path) + + def newer(self, source, target): + """Tell if the target is newer than the source. + + Returns true if 'source' exists and is more recently modified than + 'target', or if 'source' exists and 'target' doesn't. + + Returns false if both exist and 'target' is the same age or younger + than 'source'. Raise PackagingFileError if 'source' does not exist. + + Note that this test is not very accurate: files created in the same + second will have the same "age". + """ + if not os.path.exists(source): + raise DistlibException("file '%r' does not exist" % + os.path.abspath(source)) + if not os.path.exists(target): + return True + + return os.stat(source).st_mtime > os.stat(target).st_mtime + + def copy_file(self, infile, outfile, check=True): + """Copy a file respecting dry-run and force flags. + """ + self.ensure_dir(os.path.dirname(outfile)) + logger.info('Copying %s to %s', infile, outfile) + if not self.dry_run: + msg = None + if check: + if os.path.islink(outfile): + msg = '%s is a symlink' % outfile + elif os.path.exists(outfile) and not os.path.isfile(outfile): + msg = '%s is a non-regular file' % outfile + if msg: + raise ValueError(msg + ' which would be overwritten') + shutil.copyfile(infile, outfile) + self.record_as_written(outfile) + + def copy_stream(self, instream, outfile, encoding=None): + assert not os.path.isdir(outfile) + self.ensure_dir(os.path.dirname(outfile)) + logger.info('Copying stream %s to %s', instream, outfile) + if not self.dry_run: + if encoding is None: + outstream = open(outfile, 'wb') + else: + outstream = codecs.open(outfile, 'w', encoding=encoding) + try: + shutil.copyfileobj(instream, outstream) + finally: + outstream.close() + self.record_as_written(outfile) + + def write_binary_file(self, path, data): + self.ensure_dir(os.path.dirname(path)) + if not self.dry_run: + if os.path.exists(path): + os.remove(path) + with open(path, 'wb') as f: + f.write(data) + self.record_as_written(path) + + def write_text_file(self, path, data, encoding): + self.write_binary_file(path, data.encode(encoding)) + + def set_mode(self, bits, mask, files): + if os.name == 'posix' or (os.name == 'java' and os._name == 'posix'): + # Set the executable bits (owner, group, and world) on + # all the files specified. + for f in files: + if self.dry_run: + logger.info("changing mode of %s", f) + else: + mode = (os.stat(f).st_mode | bits) & mask + logger.info("changing mode of %s to %o", f, mode) + os.chmod(f, mode) + + set_executable_mode = lambda s, f: s.set_mode(0o555, 0o7777, f) + + def ensure_dir(self, path): + path = os.path.abspath(path) + if path not in self.ensured and not os.path.exists(path): + self.ensured.add(path) + d, f = os.path.split(path) + self.ensure_dir(d) + logger.info('Creating %s' % path) + if not self.dry_run: + os.mkdir(path) + if self.record: + self.dirs_created.add(path) + + def byte_compile(self, path, optimize=False, force=False, prefix=None, hashed_invalidation=False): + dpath = cache_from_source(path, not optimize) + logger.info('Byte-compiling %s to %s', path, dpath) + if not self.dry_run: + if force or self.newer(path, dpath): + if not prefix: + diagpath = None + else: + assert path.startswith(prefix) + diagpath = path[len(prefix):] + compile_kwargs = {} + if hashed_invalidation and hasattr(py_compile, 'PycInvalidationMode'): + compile_kwargs['invalidation_mode'] = py_compile.PycInvalidationMode.CHECKED_HASH + py_compile.compile(path, dpath, diagpath, True, **compile_kwargs) # raise error + self.record_as_written(dpath) + return dpath + + def ensure_removed(self, path): + if os.path.exists(path): + if os.path.isdir(path) and not os.path.islink(path): + logger.debug('Removing directory tree at %s', path) + if not self.dry_run: + shutil.rmtree(path) + if self.record: + if path in self.dirs_created: + self.dirs_created.remove(path) + else: + if os.path.islink(path): + s = 'link' + else: + s = 'file' + logger.debug('Removing %s %s', s, path) + if not self.dry_run: + os.remove(path) + if self.record: + if path in self.files_written: + self.files_written.remove(path) + + def is_writable(self, path): + result = False + while not result: + if os.path.exists(path): + result = os.access(path, os.W_OK) + break + parent = os.path.dirname(path) + if parent == path: + break + path = parent + return result + + def commit(self): + """ + Commit recorded changes, turn off recording, return + changes. + """ + assert self.record + result = self.files_written, self.dirs_created + self._init_record() + return result + + def rollback(self): + if not self.dry_run: + for f in list(self.files_written): + if os.path.exists(f): + os.remove(f) + # dirs should all be empty now, except perhaps for + # __pycache__ subdirs + # reverse so that subdirs appear before their parents + dirs = sorted(self.dirs_created, reverse=True) + for d in dirs: + flist = os.listdir(d) + if flist: + assert flist == ['__pycache__'] + sd = os.path.join(d, flist[0]) + os.rmdir(sd) + os.rmdir(d) # should fail if non-empty + self._init_record() + +def resolve(module_name, dotted_path): + if module_name in sys.modules: + mod = sys.modules[module_name] + else: + mod = __import__(module_name) + if dotted_path is None: + result = mod + else: + parts = dotted_path.split('.') + result = getattr(mod, parts.pop(0)) + for p in parts: + result = getattr(result, p) + return result + + +class ExportEntry(object): + def __init__(self, name, prefix, suffix, flags): + self.name = name + self.prefix = prefix + self.suffix = suffix + self.flags = flags + + @cached_property + def value(self): + return resolve(self.prefix, self.suffix) + + def __repr__(self): # pragma: no cover + return '<ExportEntry %s = %s:%s %s>' % (self.name, self.prefix, + self.suffix, self.flags) + + def __eq__(self, other): + if not isinstance(other, ExportEntry): + result = False + else: + result = (self.name == other.name and + self.prefix == other.prefix and + self.suffix == other.suffix and + self.flags == other.flags) + return result + + __hash__ = object.__hash__ + + +ENTRY_RE = re.compile(r'''(?P<name>(\w|[-.+])+) + \s*=\s*(?P<callable>(\w+)([:\.]\w+)*) + \s*(\[\s*(?P<flags>\w+(=\w+)?(,\s*\w+(=\w+)?)*)\s*\])? + ''', re.VERBOSE) + +def get_export_entry(specification): + m = ENTRY_RE.search(specification) + if not m: + result = None + if '[' in specification or ']' in specification: + raise DistlibException("Invalid specification " + "'%s'" % specification) + else: + d = m.groupdict() + name = d['name'] + path = d['callable'] + colons = path.count(':') + if colons == 0: + prefix, suffix = path, None + else: + if colons != 1: + raise DistlibException("Invalid specification " + "'%s'" % specification) + prefix, suffix = path.split(':') + flags = d['flags'] + if flags is None: + if '[' in specification or ']' in specification: + raise DistlibException("Invalid specification " + "'%s'" % specification) + flags = [] + else: + flags = [f.strip() for f in flags.split(',')] + result = ExportEntry(name, prefix, suffix, flags) + return result + + +def get_cache_base(suffix=None): + """ + Return the default base location for distlib caches. If the directory does + not exist, it is created. Use the suffix provided for the base directory, + and default to '.distlib' if it isn't provided. + + On Windows, if LOCALAPPDATA is defined in the environment, then it is + assumed to be a directory, and will be the parent directory of the result. + On POSIX, and on Windows if LOCALAPPDATA is not defined, the user's home + directory - using os.expanduser('~') - will be the parent directory of + the result. + + The result is just the directory '.distlib' in the parent directory as + determined above, or with the name specified with ``suffix``. + """ + if suffix is None: + suffix = '.distlib' + if os.name == 'nt' and 'LOCALAPPDATA' in os.environ: + result = os.path.expandvars('$localappdata') + else: + # Assume posix, or old Windows + result = os.path.expanduser('~') + # we use 'isdir' instead of 'exists', because we want to + # fail if there's a file with that name + if os.path.isdir(result): + usable = os.access(result, os.W_OK) + if not usable: + logger.warning('Directory exists but is not writable: %s', result) + else: + try: + os.makedirs(result) + usable = True + except OSError: + logger.warning('Unable to create %s', result, exc_info=True) + usable = False + if not usable: + result = tempfile.mkdtemp() + logger.warning('Default location unusable, using %s', result) + return os.path.join(result, suffix) + + +def path_to_cache_dir(path): + """ + Convert an absolute path to a directory name for use in a cache. + + The algorithm used is: + + #. On Windows, any ``':'`` in the drive is replaced with ``'---'``. + #. Any occurrence of ``os.sep`` is replaced with ``'--'``. + #. ``'.cache'`` is appended. + """ + d, p = os.path.splitdrive(os.path.abspath(path)) + if d: + d = d.replace(':', '---') + p = p.replace(os.sep, '--') + return d + p + '.cache' + + +def ensure_slash(s): + if not s.endswith('/'): + return s + '/' + return s + + +def parse_credentials(netloc): + username = password = None + if '@' in netloc: + prefix, netloc = netloc.split('@', 1) + if ':' not in prefix: + username = prefix + else: + username, password = prefix.split(':', 1) + return username, password, netloc + + +def get_process_umask(): + result = os.umask(0o22) + os.umask(result) + return result + +def is_string_sequence(seq): + result = True + i = None + for i, s in enumerate(seq): + if not isinstance(s, string_types): + result = False + break + assert i is not None + return result + +PROJECT_NAME_AND_VERSION = re.compile('([a-z0-9_]+([.-][a-z_][a-z0-9_]*)*)-' + '([a-z0-9_.+-]+)', re.I) +PYTHON_VERSION = re.compile(r'-py(\d\.?\d?)') + + +def split_filename(filename, project_name=None): + """ + Extract name, version, python version from a filename (no extension) + + Return name, version, pyver or None + """ + result = None + pyver = None + filename = unquote(filename).replace(' ', '-') + m = PYTHON_VERSION.search(filename) + if m: + pyver = m.group(1) + filename = filename[:m.start()] + if project_name and len(filename) > len(project_name) + 1: + m = re.match(re.escape(project_name) + r'\b', filename) + if m: + n = m.end() + result = filename[:n], filename[n + 1:], pyver + if result is None: + m = PROJECT_NAME_AND_VERSION.match(filename) + if m: + result = m.group(1), m.group(3), pyver + return result + +# Allow spaces in name because of legacy dists like "Twisted Core" +NAME_VERSION_RE = re.compile(r'(?P<name>[\w .-]+)\s*' + r'\(\s*(?P<ver>[^\s)]+)\)$') + +def parse_name_and_version(p): + """ + A utility method used to get name and version from a string. + + From e.g. a Provides-Dist value. + + :param p: A value in a form 'foo (1.0)' + :return: The name and version as a tuple. + """ + m = NAME_VERSION_RE.match(p) + if not m: + raise DistlibException('Ill-formed name/version string: \'%s\'' % p) + d = m.groupdict() + return d['name'].strip().lower(), d['ver'] + +def get_extras(requested, available): + result = set() + requested = set(requested or []) + available = set(available or []) + if '*' in requested: + requested.remove('*') + result |= available + for r in requested: + if r == '-': + result.add(r) + elif r.startswith('-'): + unwanted = r[1:] + if unwanted not in available: + logger.warning('undeclared extra: %s' % unwanted) + if unwanted in result: + result.remove(unwanted) + else: + if r not in available: + logger.warning('undeclared extra: %s' % r) + result.add(r) + return result +# +# Extended metadata functionality +# + +def _get_external_data(url): + result = {} + try: + # urlopen might fail if it runs into redirections, + # because of Python issue #13696. Fixed in locators + # using a custom redirect handler. + resp = urlopen(url) + headers = resp.info() + ct = headers.get('Content-Type') + if not ct.startswith('application/json'): + logger.debug('Unexpected response for JSON request: %s', ct) + else: + reader = codecs.getreader('utf-8')(resp) + #data = reader.read().decode('utf-8') + #result = json.loads(data) + result = json.load(reader) + except Exception as e: + logger.exception('Failed to get external data for %s: %s', url, e) + return result + +_external_data_base_url = 'https://www.red-dove.com/pypi/projects/' + +def get_project_data(name): + url = '%s/%s/project.json' % (name[0].upper(), name) + url = urljoin(_external_data_base_url, url) + result = _get_external_data(url) + return result + +def get_package_data(name, version): + url = '%s/%s/package-%s.json' % (name[0].upper(), name, version) + url = urljoin(_external_data_base_url, url) + return _get_external_data(url) + + +class Cache(object): + """ + A class implementing a cache for resources that need to live in the file system + e.g. shared libraries. This class was moved from resources to here because it + could be used by other modules, e.g. the wheel module. + """ + + def __init__(self, base): + """ + Initialise an instance. + + :param base: The base directory where the cache should be located. + """ + # we use 'isdir' instead of 'exists', because we want to + # fail if there's a file with that name + if not os.path.isdir(base): # pragma: no cover + os.makedirs(base) + if (os.stat(base).st_mode & 0o77) != 0: + logger.warning('Directory \'%s\' is not private', base) + self.base = os.path.abspath(os.path.normpath(base)) + + def prefix_to_dir(self, prefix): + """ + Converts a resource prefix to a directory name in the cache. + """ + return path_to_cache_dir(prefix) + + def clear(self): + """ + Clear the cache. + """ + not_removed = [] + for fn in os.listdir(self.base): + fn = os.path.join(self.base, fn) + try: + if os.path.islink(fn) or os.path.isfile(fn): + os.remove(fn) + elif os.path.isdir(fn): + shutil.rmtree(fn) + except Exception: + not_removed.append(fn) + return not_removed + + +class EventMixin(object): + """ + A very simple publish/subscribe system. + """ + def __init__(self): + self._subscribers = {} + + def add(self, event, subscriber, append=True): + """ + Add a subscriber for an event. + + :param event: The name of an event. + :param subscriber: The subscriber to be added (and called when the + event is published). + :param append: Whether to append or prepend the subscriber to an + existing subscriber list for the event. + """ + subs = self._subscribers + if event not in subs: + subs[event] = deque([subscriber]) + else: + sq = subs[event] + if append: + sq.append(subscriber) + else: + sq.appendleft(subscriber) + + def remove(self, event, subscriber): + """ + Remove a subscriber for an event. + + :param event: The name of an event. + :param subscriber: The subscriber to be removed. + """ + subs = self._subscribers + if event not in subs: + raise ValueError('No subscribers: %r' % event) + subs[event].remove(subscriber) + + def get_subscribers(self, event): + """ + Return an iterator for the subscribers for an event. + :param event: The event to return subscribers for. + """ + return iter(self._subscribers.get(event, ())) + + def publish(self, event, *args, **kwargs): + """ + Publish a event and return a list of values returned by its + subscribers. + + :param event: The event to publish. + :param args: The positional arguments to pass to the event's + subscribers. + :param kwargs: The keyword arguments to pass to the event's + subscribers. + """ + result = [] + for subscriber in self.get_subscribers(event): + try: + value = subscriber(event, *args, **kwargs) + except Exception: + logger.exception('Exception during event publication') + value = None + result.append(value) + logger.debug('publish %s: args = %s, kwargs = %s, result = %s', + event, args, kwargs, result) + return result + +# +# Simple sequencing +# +class Sequencer(object): + def __init__(self): + self._preds = {} + self._succs = {} + self._nodes = set() # nodes with no preds/succs + + def add_node(self, node): + self._nodes.add(node) + + def remove_node(self, node, edges=False): + if node in self._nodes: + self._nodes.remove(node) + if edges: + for p in set(self._preds.get(node, ())): + self.remove(p, node) + for s in set(self._succs.get(node, ())): + self.remove(node, s) + # Remove empties + for k, v in list(self._preds.items()): + if not v: + del self._preds[k] + for k, v in list(self._succs.items()): + if not v: + del self._succs[k] + + def add(self, pred, succ): + assert pred != succ + self._preds.setdefault(succ, set()).add(pred) + self._succs.setdefault(pred, set()).add(succ) + + def remove(self, pred, succ): + assert pred != succ + try: + preds = self._preds[succ] + succs = self._succs[pred] + except KeyError: # pragma: no cover + raise ValueError('%r not a successor of anything' % succ) + try: + preds.remove(pred) + succs.remove(succ) + except KeyError: # pragma: no cover + raise ValueError('%r not a successor of %r' % (succ, pred)) + + def is_step(self, step): + return (step in self._preds or step in self._succs or + step in self._nodes) + + def get_steps(self, final): + if not self.is_step(final): + raise ValueError('Unknown: %r' % final) + result = [] + todo = [] + seen = set() + todo.append(final) + while todo: + step = todo.pop(0) + if step in seen: + # if a step was already seen, + # move it to the end (so it will appear earlier + # when reversed on return) ... but not for the + # final step, as that would be confusing for + # users + if step != final: + result.remove(step) + result.append(step) + else: + seen.add(step) + result.append(step) + preds = self._preds.get(step, ()) + todo.extend(preds) + return reversed(result) + + @property + def strong_connections(self): + #http://en.wikipedia.org/wiki/Tarjan%27s_strongly_connected_components_algorithm + index_counter = [0] + stack = [] + lowlinks = {} + index = {} + result = [] + + graph = self._succs + + def strongconnect(node): + # set the depth index for this node to the smallest unused index + index[node] = index_counter[0] + lowlinks[node] = index_counter[0] + index_counter[0] += 1 + stack.append(node) + + # Consider successors + try: + successors = graph[node] + except Exception: + successors = [] + for successor in successors: + if successor not in lowlinks: + # Successor has not yet been visited + strongconnect(successor) + lowlinks[node] = min(lowlinks[node],lowlinks[successor]) + elif successor in stack: + # the successor is in the stack and hence in the current + # strongly connected component (SCC) + lowlinks[node] = min(lowlinks[node],index[successor]) + + # If `node` is a root node, pop the stack and generate an SCC + if lowlinks[node] == index[node]: + connected_component = [] + + while True: + successor = stack.pop() + connected_component.append(successor) + if successor == node: break + component = tuple(connected_component) + # storing the result + result.append(component) + + for node in graph: + if node not in lowlinks: + strongconnect(node) + + return result + + @property + def dot(self): + result = ['digraph G {'] + for succ in self._preds: + preds = self._preds[succ] + for pred in preds: + result.append(' %s -> %s;' % (pred, succ)) + for node in self._nodes: + result.append(' %s;' % node) + result.append('}') + return '\n'.join(result) + +# +# Unarchiving functionality for zip, tar, tgz, tbz, whl +# + +ARCHIVE_EXTENSIONS = ('.tar.gz', '.tar.bz2', '.tar', '.zip', + '.tgz', '.tbz', '.whl') + +def unarchive(archive_filename, dest_dir, format=None, check=True): + + def check_path(path): + if not isinstance(path, text_type): + path = path.decode('utf-8') + p = os.path.abspath(os.path.join(dest_dir, path)) + if not p.startswith(dest_dir) or p[plen] != os.sep: + raise ValueError('path outside destination: %r' % p) + + dest_dir = os.path.abspath(dest_dir) + plen = len(dest_dir) + archive = None + if format is None: + if archive_filename.endswith(('.zip', '.whl')): + format = 'zip' + elif archive_filename.endswith(('.tar.gz', '.tgz')): + format = 'tgz' + mode = 'r:gz' + elif archive_filename.endswith(('.tar.bz2', '.tbz')): + format = 'tbz' + mode = 'r:bz2' + elif archive_filename.endswith('.tar'): + format = 'tar' + mode = 'r' + else: # pragma: no cover + raise ValueError('Unknown format for %r' % archive_filename) + try: + if format == 'zip': + archive = ZipFile(archive_filename, 'r') + if check: + names = archive.namelist() + for name in names: + check_path(name) + else: + archive = tarfile.open(archive_filename, mode) + if check: + names = archive.getnames() + for name in names: + check_path(name) + if format != 'zip' and sys.version_info[0] < 3: + # See Python issue 17153. If the dest path contains Unicode, + # tarfile extraction fails on Python 2.x if a member path name + # contains non-ASCII characters - it leads to an implicit + # bytes -> unicode conversion using ASCII to decode. + for tarinfo in archive.getmembers(): + if not isinstance(tarinfo.name, text_type): + tarinfo.name = tarinfo.name.decode('utf-8') + archive.extractall(dest_dir) + + finally: + if archive: + archive.close() + + +def zip_dir(directory): + """zip a directory tree into a BytesIO object""" + result = io.BytesIO() + dlen = len(directory) + with ZipFile(result, "w") as zf: + for root, dirs, files in os.walk(directory): + for name in files: + full = os.path.join(root, name) + rel = root[dlen:] + dest = os.path.join(rel, name) + zf.write(full, dest) + return result + +# +# Simple progress bar +# + +UNITS = ('', 'K', 'M', 'G','T','P') + + +class Progress(object): + unknown = 'UNKNOWN' + + def __init__(self, minval=0, maxval=100): + assert maxval is None or maxval >= minval + self.min = self.cur = minval + self.max = maxval + self.started = None + self.elapsed = 0 + self.done = False + + def update(self, curval): + assert self.min <= curval + assert self.max is None or curval <= self.max + self.cur = curval + now = time.time() + if self.started is None: + self.started = now + else: + self.elapsed = now - self.started + + def increment(self, incr): + assert incr >= 0 + self.update(self.cur + incr) + + def start(self): + self.update(self.min) + return self + + def stop(self): + if self.max is not None: + self.update(self.max) + self.done = True + + @property + def maximum(self): + return self.unknown if self.max is None else self.max + + @property + def percentage(self): + if self.done: + result = '100 %' + elif self.max is None: + result = ' ?? %' + else: + v = 100.0 * (self.cur - self.min) / (self.max - self.min) + result = '%3d %%' % v + return result + + def format_duration(self, duration): + if (duration <= 0) and self.max is None or self.cur == self.min: + result = '??:??:??' + #elif duration < 1: + # result = '--:--:--' + else: + result = time.strftime('%H:%M:%S', time.gmtime(duration)) + return result + + @property + def ETA(self): + if self.done: + prefix = 'Done' + t = self.elapsed + #import pdb; pdb.set_trace() + else: + prefix = 'ETA ' + if self.max is None: + t = -1 + elif self.elapsed == 0 or (self.cur == self.min): + t = 0 + else: + #import pdb; pdb.set_trace() + t = float(self.max - self.min) + t /= self.cur - self.min + t = (t - 1) * self.elapsed + return '%s: %s' % (prefix, self.format_duration(t)) + + @property + def speed(self): + if self.elapsed == 0: + result = 0.0 + else: + result = (self.cur - self.min) / self.elapsed + for unit in UNITS: + if result < 1000: + break + result /= 1000.0 + return '%d %sB/s' % (result, unit) + +# +# Glob functionality +# + +RICH_GLOB = re.compile(r'\{([^}]*)\}') +_CHECK_RECURSIVE_GLOB = re.compile(r'[^/\\,{]\*\*|\*\*[^/\\,}]') +_CHECK_MISMATCH_SET = re.compile(r'^[^{]*\}|\{[^}]*$') + + +def iglob(path_glob): + """Extended globbing function that supports ** and {opt1,opt2,opt3}.""" + if _CHECK_RECURSIVE_GLOB.search(path_glob): + msg = """invalid glob %r: recursive glob "**" must be used alone""" + raise ValueError(msg % path_glob) + if _CHECK_MISMATCH_SET.search(path_glob): + msg = """invalid glob %r: mismatching set marker '{' or '}'""" + raise ValueError(msg % path_glob) + return _iglob(path_glob) + + +def _iglob(path_glob): + rich_path_glob = RICH_GLOB.split(path_glob, 1) + if len(rich_path_glob) > 1: + assert len(rich_path_glob) == 3, rich_path_glob + prefix, set, suffix = rich_path_glob + for item in set.split(','): + for path in _iglob(''.join((prefix, item, suffix))): + yield path + else: + if '**' not in path_glob: + for item in std_iglob(path_glob): + yield item + else: + prefix, radical = path_glob.split('**', 1) + if prefix == '': + prefix = '.' + if radical == '': + radical = '*' + else: + # we support both + radical = radical.lstrip('/') + radical = radical.lstrip('\\') + for path, dir, files in os.walk(prefix): + path = os.path.normpath(path) + for fn in _iglob(os.path.join(path, radical)): + yield fn + +if ssl: + from .compat import (HTTPSHandler as BaseHTTPSHandler, match_hostname, + CertificateError) + + +# +# HTTPSConnection which verifies certificates/matches domains +# + + class HTTPSConnection(httplib.HTTPSConnection): + ca_certs = None # set this to the path to the certs file (.pem) + check_domain = True # only used if ca_certs is not None + + # noinspection PyPropertyAccess + def connect(self): + sock = socket.create_connection((self.host, self.port), self.timeout) + if getattr(self, '_tunnel_host', False): + self.sock = sock + self._tunnel() + + if not hasattr(ssl, 'SSLContext'): + # For 2.x + if self.ca_certs: + cert_reqs = ssl.CERT_REQUIRED + else: + cert_reqs = ssl.CERT_NONE + self.sock = ssl.wrap_socket(sock, self.key_file, self.cert_file, + cert_reqs=cert_reqs, + ssl_version=ssl.PROTOCOL_SSLv23, + ca_certs=self.ca_certs) + else: # pragma: no cover + context = ssl.SSLContext(ssl.PROTOCOL_SSLv23) + context.options |= ssl.OP_NO_SSLv2 + if self.cert_file: + context.load_cert_chain(self.cert_file, self.key_file) + kwargs = {} + if self.ca_certs: + context.verify_mode = ssl.CERT_REQUIRED + context.load_verify_locations(cafile=self.ca_certs) + if getattr(ssl, 'HAS_SNI', False): + kwargs['server_hostname'] = self.host + self.sock = context.wrap_socket(sock, **kwargs) + if self.ca_certs and self.check_domain: + try: + match_hostname(self.sock.getpeercert(), self.host) + logger.debug('Host verified: %s', self.host) + except CertificateError: # pragma: no cover + self.sock.shutdown(socket.SHUT_RDWR) + self.sock.close() + raise + + class HTTPSHandler(BaseHTTPSHandler): + def __init__(self, ca_certs, check_domain=True): + BaseHTTPSHandler.__init__(self) + self.ca_certs = ca_certs + self.check_domain = check_domain + + def _conn_maker(self, *args, **kwargs): + """ + This is called to create a connection instance. Normally you'd + pass a connection class to do_open, but it doesn't actually check for + a class, and just expects a callable. As long as we behave just as a + constructor would have, we should be OK. If it ever changes so that + we *must* pass a class, we'll create an UnsafeHTTPSConnection class + which just sets check_domain to False in the class definition, and + choose which one to pass to do_open. + """ + result = HTTPSConnection(*args, **kwargs) + if self.ca_certs: + result.ca_certs = self.ca_certs + result.check_domain = self.check_domain + return result + + def https_open(self, req): + try: + return self.do_open(self._conn_maker, req) + except URLError as e: + if 'certificate verify failed' in str(e.reason): + raise CertificateError('Unable to verify server certificate ' + 'for %s' % req.host) + else: + raise + + # + # To prevent against mixing HTTP traffic with HTTPS (examples: A Man-In-The- + # Middle proxy using HTTP listens on port 443, or an index mistakenly serves + # HTML containing a http://xyz link when it should be https://xyz), + # you can use the following handler class, which does not allow HTTP traffic. + # + # It works by inheriting from HTTPHandler - so build_opener won't add a + # handler for HTTP itself. + # + class HTTPSOnlyHandler(HTTPSHandler, HTTPHandler): + def http_open(self, req): + raise URLError('Unexpected HTTP request on what should be a secure ' + 'connection: %s' % req) + +# +# XML-RPC with timeouts +# + +_ver_info = sys.version_info[:2] + +if _ver_info == (2, 6): + class HTTP(httplib.HTTP): + def __init__(self, host='', port=None, **kwargs): + if port == 0: # 0 means use port 0, not the default port + port = None + self._setup(self._connection_class(host, port, **kwargs)) + + + if ssl: + class HTTPS(httplib.HTTPS): + def __init__(self, host='', port=None, **kwargs): + if port == 0: # 0 means use port 0, not the default port + port = None + self._setup(self._connection_class(host, port, **kwargs)) + + +class Transport(xmlrpclib.Transport): + def __init__(self, timeout, use_datetime=0): + self.timeout = timeout + xmlrpclib.Transport.__init__(self, use_datetime) + + def make_connection(self, host): + h, eh, x509 = self.get_host_info(host) + if _ver_info == (2, 6): + result = HTTP(h, timeout=self.timeout) + else: + if not self._connection or host != self._connection[0]: + self._extra_headers = eh + self._connection = host, httplib.HTTPConnection(h) + result = self._connection[1] + return result + +if ssl: + class SafeTransport(xmlrpclib.SafeTransport): + def __init__(self, timeout, use_datetime=0): + self.timeout = timeout + xmlrpclib.SafeTransport.__init__(self, use_datetime) + + def make_connection(self, host): + h, eh, kwargs = self.get_host_info(host) + if not kwargs: + kwargs = {} + kwargs['timeout'] = self.timeout + if _ver_info == (2, 6): + result = HTTPS(host, None, **kwargs) + else: + if not self._connection or host != self._connection[0]: + self._extra_headers = eh + self._connection = host, httplib.HTTPSConnection(h, None, + **kwargs) + result = self._connection[1] + return result + + +class ServerProxy(xmlrpclib.ServerProxy): + def __init__(self, uri, **kwargs): + self.timeout = timeout = kwargs.pop('timeout', None) + # The above classes only come into play if a timeout + # is specified + if timeout is not None: + scheme, _ = splittype(uri) + use_datetime = kwargs.get('use_datetime', 0) + if scheme == 'https': + tcls = SafeTransport + else: + tcls = Transport + kwargs['transport'] = t = tcls(timeout, use_datetime=use_datetime) + self.transport = t + xmlrpclib.ServerProxy.__init__(self, uri, **kwargs) + +# +# CSV functionality. This is provided because on 2.x, the csv module can't +# handle Unicode. However, we need to deal with Unicode in e.g. RECORD files. +# + +def _csv_open(fn, mode, **kwargs): + if sys.version_info[0] < 3: + mode += 'b' + else: + kwargs['newline'] = '' + # Python 3 determines encoding from locale. Force 'utf-8' + # file encoding to match other forced utf-8 encoding + kwargs['encoding'] = 'utf-8' + return open(fn, mode, **kwargs) + + +class CSVBase(object): + defaults = { + 'delimiter': str(','), # The strs are used because we need native + 'quotechar': str('"'), # str in the csv API (2.x won't take + 'lineterminator': str('\n') # Unicode) + } + + def __enter__(self): + return self + + def __exit__(self, *exc_info): + self.stream.close() + + +class CSVReader(CSVBase): + def __init__(self, **kwargs): + if 'stream' in kwargs: + stream = kwargs['stream'] + if sys.version_info[0] >= 3: + # needs to be a text stream + stream = codecs.getreader('utf-8')(stream) + self.stream = stream + else: + self.stream = _csv_open(kwargs['path'], 'r') + self.reader = csv.reader(self.stream, **self.defaults) + + def __iter__(self): + return self + + def next(self): + result = next(self.reader) + if sys.version_info[0] < 3: + for i, item in enumerate(result): + if not isinstance(item, text_type): + result[i] = item.decode('utf-8') + return result + + __next__ = next + +class CSVWriter(CSVBase): + def __init__(self, fn, **kwargs): + self.stream = _csv_open(fn, 'w') + self.writer = csv.writer(self.stream, **self.defaults) + + def writerow(self, row): + if sys.version_info[0] < 3: + r = [] + for item in row: + if isinstance(item, text_type): + item = item.encode('utf-8') + r.append(item) + row = r + self.writer.writerow(row) + +# +# Configurator functionality +# + +class Configurator(BaseConfigurator): + + value_converters = dict(BaseConfigurator.value_converters) + value_converters['inc'] = 'inc_convert' + + def __init__(self, config, base=None): + super(Configurator, self).__init__(config) + self.base = base or os.getcwd() + + def configure_custom(self, config): + def convert(o): + if isinstance(o, (list, tuple)): + result = type(o)([convert(i) for i in o]) + elif isinstance(o, dict): + if '()' in o: + result = self.configure_custom(o) + else: + result = {} + for k in o: + result[k] = convert(o[k]) + else: + result = self.convert(o) + return result + + c = config.pop('()') + if not callable(c): + c = self.resolve(c) + props = config.pop('.', None) + # Check for valid identifiers + args = config.pop('[]', ()) + if args: + args = tuple([convert(o) for o in args]) + items = [(k, convert(config[k])) for k in config if valid_ident(k)] + kwargs = dict(items) + result = c(*args, **kwargs) + if props: + for n, v in props.items(): + setattr(result, n, convert(v)) + return result + + def __getitem__(self, key): + result = self.config[key] + if isinstance(result, dict) and '()' in result: + self.config[key] = result = self.configure_custom(result) + return result + + def inc_convert(self, value): + """Default converter for the inc:// protocol.""" + if not os.path.isabs(value): + value = os.path.join(self.base, value) + with codecs.open(value, 'r', encoding='utf-8') as f: + result = json.load(f) + return result + + +class SubprocessMixin(object): + """ + Mixin for running subprocesses and capturing their output + """ + def __init__(self, verbose=False, progress=None): + self.verbose = verbose + self.progress = progress + + def reader(self, stream, context): + """ + Read lines from a subprocess' output stream and either pass to a progress + callable (if specified) or write progress information to sys.stderr. + """ + progress = self.progress + verbose = self.verbose + while True: + s = stream.readline() + if not s: + break + if progress is not None: + progress(s, context) + else: + if not verbose: + sys.stderr.write('.') + else: + sys.stderr.write(s.decode('utf-8')) + sys.stderr.flush() + stream.close() + + def run_command(self, cmd, **kwargs): + p = subprocess.Popen(cmd, stdout=subprocess.PIPE, + stderr=subprocess.PIPE, **kwargs) + t1 = threading.Thread(target=self.reader, args=(p.stdout, 'stdout')) + t1.start() + t2 = threading.Thread(target=self.reader, args=(p.stderr, 'stderr')) + t2.start() + p.wait() + t1.join() + t2.join() + if self.progress is not None: + self.progress('done.', 'main') + elif self.verbose: + sys.stderr.write('done.\n') + return p + + +def normalize_name(name): + """Normalize a python package name a la PEP 503""" + # https://www.python.org/dev/peps/pep-0503/#normalized-names + return re.sub('[-_.]+', '-', name).lower() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/version.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/version.py new file mode 100644 index 0000000..3eebe18 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/version.py @@ -0,0 +1,736 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012-2017 The Python Software Foundation. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +""" +Implementation of a flexible versioning scheme providing support for PEP-440, +setuptools-compatible and semantic versioning. +""" + +import logging +import re + +from .compat import string_types +from .util import parse_requirement + +__all__ = ['NormalizedVersion', 'NormalizedMatcher', + 'LegacyVersion', 'LegacyMatcher', + 'SemanticVersion', 'SemanticMatcher', + 'UnsupportedVersionError', 'get_scheme'] + +logger = logging.getLogger(__name__) + + +class UnsupportedVersionError(ValueError): + """This is an unsupported version.""" + pass + + +class Version(object): + def __init__(self, s): + self._string = s = s.strip() + self._parts = parts = self.parse(s) + assert isinstance(parts, tuple) + assert len(parts) > 0 + + def parse(self, s): + raise NotImplementedError('please implement in a subclass') + + def _check_compatible(self, other): + if type(self) != type(other): + raise TypeError('cannot compare %r and %r' % (self, other)) + + def __eq__(self, other): + self._check_compatible(other) + return self._parts == other._parts + + def __ne__(self, other): + return not self.__eq__(other) + + def __lt__(self, other): + self._check_compatible(other) + return self._parts < other._parts + + def __gt__(self, other): + return not (self.__lt__(other) or self.__eq__(other)) + + def __le__(self, other): + return self.__lt__(other) or self.__eq__(other) + + def __ge__(self, other): + return self.__gt__(other) or self.__eq__(other) + + # See http://docs.python.org/reference/datamodel#object.__hash__ + def __hash__(self): + return hash(self._parts) + + def __repr__(self): + return "%s('%s')" % (self.__class__.__name__, self._string) + + def __str__(self): + return self._string + + @property + def is_prerelease(self): + raise NotImplementedError('Please implement in subclasses.') + + +class Matcher(object): + version_class = None + + # value is either a callable or the name of a method + _operators = { + '<': lambda v, c, p: v < c, + '>': lambda v, c, p: v > c, + '<=': lambda v, c, p: v == c or v < c, + '>=': lambda v, c, p: v == c or v > c, + '==': lambda v, c, p: v == c, + '===': lambda v, c, p: v == c, + # by default, compatible => >=. + '~=': lambda v, c, p: v == c or v > c, + '!=': lambda v, c, p: v != c, + } + + # this is a method only to support alternative implementations + # via overriding + def parse_requirement(self, s): + return parse_requirement(s) + + def __init__(self, s): + if self.version_class is None: + raise ValueError('Please specify a version class') + self._string = s = s.strip() + r = self.parse_requirement(s) + if not r: + raise ValueError('Not valid: %r' % s) + self.name = r.name + self.key = self.name.lower() # for case-insensitive comparisons + clist = [] + if r.constraints: + # import pdb; pdb.set_trace() + for op, s in r.constraints: + if s.endswith('.*'): + if op not in ('==', '!='): + raise ValueError('\'.*\' not allowed for ' + '%r constraints' % op) + # Could be a partial version (e.g. for '2.*') which + # won't parse as a version, so keep it as a string + vn, prefix = s[:-2], True + # Just to check that vn is a valid version + self.version_class(vn) + else: + # Should parse as a version, so we can create an + # instance for the comparison + vn, prefix = self.version_class(s), False + clist.append((op, vn, prefix)) + self._parts = tuple(clist) + + def match(self, version): + """ + Check if the provided version matches the constraints. + + :param version: The version to match against this instance. + :type version: String or :class:`Version` instance. + """ + if isinstance(version, string_types): + version = self.version_class(version) + for operator, constraint, prefix in self._parts: + f = self._operators.get(operator) + if isinstance(f, string_types): + f = getattr(self, f) + if not f: + msg = ('%r not implemented ' + 'for %s' % (operator, self.__class__.__name__)) + raise NotImplementedError(msg) + if not f(version, constraint, prefix): + return False + return True + + @property + def exact_version(self): + result = None + if len(self._parts) == 1 and self._parts[0][0] in ('==', '==='): + result = self._parts[0][1] + return result + + def _check_compatible(self, other): + if type(self) != type(other) or self.name != other.name: + raise TypeError('cannot compare %s and %s' % (self, other)) + + def __eq__(self, other): + self._check_compatible(other) + return self.key == other.key and self._parts == other._parts + + def __ne__(self, other): + return not self.__eq__(other) + + # See http://docs.python.org/reference/datamodel#object.__hash__ + def __hash__(self): + return hash(self.key) + hash(self._parts) + + def __repr__(self): + return "%s(%r)" % (self.__class__.__name__, self._string) + + def __str__(self): + return self._string + + +PEP440_VERSION_RE = re.compile(r'^v?(\d+!)?(\d+(\.\d+)*)((a|b|c|rc)(\d+))?' + r'(\.(post)(\d+))?(\.(dev)(\d+))?' + r'(\+([a-zA-Z\d]+(\.[a-zA-Z\d]+)?))?$') + + +def _pep_440_key(s): + s = s.strip() + m = PEP440_VERSION_RE.match(s) + if not m: + raise UnsupportedVersionError('Not a valid version: %s' % s) + groups = m.groups() + nums = tuple(int(v) for v in groups[1].split('.')) + while len(nums) > 1 and nums[-1] == 0: + nums = nums[:-1] + + if not groups[0]: + epoch = 0 + else: + epoch = int(groups[0]) + pre = groups[4:6] + post = groups[7:9] + dev = groups[10:12] + local = groups[13] + if pre == (None, None): + pre = () + else: + pre = pre[0], int(pre[1]) + if post == (None, None): + post = () + else: + post = post[0], int(post[1]) + if dev == (None, None): + dev = () + else: + dev = dev[0], int(dev[1]) + if local is None: + local = () + else: + parts = [] + for part in local.split('.'): + # to ensure that numeric compares as > lexicographic, avoid + # comparing them directly, but encode a tuple which ensures + # correct sorting + if part.isdigit(): + part = (1, int(part)) + else: + part = (0, part) + parts.append(part) + local = tuple(parts) + if not pre: + # either before pre-release, or final release and after + if not post and dev: + # before pre-release + pre = ('a', -1) # to sort before a0 + else: + pre = ('z',) # to sort after all pre-releases + # now look at the state of post and dev. + if not post: + post = ('_',) # sort before 'a' + if not dev: + dev = ('final',) + + #print('%s -> %s' % (s, m.groups())) + return epoch, nums, pre, post, dev, local + + +_normalized_key = _pep_440_key + + +class NormalizedVersion(Version): + """A rational version. + + Good: + 1.2 # equivalent to "1.2.0" + 1.2.0 + 1.2a1 + 1.2.3a2 + 1.2.3b1 + 1.2.3c1 + 1.2.3.4 + TODO: fill this out + + Bad: + 1 # minimum two numbers + 1.2a # release level must have a release serial + 1.2.3b + """ + def parse(self, s): + result = _normalized_key(s) + # _normalized_key loses trailing zeroes in the release + # clause, since that's needed to ensure that X.Y == X.Y.0 == X.Y.0.0 + # However, PEP 440 prefix matching needs it: for example, + # (~= 1.4.5.0) matches differently to (~= 1.4.5.0.0). + m = PEP440_VERSION_RE.match(s) # must succeed + groups = m.groups() + self._release_clause = tuple(int(v) for v in groups[1].split('.')) + return result + + PREREL_TAGS = set(['a', 'b', 'c', 'rc', 'dev']) + + @property + def is_prerelease(self): + return any(t[0] in self.PREREL_TAGS for t in self._parts if t) + + +def _match_prefix(x, y): + x = str(x) + y = str(y) + if x == y: + return True + if not x.startswith(y): + return False + n = len(y) + return x[n] == '.' + + +class NormalizedMatcher(Matcher): + version_class = NormalizedVersion + + # value is either a callable or the name of a method + _operators = { + '~=': '_match_compatible', + '<': '_match_lt', + '>': '_match_gt', + '<=': '_match_le', + '>=': '_match_ge', + '==': '_match_eq', + '===': '_match_arbitrary', + '!=': '_match_ne', + } + + def _adjust_local(self, version, constraint, prefix): + if prefix: + strip_local = '+' not in constraint and version._parts[-1] + else: + # both constraint and version are + # NormalizedVersion instances. + # If constraint does not have a local component, + # ensure the version doesn't, either. + strip_local = not constraint._parts[-1] and version._parts[-1] + if strip_local: + s = version._string.split('+', 1)[0] + version = self.version_class(s) + return version, constraint + + def _match_lt(self, version, constraint, prefix): + version, constraint = self._adjust_local(version, constraint, prefix) + if version >= constraint: + return False + release_clause = constraint._release_clause + pfx = '.'.join([str(i) for i in release_clause]) + return not _match_prefix(version, pfx) + + def _match_gt(self, version, constraint, prefix): + version, constraint = self._adjust_local(version, constraint, prefix) + if version <= constraint: + return False + release_clause = constraint._release_clause + pfx = '.'.join([str(i) for i in release_clause]) + return not _match_prefix(version, pfx) + + def _match_le(self, version, constraint, prefix): + version, constraint = self._adjust_local(version, constraint, prefix) + return version <= constraint + + def _match_ge(self, version, constraint, prefix): + version, constraint = self._adjust_local(version, constraint, prefix) + return version >= constraint + + def _match_eq(self, version, constraint, prefix): + version, constraint = self._adjust_local(version, constraint, prefix) + if not prefix: + result = (version == constraint) + else: + result = _match_prefix(version, constraint) + return result + + def _match_arbitrary(self, version, constraint, prefix): + return str(version) == str(constraint) + + def _match_ne(self, version, constraint, prefix): + version, constraint = self._adjust_local(version, constraint, prefix) + if not prefix: + result = (version != constraint) + else: + result = not _match_prefix(version, constraint) + return result + + def _match_compatible(self, version, constraint, prefix): + version, constraint = self._adjust_local(version, constraint, prefix) + if version == constraint: + return True + if version < constraint: + return False +# if not prefix: +# return True + release_clause = constraint._release_clause + if len(release_clause) > 1: + release_clause = release_clause[:-1] + pfx = '.'.join([str(i) for i in release_clause]) + return _match_prefix(version, pfx) + +_REPLACEMENTS = ( + (re.compile('[.+-]$'), ''), # remove trailing puncts + (re.compile(r'^[.](\d)'), r'0.\1'), # .N -> 0.N at start + (re.compile('^[.-]'), ''), # remove leading puncts + (re.compile(r'^\((.*)\)$'), r'\1'), # remove parentheses + (re.compile(r'^v(ersion)?\s*(\d+)'), r'\2'), # remove leading v(ersion) + (re.compile(r'^r(ev)?\s*(\d+)'), r'\2'), # remove leading v(ersion) + (re.compile('[.]{2,}'), '.'), # multiple runs of '.' + (re.compile(r'\b(alfa|apha)\b'), 'alpha'), # misspelt alpha + (re.compile(r'\b(pre-alpha|prealpha)\b'), + 'pre.alpha'), # standardise + (re.compile(r'\(beta\)$'), 'beta'), # remove parentheses +) + +_SUFFIX_REPLACEMENTS = ( + (re.compile('^[:~._+-]+'), ''), # remove leading puncts + (re.compile('[,*")([\\]]'), ''), # remove unwanted chars + (re.compile('[~:+_ -]'), '.'), # replace illegal chars + (re.compile('[.]{2,}'), '.'), # multiple runs of '.' + (re.compile(r'\.$'), ''), # trailing '.' +) + +_NUMERIC_PREFIX = re.compile(r'(\d+(\.\d+)*)') + + +def _suggest_semantic_version(s): + """ + Try to suggest a semantic form for a version for which + _suggest_normalized_version couldn't come up with anything. + """ + result = s.strip().lower() + for pat, repl in _REPLACEMENTS: + result = pat.sub(repl, result) + if not result: + result = '0.0.0' + + # Now look for numeric prefix, and separate it out from + # the rest. + #import pdb; pdb.set_trace() + m = _NUMERIC_PREFIX.match(result) + if not m: + prefix = '0.0.0' + suffix = result + else: + prefix = m.groups()[0].split('.') + prefix = [int(i) for i in prefix] + while len(prefix) < 3: + prefix.append(0) + if len(prefix) == 3: + suffix = result[m.end():] + else: + suffix = '.'.join([str(i) for i in prefix[3:]]) + result[m.end():] + prefix = prefix[:3] + prefix = '.'.join([str(i) for i in prefix]) + suffix = suffix.strip() + if suffix: + #import pdb; pdb.set_trace() + # massage the suffix. + for pat, repl in _SUFFIX_REPLACEMENTS: + suffix = pat.sub(repl, suffix) + + if not suffix: + result = prefix + else: + sep = '-' if 'dev' in suffix else '+' + result = prefix + sep + suffix + if not is_semver(result): + result = None + return result + + +def _suggest_normalized_version(s): + """Suggest a normalized version close to the given version string. + + If you have a version string that isn't rational (i.e. NormalizedVersion + doesn't like it) then you might be able to get an equivalent (or close) + rational version from this function. + + This does a number of simple normalizations to the given string, based + on observation of versions currently in use on PyPI. Given a dump of + those version during PyCon 2009, 4287 of them: + - 2312 (53.93%) match NormalizedVersion without change + with the automatic suggestion + - 3474 (81.04%) match when using this suggestion method + + @param s {str} An irrational version string. + @returns A rational version string, or None, if couldn't determine one. + """ + try: + _normalized_key(s) + return s # already rational + except UnsupportedVersionError: + pass + + rs = s.lower() + + # part of this could use maketrans + for orig, repl in (('-alpha', 'a'), ('-beta', 'b'), ('alpha', 'a'), + ('beta', 'b'), ('rc', 'c'), ('-final', ''), + ('-pre', 'c'), + ('-release', ''), ('.release', ''), ('-stable', ''), + ('+', '.'), ('_', '.'), (' ', ''), ('.final', ''), + ('final', '')): + rs = rs.replace(orig, repl) + + # if something ends with dev or pre, we add a 0 + rs = re.sub(r"pre$", r"pre0", rs) + rs = re.sub(r"dev$", r"dev0", rs) + + # if we have something like "b-2" or "a.2" at the end of the + # version, that is probably beta, alpha, etc + # let's remove the dash or dot + rs = re.sub(r"([abc]|rc)[\-\.](\d+)$", r"\1\2", rs) + + # 1.0-dev-r371 -> 1.0.dev371 + # 0.1-dev-r79 -> 0.1.dev79 + rs = re.sub(r"[\-\.](dev)[\-\.]?r?(\d+)$", r".\1\2", rs) + + # Clean: 2.0.a.3, 2.0.b1, 0.9.0~c1 + rs = re.sub(r"[.~]?([abc])\.?", r"\1", rs) + + # Clean: v0.3, v1.0 + if rs.startswith('v'): + rs = rs[1:] + + # Clean leading '0's on numbers. + #TODO: unintended side-effect on, e.g., "2003.05.09" + # PyPI stats: 77 (~2%) better + rs = re.sub(r"\b0+(\d+)(?!\d)", r"\1", rs) + + # Clean a/b/c with no version. E.g. "1.0a" -> "1.0a0". Setuptools infers + # zero. + # PyPI stats: 245 (7.56%) better + rs = re.sub(r"(\d+[abc])$", r"\g<1>0", rs) + + # the 'dev-rNNN' tag is a dev tag + rs = re.sub(r"\.?(dev-r|dev\.r)\.?(\d+)$", r".dev\2", rs) + + # clean the - when used as a pre delimiter + rs = re.sub(r"-(a|b|c)(\d+)$", r"\1\2", rs) + + # a terminal "dev" or "devel" can be changed into ".dev0" + rs = re.sub(r"[\.\-](dev|devel)$", r".dev0", rs) + + # a terminal "dev" can be changed into ".dev0" + rs = re.sub(r"(?![\.\-])dev$", r".dev0", rs) + + # a terminal "final" or "stable" can be removed + rs = re.sub(r"(final|stable)$", "", rs) + + # The 'r' and the '-' tags are post release tags + # 0.4a1.r10 -> 0.4a1.post10 + # 0.9.33-17222 -> 0.9.33.post17222 + # 0.9.33-r17222 -> 0.9.33.post17222 + rs = re.sub(r"\.?(r|-|-r)\.?(\d+)$", r".post\2", rs) + + # Clean 'r' instead of 'dev' usage: + # 0.9.33+r17222 -> 0.9.33.dev17222 + # 1.0dev123 -> 1.0.dev123 + # 1.0.git123 -> 1.0.dev123 + # 1.0.bzr123 -> 1.0.dev123 + # 0.1a0dev.123 -> 0.1a0.dev123 + # PyPI stats: ~150 (~4%) better + rs = re.sub(r"\.?(dev|git|bzr)\.?(\d+)$", r".dev\2", rs) + + # Clean '.pre' (normalized from '-pre' above) instead of 'c' usage: + # 0.2.pre1 -> 0.2c1 + # 0.2-c1 -> 0.2c1 + # 1.0preview123 -> 1.0c123 + # PyPI stats: ~21 (0.62%) better + rs = re.sub(r"\.?(pre|preview|-c)(\d+)$", r"c\g<2>", rs) + + # Tcl/Tk uses "px" for their post release markers + rs = re.sub(r"p(\d+)$", r".post\1", rs) + + try: + _normalized_key(rs) + except UnsupportedVersionError: + rs = None + return rs + +# +# Legacy version processing (distribute-compatible) +# + +_VERSION_PART = re.compile(r'([a-z]+|\d+|[\.-])', re.I) +_VERSION_REPLACE = { + 'pre': 'c', + 'preview': 'c', + '-': 'final-', + 'rc': 'c', + 'dev': '@', + '': None, + '.': None, +} + + +def _legacy_key(s): + def get_parts(s): + result = [] + for p in _VERSION_PART.split(s.lower()): + p = _VERSION_REPLACE.get(p, p) + if p: + if '0' <= p[:1] <= '9': + p = p.zfill(8) + else: + p = '*' + p + result.append(p) + result.append('*final') + return result + + result = [] + for p in get_parts(s): + if p.startswith('*'): + if p < '*final': + while result and result[-1] == '*final-': + result.pop() + while result and result[-1] == '00000000': + result.pop() + result.append(p) + return tuple(result) + + +class LegacyVersion(Version): + def parse(self, s): + return _legacy_key(s) + + @property + def is_prerelease(self): + result = False + for x in self._parts: + if (isinstance(x, string_types) and x.startswith('*') and + x < '*final'): + result = True + break + return result + + +class LegacyMatcher(Matcher): + version_class = LegacyVersion + + _operators = dict(Matcher._operators) + _operators['~='] = '_match_compatible' + + numeric_re = re.compile(r'^(\d+(\.\d+)*)') + + def _match_compatible(self, version, constraint, prefix): + if version < constraint: + return False + m = self.numeric_re.match(str(constraint)) + if not m: + logger.warning('Cannot compute compatible match for version %s ' + ' and constraint %s', version, constraint) + return True + s = m.groups()[0] + if '.' in s: + s = s.rsplit('.', 1)[0] + return _match_prefix(version, s) + +# +# Semantic versioning +# + +_SEMVER_RE = re.compile(r'^(\d+)\.(\d+)\.(\d+)' + r'(-[a-z0-9]+(\.[a-z0-9-]+)*)?' + r'(\+[a-z0-9]+(\.[a-z0-9-]+)*)?$', re.I) + + +def is_semver(s): + return _SEMVER_RE.match(s) + + +def _semantic_key(s): + def make_tuple(s, absent): + if s is None: + result = (absent,) + else: + parts = s[1:].split('.') + # We can't compare ints and strings on Python 3, so fudge it + # by zero-filling numeric values so simulate a numeric comparison + result = tuple([p.zfill(8) if p.isdigit() else p for p in parts]) + return result + + m = is_semver(s) + if not m: + raise UnsupportedVersionError(s) + groups = m.groups() + major, minor, patch = [int(i) for i in groups[:3]] + # choose the '|' and '*' so that versions sort correctly + pre, build = make_tuple(groups[3], '|'), make_tuple(groups[5], '*') + return (major, minor, patch), pre, build + + +class SemanticVersion(Version): + def parse(self, s): + return _semantic_key(s) + + @property + def is_prerelease(self): + return self._parts[1][0] != '|' + + +class SemanticMatcher(Matcher): + version_class = SemanticVersion + + +class VersionScheme(object): + def __init__(self, key, matcher, suggester=None): + self.key = key + self.matcher = matcher + self.suggester = suggester + + def is_valid_version(self, s): + try: + self.matcher.version_class(s) + result = True + except UnsupportedVersionError: + result = False + return result + + def is_valid_matcher(self, s): + try: + self.matcher(s) + result = True + except UnsupportedVersionError: + result = False + return result + + def is_valid_constraint_list(self, s): + """ + Used for processing some metadata fields + """ + return self.is_valid_matcher('dummy_name (%s)' % s) + + def suggest(self, s): + if self.suggester is None: + result = None + else: + result = self.suggester(s) + return result + +_SCHEMES = { + 'normalized': VersionScheme(_normalized_key, NormalizedMatcher, + _suggest_normalized_version), + 'legacy': VersionScheme(_legacy_key, LegacyMatcher, lambda self, s: s), + 'semantic': VersionScheme(_semantic_key, SemanticMatcher, + _suggest_semantic_version), +} + +_SCHEMES['default'] = _SCHEMES['normalized'] + + +def get_scheme(name): + if name not in _SCHEMES: + raise ValueError('unknown scheme name: %r' % name) + return _SCHEMES[name] diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/w32.exe b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/w32.exe new file mode 100644 index 0000000000000000000000000000000000000000..732215a9d34ccb7b417d637a7646d9b843ecafa8 GIT binary patch literal 89088 zcmeFae|S?>wm*FGqitH!CO`{C3REl(SahnPNDYM`O{q#T7)Xdvz$<hz5gjb&0FD$| zPs=nt#$jgk-tk`NUb*PJIy$3wMg@OiORy=5PEkZ0P^;6cyPm2=Y8#~Xyq~pC(iU~@ z_dd`2ywCg3TS)e=wSTX@_S$Q$y;FJf9>F9Cf*Bu86NCeB>CeT#|L3nblC!40kR?2m z{>H@z3`^g*ct!B1Tk<#8{Ol(+x7?n8>n(TO@iQ_1pEl;#NO$D_^p5<p8@>6r|7^p? zD>5@P3KB)%InlPUc<U{5lb_$uJ2!U@!dIxT&CTYnHuoCtzCL#`-1%8w%`JjkymkHD zpYr&>Cg9H}+(GW%^wV2|ROUbGfyXTfOART)i?<!WISJD#7!6|#8G`TvV*Xu^z32+K zc6>T0?9%;4K}Zn{6fx`yPa}*$9C+R!7zI~72c&$InY+UdMGBkF3c`HyxD3K09`bzW z?_q;rO&5ec#{?noJ4vI19bbHBt~vx^h2FH$V8i|^#EsiUg#JboP3@w-(&Uf&%NK<8 zSJZ5{MZ852W)~s>WeT(LIf&1wKNqULLI)GN_(-E-D)X~ZK=1;t<%*guHMhdg`-(mb zHzDv1KBN9zR9?--O+N$ReOXAr81V9z!X5SJ5`=3<1^<8V|AP@&sr2}Qvp;hQT24iW zOHg|EiZd1ojV;oo#(r^ba2`^8T22{~_UQ@YMZp7O1R*2@?SerFE~TuJB_wDaYC0h8 zfONF1t%{=H`W`bdYp+>YBsg9Ty9ec3iy+O3xa}TIvPK#Q&udyx1MvwG0(#iaGC|N| zJ#3?<Y4YLRkU`54s9BYRjyISA>){9$tW;Y34lPnX=&>D4X~|k7c$TwEfOzs@Yh#Nz z`FV;`(w!E`sKg@`2E}bDY>ku^4XS@tV(WO*<eu67;0Clk;vRHp!Qf<+5w0B!*Y>g? zYH=KK#%%Yu1~&m>IlB^#2^syGG|2AB1(}4aOcaC%!)}%`I7AIC2(Ro3yW`GSttng^ z_xb=ECor!L{-PNO>_ulJ3%fm=O0X!s%)$GZ?~I94l-^KEAX0n$?4wGpr7&i4#~)OB zQD%2NrWUKtZuYT1Vnu}AeF`cSgx>Rkk@}Lg{WltgT76VeA2aic`cTnpXrt2WXmJkM z9%u<Rp-*9{$HQ)>Xm?McyDyZ28Ux7mpxy?mnmvzMMr-85vkRrJLaDRx>|I7je+cM+ zj{RJ(3Vrgke;W@#D!y%U%fQLtlPKTAzWtVuOQdXpwsy6eRjt^cZ%0D4bF7$F;f!th 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ð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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/w64.exe b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/w64.exe new file mode 100644 index 0000000000000000000000000000000000000000..c41bd0a011fd760ce20ba795d9e535e0d2c39876 GIT binary patch literal 99328 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 B=L-M; literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/wheel.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/wheel.py new file mode 100644 index 0000000..b04bfae --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/wheel.py @@ -0,0 +1,988 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2013-2017 Vinay Sajip. +# Licensed to the Python Software Foundation under a contributor agreement. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +from __future__ import unicode_literals + +import base64 +import codecs +import datetime +import distutils.util +from email import message_from_file +import hashlib +import imp +import json +import logging +import os +import posixpath +import re +import shutil +import sys +import tempfile +import zipfile + +from . import __version__, DistlibException +from .compat import sysconfig, ZipFile, fsdecode, text_type, filter +from .database import InstalledDistribution +from .metadata import Metadata, METADATA_FILENAME, WHEEL_METADATA_FILENAME +from .util import (FileOperator, convert_path, CSVReader, CSVWriter, Cache, + cached_property, get_cache_base, read_exports, tempdir) +from .version import NormalizedVersion, UnsupportedVersionError + +logger = logging.getLogger(__name__) + +cache = None # created when needed + +if hasattr(sys, 'pypy_version_info'): # pragma: no cover + IMP_PREFIX = 'pp' +elif sys.platform.startswith('java'): # pragma: no cover + IMP_PREFIX = 'jy' +elif sys.platform == 'cli': # pragma: no cover + IMP_PREFIX = 'ip' +else: + IMP_PREFIX = 'cp' + +VER_SUFFIX = sysconfig.get_config_var('py_version_nodot') +if not VER_SUFFIX: # pragma: no cover + VER_SUFFIX = '%s%s' % sys.version_info[:2] +PYVER = 'py' + VER_SUFFIX +IMPVER = IMP_PREFIX + VER_SUFFIX + +ARCH = distutils.util.get_platform().replace('-', '_').replace('.', '_') + +ABI = sysconfig.get_config_var('SOABI') +if ABI and ABI.startswith('cpython-'): + ABI = ABI.replace('cpython-', 'cp') +else: + def _derive_abi(): + parts = ['cp', VER_SUFFIX] + if sysconfig.get_config_var('Py_DEBUG'): + parts.append('d') + if sysconfig.get_config_var('WITH_PYMALLOC'): + parts.append('m') + if sysconfig.get_config_var('Py_UNICODE_SIZE') == 4: + parts.append('u') + return ''.join(parts) + ABI = _derive_abi() + del _derive_abi + +FILENAME_RE = re.compile(r''' +(?P<nm>[^-]+) +-(?P<vn>\d+[^-]*) +(-(?P<bn>\d+[^-]*))? +-(?P<py>\w+\d+(\.\w+\d+)*) +-(?P<bi>\w+) +-(?P<ar>\w+(\.\w+)*) +\.whl$ +''', re.IGNORECASE | re.VERBOSE) + +NAME_VERSION_RE = re.compile(r''' +(?P<nm>[^-]+) +-(?P<vn>\d+[^-]*) +(-(?P<bn>\d+[^-]*))?$ +''', re.IGNORECASE | re.VERBOSE) + +SHEBANG_RE = re.compile(br'\s*#![^\r\n]*') +SHEBANG_DETAIL_RE = re.compile(br'^(\s*#!("[^"]+"|\S+))\s+(.*)$') +SHEBANG_PYTHON = b'#!python' +SHEBANG_PYTHONW = b'#!pythonw' + +if os.sep == '/': + to_posix = lambda o: o +else: + to_posix = lambda o: o.replace(os.sep, '/') + + +class Mounter(object): + def __init__(self): + self.impure_wheels = {} + self.libs = {} + + def add(self, pathname, extensions): + self.impure_wheels[pathname] = extensions + self.libs.update(extensions) + + def remove(self, pathname): + extensions = self.impure_wheels.pop(pathname) + for k, v in extensions: + if k in self.libs: + del self.libs[k] + + def find_module(self, fullname, path=None): + if fullname in self.libs: + result = self + else: + result = None + return result + + def load_module(self, fullname): + if fullname in sys.modules: + result = sys.modules[fullname] + else: + if fullname not in self.libs: + raise ImportError('unable to find extension for %s' % fullname) + result = imp.load_dynamic(fullname, self.libs[fullname]) + result.__loader__ = self + parts = fullname.rsplit('.', 1) + if len(parts) > 1: + result.__package__ = parts[0] + return result + +_hook = Mounter() + + +class Wheel(object): + """ + Class to build and install from Wheel files (PEP 427). + """ + + wheel_version = (1, 1) + hash_kind = 'sha256' + + def __init__(self, filename=None, sign=False, verify=False): + """ + Initialise an instance using a (valid) filename. + """ + self.sign = sign + self.should_verify = verify + self.buildver = '' + self.pyver = [PYVER] + self.abi = ['none'] + self.arch = ['any'] + self.dirname = os.getcwd() + if filename is None: + self.name = 'dummy' + self.version = '0.1' + self._filename = self.filename + else: + m = NAME_VERSION_RE.match(filename) + if m: + info = m.groupdict('') + self.name = info['nm'] + # Reinstate the local version separator + self.version = info['vn'].replace('_', '-') + self.buildver = info['bn'] + self._filename = self.filename + else: + dirname, filename = os.path.split(filename) + m = FILENAME_RE.match(filename) + if not m: + raise DistlibException('Invalid name or ' + 'filename: %r' % filename) + if dirname: + self.dirname = os.path.abspath(dirname) + self._filename = filename + info = m.groupdict('') + self.name = info['nm'] + self.version = info['vn'] + self.buildver = info['bn'] + self.pyver = info['py'].split('.') + self.abi = info['bi'].split('.') + self.arch = info['ar'].split('.') + + @property + def filename(self): + """ + Build and return a filename from the various components. + """ + if self.buildver: + buildver = '-' + self.buildver + else: + buildver = '' + pyver = '.'.join(self.pyver) + abi = '.'.join(self.abi) + arch = '.'.join(self.arch) + # replace - with _ as a local version separator + version = self.version.replace('-', '_') + return '%s-%s%s-%s-%s-%s.whl' % (self.name, version, buildver, + pyver, abi, arch) + + @property + def exists(self): + path = os.path.join(self.dirname, self.filename) + return os.path.isfile(path) + + @property + def tags(self): + for pyver in self.pyver: + for abi in self.abi: + for arch in self.arch: + yield pyver, abi, arch + + @cached_property + def metadata(self): + pathname = os.path.join(self.dirname, self.filename) + name_ver = '%s-%s' % (self.name, self.version) + info_dir = '%s.dist-info' % name_ver + wrapper = codecs.getreader('utf-8') + with ZipFile(pathname, 'r') as zf: + wheel_metadata = self.get_wheel_metadata(zf) + wv = wheel_metadata['Wheel-Version'].split('.', 1) + file_version = tuple([int(i) for i in wv]) + if file_version < (1, 1): + fns = [WHEEL_METADATA_FILENAME, METADATA_FILENAME, 'METADATA'] + else: + fns = [WHEEL_METADATA_FILENAME, METADATA_FILENAME] + result = None + for fn in fns: + try: + metadata_filename = posixpath.join(info_dir, fn) + with zf.open(metadata_filename) as bf: + wf = wrapper(bf) + result = Metadata(fileobj=wf) + if result: + break + except KeyError: + pass + if not result: + raise ValueError('Invalid wheel, because metadata is ' + 'missing: looked in %s' % ', '.join(fns)) + return result + + def get_wheel_metadata(self, zf): + name_ver = '%s-%s' % (self.name, self.version) + info_dir = '%s.dist-info' % name_ver + metadata_filename = posixpath.join(info_dir, 'WHEEL') + with zf.open(metadata_filename) as bf: + wf = codecs.getreader('utf-8')(bf) + message = message_from_file(wf) + return dict(message) + + @cached_property + def info(self): + pathname = os.path.join(self.dirname, self.filename) + with ZipFile(pathname, 'r') as zf: + result = self.get_wheel_metadata(zf) + return result + + def process_shebang(self, data): + m = SHEBANG_RE.match(data) + if m: + end = m.end() + shebang, data_after_shebang = data[:end], data[end:] + # Preserve any arguments after the interpreter + if b'pythonw' in shebang.lower(): + shebang_python = SHEBANG_PYTHONW + else: + shebang_python = SHEBANG_PYTHON + m = SHEBANG_DETAIL_RE.match(shebang) + if m: + args = b' ' + m.groups()[-1] + else: + args = b'' + shebang = shebang_python + args + data = shebang + data_after_shebang + else: + cr = data.find(b'\r') + lf = data.find(b'\n') + if cr < 0 or cr > lf: + term = b'\n' + else: + if data[cr:cr + 2] == b'\r\n': + term = b'\r\n' + else: + term = b'\r' + data = SHEBANG_PYTHON + term + data + return data + + def get_hash(self, data, hash_kind=None): + if hash_kind is None: + hash_kind = self.hash_kind + try: + hasher = getattr(hashlib, hash_kind) + except AttributeError: + raise DistlibException('Unsupported hash algorithm: %r' % hash_kind) + result = hasher(data).digest() + result = base64.urlsafe_b64encode(result).rstrip(b'=').decode('ascii') + return hash_kind, result + + def write_record(self, records, record_path, base): + records = list(records) # make a copy for sorting + p = to_posix(os.path.relpath(record_path, base)) + records.append((p, '', '')) + records.sort() + with CSVWriter(record_path) as writer: + for row in records: + writer.writerow(row) + + def write_records(self, info, libdir, archive_paths): + records = [] + distinfo, info_dir = info + hasher = getattr(hashlib, self.hash_kind) + for ap, p in archive_paths: + with open(p, 'rb') as f: + data = f.read() + digest = '%s=%s' % self.get_hash(data) + size = os.path.getsize(p) + records.append((ap, digest, size)) + + p = os.path.join(distinfo, 'RECORD') + self.write_record(records, p, libdir) + ap = to_posix(os.path.join(info_dir, 'RECORD')) + archive_paths.append((ap, p)) + + def build_zip(self, pathname, archive_paths): + with ZipFile(pathname, 'w', zipfile.ZIP_DEFLATED) as zf: + for ap, p in archive_paths: + logger.debug('Wrote %s to %s in wheel', p, ap) + zf.write(p, ap) + + def build(self, paths, tags=None, wheel_version=None): + """ + Build a wheel from files in specified paths, and use any specified tags + when determining the name of the wheel. + """ + if tags is None: + tags = {} + + libkey = list(filter(lambda o: o in paths, ('purelib', 'platlib')))[0] + if libkey == 'platlib': + is_pure = 'false' + default_pyver = [IMPVER] + default_abi = [ABI] + default_arch = [ARCH] + else: + is_pure = 'true' + default_pyver = [PYVER] + default_abi = ['none'] + default_arch = ['any'] + + self.pyver = tags.get('pyver', default_pyver) + self.abi = tags.get('abi', default_abi) + self.arch = tags.get('arch', default_arch) + + libdir = paths[libkey] + + name_ver = '%s-%s' % (self.name, self.version) + data_dir = '%s.data' % name_ver + info_dir = '%s.dist-info' % name_ver + + archive_paths = [] + + # First, stuff which is not in site-packages + for key in ('data', 'headers', 'scripts'): + if key not in paths: + continue + path = paths[key] + if os.path.isdir(path): + for root, dirs, files in os.walk(path): + for fn in files: + p = fsdecode(os.path.join(root, fn)) + rp = os.path.relpath(p, path) + ap = to_posix(os.path.join(data_dir, key, rp)) + archive_paths.append((ap, p)) + if key == 'scripts' and not p.endswith('.exe'): + with open(p, 'rb') as f: + data = f.read() + data = self.process_shebang(data) + with open(p, 'wb') as f: + f.write(data) + + # Now, stuff which is in site-packages, other than the + # distinfo stuff. + path = libdir + distinfo = None + for root, dirs, files in os.walk(path): + if root == path: + # At the top level only, save distinfo for later + # and skip it for now + for i, dn in enumerate(dirs): + dn = fsdecode(dn) + if dn.endswith('.dist-info'): + distinfo = os.path.join(root, dn) + del dirs[i] + break + assert distinfo, '.dist-info directory expected, not found' + + for fn in files: + # comment out next suite to leave .pyc files in + if fsdecode(fn).endswith(('.pyc', '.pyo')): + continue + p = os.path.join(root, fn) + rp = to_posix(os.path.relpath(p, path)) + archive_paths.append((rp, p)) + + # Now distinfo. Assumed to be flat, i.e. os.listdir is enough. + files = os.listdir(distinfo) + for fn in files: + if fn not in ('RECORD', 'INSTALLER', 'SHARED', 'WHEEL'): + p = fsdecode(os.path.join(distinfo, fn)) + ap = to_posix(os.path.join(info_dir, fn)) + archive_paths.append((ap, p)) + + wheel_metadata = [ + 'Wheel-Version: %d.%d' % (wheel_version or self.wheel_version), + 'Generator: distlib %s' % __version__, + 'Root-Is-Purelib: %s' % is_pure, + ] + for pyver, abi, arch in self.tags: + wheel_metadata.append('Tag: %s-%s-%s' % (pyver, abi, arch)) + p = os.path.join(distinfo, 'WHEEL') + with open(p, 'w') as f: + f.write('\n'.join(wheel_metadata)) + ap = to_posix(os.path.join(info_dir, 'WHEEL')) + archive_paths.append((ap, p)) + + # Now, at last, RECORD. + # Paths in here are archive paths - nothing else makes sense. + self.write_records((distinfo, info_dir), libdir, archive_paths) + # Now, ready to build the zip file + pathname = os.path.join(self.dirname, self.filename) + self.build_zip(pathname, archive_paths) + return pathname + + def install(self, paths, maker, **kwargs): + """ + Install a wheel to the specified paths. If kwarg ``warner`` is + specified, it should be a callable, which will be called with two + tuples indicating the wheel version of this software and the wheel + version in the file, if there is a discrepancy in the versions. + This can be used to issue any warnings to raise any exceptions. + If kwarg ``lib_only`` is True, only the purelib/platlib files are + installed, and the headers, scripts, data and dist-info metadata are + not written. If kwarg ``bytecode_hashed_invalidation`` is True, written + bytecode will try to use file-hash based invalidation (PEP-552) on + supported interpreter versions (CPython 2.7+). + + The return value is a :class:`InstalledDistribution` instance unless + ``options.lib_only`` is True, in which case the return value is ``None``. + """ + + dry_run = maker.dry_run + warner = kwargs.get('warner') + lib_only = kwargs.get('lib_only', False) + bc_hashed_invalidation = kwargs.get('bytecode_hashed_invalidation', False) + + pathname = os.path.join(self.dirname, self.filename) + name_ver = '%s-%s' % (self.name, self.version) + data_dir = '%s.data' % name_ver + info_dir = '%s.dist-info' % name_ver + + metadata_name = posixpath.join(info_dir, METADATA_FILENAME) + wheel_metadata_name = posixpath.join(info_dir, 'WHEEL') + record_name = posixpath.join(info_dir, 'RECORD') + + wrapper = codecs.getreader('utf-8') + + with ZipFile(pathname, 'r') as zf: + with zf.open(wheel_metadata_name) as bwf: + wf = wrapper(bwf) + message = message_from_file(wf) + wv = message['Wheel-Version'].split('.', 1) + file_version = tuple([int(i) for i in wv]) + if (file_version != self.wheel_version) and warner: + warner(self.wheel_version, file_version) + + if message['Root-Is-Purelib'] == 'true': + libdir = paths['purelib'] + else: + libdir = paths['platlib'] + + records = {} + with zf.open(record_name) as bf: + with CSVReader(stream=bf) as reader: + for row in reader: + p = row[0] + records[p] = row + + data_pfx = posixpath.join(data_dir, '') + info_pfx = posixpath.join(info_dir, '') + script_pfx = posixpath.join(data_dir, 'scripts', '') + + # make a new instance rather than a copy of maker's, + # as we mutate it + fileop = FileOperator(dry_run=dry_run) + fileop.record = True # so we can rollback if needed + + bc = not sys.dont_write_bytecode # Double negatives. Lovely! + + outfiles = [] # for RECORD writing + + # for script copying/shebang processing + workdir = tempfile.mkdtemp() + # set target dir later + # we default add_launchers to False, as the + # Python Launcher should be used instead + maker.source_dir = workdir + maker.target_dir = None + try: + for zinfo in zf.infolist(): + arcname = zinfo.filename + if isinstance(arcname, text_type): + u_arcname = arcname + else: + u_arcname = arcname.decode('utf-8') + # The signature file won't be in RECORD, + # and we don't currently don't do anything with it + if u_arcname.endswith('/RECORD.jws'): + continue + row = records[u_arcname] + if row[2] and str(zinfo.file_size) != row[2]: + raise DistlibException('size mismatch for ' + '%s' % u_arcname) + if row[1]: + kind, value = row[1].split('=', 1) + with zf.open(arcname) as bf: + data = bf.read() + _, digest = self.get_hash(data, kind) + if digest != value: + raise DistlibException('digest mismatch for ' + '%s' % arcname) + + if lib_only and u_arcname.startswith((info_pfx, data_pfx)): + logger.debug('lib_only: skipping %s', u_arcname) + continue + is_script = (u_arcname.startswith(script_pfx) + and not u_arcname.endswith('.exe')) + + if u_arcname.startswith(data_pfx): + _, where, rp = u_arcname.split('/', 2) + outfile = os.path.join(paths[where], convert_path(rp)) + else: + # meant for site-packages. + if u_arcname in (wheel_metadata_name, record_name): + continue + outfile = os.path.join(libdir, convert_path(u_arcname)) + if not is_script: + with zf.open(arcname) as bf: + fileop.copy_stream(bf, outfile) + outfiles.append(outfile) + # Double check the digest of the written file + if not dry_run and row[1]: + with open(outfile, 'rb') as bf: + data = bf.read() + _, newdigest = self.get_hash(data, kind) + if newdigest != digest: + raise DistlibException('digest mismatch ' + 'on write for ' + '%s' % outfile) + if bc and outfile.endswith('.py'): + try: + pyc = fileop.byte_compile(outfile, + hashed_invalidation=bc_hashed_invalidation) + outfiles.append(pyc) + except Exception: + # Don't give up if byte-compilation fails, + # but log it and perhaps warn the user + logger.warning('Byte-compilation failed', + exc_info=True) + else: + fn = os.path.basename(convert_path(arcname)) + workname = os.path.join(workdir, fn) + with zf.open(arcname) as bf: + fileop.copy_stream(bf, workname) + + dn, fn = os.path.split(outfile) + maker.target_dir = dn + filenames = maker.make(fn) + fileop.set_executable_mode(filenames) + outfiles.extend(filenames) + + if lib_only: + logger.debug('lib_only: returning None') + dist = None + else: + # Generate scripts + + # Try to get pydist.json so we can see if there are + # any commands to generate. If this fails (e.g. because + # of a legacy wheel), log a warning but don't give up. + commands = None + file_version = self.info['Wheel-Version'] + if file_version == '1.0': + # Use legacy info + ep = posixpath.join(info_dir, 'entry_points.txt') + try: + with zf.open(ep) as bwf: + epdata = read_exports(bwf) + commands = {} + for key in ('console', 'gui'): + k = '%s_scripts' % key + if k in epdata: + commands['wrap_%s' % key] = d = {} + for v in epdata[k].values(): + s = '%s:%s' % (v.prefix, v.suffix) + if v.flags: + s += ' %s' % v.flags + d[v.name] = s + except Exception: + logger.warning('Unable to read legacy script ' + 'metadata, so cannot generate ' + 'scripts') + else: + try: + with zf.open(metadata_name) as bwf: + wf = wrapper(bwf) + commands = json.load(wf).get('extensions') + if commands: + commands = commands.get('python.commands') + except Exception: + logger.warning('Unable to read JSON metadata, so ' + 'cannot generate scripts') + if commands: + console_scripts = commands.get('wrap_console', {}) + gui_scripts = commands.get('wrap_gui', {}) + if console_scripts or gui_scripts: + script_dir = paths.get('scripts', '') + if not os.path.isdir(script_dir): + raise ValueError('Valid script path not ' + 'specified') + maker.target_dir = script_dir + for k, v in console_scripts.items(): + script = '%s = %s' % (k, v) + filenames = maker.make(script) + fileop.set_executable_mode(filenames) + + if gui_scripts: + options = {'gui': True } + for k, v in gui_scripts.items(): + script = '%s = %s' % (k, v) + filenames = maker.make(script, options) + fileop.set_executable_mode(filenames) + + p = os.path.join(libdir, info_dir) + dist = InstalledDistribution(p) + + # Write SHARED + paths = dict(paths) # don't change passed in dict + del paths['purelib'] + del paths['platlib'] + paths['lib'] = libdir + p = dist.write_shared_locations(paths, dry_run) + if p: + outfiles.append(p) + + # Write RECORD + dist.write_installed_files(outfiles, paths['prefix'], + dry_run) + return dist + except Exception: # pragma: no cover + logger.exception('installation failed.') + fileop.rollback() + raise + finally: + shutil.rmtree(workdir) + + def _get_dylib_cache(self): + global cache + if cache is None: + # Use native string to avoid issues on 2.x: see Python #20140. + base = os.path.join(get_cache_base(), str('dylib-cache'), + sys.version[:3]) + cache = Cache(base) + return cache + + def _get_extensions(self): + pathname = os.path.join(self.dirname, self.filename) + name_ver = '%s-%s' % (self.name, self.version) + info_dir = '%s.dist-info' % name_ver + arcname = posixpath.join(info_dir, 'EXTENSIONS') + wrapper = codecs.getreader('utf-8') + result = [] + with ZipFile(pathname, 'r') as zf: + try: + with zf.open(arcname) as bf: + wf = wrapper(bf) + extensions = json.load(wf) + cache = self._get_dylib_cache() + prefix = cache.prefix_to_dir(pathname) + cache_base = os.path.join(cache.base, prefix) + if not os.path.isdir(cache_base): + os.makedirs(cache_base) + for name, relpath in extensions.items(): + dest = os.path.join(cache_base, convert_path(relpath)) + if not os.path.exists(dest): + extract = True + else: + file_time = os.stat(dest).st_mtime + file_time = datetime.datetime.fromtimestamp(file_time) + info = zf.getinfo(relpath) + wheel_time = datetime.datetime(*info.date_time) + extract = wheel_time > file_time + if extract: + zf.extract(relpath, cache_base) + result.append((name, dest)) + except KeyError: + pass + return result + + def is_compatible(self): + """ + Determine if a wheel is compatible with the running system. + """ + return is_compatible(self) + + def is_mountable(self): + """ + Determine if a wheel is asserted as mountable by its metadata. + """ + return True # for now - metadata details TBD + + def mount(self, append=False): + pathname = os.path.abspath(os.path.join(self.dirname, self.filename)) + if not self.is_compatible(): + msg = 'Wheel %s not compatible with this Python.' % pathname + raise DistlibException(msg) + if not self.is_mountable(): + msg = 'Wheel %s is marked as not mountable.' % pathname + raise DistlibException(msg) + if pathname in sys.path: + logger.debug('%s already in path', pathname) + else: + if append: + sys.path.append(pathname) + else: + sys.path.insert(0, pathname) + extensions = self._get_extensions() + if extensions: + if _hook not in sys.meta_path: + sys.meta_path.append(_hook) + _hook.add(pathname, extensions) + + def unmount(self): + pathname = os.path.abspath(os.path.join(self.dirname, self.filename)) + if pathname not in sys.path: + logger.debug('%s not in path', pathname) + else: + sys.path.remove(pathname) + if pathname in _hook.impure_wheels: + _hook.remove(pathname) + if not _hook.impure_wheels: + if _hook in sys.meta_path: + sys.meta_path.remove(_hook) + + def verify(self): + pathname = os.path.join(self.dirname, self.filename) + name_ver = '%s-%s' % (self.name, self.version) + data_dir = '%s.data' % name_ver + info_dir = '%s.dist-info' % name_ver + + metadata_name = posixpath.join(info_dir, METADATA_FILENAME) + wheel_metadata_name = posixpath.join(info_dir, 'WHEEL') + record_name = posixpath.join(info_dir, 'RECORD') + + wrapper = codecs.getreader('utf-8') + + with ZipFile(pathname, 'r') as zf: + with zf.open(wheel_metadata_name) as bwf: + wf = wrapper(bwf) + message = message_from_file(wf) + wv = message['Wheel-Version'].split('.', 1) + file_version = tuple([int(i) for i in wv]) + # TODO version verification + + records = {} + with zf.open(record_name) as bf: + with CSVReader(stream=bf) as reader: + for row in reader: + p = row[0] + records[p] = row + + for zinfo in zf.infolist(): + arcname = zinfo.filename + if isinstance(arcname, text_type): + u_arcname = arcname + else: + u_arcname = arcname.decode('utf-8') + if '..' in u_arcname: + raise DistlibException('invalid entry in ' + 'wheel: %r' % u_arcname) + + # The signature file won't be in RECORD, + # and we don't currently don't do anything with it + if u_arcname.endswith('/RECORD.jws'): + continue + row = records[u_arcname] + if row[2] and str(zinfo.file_size) != row[2]: + raise DistlibException('size mismatch for ' + '%s' % u_arcname) + if row[1]: + kind, value = row[1].split('=', 1) + with zf.open(arcname) as bf: + data = bf.read() + _, digest = self.get_hash(data, kind) + if digest != value: + raise DistlibException('digest mismatch for ' + '%s' % arcname) + + def update(self, modifier, dest_dir=None, **kwargs): + """ + Update the contents of a wheel in a generic way. The modifier should + be a callable which expects a dictionary argument: its keys are + archive-entry paths, and its values are absolute filesystem paths + where the contents the corresponding archive entries can be found. The + modifier is free to change the contents of the files pointed to, add + new entries and remove entries, before returning. This method will + extract the entire contents of the wheel to a temporary location, call + the modifier, and then use the passed (and possibly updated) + dictionary to write a new wheel. If ``dest_dir`` is specified, the new + wheel is written there -- otherwise, the original wheel is overwritten. + + The modifier should return True if it updated the wheel, else False. + This method returns the same value the modifier returns. + """ + + def get_version(path_map, info_dir): + version = path = None + key = '%s/%s' % (info_dir, METADATA_FILENAME) + if key not in path_map: + key = '%s/PKG-INFO' % info_dir + if key in path_map: + path = path_map[key] + version = Metadata(path=path).version + return version, path + + def update_version(version, path): + updated = None + try: + v = NormalizedVersion(version) + i = version.find('-') + if i < 0: + updated = '%s+1' % version + else: + parts = [int(s) for s in version[i + 1:].split('.')] + parts[-1] += 1 + updated = '%s+%s' % (version[:i], + '.'.join(str(i) for i in parts)) + except UnsupportedVersionError: + logger.debug('Cannot update non-compliant (PEP-440) ' + 'version %r', version) + if updated: + md = Metadata(path=path) + md.version = updated + legacy = not path.endswith(METADATA_FILENAME) + md.write(path=path, legacy=legacy) + logger.debug('Version updated from %r to %r', version, + updated) + + pathname = os.path.join(self.dirname, self.filename) + name_ver = '%s-%s' % (self.name, self.version) + info_dir = '%s.dist-info' % name_ver + record_name = posixpath.join(info_dir, 'RECORD') + with tempdir() as workdir: + with ZipFile(pathname, 'r') as zf: + path_map = {} + for zinfo in zf.infolist(): + arcname = zinfo.filename + if isinstance(arcname, text_type): + u_arcname = arcname + else: + u_arcname = arcname.decode('utf-8') + if u_arcname == record_name: + continue + if '..' in u_arcname: + raise DistlibException('invalid entry in ' + 'wheel: %r' % u_arcname) + zf.extract(zinfo, workdir) + path = os.path.join(workdir, convert_path(u_arcname)) + path_map[u_arcname] = path + + # Remember the version. + original_version, _ = get_version(path_map, info_dir) + # Files extracted. Call the modifier. + modified = modifier(path_map, **kwargs) + if modified: + # Something changed - need to build a new wheel. + current_version, path = get_version(path_map, info_dir) + if current_version and (current_version == original_version): + # Add or update local version to signify changes. + update_version(current_version, path) + # Decide where the new wheel goes. + if dest_dir is None: + fd, newpath = tempfile.mkstemp(suffix='.whl', + prefix='wheel-update-', + dir=workdir) + os.close(fd) + else: + if not os.path.isdir(dest_dir): + raise DistlibException('Not a directory: %r' % dest_dir) + newpath = os.path.join(dest_dir, self.filename) + archive_paths = list(path_map.items()) + distinfo = os.path.join(workdir, info_dir) + info = distinfo, info_dir + self.write_records(info, workdir, archive_paths) + self.build_zip(newpath, archive_paths) + if dest_dir is None: + shutil.copyfile(newpath, pathname) + return modified + +def compatible_tags(): + """ + Return (pyver, abi, arch) tuples compatible with this Python. + """ + versions = [VER_SUFFIX] + major = VER_SUFFIX[0] + for minor in range(sys.version_info[1] - 1, - 1, -1): + versions.append(''.join([major, str(minor)])) + + abis = [] + for suffix, _, _ in imp.get_suffixes(): + if suffix.startswith('.abi'): + abis.append(suffix.split('.', 2)[1]) + abis.sort() + if ABI != 'none': + abis.insert(0, ABI) + abis.append('none') + result = [] + + arches = [ARCH] + if sys.platform == 'darwin': + m = re.match(r'(\w+)_(\d+)_(\d+)_(\w+)$', ARCH) + if m: + name, major, minor, arch = m.groups() + minor = int(minor) + matches = [arch] + if arch in ('i386', 'ppc'): + matches.append('fat') + if arch in ('i386', 'ppc', 'x86_64'): + matches.append('fat3') + if arch in ('ppc64', 'x86_64'): + matches.append('fat64') + if arch in ('i386', 'x86_64'): + matches.append('intel') + if arch in ('i386', 'x86_64', 'intel', 'ppc', 'ppc64'): + matches.append('universal') + while minor >= 0: + for match in matches: + s = '%s_%s_%s_%s' % (name, major, minor, match) + if s != ARCH: # already there + arches.append(s) + minor -= 1 + + # Most specific - our Python version, ABI and arch + for abi in abis: + for arch in arches: + result.append((''.join((IMP_PREFIX, versions[0])), abi, arch)) + + # where no ABI / arch dependency, but IMP_PREFIX dependency + for i, version in enumerate(versions): + result.append((''.join((IMP_PREFIX, version)), 'none', 'any')) + if i == 0: + result.append((''.join((IMP_PREFIX, version[0])), 'none', 'any')) + + # no IMP_PREFIX, ABI or arch dependency + for i, version in enumerate(versions): + result.append((''.join(('py', version)), 'none', 'any')) + if i == 0: + result.append((''.join(('py', version[0])), 'none', 'any')) + return set(result) + + +COMPATIBLE_TAGS = compatible_tags() + +del compatible_tags + + +def is_compatible(wheel, tags=None): + if not isinstance(wheel, Wheel): + wheel = Wheel(wheel) # assume it's a filename + result = False + if tags is None: + tags = COMPATIBLE_TAGS + for ver, abi, arch in tags: + if ver in wheel.pyver and abi in wheel.abi and arch in wheel.arch: + result = True + break + return result diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distro.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distro.py new file mode 100644 index 0000000..aa4defc --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distro.py @@ -0,0 +1,1197 @@ +# Copyright 2015,2016,2017 Nir Cohen +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""" +The ``distro`` package (``distro`` stands for Linux Distribution) provides +information about the Linux distribution it runs on, such as a reliable +machine-readable distro ID, or version information. + +It is a renewed alternative implementation for Python's original +:py:func:`platform.linux_distribution` function, but it provides much more +functionality. An alternative implementation became necessary because Python +3.5 deprecated this function, and Python 3.7 is expected to remove it +altogether. Its predecessor function :py:func:`platform.dist` was already +deprecated since Python 2.6 and is also expected to be removed in Python 3.7. +Still, there are many cases in which access to OS distribution information +is needed. See `Python issue 1322 <https://bugs.python.org/issue1322>`_ for +more information. +""" + +import os +import re +import sys +import json +import shlex +import logging +import argparse +import subprocess + + +_UNIXCONFDIR = os.environ.get('UNIXCONFDIR', '/etc') +_OS_RELEASE_BASENAME = 'os-release' + +#: Translation table for normalizing the "ID" attribute defined in os-release +#: files, for use by the :func:`distro.id` method. +#: +#: * Key: Value as defined in the os-release file, translated to lower case, +#: with blanks translated to underscores. +#: +#: * Value: Normalized value. +NORMALIZED_OS_ID = {} + +#: Translation table for normalizing the "Distributor ID" attribute returned by +#: the lsb_release command, for use by the :func:`distro.id` method. +#: +#: * Key: Value as returned by the lsb_release command, translated to lower +#: case, with blanks translated to underscores. +#: +#: * Value: Normalized value. +NORMALIZED_LSB_ID = { + 'enterpriseenterprise': 'oracle', # Oracle Enterprise Linux + 'redhatenterpriseworkstation': 'rhel', # RHEL 6, 7 Workstation + 'redhatenterpriseserver': 'rhel', # RHEL 6, 7 Server +} + +#: Translation table for normalizing the distro ID derived from the file name +#: of distro release files, for use by the :func:`distro.id` method. +#: +#: * Key: Value as derived from the file name of a distro release file, +#: translated to lower case, with blanks translated to underscores. +#: +#: * Value: Normalized value. +NORMALIZED_DISTRO_ID = { + 'redhat': 'rhel', # RHEL 6.x, 7.x +} + +# Pattern for content of distro release file (reversed) +_DISTRO_RELEASE_CONTENT_REVERSED_PATTERN = re.compile( + r'(?:[^)]*\)(.*)\()? *(?:STL )?([\d.+\-a-z]*\d) *(?:esaeler *)?(.+)') + +# Pattern for base file name of distro release file +_DISTRO_RELEASE_BASENAME_PATTERN = re.compile( + r'(\w+)[-_](release|version)$') + +# Base file names to be ignored when searching for distro release file +_DISTRO_RELEASE_IGNORE_BASENAMES = ( + 'debian_version', + 'lsb-release', + 'oem-release', + _OS_RELEASE_BASENAME, + 'system-release' +) + + +def linux_distribution(full_distribution_name=True): + """ + Return information about the current OS distribution as a tuple + ``(id_name, version, codename)`` with items as follows: + + * ``id_name``: If *full_distribution_name* is false, the result of + :func:`distro.id`. Otherwise, the result of :func:`distro.name`. + + * ``version``: The result of :func:`distro.version`. + + * ``codename``: The result of :func:`distro.codename`. + + The interface of this function is compatible with the original + :py:func:`platform.linux_distribution` function, supporting a subset of + its parameters. + + The data it returns may not exactly be the same, because it uses more data + sources than the original function, and that may lead to different data if + the OS distribution is not consistent across multiple data sources it + provides (there are indeed such distributions ...). + + Another reason for differences is the fact that the :func:`distro.id` + method normalizes the distro ID string to a reliable machine-readable value + for a number of popular OS distributions. + """ + return _distro.linux_distribution(full_distribution_name) + + +def id(): + """ + Return the distro ID of the current distribution, as a + machine-readable string. + + For a number of OS distributions, the returned distro ID value is + *reliable*, in the sense that it is documented and that it does not change + across releases of the distribution. + + This package maintains the following reliable distro ID values: + + ============== ========================================= + Distro ID Distribution + ============== ========================================= + "ubuntu" Ubuntu + "debian" Debian + "rhel" RedHat Enterprise Linux + "centos" CentOS + "fedora" Fedora + "sles" SUSE Linux Enterprise Server + "opensuse" openSUSE + "amazon" Amazon Linux + "arch" Arch Linux + "cloudlinux" CloudLinux OS + "exherbo" Exherbo Linux + "gentoo" GenToo Linux + "ibm_powerkvm" IBM PowerKVM + "kvmibm" KVM for IBM z Systems + "linuxmint" Linux Mint + "mageia" Mageia + "mandriva" Mandriva Linux + "parallels" Parallels + "pidora" Pidora + "raspbian" Raspbian + "oracle" Oracle Linux (and Oracle Enterprise Linux) + "scientific" Scientific Linux + "slackware" Slackware + "xenserver" XenServer + "openbsd" OpenBSD + "netbsd" NetBSD + "freebsd" FreeBSD + ============== ========================================= + + If you have a need to get distros for reliable IDs added into this set, + or if you find that the :func:`distro.id` function returns a different + distro ID for one of the listed distros, please create an issue in the + `distro issue tracker`_. + + **Lookup hierarchy and transformations:** + + First, the ID is obtained from the following sources, in the specified + order. The first available and non-empty value is used: + + * the value of the "ID" attribute of the os-release file, + + * the value of the "Distributor ID" attribute returned by the lsb_release + command, + + * the first part of the file name of the distro release file, + + The so determined ID value then passes the following transformations, + before it is returned by this method: + + * it is translated to lower case, + + * blanks (which should not be there anyway) are translated to underscores, + + * a normalization of the ID is performed, based upon + `normalization tables`_. The purpose of this normalization is to ensure + that the ID is as reliable as possible, even across incompatible changes + in the OS distributions. A common reason for an incompatible change is + the addition of an os-release file, or the addition of the lsb_release + command, with ID values that differ from what was previously determined + from the distro release file name. + """ + return _distro.id() + + +def name(pretty=False): + """ + Return the name of the current OS distribution, as a human-readable + string. + + If *pretty* is false, the name is returned without version or codename. + (e.g. "CentOS Linux") + + If *pretty* is true, the version and codename are appended. + (e.g. "CentOS Linux 7.1.1503 (Core)") + + **Lookup hierarchy:** + + The name is obtained from the following sources, in the specified order. + The first available and non-empty value is used: + + * If *pretty* is false: + + - the value of the "NAME" attribute of the os-release file, + + - the value of the "Distributor ID" attribute returned by the lsb_release + command, + + - the value of the "<name>" field of the distro release file. + + * If *pretty* is true: + + - the value of the "PRETTY_NAME" attribute of the os-release file, + + - the value of the "Description" attribute returned by the lsb_release + command, + + - the value of the "<name>" field of the distro release file, appended + with the value of the pretty version ("<version_id>" and "<codename>" + fields) of the distro release file, if available. + """ + return _distro.name(pretty) + + +def version(pretty=False, best=False): + """ + Return the version of the current OS distribution, as a human-readable + string. + + If *pretty* is false, the version is returned without codename (e.g. + "7.0"). + + If *pretty* is true, the codename in parenthesis is appended, if the + codename is non-empty (e.g. "7.0 (Maipo)"). + + Some distributions provide version numbers with different precisions in + the different sources of distribution information. Examining the different + sources in a fixed priority order does not always yield the most precise + version (e.g. for Debian 8.2, or CentOS 7.1). + + The *best* parameter can be used to control the approach for the returned + version: + + If *best* is false, the first non-empty version number in priority order of + the examined sources is returned. + + If *best* is true, the most precise version number out of all examined + sources is returned. + + **Lookup hierarchy:** + + In all cases, the version number is obtained from the following sources. + If *best* is false, this order represents the priority order: + + * the value of the "VERSION_ID" attribute of the os-release file, + * the value of the "Release" attribute returned by the lsb_release + command, + * the version number parsed from the "<version_id>" field of the first line + of the distro release file, + * the version number parsed from the "PRETTY_NAME" attribute of the + os-release file, if it follows the format of the distro release files. + * the version number parsed from the "Description" attribute returned by + the lsb_release command, if it follows the format of the distro release + files. + """ + return _distro.version(pretty, best) + + +def version_parts(best=False): + """ + Return the version of the current OS distribution as a tuple + ``(major, minor, build_number)`` with items as follows: + + * ``major``: The result of :func:`distro.major_version`. + + * ``minor``: The result of :func:`distro.minor_version`. + + * ``build_number``: The result of :func:`distro.build_number`. + + For a description of the *best* parameter, see the :func:`distro.version` + method. + """ + return _distro.version_parts(best) + + +def major_version(best=False): + """ + Return the major version of the current OS distribution, as a string, + if provided. + Otherwise, the empty string is returned. The major version is the first + part of the dot-separated version string. + + For a description of the *best* parameter, see the :func:`distro.version` + method. + """ + return _distro.major_version(best) + + +def minor_version(best=False): + """ + Return the minor version of the current OS distribution, as a string, + if provided. + Otherwise, the empty string is returned. The minor version is the second + part of the dot-separated version string. + + For a description of the *best* parameter, see the :func:`distro.version` + method. + """ + return _distro.minor_version(best) + + +def build_number(best=False): + """ + Return the build number of the current OS distribution, as a string, + if provided. + Otherwise, the empty string is returned. The build number is the third part + of the dot-separated version string. + + For a description of the *best* parameter, see the :func:`distro.version` + method. + """ + return _distro.build_number(best) + + +def like(): + """ + Return a space-separated list of distro IDs of distributions that are + closely related to the current OS distribution in regards to packaging + and programming interfaces, for example distributions the current + distribution is a derivative from. + + **Lookup hierarchy:** + + This information item is only provided by the os-release file. + For details, see the description of the "ID_LIKE" attribute in the + `os-release man page + <http://www.freedesktop.org/software/systemd/man/os-release.html>`_. + """ + return _distro.like() + + +def codename(): + """ + Return the codename for the release of the current OS distribution, + as a string. + + If the distribution does not have a codename, an empty string is returned. + + Note that the returned codename is not always really a codename. For + example, openSUSE returns "x86_64". This function does not handle such + cases in any special way and just returns the string it finds, if any. + + **Lookup hierarchy:** + + * the codename within the "VERSION" attribute of the os-release file, if + provided, + + * the value of the "Codename" attribute returned by the lsb_release + command, + + * the value of the "<codename>" field of the distro release file. + """ + return _distro.codename() + + +def info(pretty=False, best=False): + """ + Return certain machine-readable information items about the current OS + distribution in a dictionary, as shown in the following example: + + .. sourcecode:: python + + { + 'id': 'rhel', + 'version': '7.0', + 'version_parts': { + 'major': '7', + 'minor': '0', + 'build_number': '' + }, + 'like': 'fedora', + 'codename': 'Maipo' + } + + The dictionary structure and keys are always the same, regardless of which + information items are available in the underlying data sources. The values + for the various keys are as follows: + + * ``id``: The result of :func:`distro.id`. + + * ``version``: The result of :func:`distro.version`. + + * ``version_parts -> major``: The result of :func:`distro.major_version`. + + * ``version_parts -> minor``: The result of :func:`distro.minor_version`. + + * ``version_parts -> build_number``: The result of + :func:`distro.build_number`. + + * ``like``: The result of :func:`distro.like`. + + * ``codename``: The result of :func:`distro.codename`. + + For a description of the *pretty* and *best* parameters, see the + :func:`distro.version` method. + """ + return _distro.info(pretty, best) + + +def os_release_info(): + """ + Return a dictionary containing key-value pairs for the information items + from the os-release file data source of the current OS distribution. + + See `os-release file`_ for details about these information items. + """ + return _distro.os_release_info() + + +def lsb_release_info(): + """ + Return a dictionary containing key-value pairs for the information items + from the lsb_release command data source of the current OS distribution. + + See `lsb_release command output`_ for details about these information + items. + """ + return _distro.lsb_release_info() + + +def distro_release_info(): + """ + Return a dictionary containing key-value pairs for the information items + from the distro release file data source of the current OS distribution. + + See `distro release file`_ for details about these information items. + """ + return _distro.distro_release_info() + + +def uname_info(): + """ + Return a dictionary containing key-value pairs for the information items + from the distro release file data source of the current OS distribution. + """ + return _distro.uname_info() + + +def os_release_attr(attribute): + """ + Return a single named information item from the os-release file data source + of the current OS distribution. + + Parameters: + + * ``attribute`` (string): Key of the information item. + + Returns: + + * (string): Value of the information item, if the item exists. + The empty string, if the item does not exist. + + See `os-release file`_ for details about these information items. + """ + return _distro.os_release_attr(attribute) + + +def lsb_release_attr(attribute): + """ + Return a single named information item from the lsb_release command output + data source of the current OS distribution. + + Parameters: + + * ``attribute`` (string): Key of the information item. + + Returns: + + * (string): Value of the information item, if the item exists. + The empty string, if the item does not exist. + + See `lsb_release command output`_ for details about these information + items. + """ + return _distro.lsb_release_attr(attribute) + + +def distro_release_attr(attribute): + """ + Return a single named information item from the distro release file + data source of the current OS distribution. + + Parameters: + + * ``attribute`` (string): Key of the information item. + + Returns: + + * (string): Value of the information item, if the item exists. + The empty string, if the item does not exist. + + See `distro release file`_ for details about these information items. + """ + return _distro.distro_release_attr(attribute) + + +def uname_attr(attribute): + """ + Return a single named information item from the distro release file + data source of the current OS distribution. + + Parameters: + + * ``attribute`` (string): Key of the information item. + + Returns: + + * (string): Value of the information item, if the item exists. + The empty string, if the item does not exist. + """ + return _distro.uname_attr(attribute) + + +class cached_property(object): + """A version of @property which caches the value. On access, it calls the + underlying function and sets the value in `__dict__` so future accesses + will not re-call the property. + """ + def __init__(self, f): + self._fname = f.__name__ + self._f = f + + def __get__(self, obj, owner): + assert obj is not None, 'call {} on an instance'.format(self._fname) + ret = obj.__dict__[self._fname] = self._f(obj) + return ret + + +class LinuxDistribution(object): + """ + Provides information about a OS distribution. + + This package creates a private module-global instance of this class with + default initialization arguments, that is used by the + `consolidated accessor functions`_ and `single source accessor functions`_. + By using default initialization arguments, that module-global instance + returns data about the current OS distribution (i.e. the distro this + package runs on). + + Normally, it is not necessary to create additional instances of this class. + However, in situations where control is needed over the exact data sources + that are used, instances of this class can be created with a specific + distro release file, or a specific os-release file, or without invoking the + lsb_release command. + """ + + def __init__(self, + include_lsb=True, + os_release_file='', + distro_release_file='', + include_uname=True): + """ + The initialization method of this class gathers information from the + available data sources, and stores that in private instance attributes. + Subsequent access to the information items uses these private instance + attributes, so that the data sources are read only once. + + Parameters: + + * ``include_lsb`` (bool): Controls whether the + `lsb_release command output`_ is included as a data source. + + If the lsb_release command is not available in the program execution + path, the data source for the lsb_release command will be empty. + + * ``os_release_file`` (string): The path name of the + `os-release file`_ that is to be used as a data source. + + An empty string (the default) will cause the default path name to + be used (see `os-release file`_ for details). + + If the specified or defaulted os-release file does not exist, the + data source for the os-release file will be empty. + + * ``distro_release_file`` (string): The path name of the + `distro release file`_ that is to be used as a data source. + + An empty string (the default) will cause a default search algorithm + to be used (see `distro release file`_ for details). + + If the specified distro release file does not exist, or if no default + distro release file can be found, the data source for the distro + release file will be empty. + + * ``include_name`` (bool): Controls whether uname command output is + included as a data source. If the uname command is not available in + the program execution path the data source for the uname command will + be empty. + + Public instance attributes: + + * ``os_release_file`` (string): The path name of the + `os-release file`_ that is actually used as a data source. The + empty string if no distro release file is used as a data source. + + * ``distro_release_file`` (string): The path name of the + `distro release file`_ that is actually used as a data source. The + empty string if no distro release file is used as a data source. + + * ``include_lsb`` (bool): The result of the ``include_lsb`` parameter. + This controls whether the lsb information will be loaded. + + * ``include_uname`` (bool): The result of the ``include_uname`` + parameter. This controls whether the uname information will + be loaded. + + Raises: + + * :py:exc:`IOError`: Some I/O issue with an os-release file or distro + release file. + + * :py:exc:`subprocess.CalledProcessError`: The lsb_release command had + some issue (other than not being available in the program execution + path). + + * :py:exc:`UnicodeError`: A data source has unexpected characters or + uses an unexpected encoding. + """ + self.os_release_file = os_release_file or \ + os.path.join(_UNIXCONFDIR, _OS_RELEASE_BASENAME) + self.distro_release_file = distro_release_file or '' # updated later + self.include_lsb = include_lsb + self.include_uname = include_uname + + def __repr__(self): + """Return repr of all info + """ + return \ + "LinuxDistribution(" \ + "os_release_file={self.os_release_file!r}, " \ + "distro_release_file={self.distro_release_file!r}, " \ + "include_lsb={self.include_lsb!r}, " \ + "include_uname={self.include_uname!r}, " \ + "_os_release_info={self._os_release_info!r}, " \ + "_lsb_release_info={self._lsb_release_info!r}, " \ + "_distro_release_info={self._distro_release_info!r}, " \ + "_uname_info={self._uname_info!r})".format( + self=self) + + def linux_distribution(self, full_distribution_name=True): + """ + Return information about the OS distribution that is compatible + with Python's :func:`platform.linux_distribution`, supporting a subset + of its parameters. + + For details, see :func:`distro.linux_distribution`. + """ + return ( + self.name() if full_distribution_name else self.id(), + self.version(), + self.codename() + ) + + def id(self): + """Return the distro ID of the OS distribution, as a string. + + For details, see :func:`distro.id`. + """ + def normalize(distro_id, table): + distro_id = distro_id.lower().replace(' ', '_') + return table.get(distro_id, distro_id) + + distro_id = self.os_release_attr('id') + if distro_id: + return normalize(distro_id, NORMALIZED_OS_ID) + + distro_id = self.lsb_release_attr('distributor_id') + if distro_id: + return normalize(distro_id, NORMALIZED_LSB_ID) + + distro_id = self.distro_release_attr('id') + if distro_id: + return normalize(distro_id, NORMALIZED_DISTRO_ID) + + distro_id = self.uname_attr('id') + if distro_id: + return normalize(distro_id, NORMALIZED_DISTRO_ID) + + return '' + + def name(self, pretty=False): + """ + Return the name of the OS distribution, as a string. + + For details, see :func:`distro.name`. + """ + name = self.os_release_attr('name') \ + or self.lsb_release_attr('distributor_id') \ + or self.distro_release_attr('name') \ + or self.uname_attr('name') + if pretty: + name = self.os_release_attr('pretty_name') \ + or self.lsb_release_attr('description') + if not name: + name = self.distro_release_attr('name') \ + or self.uname_attr('name') + version = self.version(pretty=True) + if version: + name = name + ' ' + version + return name or '' + + def version(self, pretty=False, best=False): + """ + Return the version of the OS distribution, as a string. + + For details, see :func:`distro.version`. + """ + versions = [ + self.os_release_attr('version_id'), + self.lsb_release_attr('release'), + self.distro_release_attr('version_id'), + self._parse_distro_release_content( + self.os_release_attr('pretty_name')).get('version_id', ''), + self._parse_distro_release_content( + self.lsb_release_attr('description')).get('version_id', ''), + self.uname_attr('release') + ] + version = '' + if best: + # This algorithm uses the last version in priority order that has + # the best precision. If the versions are not in conflict, that + # does not matter; otherwise, using the last one instead of the + # first one might be considered a surprise. + for v in versions: + if v.count(".") > version.count(".") or version == '': + version = v + else: + for v in versions: + if v != '': + version = v + break + if pretty and version and self.codename(): + version = u'{0} ({1})'.format(version, self.codename()) + return version + + def version_parts(self, best=False): + """ + Return the version of the OS distribution, as a tuple of version + numbers. + + For details, see :func:`distro.version_parts`. + """ + version_str = self.version(best=best) + if version_str: + version_regex = re.compile(r'(\d+)\.?(\d+)?\.?(\d+)?') + matches = version_regex.match(version_str) + if matches: + major, minor, build_number = matches.groups() + return major, minor or '', build_number or '' + return '', '', '' + + def major_version(self, best=False): + """ + Return the major version number of the current distribution. + + For details, see :func:`distro.major_version`. + """ + return self.version_parts(best)[0] + + def minor_version(self, best=False): + """ + Return the minor version number of the current distribution. + + For details, see :func:`distro.minor_version`. + """ + return self.version_parts(best)[1] + + def build_number(self, best=False): + """ + Return the build number of the current distribution. + + For details, see :func:`distro.build_number`. + """ + return self.version_parts(best)[2] + + def like(self): + """ + Return the IDs of distributions that are like the OS distribution. + + For details, see :func:`distro.like`. + """ + return self.os_release_attr('id_like') or '' + + def codename(self): + """ + Return the codename of the OS distribution. + + For details, see :func:`distro.codename`. + """ + return self.os_release_attr('codename') \ + or self.lsb_release_attr('codename') \ + or self.distro_release_attr('codename') \ + or '' + + def info(self, pretty=False, best=False): + """ + Return certain machine-readable information about the OS + distribution. + + For details, see :func:`distro.info`. + """ + return dict( + id=self.id(), + version=self.version(pretty, best), + version_parts=dict( + major=self.major_version(best), + minor=self.minor_version(best), + build_number=self.build_number(best) + ), + like=self.like(), + codename=self.codename(), + ) + + def os_release_info(self): + """ + Return a dictionary containing key-value pairs for the information + items from the os-release file data source of the OS distribution. + + For details, see :func:`distro.os_release_info`. + """ + return self._os_release_info + + def lsb_release_info(self): + """ + Return a dictionary containing key-value pairs for the information + items from the lsb_release command data source of the OS + distribution. + + For details, see :func:`distro.lsb_release_info`. + """ + return self._lsb_release_info + + def distro_release_info(self): + """ + Return a dictionary containing key-value pairs for the information + items from the distro release file data source of the OS + distribution. + + For details, see :func:`distro.distro_release_info`. + """ + return self._distro_release_info + + def uname_info(self): + """ + Return a dictionary containing key-value pairs for the information + items from the uname command data source of the OS distribution. + + For details, see :func:`distro.uname_info`. + """ + + def os_release_attr(self, attribute): + """ + Return a single named information item from the os-release file data + source of the OS distribution. + + For details, see :func:`distro.os_release_attr`. + """ + return self._os_release_info.get(attribute, '') + + def lsb_release_attr(self, attribute): + """ + Return a single named information item from the lsb_release command + output data source of the OS distribution. + + For details, see :func:`distro.lsb_release_attr`. + """ + return self._lsb_release_info.get(attribute, '') + + def distro_release_attr(self, attribute): + """ + Return a single named information item from the distro release file + data source of the OS distribution. + + For details, see :func:`distro.distro_release_attr`. + """ + return self._distro_release_info.get(attribute, '') + + def uname_attr(self, attribute): + """ + Return a single named information item from the uname command + output data source of the OS distribution. + + For details, see :func:`distro.uname_release_attr`. + """ + return self._uname_info.get(attribute, '') + + @cached_property + def _os_release_info(self): + """ + Get the information items from the specified os-release file. + + Returns: + A dictionary containing all information items. + """ + if os.path.isfile(self.os_release_file): + with open(self.os_release_file) as release_file: + return self._parse_os_release_content(release_file) + return {} + + @staticmethod + def _parse_os_release_content(lines): + """ + Parse the lines of an os-release file. + + Parameters: + + * lines: Iterable through the lines in the os-release file. + Each line must be a unicode string or a UTF-8 encoded byte + string. + + Returns: + A dictionary containing all information items. + """ + props = {} + lexer = shlex.shlex(lines, posix=True) + lexer.whitespace_split = True + + # The shlex module defines its `wordchars` variable using literals, + # making it dependent on the encoding of the Python source file. + # In Python 2.6 and 2.7, the shlex source file is encoded in + # 'iso-8859-1', and the `wordchars` variable is defined as a byte + # string. This causes a UnicodeDecodeError to be raised when the + # parsed content is a unicode object. The following fix resolves that + # (... but it should be fixed in shlex...): + if sys.version_info[0] == 2 and isinstance(lexer.wordchars, bytes): + lexer.wordchars = lexer.wordchars.decode('iso-8859-1') + + tokens = list(lexer) + for token in tokens: + # At this point, all shell-like parsing has been done (i.e. + # comments processed, quotes and backslash escape sequences + # processed, multi-line values assembled, trailing newlines + # stripped, etc.), so the tokens are now either: + # * variable assignments: var=value + # * commands or their arguments (not allowed in os-release) + if '=' in token: + k, v = token.split('=', 1) + if isinstance(v, bytes): + v = v.decode('utf-8') + props[k.lower()] = v + if k == 'VERSION': + # this handles cases in which the codename is in + # the `(CODENAME)` (rhel, centos, fedora) format + # or in the `, CODENAME` format (Ubuntu). + codename = re.search(r'(\(\D+\))|,(\s+)?\D+', v) + if codename: + codename = codename.group() + codename = codename.strip('()') + codename = codename.strip(',') + codename = codename.strip() + # codename appears within paranthese. + props['codename'] = codename + else: + props['codename'] = '' + else: + # Ignore any tokens that are not variable assignments + pass + return props + + @cached_property + def _lsb_release_info(self): + """ + Get the information items from the lsb_release command output. + + Returns: + A dictionary containing all information items. + """ + if not self.include_lsb: + return {} + with open(os.devnull, 'w') as devnull: + try: + cmd = ('lsb_release', '-a') + stdout = subprocess.check_output(cmd, stderr=devnull) + except OSError: # Command not found + return {} + content = stdout.decode(sys.getfilesystemencoding()).splitlines() + return self._parse_lsb_release_content(content) + + @staticmethod + def _parse_lsb_release_content(lines): + """ + Parse the output of the lsb_release command. + + Parameters: + + * lines: Iterable through the lines of the lsb_release output. + Each line must be a unicode string or a UTF-8 encoded byte + string. + + Returns: + A dictionary containing all information items. + """ + props = {} + for line in lines: + kv = line.strip('\n').split(':', 1) + if len(kv) != 2: + # Ignore lines without colon. + continue + k, v = kv + props.update({k.replace(' ', '_').lower(): v.strip()}) + return props + + @cached_property + def _uname_info(self): + with open(os.devnull, 'w') as devnull: + try: + cmd = ('uname', '-rs') + stdout = subprocess.check_output(cmd, stderr=devnull) + except OSError: + return {} + content = stdout.decode(sys.getfilesystemencoding()).splitlines() + return self._parse_uname_content(content) + + @staticmethod + def _parse_uname_content(lines): + props = {} + match = re.search(r'^([^\s]+)\s+([\d\.]+)', lines[0].strip()) + if match: + name, version = match.groups() + + # This is to prevent the Linux kernel version from + # appearing as the 'best' version on otherwise + # identifiable distributions. + if name == 'Linux': + return {} + props['id'] = name.lower() + props['name'] = name + props['release'] = version + return props + + @cached_property + def _distro_release_info(self): + """ + Get the information items from the specified distro release file. + + Returns: + A dictionary containing all information items. + """ + if self.distro_release_file: + # If it was specified, we use it and parse what we can, even if + # its file name or content does not match the expected pattern. + distro_info = self._parse_distro_release_file( + self.distro_release_file) + basename = os.path.basename(self.distro_release_file) + # The file name pattern for user-specified distro release files + # is somewhat more tolerant (compared to when searching for the + # file), because we want to use what was specified as best as + # possible. + match = _DISTRO_RELEASE_BASENAME_PATTERN.match(basename) + if match: + distro_info['id'] = match.group(1) + return distro_info + else: + try: + basenames = os.listdir(_UNIXCONFDIR) + # We sort for repeatability in cases where there are multiple + # distro specific files; e.g. CentOS, Oracle, Enterprise all + # containing `redhat-release` on top of their own. + basenames.sort() + except OSError: + # This may occur when /etc is not readable but we can't be + # sure about the *-release files. Check common entries of + # /etc for information. If they turn out to not be there the + # error is handled in `_parse_distro_release_file()`. + basenames = ['SuSE-release', + 'arch-release', + 'base-release', + 'centos-release', + 'fedora-release', + 'gentoo-release', + 'mageia-release', + 'mandrake-release', + 'mandriva-release', + 'mandrivalinux-release', + 'manjaro-release', + 'oracle-release', + 'redhat-release', + 'sl-release', + 'slackware-version'] + for basename in basenames: + if basename in _DISTRO_RELEASE_IGNORE_BASENAMES: + continue + match = _DISTRO_RELEASE_BASENAME_PATTERN.match(basename) + if match: + filepath = os.path.join(_UNIXCONFDIR, basename) + distro_info = self._parse_distro_release_file(filepath) + if 'name' in distro_info: + # The name is always present if the pattern matches + self.distro_release_file = filepath + distro_info['id'] = match.group(1) + return distro_info + return {} + + def _parse_distro_release_file(self, filepath): + """ + Parse a distro release file. + + Parameters: + + * filepath: Path name of the distro release file. + + Returns: + A dictionary containing all information items. + """ + try: + with open(filepath) as fp: + # Only parse the first line. For instance, on SLES there + # are multiple lines. We don't want them... + return self._parse_distro_release_content(fp.readline()) + except (OSError, IOError): + # Ignore not being able to read a specific, seemingly version + # related file. + # See https://github.com/nir0s/distro/issues/162 + return {} + + @staticmethod + def _parse_distro_release_content(line): + """ + Parse a line from a distro release file. + + Parameters: + * line: Line from the distro release file. Must be a unicode string + or a UTF-8 encoded byte string. + + Returns: + A dictionary containing all information items. + """ + if isinstance(line, bytes): + line = line.decode('utf-8') + matches = _DISTRO_RELEASE_CONTENT_REVERSED_PATTERN.match( + line.strip()[::-1]) + distro_info = {} + if matches: + # regexp ensures non-None + distro_info['name'] = matches.group(3)[::-1] + if matches.group(2): + distro_info['version_id'] = matches.group(2)[::-1] + if matches.group(1): + distro_info['codename'] = matches.group(1)[::-1] + elif line: + distro_info['name'] = line.strip() + return distro_info + + +_distro = LinuxDistribution() + + +def main(): + logger = logging.getLogger(__name__) + logger.setLevel(logging.DEBUG) + logger.addHandler(logging.StreamHandler(sys.stdout)) + + parser = argparse.ArgumentParser(description="OS distro info tool") + parser.add_argument( + '--json', + '-j', + help="Output in machine readable format", + action="store_true") + args = parser.parse_args() + + if args.json: + logger.info(json.dumps(info(), indent=4, sort_keys=True)) + else: + logger.info('Name: %s', name(pretty=True)) + distribution_version = version(pretty=True) + logger.info('Version: %s', distribution_version) + distribution_codename = codename() + logger.info('Codename: %s', distribution_codename) + + +if __name__ == '__main__': + main() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__init__.py new file mode 100644 index 0000000..0491234 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__init__.py @@ -0,0 +1,35 @@ +""" +HTML parsing library based on the `WHATWG HTML specification +<https://whatwg.org/html>`_. The parser is designed to be compatible with +existing HTML found in the wild and implements well-defined error recovery that +is largely compatible with modern desktop web browsers. + +Example usage:: + + from pip._vendor import html5lib + with open("my_document.html", "rb") as f: + tree = html5lib.parse(f) + +For convenience, this module re-exports the following names: + +* :func:`~.html5parser.parse` +* :func:`~.html5parser.parseFragment` +* :class:`~.html5parser.HTMLParser` +* :func:`~.treebuilders.getTreeBuilder` +* :func:`~.treewalkers.getTreeWalker` +* :func:`~.serializer.serialize` +""" + +from __future__ import absolute_import, division, unicode_literals + +from .html5parser import HTMLParser, parse, parseFragment +from .treebuilders import getTreeBuilder +from .treewalkers import getTreeWalker +from .serializer import serialize + +__all__ = ["HTMLParser", "parse", "parseFragment", "getTreeBuilder", + "getTreeWalker", "serialize"] + +# this has to be at the top level, see how setup.py parses this +#: Distribution version number. +__version__ = "1.0.1" diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..33c9c82c9da8b462a8038b727f4be2a9dd935c7b GIT binary patch literal 1338 zcmaJ>OK;pZ5Y|4tyVma74v^jnpRz?(s^K_57fFy7$m7rk25QuRP=HH`l*F181(Nc5 zbLh1||4D%SB3*OxU+ASBQm$*eKqY8I4oCBS^V0Er9`>&P`sI&d5PS*lTq9V&hR2j3 zXpjW7NBg2D`$=C8l7Sp1!(KoKbSQS@C>hCdGM1BM;&nS>SB6RG*CR2Nvt;JiV=<R| z$sVjHbeD#7N@sLljFNr2mmJXjpMu2!`P>hJ@cr43KcJdu!>a-bo@%1EC?$qbq$*@f zhSulrzdJjBhrFe!S;ljo5zAE-z9_A&%_@#JC9#_#Qo4vsE5)ldj?fu=>l`zUxIvT| zUR2=KDwHymDOrP$R4}yRwhY-7H`Y<`D7k7Xig<^=;esOK_OcdCvdS8?VL~h^%enK& zv{o8vmZ?hy<SlRs0Z|ZLFtL3Ig`}cPSB}tyRW-OuQL5Djc$z2--&_#~gBn8$wpxWD zf-BcbqMFwczGM{zFrcEeMK0D8NSZftaUfN*>dB$pVyd#nagChK;Zt;|)58TK2IVVn z?c7?;7<zf@CGy#Nk}tyWEnsA-0yNI5j6H>*AR=Ji05#2)?8@OAU!PnFp*Aje6_LyU z<*(5yZ>nsy{>`JGbXDlwumAV-ttN$I?X5CFjCtt9)#ub#^`0jeO4>lBTowyv&tU(3 zxBrjbhKP$hX6Jr;&kAb6iQpfZj&7Ih@EXP=SPa^Ik{Tr%%WzkQc0&0jH_(vnK~wPz z>Wc-pOcP<Qd)+s_&pY1jj?YIs_pg5<Ui8|%`@BIjztMCQL9u&FN4u%jV<#p~>^c!T zF$M8)=P3FnI{L79)Q++11&rGe<GitrW*BRjyg(0}fS*B-OnoDHKKg;<WOg^T9wwPO z)lC*XW*h#?%i}v#A_SmLG4w1<x2iDy6zE3|(}_QSk4q(4EP2r|@$BSze7em_qUEVp zzp~64*xOQ7Kc9YhM=YRiW9Y`q7`i>K{mF6kJT{Q#WlgdR7#0)5ge;G~g}{%O^%jmJ wRuoPd-;9m_H@JC;G3FJw7)SNCoxJG!`qfuJ%N&3h_8<2j_h#<yPkNK#-vt1sU;qFB literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__pycache__/_ihatexml.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__pycache__/_ihatexml.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8231b220fa2f209d01402de816ce76846f21009b GIT binary patch literal 13882 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 H>V5wQE!f`q literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__pycache__/_inputstream.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__pycache__/_inputstream.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c370f72ce4d0cc7fc1bb46461eff72cde4cf6363 GIT binary patch literal 22750 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 DWzb9s literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__pycache__/_tokenizer.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__pycache__/_tokenizer.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0d56086b0c7cd50727d005bfa5bd4bbafa5c3a15 GIT binary patch literal 42186 zcmeHw3zQsJd1hC?rl+Upq0#7RS#FJltP!4(F~&BwF}5WSmJx%n#}5XZp*6QO)1#j1 zQFV<aH8bE?#yny`A;fXABoLD9hAf-SCM1W$5+KiI37ciJ37b?1A&_v6cXLj1_HcGN zI$3GI@4xl#$Bc}fO|q8G+`3(L@2#r)fB*A7>ec=IMdSI)kM4V=k@`+5@-K`0o%m~f z7KutJqn27SW{jouOnNCZlQDQMUCS=zX7ZBH)OwZ*GX><cDp%`WD$W!opGUrLrcd%c z$d_hHOZ_wb^1FcF12Y3lgENCmLo-8it{3Mv&1_m4o*9<kMf~18vsv<ewUMPQGg~BI zs%>4`HnYu0ncK|1^Ty2fH>6a*8h9$D2FxAjGc!BY-~*|#q37}Rsj-YZSUJ(C*H#>J zwz{-jw;i{js*hJ2)w<;ltytB$x-w^LRmZd|wZ@p?=6P<xMlPq!(<|ol2AeV5!NziB z&OE$Ou`6>Z%%TO;a;i?%Y>cJdQl&9htsXNSUUP@!*MrN;rhUV)`We&4bL3TZzUnmG z-UajQ5uMH4^X5s^Ejsm6rZs(T*=)G|PGx>N_=%frvCZWg?!1JX#qK_M@AR9F9krHM zoCh4+tSq5ycG|9*b9`_AA8E;d4V6x%%+!pbQZs2~%w*KF?@gUFR7Pc=>YV}IRQ{>d zOiuNv0*-n0<Ep6oo-$^7R7v&YOhFB(K^%M4klKV}Q4OojIQFR#wFSqL+N!qU*sr#$ z9XJlCo$4wa2h}chHI74Sx4H($O{%Q+;5e*C)m|Jot9|MfIF6|O>RKGPr~_&Y$F1t1 zdL@qA)OBhc$L(rD9l~*kx?a5s$DQg1^=cfiQa7sC;J8cOq;AIXYITcxEsnd@t?D)$ zuTi(F*Wp-Jcc|CnxJTWo?!s|Y-K`GexK|xf_u#lsO{zEG_zHEeI*Q|db)R}8j@PPV z>P<KvP*dv7IF6~~>Mb}PRQIa~aD1hjRuAHMoq9+;jN`a^M7<Tq2{ohMhT|disCo>? z>($%UERL^I?@$#SZ%`-H9FDJ6N|`v`s7|VR9ABdrR29dY)S^0t<ISq3mT<g9S*niX zYt^zkjpMD#Rt+3)Q;u4}@pkpNI)mfu)LC^7$2(M0y%WdRt5vmz<DKeV>fJcrrJhhf zgyY@nNp&8_!|EyZ9vqLTr`3CLyhpuHy&uO(^#S$6IKDwWqdth^z3M~i!#EyQ7u1j7 zc%S-+`cWL;s6MKG498>dO=VLvZvx*v=k^nrg5hctT-6H(Do-y|8|ArLrO_xml~X42 z727P=PnHGx)n?V2FSFW2u~^2xgXM-<J2^48V%vbdv?b@u<$LQjg*FyUT@$&AQ)b(` zXzg72gvrL1?fRVAXqYPAV#BF8W~`}7*)~s_xXm1!l$MuFXQ8h6>x5aZT91Pr)x^X^ z`H@E+i9KFJ_|9wXc)e;lc(S^@M}#lS^%INcoHHTirsgu5A<<o_6!U%L&PgOrYSlPt ztY$uBtfpp-)ihFYD$>k+3TbvVwV1;(FXws`&lQ|rr?{FrpI+=cpMq>mq5soUlVc@& z7!A64{eW(Mxneg=d!}eM<|@nPWUVqk(+^rWll2vwG6h0ORh-HL>>M{IedOkKVYd_| z0xqsVrr9HGzA!smwW`kS>{!;#l3w-}oVK^htxuh)*z**Uy|c4I_u1J`r7phz&_aF5 zJhW7uUomSpzUHPw$Is2-{!7R0I{T=B-{^Ylq2p6;z@wb0oICWmX+3_ZRy}cOS+2Z# z;-*6l2<veO<5QJ+vvFv-x;*}>*G^nN@#^vAbGSTV&d>AYp;=T_b^FkQvs8NxTbT8* zX4(_W=j>g0%u)O`hLEJv14cfRH}Xb7j?Jwx3{UuPI!9%|e>{?U6t;~=kvOUO)On%Y z*<+wo`h3cM=<I&vGK*RJRwt*79iSM0E#_7FJS6YO(hs4T(_0@-o!yEnhJ8QN#h&vi zIe*8)sney0p;JNAT=TCq2Lb43764Wa)5?5xuDnozma!Th%*i|tn`KomgS6$9#!96I zmhhN?eBmtE^_BSrX+Q|wC|4}SR;}_G6RkaNmMfaKJYbiJY1?#GY$<WBYSzFT0Rx^{ zfVwO%S5_L}>d1{&pc`va&N9zBi5Br5HkE6`A%pUv`OhsLCs6OP?YeD?+D*Gz2WrvH z5}s3I1v`(f_VndjR?HRC-i{N3I{=pT8ulQIWR~m8ZV!^0dD0m(?5kO<93*>KhWLfH zo}GOael<!+Qa!~?(I^_b0fROWkiv6Nr1Gy9=_~Me7=MieIP0X=z_4qXRl^=}4CK>m zVBIw`ZhA3uKDCxRdtf!Unm(1c?_13|*;BnZX2I0C^M*lic%@G7dpPCfRc5hgH48{( z&ZpP%t9hq@de1n8)%=dsS`SM1F6Nw~%I-)}d9UWHhU)oPhAmw%teQf(ED(CisQ<L; zJ!M$gG{DyQ^lDxePi5_|slIjFIG{>F8{by_ej68z#sxJHT={!77`rm$U%6n^x2sLD zYr~OiH>%CiYj{5~C1^&_grNCA(}89KO$M3^G!<wj&_tklK+}L`0Zjs$12hFxaenW4 z<5d2FVSl<?ADt^Xc)Rn)TF=8N>yB*7=|5FOo&RN^mq3fWx@miAt>Bc<j|FACK6N*k z8^3PGuUqbvU)w;1x2CN0BdOJ#dhMyqg|xjdc1IW>9|NO%lpXM>+yi#Lz4?97hbLF8 zIR|#A$6bxGSp{F&<p*CmIXQWxT(^aNC?Lh;ET5=ApOsM_r2?i==3I5DQe$ZtmKFae ztVY{xKzUYphl%o0rwseHURG7;0N4)Y(c4DL)sx^@DHSr|(UWDX?)c}m9u~nV{5B!d zMjd$PDEV^qR?XL9y1s2R<lfQ8*2bunedQTE?ej%&%kvbuZpx<kZSJeqYUX^UHcmr) znM!p0WZfROR+db=Iya6ts5<A|UiQLWjiZ(`ma+Gup1qH46et%ShtQ~|{v?&EUj7Rv zmxod-8C?C_FaCzzgX8lBCId{aVe)P!A4gLC+W$fFw@99+7Oq~pEY&4vupuOuE~lA8 za_Mr0IV6`ZXPHBC>2i)aB$qDdnL~2vau0JzE?q7#hvd@bUgnTox?E%q$)(GE%ptjS zxx^fjOPBkZLvrcz0CPw#T^?i($tAp5mAa>z`UamAFL}|ptyzxu)%Y2psJ`NiH_Rn? zH?_JomJYjYY|y5pv-_D)U%Od$t<COn^P0MD22^mfiy(%*iRCEfv|Q~yY1f-jH>Tre z;3c`mhbpxdEwSC)iZyRKW4$75XL8lXz2;fB2MP!dkaBZ&MODvgLc-9PJLMX4_Bb29 ziMKW$Pm1Twb9Ji$6ilrwoiOct1P6DaXyYA7Qu(am{ZD7JMPnFJdmuBEDL`_Uj5L04 zM=q=LnVrT?V;BCHa4!0P$S9@L#(<H|l#C%<*^ib=XsMKL?ui=!ZJuQ^Fy*KT*q@>a zz6?zuS|GIub$&iIZ$JZNReDFtf#h%8?d3CYy^NC?IRmE*y5ONzLti_UMxM33dLq-) z)~LR!vZvCJR0ArvmJ{va-A5!%R&9Yk*a}VYoa$|JJ!k&{TG@tY$>YwSTg{bH_SbP{ zJI?f=*4Kmk?$`l|C$g(R$+ecTZVaSb5%=g*r9isLlhOob4P~hQ#S%3aBxDA<Xz}bV zxWi7|A#<u1Pd@4NFAn%+&KuAtHylqT-{gXEdg$TQxqT=*sLLYgaMgRzi{}kIP2Pc? z@uc@oNbgM|y`R?7Tcy_Wo@CCmXCax7K%(!$Qx8B+8}_fq-efR%lf1gxE0eZIR@10A zvYK7(!IKYDqcpzf{X$QLztj-u!IB=u+V_Js;cOPook^Bk&FJ@Ag-Ng9?`HH{qPI5% z&)D@Y^2|SpJB+Adyvc6-<#Q<*o|&6r3*4Tv4z6a1LOky;s?BQ!E2~D<3Vv^_7Fg21 zlQ<LCOkFhgiz#-|xc#EBcTxnZYn*kBN2ay>-e#U%hUspqgvgEx9s4?Phy5BP&D~aI z31zidZxvM+jn_4|ge^wOYJoraKs*ZL77zRCvGM$6{KIYEz?<F6<k-fNu`Swjp&+uU zEJPaGuVe0JCL%0FY?8%8acE!5pRYyYmgJ2P3t|XnW@Mq#m_22lYs^v@&qB$bte%}2 zfGmc~;&{K^OwF|1!W+$V+Tx{Zv?)vMok%=6>h^g8l<(>GL;Nn?<v4cr1Oi%a9%3Hx zANx*}cQa7`aPdS=PNCyw^dp@+W?J*k!c4Cyacb(MpzZgBn-;O}M_Y}PNK)x+x&%{r z#285rq_Yr^B?#1^%#bmhMjj%wh;zdQ{6XMu&8H!9DMpKFh++|=BRKN^kTH}lAl;7k zSZ5%eH+G>^9<4U7YAa~<vjny_ZEiZuB4O#<l8aUi$eQ#A(~vnCSXJ5PQL(B#@7)WV z=~#hf!f=9FQ6AO(bJPktQ52YXzN4WLGz}OX$8GGlAen;yFpVS5i5npo%DgIx_!8Sa z&qqIZr1?KZxdtCUm1*veziOu{fs+|~>-V7vzV({H_l8V@m1{2}51F`_c3}B4f4lSw zu4YwcM+%yRCEz27bD3Mr<9v=%0ltE^O$`OEM=1msf~&p3RXMu~i7T1_UdL=f717sy z&0mW4H7vbKdET^WvB8D3R1F|wcf$g49PM_(XRXXPLPHcLL?bW@=}w9_N?&u7M%^f4 zFLQJ%VeD3%Yw7pOfs_O-D<|QM;idv=+_Hh<rWLd&_l>%iVgR{W3LiIrkENz7^CD2R z4BJxiS*kH!wIH0-I36}C!Q4IuI1bn94ZKZr7k`Y;>0jd~5l<Pf2i2y)xny8_2#MS4 z*cGc$Lo~ytjVV@?79b*7w(%T&SPxuoPTnZVqC<S4!;xs%H&La*dZ}C<Tr~`?qTy5Y z(vs2K9S2*ofdFI~v_Y?0SnJEk5M(r5G|&K{T{y#NRL1%RLJVgna0YHI&OD1V8Jtlb zfO>p~G%yYbs~!a<3WF!F&sy(THQ>$`>}6GW0DyIR0p*_#TIhuuLL>!GQFMA$@qBt4 z0PEFcL<Q#+;{I!RCIPLqjvA420@BiyeFX1g--G0$;kg@|;F45oRTa7$Q8L?aMA=FE zKBUudG=l0jLp)=Bp_*_9wIDg-hs}hDZV9k?Gr}<<Pa<SyOhPLasu#CNle_UCBP6(s z2o-T>a&kUFe47~gpZII+N0Jg6lg=TnVb(&D7P2K{XRZVk3>eLAaq5$!<e37pGrU6i zB4lScj~&Y(B907WA(8<;PfxKMDE#CpG*a6}Q|!l3Xb`P72&NRC4<VGR<4=+3vfx>M zU<f)nK=4*-0ZKdMDbMnYJx(DZ?fkQlc`A@{)^r4dx)v<l2n72Cf}X^*d<d322<jTN zoiqf!a;gvg*B^o4q<}~ZoDHBbaA7w9#+}5C#0c*9W7$Wo`{zh?jmvGe{5Xb)_%!76 z1J!vCqICO`I28+M78jz}wBNy!<scEQ*Qc8mWQ~yaEeItpMJ^GSF@)}jV<Xa1fQu`} z=o}wUq-lGMR&f1Qe9j0)55%9Nb5913MYsmWh_9AANX!LKVluXiP#?p3fF6`^ARqNv z1obfX=AE@}03dq+<F|`^q{M^T_23qi_u%H$QN2{lQzGnM7|<qZ^iWo6Vb>cGcH8aB z83$3^R{XHDllT!#Z3sUluU!GqO(YDX@}Y<mU!1^6(-alKwlhwyXaoNr6X>eOoLyaZ zsEuB18V!a`3z_cS5SbE^KhZ`&DQch`{zMDe$WROUtOQRrZEvL>@|cJND;Pk*U`mpS z^w~HQjRvK0-jn7s^a69jXBwCvW4%)^P%=-C^@Kd4wYvn$#IO^MFHGQh4OH++`8j}* zeT3S;S<<yL>{<?=2?s<)C(ysuXzq$*KVCW3r<8BfrzJEQ?Neo-PeX(5Z@iuj4LTR1 zCkJ!vAuXy_jd_YI3M>vja@+y&0vLY3f|_}>^--MZg`ozI0wS!SdIQ0x&+1rFc(zY! zJE&bk?Jvh__eW}{5JU3)j((|gXRPc%q-=Pn!N}QY3vyRA1Zr<WL}SlI<B(fGm)j2f zfXT6(4v#)W3JIAWLC)P4vH0(rJ7v|+)J!#Rs*A=QT8Up9#3^9)jnlOlhgUv6Uw6js z>imK;egZoA6e6OL@T(Y@&GhYeTr^(a?9zaYjUjM9zErVKH8-`~Nd)!u*gyzCcPERk zEFUp3+-ghIKeR+Crrk|+SWLWecwRyd0#$k}V!kqTAZUz;b@5Ud4skb~sL!u74%e4B z9Yu<Hj*ITNGRkO>?_uukNU8)iBP*d;r{$VQEFldW7I}#zYz=Y{`ra9aYnusyA2qOJ zkPpPjS8yvpB`QYp_Vo_JtrP=*a~fl>^j`3%N7TiOq1pHd&h#u6P&V!)1L7#3w=6J6 z5q`_Fv2uloyR2)&gTee6-^KQ8UmvT50P3oNLA!oEXoqX5#l8UYCEiaB0I-8o_QQCi z$+2uZl-f(Urr~%n0EzFI5|-;CvRUq0&#a&HF?*=Fr)yD~P67kijeGf6!b=m#O^@}5 zK(*tbvrn^V!j2HYi5)@I+0+c(aJG!=&k$z^kkL4cdc(e_1dIV$4EPJOu8E7&7Ve0_ zD=_$e8Fvt3c`h>JsUlGk*`3W=7a-XvV<}N{^rx(M0W^7lhB1A@qn8mIPP_^vC8lto zCgT5!e#`>OQC?-OBc6<9L^rGn7dxnl@kz#aRj(J{9Y#s-+^V6^>3Gdl1So@`DZ?DT z)QZWcMZBIEfX!AP#ioSx{gOCM#jV|b!bH%=3_@$6C=v3$jZL?6I7n@Gdqmv&qFKu! ziH3I8q5`0wBlSnoPF%{+fF$*O1dODIGi@YF@SyEU&VU~}HjpSn;8Dex2xAbM@CT98 zv5us1LY3*OGRl#x%7d?arflhJ35_%CAR;|Vi|Mgq$TjYuV{-ap#XfiU%1KOE!o)!F z>2xqF6zK_065%dPG>3b1W1<td{yBCd<5s#G^9bf{)y(pWIJ0!{C)@YmBWN$$f5I~8 zuPplxFipdtz;(*x9EK=-Cmr%yWVJttPC4rLBUvV==f+G0@+sbVk!Xz;IV*UKc&`O? zPs*Q-_uAuV^mpUEHW2pO-gdo~pjgmn88j7WF-Q*SvpS7645}f>3xR`tn#WUVMCZg9 zMw~9anii7{VGMg3h8V;P%R$po$go%WTY|TU;H5>#Jb|)LbSz7h7OYj2rHS_$l>JP{ zvPCawM3Ggn?!~i|AP~PQ)Wwqtb<-AgABO#WGm*~+Gdwg4GmC?(KAnfyk}tNzDC?#G zg^5H9l8Ini9g4$XlLTYk97myTn-~b0N)Pr3u^YS~yyGw@vP!g&Xsgh!4_QeE?l3;H zj6nXfU1f;3jgfDkL3>{#LT*4Ng#i_gG1L6f-fc3ch1C!&eh#?60P2FF0KWl-=uic! z>K}vLk{)-rdVYEW`kmR%#CvoTRtneuCeC&dVU-wY=@h+a-)sMvq*c7%0&>6beruxN z{&&3JBI0UaLR{&nPl9Mcue~g<^sv}VA+PMSAk>Q_t%R4nVTN;Tww;uECoZHRJzl7k z>IR(vw*howVv4T{h0xu+x*xVM2b%6fNo{6%Gamz6m~n}$m=EFg9)I9S+K-zLSq4`T z{fU@im|T_et%*HRHR8G3QIkTfi5+2JE5Rl0Sk&DaDK1m7#n9DOt|*pyJU}<GcM{ik zlS*5W32ZcI3Ai@Cr8X94;_#L&k-_%l_{SvwTKYGDQoH`uGd9-i!&UU$b?n2?&W(t` zYdiH`g1$lDy(|U)X-GkV#d=ckUBJf8KY$cm2R#9L1N6iM;eEJ!iy*uKXD~4w6E_$( zkaYvzbPQPyV(E!zJ%MLLF_`x}ql?D4h_k3Do5u8nEx3_PyNty6Xa&2wLuqkOD4>p1 z8Vg!TZD+*|NvbuJe1JVkhhIx7$|$jD6GLuo?<x2D2kIvK-Fz*&4==o<6g%mKbkq~L z?PDD}>bj1?s10#~&Z0yLe1Koak1NI$yh9mAKZ2U{8zu57eq%F0qaJL*Di#loAw~;a z+rqQfEeL%TptPSsEgeDi2haV{%%GMxn(5W_M>E?JCLE;fG?*U7s4}{+w3D2}kpzE> zb{3k3z;{QJNL4K=RmZo)ag@QI$n1``Bj{UOnw0y^6A+^yUBEe!AeIcJ3oprtXu|Sp z-(Ua^H2ji*<H;)l2g-`5LTG>!fb>Wb!#a6uchC+)8Bvj^g&T*ui&O2n_DaAJHRnPP zU%~-Dgl^I%#(CzRVj`hSlD3<L_9U*qvpe;?kR<Fic=zkb!VrS(Dfo5V4!sq(of$$4 z7%Nm6GJT7~9Jk}TRvw(b#h9~-)xh{_z}6xAGZgg6pqw7<3(JM~>y6ZoQ}{Eey)g>Q z9K)^@mWU5IdVLwth0H=+QED^~u7J$M$A?MgaK;N495Bu-BUxT>Cr0XZq<LI}v?n*w zg-(o<I~j?76b!{7+-a25lanMOy^0C>{=hef!zFet@#sj*wKaBK3@i&7l-O|Wx)iZ8 z#8)b}NT!5It@$kxZxgd5QuRoE<wVVl7$;gji%mi<?Z%s=_Ro`Oq<GYO+KG5v;6Gj8 zUFo*U{Pv_u2Hzy;Jt`gl4;Ji>^qcN6rMo<^Lpys>>-FV((1V|0Uxr>(qz@<7>B9u& zgC3;mlEdF&{54(<fkV$>O4o}N0)H_>N`j8{oT>MMh+iZ`USQyRV;~B!9DoS73_<i9 zencgvgQ@bW=e%)u3KB9lD~~pBsP+~M=OHbj^6o`#O3C7BPIaLSELwL%!g7@337iRL z^+oGrWD6ddjD7TY9$J4)juu6Z7QEn7Fnkg9Kd^jXCUtRIUNFcJo$;YZFK)#PCM;PU zH$00A?ygYiMkS{Tty-=0MCwwAc9Wk^<NBXP<>wHT9b+e2?QzTk7EMR8MIQk7xApvy z7}>J8gYf<zA`>N>47sl73V)0w0Lf-hGqgvr5+Wq4*q5ArMABXe%5B7%xx;g2J{zkQ zwRW_Nvo*LLvtIoHtsl^(X>RjI?=@jLj_<=HGFqGfgd0%=Q7VMir6>aTKnJvRadW!i zg-eP42l28GnW!fdHIaxJ8K#Fl+&tJxZ^WKjz}p@--+m#u`Sb>H^OT31=K>0E05>SB zt>8(|&-qfUb`(D^mTkNdv$zY6I@`<cz77Cs6a4sLP{JkxHs&{d042GjMq~<)MoAPa z+MM>$vQb$RqP#t3uz;*p)^zfr{>Z}$RY!XnqdhBPiZUh)m@s_T>RAy}^sGXuawVRX zkEw43Ps7^9h{W3%rnpuC%VoOArVaaBF9=w+pe1y~HjbNT0Gn;Z4d>Bl8AC^G1K7D? zL$W4@?DqIcTKb}^ZV4z73)?E0<brE?Xd>S<h))l~G5}B`@0kY4sH7~Vjm->7$a+2C z9tq?|MJMd;h~^ikiCx`Ih?6qcvx7rJf2+7lqU>+lP$#zNk61?r2LC@@Tg~P&kRQZQ z(^i-;fM9<^_Sgq;)7wZI)+6@Y+G8EV4())^o-o%ZB&7JV`+#ChL2|HC>^wv$R{8_S z*wu!++aSIq>r(TOZkc&MM69PEecO|ukD^qs%#i$=Co3(Sp}Z<sU%;77Xz3SmrVk4U zODehNK<D<KMBRQ!)bGaX4*2WZan`G=23wwu^0fa{0eb{sP(O0#p-Alkc|uOh>i7(@ zc5ZlTT935L3_p>dG~+KC*IqP6?W4%*Smh{k&Aq|0M1Lh0ExTY@s?072m+oaPT2q~- zX!?=w=H6hcZoH9TLNLroOey{l+xjq*;DNA1NH{*kd7U;R*?I~cr((*Icy~BxHgLdn zFhOQc$s8&PsY*0;Ly=R?z<MLmd=oNSk`F_Yk4R80Hi=Wt&<fx+y<<l)Jwo3jG4ZF< zeAEEtTqn_kzr*-zd^d)2?BO9hH~~$Zcff%QPWa@G7K~UE=WiDba2~=4{`5`@df_V9 zS%WLKrMx+~>9zEQl=XeI#bsSJ?hj)9ceKJiH{OL-Xdz~-Kf!elm(VYvFOji+4`&z~ z{{x&UF7~zM1Kyvze#re*e|SgheW;DSK)72-tbTMi2~46yUF-<rKYyhDy#Y5+n}zou zPH;m;BKEo^>?G3K685Dq>~EtDT?TuLC|J&mgU%4QO!LlShY*#&J$3eYaK_v5<4EeU zTOUoYWwD=$UzU4$poLX<duW-{@x!Ov>_6Rc$fVQHK8!sryt{9rv=QFCdTM%7BVL$^ z5RhFi^ekzz>4w+P`5YHvrF&3+LmZ8*F7#CFfSH8Ro14|ja;-Xt8HJ$;2sg99^!ku( zd9UzNyWH4t$j|PM1WSawA4H<B!sWvBGOc@?EVjSPUm_p!d&uQC^C{x2Zoif1`j}88 zjOD|1&ND+bv+_6=(sK_1u}5ZlxjucG`<_a;%Qa>bYo+W9XrxN<a6d8>58VETt|LVR znZJ<b?tM`~Az@u?=2OJ>KL}2GZstxSo6hI<8@pt`3Y5og6c8P<ZKFH^cdeWVC=$GG zAT;37hC^tRF`)s5;c|dh)wmn1$mMKgBryRYMi5yKrZnY65kf$SNLWUx0vVGto>eYT zpj3`I>kn~`E(3?#7>~+XU&0v*mM`E;X|dPo=cW!=;9Lv>A6{$NwkO#d9T2G63n}~W zW3>lcYqxn8D$D^<m=uuVy@w*T2jv;5Fgw0epfE)XiLMmJ6xI2nu;cz#1uL))8BDX@ zHG$qVu?qyaGrEX|Iy1?9V?!Z(>4=<g&W`{j5rruBT%bJ#%y!5=an9*xjei8qew<vu zuwSSo$pu7ys4U~^u|-iPrt^2;@b-{j+!*8$ByEBG1kO>LJ_0b%1ENHiP${PifF%ZS zoe{hm!NTj%nimN>oMZTvEB*Q?`LS5K5P-WR%tN-IuKaqeTrpCvU-hBpX8e_8)r_Yr zQC^-!*6xgmzT6pWV^d2T)VI=xzse?P<5<8DM`CRZN7~Q~F^cQ@iMDoXP1s@^>`1ZD zju28J`GrBmZk!0<8VIa$>~FEMk)?<X6SZ6A6R5;MwFS1}MdKaKQEc3atpsVGu2`p6 z>fHJ%ar5TBbsr0?B+3f>6tr%Cly7*<Pug>qdrfdNQC`}Md5b(p=-awi#Y;VCMN81} zO}6s@^ij=>mJ<6l)NEqd3JY(@oTUKxB02RAWa6C4y^yr#l2Df9siS;jHp~^%J8`v{ zm{!(NhsXGpx?Akp&m#k@#RrWkj>Vp}7&WJAx*lg}wQ}MPEl2X{BF=@gX|c~}z;jsi zNYvslz5;Cu`0vGPw~xeXVz?uyNhOw%T{LtX{eBzX8tpzcz`f%<JCu<rEP)Iepj&V= z<{`Df7(P+b+S06|WK4Nnusj{XUnX%|?5iAjM(*~w%uE_m52DkPk(oGn#I5Qk>wgSQ z{3Q`oMn)ruGTslE@A7a%*Js#hj>jW0arn0|$v<DDh=3GP`4S+7yFb;;c1VfeHi{IR zVJ&S6ya=H9aWwY57Y7tA5-$b{3ONxU_!vV>e29h1DO$4b5eoY6AS}4#mBVugiHHFC zh9^|01hsAZ6`a8~isJ6-#jHsi6}vh?6a?zoSFNI!8PNGG+6rq9L@Z2QlTNr+?1Nf( za7nGx2VunUcvv%Pn{u6X)|$X|-9|*Q;~W&UGoZF&>)-U<*myD!N}C{*ws~9oh%OfK zBoIg_Gf~pluV4#oZ<EAef0=Ijv%MT!H|A6BAm6OIMr>mmTOD+K)IjfQy<E_{Uv+;y zvRG@pC|pY?fEUG?P^N7}p-q#vn>>6L*L$*%hx7`xJk+vK+rHGLzD)Fw)Sn|pGqEHh zE*oQ}L5u}(FU<m<L`LAye$6){j`20$%O3piL@nBuS?le9Vh^C`;7kE78pdb<*XTw- zbmsi!ts0gGV`cNf<Sha-EGulNxUV#(69~D)VG`u+iy#l*8W~TzJfi=iXlovf)CjTK zwqENBa66=Y7zU&uNoqnFd01~MCFN$B^yaIC`Y-C?gXWlYK+nE4_}584w<j?J_)!uI zLHBcw_agR-z_yBzcj9J{kXaCtlMLFMMs!_#LdwjMu8WewvNE?sr9(na+mGO>^aRJf z5xRtw#D{IFYDH{u_^B~MjzuaY37M!CF>CbBg+jcpbkq8b<nG3?^l)z^1$QCiQ&4Oe z#ALeBuG3xs?P+%ejceM`eC57{pc$x!jq@2^)SCk#ngXWuHvW;)qL+}9VF`a;qc9M~ zn(zF$J>G67(cTRfQP9_Sd%V3ylPG5(JF;(Hmn{rzl$>NovC~u7$d4<8hp-zpV4c{e zqGbb?pifXg3}(MCqP4LFH8%%k(3FNg)``>f*A4--HLh{vV_rLs*-?RDqToU~8PI0` zK-Yf{Wx1{JHPGarSNXN{*$K5D0owii>_JPb*P_oer+Vx~wPh`RJau{z!PvC@IoyLT zZx&lRBaExI$<{)=lT0?|ovdeYp93hfT>`wEgH@2NoDG?e1p&Iq?fT_B^J)ySGVl*Y z>tabZdA?Vk?gn)bPj|5G)4fujj=|xAem;bY3w%PaWo|o^=hL9w0dBF%O|0=*0uMuH zcdcUcY8l{1C>w7-bY3>VMl0_?E2+gze*LlQrexn_J-+@EAd`&Z#sK9S$~BI-M%^{u zY~O_<u5s8k9M_n3jdQN?R@Yc|jpMFiy2d?|ZqJeW95>*PZe8RSmN7N9I(JmLg~mC2 zSz`&go;iF<1KTrSG~VVKcWF_wGcZOJ)~uL~acsA*bbF!mqm6*H{V({mA4Bq~wEa`e z|Fq8Y5$%ub{3n?I8J(x9w0~CTe~$T|*ZF_R{J%niK=3ay|8JT6GLwJD<X4#dDwBjA zl9#*4BiR3j*LfqI`?Oy?8sgSFHV^U=jSTF16l_-H%{UX;<(9lx)-i*vESkmld`!1g z#|EDF)Z~L(_%M!z{gC9-U+$1HPgYiH4kN<)%qH1^;{o(9wrbK1iJc?r?OHwp85_fF zS2KSn61Qim;>;~zKm3AE1-s0PlI&rwj^shgg8Pw4K@#Yl02nf$^T%zI7(if-dk5t4 zJ1fDzyliY!f)T{u*k&0=ZnT7b@TnxR1#`O<2c36~3It0U&q3iL?!ccQ18{eWCVUo* zOF=S)GQrfyn4N<)xe|Tr@r?ARQG=siPsM8V`fR4pBE_UlZ$Em*4~~0rhR?-n71yc7 zxSn@^-@U*YiAczPo&FpcDu7N43!-c*W3j%b5aWvhHIL`8#jI?T)g18ba_{$aY$Mq% zQG6yAkhL?KX*J1|DtwtKK(=GzsRU&Ec)1)Tf~e2n=aWR#0c3nNOe}E(RUa{nGt8wq z?wZs);mz7j+{~e2fyXzHL6>%d$LFsY9v^r?@PLk!Fw~X7gI=u<PiRcv-+K`tLiQQw z2T5pOTroxlz0QwM-|31D`wO^HH&FZruK&c9fI@^vVl$E`C<5%p<VG;MP6f~f7?c86 zCO1f8ZXz9*8`$wTh%`d}kf5I2&?D**5_|E+BDYrcNgZ2w_=2QBE4Qb$-e+qu&c_E% zL_UD3LEmY+x*cW392e%N&Do8zr2H?Fvb&M#$nH=Hh#Dq#*9+<Cm@zU2{7v26g^VBa z$jHskHYEO0PEUUDIhJch!<wDRsl&(-a;iATN~=Onf2rV=k<;hcU_PVQH?liC4X2nG zx4(#f=}bJ5WMlJSzl4&%MdFo_i4%|CxCx}SUOm|Im6{enwWs2BMjI+J+<+;q?0=7C z#PYW;c{Ek}I(BmpJOr;Cb~KBsbd+Q7=dIuIWH)Kb$+Eg;RJH3V^BjUG!UXt2tQ^Lw zLspJYDzO&9{M?E0d$Ag&NR4)Ha$~G?f26ek1{i?!MFGmnTj;OJdZCpo!w|V<T*Q7A zx#o2dm;6M<n)kvn-tYr4#h{>vGZ7lGDpEj4V%k?}?u;86u<E&3Zk!dHJ0mw|JRowb zW_o-)j^<DRNuW-|&UU<lp5s9@yAkPiH{L~CzZ6p4L=(B>kBRPZj#p@Tg!uMx9<ffm zEkR+IB(@d~g{VA2d%S-O_XR!UR!Jwkb8Fi`6{(CMJFAUVw4oQoQqFNu`h6av3N3@u zSau>cy{#EhPGg;Nj>z?~u4_hzsoNo!a?Wot8^fry>Km^Ty?8fXRt(c-W_*0l#wRjy zG8`(vN@-r5021dy2x1%jMCb;w@+CfpIAVeL>xPZrMDgzt8=;k|u@T}T%yHF`7$hAf zU;xS(A}H0xPW=Ef=+giZGOEErQ3<Dte93`IkK&A8LmS(TkkhyqA;%;xi0l02$wKNS zy$w-V54*kxlB{FsRsy!+4y&Gf8sAqKWI-41WykJAGHL&7q|NR8D9X6Fq=870@W6Cz z9Et<N?p8f`?8Og)$xT{yiH#BRe&9swAQrvaZUp=_T<?R(i$(ji!r~W!B9YpJ)e-f? z+f(ZsXc~PSr`Cw*7Y5#^aZN}0IN3hfT2;~fLj*@hZ#nM@V^P|PBo`Mf&VAy%si$N0 zF-u8POM$mgzbN&|X9Ww}Pzm?`UaUr6P-DG24vWzlYg3gF@x_NCgm(o5uk=F$epn_B zf{vR@YdEYoOe7QRB3t=(0$QBQ37%wpGp-vDAJIXi5LD}_gWp1<yNH+xWVErv;07I2 zK}?YM6@tbQe>D@^UbKgGdo&FstRLZhj$X<h(cEBOrlsPS=5J8GM<(Y|D=c&@hu9;p zMdUz_^+_O%6DdB4D;)L#Qh?CtL<-y`VLNf~r^i|V(l8a>{(h_`v_%A)84sK7pS#`j z4C|-o9sK}^uR9(hg$0BgHFEsGM{~2ME}~G<V2o{1uBXQdYJ$n3?iR6VjwGQY)<!6b z!~zj{^xJ&Q^?=1fHxXFjP@%sfsJ*?R*RjGON_;jc3F!b(R3ucGqD<~@2dJ%>&vpyQ zPXWbgpAb+;{crtpRImpnwt~#`VxLwF$zy$(K#s<OKZHcV7JTP7P$TVHOIcsW{q`U< z{}p`wF@1KQx)#CjT?l?hM5hGgpToC_8IXTY0`gzRbq+rD&|R|bLmLNV7Tk!mazIU> zm2zt<m@@iJ-Oh#7>2G?0^AWTq0A^cq-*#_;ulma7=ViV5dF<U8c9$m^JEVo8C)PwX z`k^$BE>UG@{~VF=^GFafUvZ5GUE_pn-0d1Q*Er@HRo6Hwfpv)|yGFw`9<V>jDnHBQ z6HI=FNf4=ajV0H3Q#0IGU29lG%VQFlhP3xMqLf>9KgUA`kM^mw{ky!$?;%0{KQRAg zo&S%_e?{kipZTxq{9Vj{90`K`|AqNKWb$8`{1KBsMuJ=XC+7bE37QRF3;F2zPp}MM z66b^0ME*bX{MV4+7GG!nzcFE?*Zxx`E|S)j=OK5-6@hkiX)TEL=kAVj_;DGdz&8)i z)NQ>MEq?t08M%mE*WVoQB!n3Geng!%kp1tOe4a@;NcJ%IJ4oJ4Aux@M)-DW)>)qcu z{zyH8UkHrrpgQ%64yrS3&Kc&^M$|<?AU)4o+(8~?)5)!Qqwg6g!9Zf9@eo=3iNyE? zWTIS|FhAc19xQ^7kE4tpWKO!=bWQ^a0glOfU$H94>XEQcFl#{3NQIjr@&(uV%Trb4 z{j9f5L84VZ9`+$Tubw(0Y}n43Y{Qa4EX=#+>x6W;fT7hw9gV4SjhCZ}-wr!jHEr!@ zCbWYn1_2xugC4`C#u)1o6#p|^f0F3n3&jI1#6`pk(c2m%meECN-HPe<ME^c+)I#(T z>sy|ZxL(8{#$Sa*P!^ck&j<=9L?4S?qw>hfc24v`8C}t{n_?5A#d`HE1YAd{sBMxH z3xl(xz8b6F=TB5#xBh`xJ$!bcjb%brkW>Aza0k3eoYctnr<e$)LaTR2BtYTKy>A04 z4WT5k+D13L+HIz(P+qwQyz5DXwak^&<At4yx6GnTTFGL%2rmB|x9tYWZ{qs1gyfCL zgyt{>kQPG`P$mGX%QO>v7p>1p?ScANxIKs)xLabwgfoT-${;|}_M>M0Ac{Z6_Yu_K z7~hA`Y8c!N0)YxnGX`GzH1K0ld%zZ>eRR7xtN0IM^@DKVy7g)HCdU0@pxmg%E5P;5 zUOkr68Mf`A8e6;V?rD`H8<BOP!X>b}Vd^h%{a1;pgUH0ioF83_yIOSAVFxD`c5jqd zUdEG1wf|Rmvi}l9?mP?;h@x(Y`4*b^{g(_eE#k60Vv^r2OV~$$<EhNs!PnZB@kjY6 zFS6EGJqcy$>-gqQ%zjd|e(>2?kvBSE_miH4`osomXnSb^GN}Za^sQKp_A;&AGg5uh zPD?&pR2I?~%EkgjA0~mX#0JyfUjIc_BQ%qm(>KW?UlJ2H-5oz+I%n`r<s;fN*IM!} z>>uGxE%FUAy?`@`xllmSHVbrZvT}>A?O3t}H`>csPo<I{zC$pF0}fQCVGuwoP91Sd zT78~UJ(O5k!B0=edL<#T+asFZ6eu3(R6+EJEZt;;fJ0Mle0u8>9+HnMdhu94Etn<B zdn9~G1F#mm#z3VGA8|<S)4JW{syQ+4a(?)zH8Nolos2x_)pl{C(62}1uBR29V&MgV z(_ro5w|i=`i%ZeQf_nveQ_u7YktR;TcX)yJi^hj|2J3<3+bC`znA4a*CbYXWNZMLo zGU=FbY2FqG#}zS6d!W4R8iIHfbL+W=Nn!G$xrX1s&95RJesI^YHJs6&=>M!;!(gp$ z%%#+>p*Q#;YAqo+Lf5d1Y=9-R7vzc#hb3f98|fi3LnMXB3=tQhL=l-0m`e6~(&Mjj z`$I&_OX9V)1$lc6z3jCqOrB8Yavk5)jpD+lGJ46pwzd>X+Cze=P*ttxwGo@gh^ZIF zYfC<1i`Dfqp03Pmdy(;Ef0q(WL{UNtZ5%OVe)W<erp5YhkC<oi5U?AQHtxGTZ>^J! z%OzDD19Lo^Gx3E~8OFzusaU@4Y-CQ3p{=UxMZb?q-wxUb;YWPuDbyzk4H1<U8?i>C z8)PQN#Y2J#ImzdG3e0+1gb-LI{mRHBZO~vqT<lI*on2g#B(sZE6eCv}H#m&H#tf1u zxg^YY5NF!WK)Mb@;sQp_?2HaRv@46XMCkI2?($%*6kV`LaI{@ly$(gX#U|K`A7(EN zBcpps55@3H7{yF-&bq9X@?5oeKjcuIf6@<skIZ~(%{co6R`IY$xPA<SD>6J1p25my zZ@|RhT0r^kCS&t=Vjwk-Z)GAR+BoLqp5$7qL5%VbsnmO9(@&H+i*uWBE~SQf4!<_v zo|1ZOU)D^Y&OZze#=s2jB5T+Xpg=COnnCC^Yk&Rhey6aC2tEd5cdl_Lxpy&zfnoiv z={_BMKmBP8!y1cy*dC=MtKSU!?}C!pXaV>2O5!XHuzvZ*^awtR{+Q+u&ewjP2x+Dt zdrZd;B$#F3)J9fB1Zwt;sGv7fc>dDm%a`@Cp6A)hF(epGyqWneOlFw~I>;~Xz+H`o zX>&=<J+_VIORwe0++2Oda@?GaxrU}jk?7Q)WL+`V$Z#0HyqYKWF=2}{z1B*tc9?bT zALYq%kjNO}=kW8V2&n6kNy&)cFy=+mwd0~0?ktr}52W=L*Bm+IpZ;_w*f6m)uVppR zm@ze$o|+t+atpJw7M2ao&br0f*`>N#sWD%go#kFC-j$x&S%g_<XYE~l#xW*@r_JF@ zJ6uUEFZ&qJ%`vGkF`3LWSzz*ZCd*7tGdaQJaVBS&C?-uN?__e4$tsg~F<E2s1e2$j zJjvvTn4D+w9wzT)@-&n8Gx-3MXPEpjlMga!FuB0wBTTp%iv43uew@j(OrB%nFtM4` znS6%HZ!nQ5gI{9qi%fo#$*(c_EhfLs<ad~G7|-UwiOop2{VgVc$>iHizQN?LnS6)I zUorVElRsxd;=BE`vvajdqcLaJYUukiFEAN1>}#0c!(;@>7W_3nilop7NDLN+3ilR| z7jlJ>!qrImH;n&-g}sICg{_4?{NLrJ1ClQmiYPmRYlHH8sIaB5t*`_6p~CLMO@(q{ zw6Gcfcc2X08OPOa$ZalMgX5;cPF#7l+-*DVup7U5XXZB-2IL8+#;zi~POdmBHsEEa z`RExYStRb@a&>uP_Hm4@)$NH!^{h<+Xy3+5eRK6%O)q0>*kFg0+dEgc8cxM>8hX}F zFUuC0^f4(h>1PtExFP=Bgao**TFWa=1MBH3OEzWoOm5b(F?_q3W!}Ux`TB`P+)*Ap k>~)=EpSy+IHJ{vJ;FoN1I+8B&KR9p*e2FD+^1G1vzi>`YApigX literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__pycache__/_utils.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__pycache__/_utils.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..447b5efdd607bd3accbbd5bce758fcabbcd0e8eb GIT binary patch literal 3308 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__pycache__/constants.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__pycache__/constants.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..525433d39df80e19b66ff08cdcbbe73205e89444 GIT binary patch literal 66454 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__pycache__/html5parser.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__pycache__/html5parser.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2481266e99c7db56e17dcff17552461f69831ff7 GIT binary patch literal 99787 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≀!Gn|Q<Pi{xaur(Td48& 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__pycache__/serializer.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__pycache__/serializer.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a3ad705b367a79a556a54c15aa5abe7f33f31ad3 GIT binary patch literal 10956 zcmb_iTXP)8b)L&&Z&)lA7vjR31|UHI5((%+$u<PSq)1SgNEAarqO=jc7;HCyS<KEZ zduEAC78Wc>wqz$V-{SIvqenZHO7ag}l?Oef^aET|sZ<2Joan_5P99u*Nxsv)S1d%Q zQU*CaJ*T@*pFVy1^ttSFJv~YNtN(fL(<_?xYpvxkg8EfF{=TkhOk=vM74@uMG_pp~ z%$hpE3^!8j%67@R=|;0rz#?v}7|+IwiEIM!E*5o@#qMl(F_ldfd$K(e76UAuO&5E! zy~Rv6BVlp3uh^gMFAih}B))_@SUizEfqJqq#Cr~O);+9chk3Lx!cu&ASYtiI+JT-O zZGogE<fNlzPw~^N7h}3MjqI82eSVhr7M?gj{~Ox9@_R<s%8v0f;y3&>ACtWz{ulgA zN)vymK{A^W@rV0g@G;i6X^JlzP~)L4PV#}mIE~AWd2xPD)%X}cwHbS;`<J;@IDepF zjKxp!v3c$O7k4$*&jvo!vJ*Vc2KmH+fmNMmLu~j%J$vD0jg7F;4>dN*ClAc*6uwWg zQ}{l`r}6zHGncgKGhflxOq*e^z3P|TO2BhYv0M^C7-!A{$9GCzn5lS9zQlOWbpkGI z*PqtIM8LO$T(DE-x2BCSE%>_QqcO*YD2Z@nyXfXOY$5oX;APj&bJgH~g*~U)QV&WF zTXcDmdx0PJt(HnIx4mmYAe>du;D^0_8KbTPhn)vrA7j!Y&+Nc%jEZBd6FBJHjp-I^ zAE2f?5S(w>?k2{C(Oe~PB*{_k=j}2NwcY6W<dyk_l}GwtJksw~a>N1MFe6>jSUi#J zPW7aFGkyI7gC~ZDM@CPcI(_Es6V~j?KY#Y+Pxrt4?9(ql`|;ua{^9=j4);Ge+&?(n z|L}1Cqr?60AMXF)aR1}O{Z9_}e|Wh6^TYjL9Pa<);rIUb*ZceTDkSv({o`N$@+$+C zNBV_4@qzx5c;a}j<MGD<4YaBj=z+0j9FR;5t!sNa9)sz7=Jv;dS=9;=JY9IA9~q-c z^1Szqy~tiy)f6|W-~G!~*=JbWiw3bmT#ktb2^v$4GGka<Hx6_)T0BILr0SvC6nrnn z%stbK2i?`K1AQ-6H43R}>_FGG`<L%(+ux}gkodRv;z3U#U5%qhqM8u@S=9?E7NK5L zt0rVEQRrpB;r~{)q6Qp)FYD1DLt~l2G@5k?tD!c?b*#`=)em%{c+FVSg8nMnmY^FT zv+-Lu#R>3hSq!0kq`$Zuy>M=O!hccp<9m7_OhRrwKd`+#5BuLz!n^2^2ro+UJW+!! z3)}NuJE(yZ+^ZBJ-~kV#rPTt@2Vobm;4GNjV<H3OVXxyaRe)q2y>8o%2+gA7g(H3| zY`JtDQ<Y1Ohmj@0!l+#?14G!K<B|%zAh|oaqFoNnb&j)!R)5P0HbQfQZ-<cr#)=p% zCW*PX^PwrYpH0#VBw9a=_?u2S)SXbzhh2`xFe=e#4vjq8_%Af^EHUVl*^N?>&la8a z3U@C*|HAC;9Xg!F+oD8^^zj{Rl)SfZ-+CFV+Ol_MA8_x%tm~}KmSxLxGcU~gIQy4y zCO7SM?$4H;@}+0KHS_e$bC=3HXrAHg>ja$5VJIt!*^Qv+K2I2YE*#r+cDa}-?}Q@+ zSF3MV3{Qek|7jGOp3x)npCwB}PwM0Ph#ocKdK&d4pj0OHlyO$i7~(R<gnb=&!!Ay0 zAa4>*{6+Cl{m=0D=TQV&K_?O0i{P+nRr6CF2dJxH($Rt7;rKz+bo(bbu}k$e_*SsN zEypWY0xKwOa?kQHiCwfR5V&>O=$CokS#vnEnp!BCwD31)i*+@2PWEg=5R|M2r&_ub zj#}@APQ%QYkGJ%aQUwB3&-zzqzs3wAS1JeooMn4E7HUxPSXs#`+rE5bk&<Fbb$Mql z@1kLDrM{;#O*}KNEWh!3gFRve3$p_YBJEpwFec!vMyB9FMR=H!7)YyXE|*!hZ`s62 zEJ1Z&+_sBlm(QuMg@pxcO_YjOg8*46+X94G>be5$_>xq2c5l*K@7;hjM#$aB)wc7B zLN_%zPctpdua?-(!hCt*6=!UIw!APus{m5U7bd40NE&FTTG3s!N<}9imV?o@n+xo9 z|H@6=qg;)w&$7X72HfiP_$d`*rX!*kk{tGc;mhFZU3uq)>Gn+tqXK7=i|Ht73W#nP zp$#CV1C0TmXL}oTE5Qh(>h=tEUuqClJV#R{8eQc<qEn@f&}kIkMlDaD^}jSKSMm7Y zMZvYK&a|w-^sLE@Y=oKFE<8~@F&4?j@lN2K#M6yBE|F{x-f6sh@nqOowvP?4K^Qyz z>;xOadw>nI5xfW4xHN3^><M-b=Fb@zKSS(1dxBZ04YN_4;|cLi5D`XQzHaAt9_i!D zH^aXBl@iPy8%9U&f$dgcNF)`Av|~7cGnQNBevoSc_IK`NcnUXwQ-p@g)yx=)vS!B& z5|%*NjtfTTU|~6|;)iFXbpz~cC2>r1zp_+vZjf_4iOmmtYA|I4g&AB3CHDdBs=5(0 zY`f(RdzA-H9x_I&s*y0@c%<fYMIP8WTAGg=Cqu`roZH%fT9?Fxao_e}PVMrBZ9+y% z0*~D3T~uJ3Kw*-FQowrzR!Lw$QR+;GRr_p!jSV6}7eNkmy30S%nOW60qv9%qQq4uT zr)VVXhO>KS5UWDz!U~92O|nd?<^fdh0qp<#uiVwvF-H!<fU=u)VFRP~OE8sQB?{$j zVztY-Iu9*cwqwO}*4+&b<s+<;u)GrKZzyBxCRGwK$Eq=BriqO(-r#F?#f3)0h?SLP zQQ<2qEnTEq?+~TtbQmRDt;UvEO4^jJWF>DhXlPrSPw@K{M{qd`LSvOdvyxkDRg|`H z0IgNNVLx!Nkg1iGan&}yvNC<q+S=gWambjpx+B*~RuQuWlOyS_QsaQic5(Cj60WM$ z(z4D@Ry1dB>DIyyV&|Oomd~wq2WCNy4Fr`oy#?WKVG1z`%WXk*%#155SfZ2Pu(ll6 zrCZQqrOK+Sn8kgo;<+4mScBDVypU|S@+B{@VIJbjX&rkJ(on;lw}F=~^d??gG;c&A z3p2A8O68(E4{cKjnlh()L6GLL7EJjVQvH@0I(Z>4kWNW#Qxi=BAceJ=8~i6@2A8$R z$yO;rrrMaLdNVLO*Z`ScNfd3@;x(784p!Qz3HB@48{2Qg<Oe%0|NkuIsETV_O|8-L z>>}uIEXu0uL%Fy%I>-pOVJ~><Ae1U1uS}5{YZ*q#J8!&hl?7*f&GCS-f#-r7yl7om z4_<6Tb^!(oz$CPI+2xY|q6Hy=0NQJ7P%6M6Pn_e!&<XyiU>~nlj_T+m3@DZ!kQr69 zaRor<yE|49PPCL;zkLguYJSF=THXLr`BD*!^?jTfj3mLY-2)^FFvgVh%bTHX-Ec;D zIjC>{$_kJ`2B#mVF~3GoA9HKYSxXxTL2w+>+LhWoCQ=QPK4~MXQ1O)>ZyYD3WG_l3 z!)xYb&7P#Qr2giWDbF0=h7w^{#_P55h4vM#axjehbAJrOkzxOrtK&EWVa|Hh%exgu zyJO|ulFu)}Xtdy~`Z!){rLgI&(i+Kf8z-d0YEf@AQk126IH!2A9PBi|w>E$nf{x>l z?oPYNKsm2EjB#&z##)?NpCOI4A!ZlaG!AjGeT`qU*^jk%=B(QkBBHg*elXH;rX6?> z5NTy2wJnic2x1Ckw8j$BqjC|-4@13XaalEsORb>|i(HQ-7i8U0SFVpm9=9D=I*w=O z!aKUiJE3k<L88gtl4q^r`SuzoGo<2edZjIot|T1w3S4pJ=aeb|%=DQya+lyT%^l;5 ztvN2m$7bp?iJ6-c(rTh~Qu{UA)M?$$S#QF3fpdm1$ZSniY8MBoySh*FSoMB9Yre)@ zox^4zW&$Ipag^neUnRdA{A=2{;2^p^cIM7y3JSdKKAVGK4VNr8HEpfK7PLL=1>c4_ zM2dTp?`#1#^!YmCL0(`@PWY4JItJdnHJu6*@I`l_n_xx9YR+?LBB&82mJtqB5vB;R z!OwzH72*a4hB0)f1&Imy1&58k!l;awB1%cBJ|9d+5ZK}FS{U8j!t8#ww@Frx0AWNT zp|DPiQx>l;=LdlM6a>@W?AKHJpdQzwc%MbNJKSzD&(z1{DI`gM^fvL(LVb$Ikhve| z2Zo;xj1MRjXNqwc>=arw8Q@E3uZ84{TjF_)nC=oIc!@3)Vfq@b7ePL+<cXLkU{poG zrVWvmpR{go{fL(-C?xyuczg<tYKZ$p^|Y~j;>ZdVsy`L|?_#D_`o(tukVH#zY7~nV zf*#?2N>M^bJRkfAI<(V$>R7r}?^}6dIsMVLkvpBo<NqGMSJi;`gZ#*zDZL?tq{P!; zJxat&P1h_&_9BS0MyfJcwMQG&C0>(l(PkS0T+|X1Ot!>3S`y;BvL)Hk(k*@>TT<;U z4<p-ms_^0-M(({rAu|>kMVuM2W8_2-v0h<Oz+x25Mbx;9#YZ*qZ`Bw}sQQrh4Zyt& zzLIG99a_2xqP{WyHB~G0uoOJYp3N@6o^HU>4cL=dRhn`!$a$pq;$DQM_Ts>Xh_dQk zjjx$%HbDF299p55V%TqM@G?IG#m{d>f&FvT28eclw`$`1pJe$nU>O|MK*x#3oIjIu z4#}vtR-iSYhr;I#qAe5j)nP5OyntCu@q4s@D~OYW3N~6zkcUi^R1-lzdKd!xT^LAd zRAVO*d(VIlLm={vb)KR*AL`pbtx+|2pkW8}dmq1NAoic!>)uOMyZ3skslBwsf4YX7 zR*W2%oJT91Ang7J)t+FeFpPOekhwCDT{3X6C5)YEgAt`?8>2_r6X25J|2#NZRr`Q1 z@eiQ2*Sm^YN1-|i@-M-u!fDw<+f1PCylfkjZNCl9w6(>9vuvCq1=V!n350LX9~g24 z7C4rcunBfS!g>KA{*PgowZb^QmKl0T-p;cWYB9i2gDfDES8Gvys0B5QjI%W8Foi2| zr`aUo_Rt%%r`S|&_Fl?L)OePmmDK7DI7ZO^*IFJL_s8$jKAw}*{0433F$cXT@ctFv zy=+=xkt2KAlMS31)~D)HBA)_v5%EGpR+MZ+#31PbDG?Dt{H#fY#C)+SOA^N=iDO$y z%3h|Lfeg>oWH=&L<>=X(4EHiRTae<qG)fH5NDTklq=G$*TvA`PFSr0MN5tPr9M7qF zA;DT<641}lJ|){f4=z;uAnO?~&Ms3gP(hNIX{;10Q1cQU_di3%hcY|gKxT(jJ`#*k zWyT;@iAyz%-6-X$vYVP8yYc4r<#%r{S`)Yp$@>fAWrP5n{Hts?W!--3rPp7*ZjDd) z<A`YOASYP_JZ3GuyR^LchPVdg(gb*<Pwrk@lI@lQD>rb~U~)8K1FNNAqwWMDVA2*T zXgZrd5Ks8@?~%R`Ca>2c8%SR+wWlw`2&FD}jrrN#p|_fr#{8@WqvraJYs=Td_!8Mz z%l3L0UnDynwOw<5!e8Efs%1oe!*LrXJ(>8n8eX^RAL*9Nf<4l&AnhbWIxs0<*odoG z`tG+o0##O#TqjspB@fTqoHeONO<uGnX&m0LR3}xCX;Nm~cDtna`$(VPjgWVY?{m+6 zi?VRi9o{vp*+=?p7+v%jEuw3FcEVo>W7kVC>%CytxO8cEp!U(^IDm=yu}haG{7aV> zvKUJlGBHd<kEjo@S_bX}e6e*8fl7wyk@dsPT%c{;M1gvd>K@gn)$RQb0p387JykcB zkBNwiRqFOSbvs+{)@p4wtx<7{I`!8(HC<=%CN=cc8yXh5SS0vh9bUJY;dDWQ5p7^$ zx)D`Zrjm^T(&`X>R7+9u8VUsPA<(|KNdUw{HDykA1r=mV#7hLYL)`{c%=%hA2)u-i zgpG;tM}8wbaisBe850kaZ&M6h&L75V$vN>Vp(KM)TCswn!Qy2qUZJ9g3W^R3iuF(T zE1ND!*#(tAkQ<PVBZw_i_man9m&}a_vU9>1Q|DUE!3m`2!UQopM`t^mlvNqI3-!%V ze~_)k=m{=d8eqa+KVp%|WW?{#=>H0ZW<-%Rj2cK8>d6Qh#Bo!W(l}Noa@<J6Sf-?6 zT<=GX>Vx=~#JGq)M9D{t&*&!s={JT@kK=0)7@~ljMV|=90>2!ULO+@zLyr*$JdPUm zjmt5E=$!<{6rd@*`{kVUO|#J43U7aHo+KzBIJKnFH%auEyCX*o%Z3y+j7k%$Cu5wp z&?l=EM&wDR7w{7UC}cyKjuftk9d9(D1d%ZMiAcou;2JEo=Rje%Q{Gdi<;Wjz?m0A? z3L#0$z8OZ5{&2HfGZUyph2l;P`j3o~<~7^|HAcA%h+C-a6%B;b-ZG>u*Vw?R60*&1 z?KwtrkvkHH^=zTcEncLw=5iy;)^N@{Mzy3z>j>KSscmR$qR=`v?<kXw$0Qu<B-i+N zrJcU1NtyqyB`52B8{80>tDUN;PUpWhN!f{EMx_;})ckE3&uNv|q%mKg-0WOeb94R+ zqN>S@?AEj?rtlF)T>QdF9&A9!c@+CpkXL#1^nVMmEjaqVOivEd`R#BX74eTo-g)O8 zYw^yVH}6<)EG{iwdwJ2iwYYd=@kX0lNv^RxLMKtd!KwXpKw3VA7z#{ey2yUfZy_Zs z@0)W(7P*vRx^Z%(Zms)~q`HpMy$#sI2HnsGaNEzc?^08^6t=X|`b3;k(RA0S`=P0) zr530ALn&*z<m81YZ!&pn5#{t>{19!^BOxLRq<(X`Fqz90ORVBjJ(a`NVY{m3PcyOj zb0X#*73A~_dGk>!S<og5;z$dZq~A?>XqnF4K*fInMcgFy8&PHbUH>xRV%7ddjQG3p zSUi?|UrQ!OC5}9XH~zqS?J6Fhe(KYnvBu__;zt0(8lm41k=@ofOiH!T-v1SPh`*-d zQxst=m%{~@%N@G}!uB_`+mvUGV*wIB<b#%UYx*f-{aOV-n*i$tNuV&Ppx$9Gerq#R z`>oB4?`*4xiy`pKCHfUm-WMeL@+U;}yCC^vsK8hEx3n9&sX0Z3yu|7Lmd8#0pg{iA zDVxEs>JV1krbqsUP8lO~7_%csYzQ(i$o%!g7y{*G2iC}663RU)&Qn2lNj9Ey{9GmP zUlyMbY=?@EsQ5k=V^oZz2xE@#mbSQ%KkkudUYw@JZ&G7oQRW~JSCR}nj<;caUJ302 zZK+Q>Vvw$OBV*8|j%yj$J+4tbp1`#Y^^n1rf$KG`3;-i##?L0r<eAL-+WXow{|gH% B_hbM7 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_ihatexml.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_ihatexml.py new file mode 100644 index 0000000..4c77717 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_ihatexml.py @@ -0,0 +1,288 @@ +from __future__ import absolute_import, division, unicode_literals + +import re +import warnings + +from .constants import DataLossWarning + +baseChar = """ +[#x0041-#x005A] | [#x0061-#x007A] | [#x00C0-#x00D6] | [#x00D8-#x00F6] | +[#x00F8-#x00FF] | [#x0100-#x0131] | [#x0134-#x013E] | [#x0141-#x0148] | +[#x014A-#x017E] | [#x0180-#x01C3] | [#x01CD-#x01F0] | [#x01F4-#x01F5] | +[#x01FA-#x0217] | [#x0250-#x02A8] | [#x02BB-#x02C1] | #x0386 | +[#x0388-#x038A] | #x038C | [#x038E-#x03A1] | [#x03A3-#x03CE] | +[#x03D0-#x03D6] | #x03DA | #x03DC | #x03DE | #x03E0 | [#x03E2-#x03F3] | +[#x0401-#x040C] | [#x040E-#x044F] | [#x0451-#x045C] | [#x045E-#x0481] | +[#x0490-#x04C4] | [#x04C7-#x04C8] | [#x04CB-#x04CC] | [#x04D0-#x04EB] | +[#x04EE-#x04F5] | [#x04F8-#x04F9] | [#x0531-#x0556] | #x0559 | +[#x0561-#x0586] | [#x05D0-#x05EA] | [#x05F0-#x05F2] | [#x0621-#x063A] | +[#x0641-#x064A] | [#x0671-#x06B7] | [#x06BA-#x06BE] | [#x06C0-#x06CE] | +[#x06D0-#x06D3] | #x06D5 | [#x06E5-#x06E6] | [#x0905-#x0939] | #x093D | +[#x0958-#x0961] | [#x0985-#x098C] | [#x098F-#x0990] | [#x0993-#x09A8] | +[#x09AA-#x09B0] | #x09B2 | [#x09B6-#x09B9] | [#x09DC-#x09DD] | +[#x09DF-#x09E1] | [#x09F0-#x09F1] | [#x0A05-#x0A0A] | [#x0A0F-#x0A10] | +[#x0A13-#x0A28] | [#x0A2A-#x0A30] | [#x0A32-#x0A33] | [#x0A35-#x0A36] | +[#x0A38-#x0A39] | [#x0A59-#x0A5C] | #x0A5E | [#x0A72-#x0A74] | +[#x0A85-#x0A8B] | #x0A8D | [#x0A8F-#x0A91] | [#x0A93-#x0AA8] | +[#x0AAA-#x0AB0] | [#x0AB2-#x0AB3] | [#x0AB5-#x0AB9] | #x0ABD | #x0AE0 | +[#x0B05-#x0B0C] | [#x0B0F-#x0B10] | [#x0B13-#x0B28] | [#x0B2A-#x0B30] | +[#x0B32-#x0B33] | [#x0B36-#x0B39] | #x0B3D | [#x0B5C-#x0B5D] | +[#x0B5F-#x0B61] | [#x0B85-#x0B8A] | [#x0B8E-#x0B90] | [#x0B92-#x0B95] | +[#x0B99-#x0B9A] | #x0B9C | [#x0B9E-#x0B9F] | [#x0BA3-#x0BA4] | +[#x0BA8-#x0BAA] | [#x0BAE-#x0BB5] | [#x0BB7-#x0BB9] | [#x0C05-#x0C0C] | +[#x0C0E-#x0C10] | [#x0C12-#x0C28] | [#x0C2A-#x0C33] | [#x0C35-#x0C39] | +[#x0C60-#x0C61] | [#x0C85-#x0C8C] | [#x0C8E-#x0C90] | [#x0C92-#x0CA8] | +[#x0CAA-#x0CB3] | [#x0CB5-#x0CB9] | #x0CDE | [#x0CE0-#x0CE1] | +[#x0D05-#x0D0C] | [#x0D0E-#x0D10] | [#x0D12-#x0D28] | [#x0D2A-#x0D39] | +[#x0D60-#x0D61] | [#x0E01-#x0E2E] | #x0E30 | [#x0E32-#x0E33] | +[#x0E40-#x0E45] | [#x0E81-#x0E82] | #x0E84 | [#x0E87-#x0E88] | #x0E8A | +#x0E8D | [#x0E94-#x0E97] | [#x0E99-#x0E9F] | [#x0EA1-#x0EA3] | #x0EA5 | +#x0EA7 | [#x0EAA-#x0EAB] | [#x0EAD-#x0EAE] | #x0EB0 | [#x0EB2-#x0EB3] | +#x0EBD | [#x0EC0-#x0EC4] | [#x0F40-#x0F47] | [#x0F49-#x0F69] | +[#x10A0-#x10C5] | [#x10D0-#x10F6] | #x1100 | [#x1102-#x1103] | +[#x1105-#x1107] | #x1109 | [#x110B-#x110C] | [#x110E-#x1112] | #x113C | +#x113E | #x1140 | #x114C | #x114E | #x1150 | [#x1154-#x1155] | #x1159 | +[#x115F-#x1161] | #x1163 | #x1165 | #x1167 | #x1169 | [#x116D-#x116E] | +[#x1172-#x1173] | #x1175 | #x119E | #x11A8 | #x11AB | [#x11AE-#x11AF] | +[#x11B7-#x11B8] | #x11BA | [#x11BC-#x11C2] | #x11EB | #x11F0 | #x11F9 | +[#x1E00-#x1E9B] | [#x1EA0-#x1EF9] | [#x1F00-#x1F15] | [#x1F18-#x1F1D] | +[#x1F20-#x1F45] | [#x1F48-#x1F4D] | [#x1F50-#x1F57] | #x1F59 | #x1F5B | +#x1F5D | [#x1F5F-#x1F7D] | [#x1F80-#x1FB4] | [#x1FB6-#x1FBC] | #x1FBE | +[#x1FC2-#x1FC4] | [#x1FC6-#x1FCC] | [#x1FD0-#x1FD3] | [#x1FD6-#x1FDB] | +[#x1FE0-#x1FEC] | [#x1FF2-#x1FF4] | [#x1FF6-#x1FFC] | #x2126 | +[#x212A-#x212B] | #x212E | [#x2180-#x2182] | [#x3041-#x3094] | +[#x30A1-#x30FA] | [#x3105-#x312C] | [#xAC00-#xD7A3]""" + +ideographic = """[#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029]""" + +combiningCharacter = """ +[#x0300-#x0345] | [#x0360-#x0361] | [#x0483-#x0486] | [#x0591-#x05A1] | +[#x05A3-#x05B9] | [#x05BB-#x05BD] | #x05BF | [#x05C1-#x05C2] | #x05C4 | +[#x064B-#x0652] | #x0670 | [#x06D6-#x06DC] | [#x06DD-#x06DF] | +[#x06E0-#x06E4] | [#x06E7-#x06E8] | [#x06EA-#x06ED] | [#x0901-#x0903] | +#x093C | [#x093E-#x094C] | #x094D | [#x0951-#x0954] | [#x0962-#x0963] | +[#x0981-#x0983] | #x09BC | #x09BE | #x09BF | [#x09C0-#x09C4] | +[#x09C7-#x09C8] | [#x09CB-#x09CD] | #x09D7 | [#x09E2-#x09E3] | #x0A02 | +#x0A3C | #x0A3E | #x0A3F | [#x0A40-#x0A42] | [#x0A47-#x0A48] | +[#x0A4B-#x0A4D] | [#x0A70-#x0A71] | [#x0A81-#x0A83] | #x0ABC | +[#x0ABE-#x0AC5] | [#x0AC7-#x0AC9] | [#x0ACB-#x0ACD] | [#x0B01-#x0B03] | +#x0B3C | [#x0B3E-#x0B43] | [#x0B47-#x0B48] | [#x0B4B-#x0B4D] | +[#x0B56-#x0B57] | [#x0B82-#x0B83] | [#x0BBE-#x0BC2] | [#x0BC6-#x0BC8] | +[#x0BCA-#x0BCD] | #x0BD7 | [#x0C01-#x0C03] | [#x0C3E-#x0C44] | +[#x0C46-#x0C48] | [#x0C4A-#x0C4D] | [#x0C55-#x0C56] | [#x0C82-#x0C83] | +[#x0CBE-#x0CC4] | [#x0CC6-#x0CC8] | [#x0CCA-#x0CCD] | [#x0CD5-#x0CD6] | +[#x0D02-#x0D03] | [#x0D3E-#x0D43] | [#x0D46-#x0D48] | [#x0D4A-#x0D4D] | +#x0D57 | #x0E31 | [#x0E34-#x0E3A] | [#x0E47-#x0E4E] | #x0EB1 | +[#x0EB4-#x0EB9] | [#x0EBB-#x0EBC] | [#x0EC8-#x0ECD] | [#x0F18-#x0F19] | +#x0F35 | #x0F37 | #x0F39 | #x0F3E | #x0F3F | [#x0F71-#x0F84] | +[#x0F86-#x0F8B] | [#x0F90-#x0F95] | #x0F97 | [#x0F99-#x0FAD] | +[#x0FB1-#x0FB7] | #x0FB9 | [#x20D0-#x20DC] | #x20E1 | [#x302A-#x302F] | +#x3099 | #x309A""" + +digit = """ +[#x0030-#x0039] | [#x0660-#x0669] | [#x06F0-#x06F9] | [#x0966-#x096F] | +[#x09E6-#x09EF] | [#x0A66-#x0A6F] | [#x0AE6-#x0AEF] | [#x0B66-#x0B6F] | +[#x0BE7-#x0BEF] | [#x0C66-#x0C6F] | [#x0CE6-#x0CEF] | [#x0D66-#x0D6F] | +[#x0E50-#x0E59] | [#x0ED0-#x0ED9] | [#x0F20-#x0F29]""" + +extender = """ +#x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 | #x0E46 | #x0EC6 | #x3005 | +#[#x3031-#x3035] | [#x309D-#x309E] | [#x30FC-#x30FE]""" + +letter = " | ".join([baseChar, ideographic]) + +# Without the +name = " | ".join([letter, digit, ".", "-", "_", combiningCharacter, + extender]) +nameFirst = " | ".join([letter, "_"]) + +reChar = re.compile(r"#x([\d|A-F]{4,4})") +reCharRange = re.compile(r"\[#x([\d|A-F]{4,4})-#x([\d|A-F]{4,4})\]") + + +def charStringToList(chars): + charRanges = [item.strip() for item in chars.split(" | ")] + rv = [] + for item in charRanges: + foundMatch = False + for regexp in (reChar, reCharRange): + match = regexp.match(item) + if match is not None: + rv.append([hexToInt(item) for item in match.groups()]) + if len(rv[-1]) == 1: + rv[-1] = rv[-1] * 2 + foundMatch = True + break + if not foundMatch: + assert len(item) == 1 + + rv.append([ord(item)] * 2) + rv = normaliseCharList(rv) + return rv + + +def normaliseCharList(charList): + charList = sorted(charList) + for item in charList: + assert item[1] >= item[0] + rv = [] + i = 0 + while i < len(charList): + j = 1 + rv.append(charList[i]) + while i + j < len(charList) and charList[i + j][0] <= rv[-1][1] + 1: + rv[-1][1] = charList[i + j][1] + j += 1 + i += j + return rv + +# We don't really support characters above the BMP :( +max_unicode = int("FFFF", 16) + + +def missingRanges(charList): + rv = [] + if charList[0] != 0: + rv.append([0, charList[0][0] - 1]) + for i, item in enumerate(charList[:-1]): + rv.append([item[1] + 1, charList[i + 1][0] - 1]) + if charList[-1][1] != max_unicode: + rv.append([charList[-1][1] + 1, max_unicode]) + return rv + + +def listToRegexpStr(charList): + rv = [] + for item in charList: + if item[0] == item[1]: + rv.append(escapeRegexp(chr(item[0]))) + else: + rv.append(escapeRegexp(chr(item[0])) + "-" + + escapeRegexp(chr(item[1]))) + return "[%s]" % "".join(rv) + + +def hexToInt(hex_str): + return int(hex_str, 16) + + +def escapeRegexp(string): + specialCharacters = (".", "^", "$", "*", "+", "?", "{", "}", + "[", "]", "|", "(", ")", "-") + for char in specialCharacters: + string = string.replace(char, "\\" + char) + + return string + +# output from the above +nonXmlNameBMPRegexp = re.compile('[\x00-,/:-@\\[-\\^`\\{-\xb6\xb8-\xbf\xd7\xf7\u0132-\u0133\u013f-\u0140\u0149\u017f\u01c4-\u01cc\u01f1-\u01f3\u01f6-\u01f9\u0218-\u024f\u02a9-\u02ba\u02c2-\u02cf\u02d2-\u02ff\u0346-\u035f\u0362-\u0385\u038b\u038d\u03a2\u03cf\u03d7-\u03d9\u03db\u03dd\u03df\u03e1\u03f4-\u0400\u040d\u0450\u045d\u0482\u0487-\u048f\u04c5-\u04c6\u04c9-\u04ca\u04cd-\u04cf\u04ec-\u04ed\u04f6-\u04f7\u04fa-\u0530\u0557-\u0558\u055a-\u0560\u0587-\u0590\u05a2\u05ba\u05be\u05c0\u05c3\u05c5-\u05cf\u05eb-\u05ef\u05f3-\u0620\u063b-\u063f\u0653-\u065f\u066a-\u066f\u06b8-\u06b9\u06bf\u06cf\u06d4\u06e9\u06ee-\u06ef\u06fa-\u0900\u0904\u093a-\u093b\u094e-\u0950\u0955-\u0957\u0964-\u0965\u0970-\u0980\u0984\u098d-\u098e\u0991-\u0992\u09a9\u09b1\u09b3-\u09b5\u09ba-\u09bb\u09bd\u09c5-\u09c6\u09c9-\u09ca\u09ce-\u09d6\u09d8-\u09db\u09de\u09e4-\u09e5\u09f2-\u0a01\u0a03-\u0a04\u0a0b-\u0a0e\u0a11-\u0a12\u0a29\u0a31\u0a34\u0a37\u0a3a-\u0a3b\u0a3d\u0a43-\u0a46\u0a49-\u0a4a\u0a4e-\u0a58\u0a5d\u0a5f-\u0a65\u0a75-\u0a80\u0a84\u0a8c\u0a8e\u0a92\u0aa9\u0ab1\u0ab4\u0aba-\u0abb\u0ac6\u0aca\u0ace-\u0adf\u0ae1-\u0ae5\u0af0-\u0b00\u0b04\u0b0d-\u0b0e\u0b11-\u0b12\u0b29\u0b31\u0b34-\u0b35\u0b3a-\u0b3b\u0b44-\u0b46\u0b49-\u0b4a\u0b4e-\u0b55\u0b58-\u0b5b\u0b5e\u0b62-\u0b65\u0b70-\u0b81\u0b84\u0b8b-\u0b8d\u0b91\u0b96-\u0b98\u0b9b\u0b9d\u0ba0-\u0ba2\u0ba5-\u0ba7\u0bab-\u0bad\u0bb6\u0bba-\u0bbd\u0bc3-\u0bc5\u0bc9\u0bce-\u0bd6\u0bd8-\u0be6\u0bf0-\u0c00\u0c04\u0c0d\u0c11\u0c29\u0c34\u0c3a-\u0c3d\u0c45\u0c49\u0c4e-\u0c54\u0c57-\u0c5f\u0c62-\u0c65\u0c70-\u0c81\u0c84\u0c8d\u0c91\u0ca9\u0cb4\u0cba-\u0cbd\u0cc5\u0cc9\u0cce-\u0cd4\u0cd7-\u0cdd\u0cdf\u0ce2-\u0ce5\u0cf0-\u0d01\u0d04\u0d0d\u0d11\u0d29\u0d3a-\u0d3d\u0d44-\u0d45\u0d49\u0d4e-\u0d56\u0d58-\u0d5f\u0d62-\u0d65\u0d70-\u0e00\u0e2f\u0e3b-\u0e3f\u0e4f\u0e5a-\u0e80\u0e83\u0e85-\u0e86\u0e89\u0e8b-\u0e8c\u0e8e-\u0e93\u0e98\u0ea0\u0ea4\u0ea6\u0ea8-\u0ea9\u0eac\u0eaf\u0eba\u0ebe-\u0ebf\u0ec5\u0ec7\u0ece-\u0ecf\u0eda-\u0f17\u0f1a-\u0f1f\u0f2a-\u0f34\u0f36\u0f38\u0f3a-\u0f3d\u0f48\u0f6a-\u0f70\u0f85\u0f8c-\u0f8f\u0f96\u0f98\u0fae-\u0fb0\u0fb8\u0fba-\u109f\u10c6-\u10cf\u10f7-\u10ff\u1101\u1104\u1108\u110a\u110d\u1113-\u113b\u113d\u113f\u1141-\u114b\u114d\u114f\u1151-\u1153\u1156-\u1158\u115a-\u115e\u1162\u1164\u1166\u1168\u116a-\u116c\u116f-\u1171\u1174\u1176-\u119d\u119f-\u11a7\u11a9-\u11aa\u11ac-\u11ad\u11b0-\u11b6\u11b9\u11bb\u11c3-\u11ea\u11ec-\u11ef\u11f1-\u11f8\u11fa-\u1dff\u1e9c-\u1e9f\u1efa-\u1eff\u1f16-\u1f17\u1f1e-\u1f1f\u1f46-\u1f47\u1f4e-\u1f4f\u1f58\u1f5a\u1f5c\u1f5e\u1f7e-\u1f7f\u1fb5\u1fbd\u1fbf-\u1fc1\u1fc5\u1fcd-\u1fcf\u1fd4-\u1fd5\u1fdc-\u1fdf\u1fed-\u1ff1\u1ff5\u1ffd-\u20cf\u20dd-\u20e0\u20e2-\u2125\u2127-\u2129\u212c-\u212d\u212f-\u217f\u2183-\u3004\u3006\u3008-\u3020\u3030\u3036-\u3040\u3095-\u3098\u309b-\u309c\u309f-\u30a0\u30fb\u30ff-\u3104\u312d-\u4dff\u9fa6-\uabff\ud7a4-\uffff]') # noqa + +nonXmlNameFirstBMPRegexp = re.compile('[\x00-@\\[-\\^`\\{-\xbf\xd7\xf7\u0132-\u0133\u013f-\u0140\u0149\u017f\u01c4-\u01cc\u01f1-\u01f3\u01f6-\u01f9\u0218-\u024f\u02a9-\u02ba\u02c2-\u0385\u0387\u038b\u038d\u03a2\u03cf\u03d7-\u03d9\u03db\u03dd\u03df\u03e1\u03f4-\u0400\u040d\u0450\u045d\u0482-\u048f\u04c5-\u04c6\u04c9-\u04ca\u04cd-\u04cf\u04ec-\u04ed\u04f6-\u04f7\u04fa-\u0530\u0557-\u0558\u055a-\u0560\u0587-\u05cf\u05eb-\u05ef\u05f3-\u0620\u063b-\u0640\u064b-\u0670\u06b8-\u06b9\u06bf\u06cf\u06d4\u06d6-\u06e4\u06e7-\u0904\u093a-\u093c\u093e-\u0957\u0962-\u0984\u098d-\u098e\u0991-\u0992\u09a9\u09b1\u09b3-\u09b5\u09ba-\u09db\u09de\u09e2-\u09ef\u09f2-\u0a04\u0a0b-\u0a0e\u0a11-\u0a12\u0a29\u0a31\u0a34\u0a37\u0a3a-\u0a58\u0a5d\u0a5f-\u0a71\u0a75-\u0a84\u0a8c\u0a8e\u0a92\u0aa9\u0ab1\u0ab4\u0aba-\u0abc\u0abe-\u0adf\u0ae1-\u0b04\u0b0d-\u0b0e\u0b11-\u0b12\u0b29\u0b31\u0b34-\u0b35\u0b3a-\u0b3c\u0b3e-\u0b5b\u0b5e\u0b62-\u0b84\u0b8b-\u0b8d\u0b91\u0b96-\u0b98\u0b9b\u0b9d\u0ba0-\u0ba2\u0ba5-\u0ba7\u0bab-\u0bad\u0bb6\u0bba-\u0c04\u0c0d\u0c11\u0c29\u0c34\u0c3a-\u0c5f\u0c62-\u0c84\u0c8d\u0c91\u0ca9\u0cb4\u0cba-\u0cdd\u0cdf\u0ce2-\u0d04\u0d0d\u0d11\u0d29\u0d3a-\u0d5f\u0d62-\u0e00\u0e2f\u0e31\u0e34-\u0e3f\u0e46-\u0e80\u0e83\u0e85-\u0e86\u0e89\u0e8b-\u0e8c\u0e8e-\u0e93\u0e98\u0ea0\u0ea4\u0ea6\u0ea8-\u0ea9\u0eac\u0eaf\u0eb1\u0eb4-\u0ebc\u0ebe-\u0ebf\u0ec5-\u0f3f\u0f48\u0f6a-\u109f\u10c6-\u10cf\u10f7-\u10ff\u1101\u1104\u1108\u110a\u110d\u1113-\u113b\u113d\u113f\u1141-\u114b\u114d\u114f\u1151-\u1153\u1156-\u1158\u115a-\u115e\u1162\u1164\u1166\u1168\u116a-\u116c\u116f-\u1171\u1174\u1176-\u119d\u119f-\u11a7\u11a9-\u11aa\u11ac-\u11ad\u11b0-\u11b6\u11b9\u11bb\u11c3-\u11ea\u11ec-\u11ef\u11f1-\u11f8\u11fa-\u1dff\u1e9c-\u1e9f\u1efa-\u1eff\u1f16-\u1f17\u1f1e-\u1f1f\u1f46-\u1f47\u1f4e-\u1f4f\u1f58\u1f5a\u1f5c\u1f5e\u1f7e-\u1f7f\u1fb5\u1fbd\u1fbf-\u1fc1\u1fc5\u1fcd-\u1fcf\u1fd4-\u1fd5\u1fdc-\u1fdf\u1fed-\u1ff1\u1ff5\u1ffd-\u2125\u2127-\u2129\u212c-\u212d\u212f-\u217f\u2183-\u3006\u3008-\u3020\u302a-\u3040\u3095-\u30a0\u30fb-\u3104\u312d-\u4dff\u9fa6-\uabff\ud7a4-\uffff]') # noqa + +# Simpler things +nonPubidCharRegexp = re.compile("[^\x20\x0D\x0Aa-zA-Z0-9\\-'()+,./:=?;!*#@$_%]") + + +class InfosetFilter(object): + replacementRegexp = re.compile(r"U[\dA-F]{5,5}") + + def __init__(self, + dropXmlnsLocalName=False, + dropXmlnsAttrNs=False, + preventDoubleDashComments=False, + preventDashAtCommentEnd=False, + replaceFormFeedCharacters=True, + preventSingleQuotePubid=False): + + self.dropXmlnsLocalName = dropXmlnsLocalName + self.dropXmlnsAttrNs = dropXmlnsAttrNs + + self.preventDoubleDashComments = preventDoubleDashComments + self.preventDashAtCommentEnd = preventDashAtCommentEnd + + self.replaceFormFeedCharacters = replaceFormFeedCharacters + + self.preventSingleQuotePubid = preventSingleQuotePubid + + self.replaceCache = {} + + def coerceAttribute(self, name, namespace=None): + if self.dropXmlnsLocalName and name.startswith("xmlns:"): + warnings.warn("Attributes cannot begin with xmlns", DataLossWarning) + return None + elif (self.dropXmlnsAttrNs and + namespace == "http://www.w3.org/2000/xmlns/"): + warnings.warn("Attributes cannot be in the xml namespace", DataLossWarning) + return None + else: + return self.toXmlName(name) + + def coerceElement(self, name): + return self.toXmlName(name) + + def coerceComment(self, data): + if self.preventDoubleDashComments: + while "--" in data: + warnings.warn("Comments cannot contain adjacent dashes", DataLossWarning) + data = data.replace("--", "- -") + if data.endswith("-"): + warnings.warn("Comments cannot end in a dash", DataLossWarning) + data += " " + return data + + def coerceCharacters(self, data): + if self.replaceFormFeedCharacters: + for _ in range(data.count("\x0C")): + warnings.warn("Text cannot contain U+000C", DataLossWarning) + data = data.replace("\x0C", " ") + # Other non-xml characters + return data + + def coercePubid(self, data): + dataOutput = data + for char in nonPubidCharRegexp.findall(data): + warnings.warn("Coercing non-XML pubid", DataLossWarning) + replacement = self.getReplacementCharacter(char) + dataOutput = dataOutput.replace(char, replacement) + if self.preventSingleQuotePubid and dataOutput.find("'") >= 0: + warnings.warn("Pubid cannot contain single quote", DataLossWarning) + dataOutput = dataOutput.replace("'", self.getReplacementCharacter("'")) + return dataOutput + + def toXmlName(self, name): + nameFirst = name[0] + nameRest = name[1:] + m = nonXmlNameFirstBMPRegexp.match(nameFirst) + if m: + warnings.warn("Coercing non-XML name", DataLossWarning) + nameFirstOutput = self.getReplacementCharacter(nameFirst) + else: + nameFirstOutput = nameFirst + + nameRestOutput = nameRest + replaceChars = set(nonXmlNameBMPRegexp.findall(nameRest)) + for char in replaceChars: + warnings.warn("Coercing non-XML name", DataLossWarning) + replacement = self.getReplacementCharacter(char) + nameRestOutput = nameRestOutput.replace(char, replacement) + return nameFirstOutput + nameRestOutput + + def getReplacementCharacter(self, char): + if char in self.replaceCache: + replacement = self.replaceCache[char] + else: + replacement = self.escapeChar(char) + return replacement + + def fromXmlName(self, name): + for item in set(self.replacementRegexp.findall(name)): + name = name.replace(item, self.unescapeChar(item)) + return name + + def escapeChar(self, char): + replacement = "U%05X" % ord(char) + self.replaceCache[char] = replacement + return replacement + + def unescapeChar(self, charcode): + return chr(int(charcode[1:], 16)) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_inputstream.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_inputstream.py new file mode 100644 index 0000000..a65e55f --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_inputstream.py @@ -0,0 +1,923 @@ +from __future__ import absolute_import, division, unicode_literals + +from pip._vendor.six import text_type, binary_type +from pip._vendor.six.moves import http_client, urllib + +import codecs +import re + +from pip._vendor import webencodings + +from .constants import EOF, spaceCharacters, asciiLetters, asciiUppercase +from .constants import _ReparseException +from . import _utils + +from io import StringIO + +try: + from io import BytesIO +except ImportError: + BytesIO = StringIO + +# Non-unicode versions of constants for use in the pre-parser +spaceCharactersBytes = frozenset([item.encode("ascii") for item in spaceCharacters]) +asciiLettersBytes = frozenset([item.encode("ascii") for item in asciiLetters]) +asciiUppercaseBytes = frozenset([item.encode("ascii") for item in asciiUppercase]) +spacesAngleBrackets = spaceCharactersBytes | frozenset([b">", b"<"]) + + +invalid_unicode_no_surrogate = "[\u0001-\u0008\u000B\u000E-\u001F\u007F-\u009F\uFDD0-\uFDEF\uFFFE\uFFFF\U0001FFFE\U0001FFFF\U0002FFFE\U0002FFFF\U0003FFFE\U0003FFFF\U0004FFFE\U0004FFFF\U0005FFFE\U0005FFFF\U0006FFFE\U0006FFFF\U0007FFFE\U0007FFFF\U0008FFFE\U0008FFFF\U0009FFFE\U0009FFFF\U000AFFFE\U000AFFFF\U000BFFFE\U000BFFFF\U000CFFFE\U000CFFFF\U000DFFFE\U000DFFFF\U000EFFFE\U000EFFFF\U000FFFFE\U000FFFFF\U0010FFFE\U0010FFFF]" # noqa + +if _utils.supports_lone_surrogates: + # Use one extra step of indirection and create surrogates with + # eval. Not using this indirection would introduce an illegal + # unicode literal on platforms not supporting such lone + # surrogates. + assert invalid_unicode_no_surrogate[-1] == "]" and invalid_unicode_no_surrogate.count("]") == 1 + invalid_unicode_re = re.compile(invalid_unicode_no_surrogate[:-1] + + eval('"\\uD800-\\uDFFF"') + # pylint:disable=eval-used + "]") +else: + invalid_unicode_re = re.compile(invalid_unicode_no_surrogate) + +non_bmp_invalid_codepoints = set([0x1FFFE, 0x1FFFF, 0x2FFFE, 0x2FFFF, 0x3FFFE, + 0x3FFFF, 0x4FFFE, 0x4FFFF, 0x5FFFE, 0x5FFFF, + 0x6FFFE, 0x6FFFF, 0x7FFFE, 0x7FFFF, 0x8FFFE, + 0x8FFFF, 0x9FFFE, 0x9FFFF, 0xAFFFE, 0xAFFFF, + 0xBFFFE, 0xBFFFF, 0xCFFFE, 0xCFFFF, 0xDFFFE, + 0xDFFFF, 0xEFFFE, 0xEFFFF, 0xFFFFE, 0xFFFFF, + 0x10FFFE, 0x10FFFF]) + +ascii_punctuation_re = re.compile("[\u0009-\u000D\u0020-\u002F\u003A-\u0040\u005C\u005B-\u0060\u007B-\u007E]") + +# Cache for charsUntil() +charsUntilRegEx = {} + + +class BufferedStream(object): + """Buffering for streams that do not have buffering of their own + + The buffer is implemented as a list of chunks on the assumption that + joining many strings will be slow since it is O(n**2) + """ + + def __init__(self, stream): + self.stream = stream + self.buffer = [] + self.position = [-1, 0] # chunk number, offset + + def tell(self): + pos = 0 + for chunk in self.buffer[:self.position[0]]: + pos += len(chunk) + pos += self.position[1] + return pos + + def seek(self, pos): + assert pos <= self._bufferedBytes() + offset = pos + i = 0 + while len(self.buffer[i]) < offset: + offset -= len(self.buffer[i]) + i += 1 + self.position = [i, offset] + + def read(self, bytes): + if not self.buffer: + return self._readStream(bytes) + elif (self.position[0] == len(self.buffer) and + self.position[1] == len(self.buffer[-1])): + return self._readStream(bytes) + else: + return self._readFromBuffer(bytes) + + def _bufferedBytes(self): + return sum([len(item) for item in self.buffer]) + + def _readStream(self, bytes): + data = self.stream.read(bytes) + self.buffer.append(data) + self.position[0] += 1 + self.position[1] = len(data) + return data + + def _readFromBuffer(self, bytes): + remainingBytes = bytes + rv = [] + bufferIndex = self.position[0] + bufferOffset = self.position[1] + while bufferIndex < len(self.buffer) and remainingBytes != 0: + assert remainingBytes > 0 + bufferedData = self.buffer[bufferIndex] + + if remainingBytes <= len(bufferedData) - bufferOffset: + bytesToRead = remainingBytes + self.position = [bufferIndex, bufferOffset + bytesToRead] + else: + bytesToRead = len(bufferedData) - bufferOffset + self.position = [bufferIndex, len(bufferedData)] + bufferIndex += 1 + rv.append(bufferedData[bufferOffset:bufferOffset + bytesToRead]) + remainingBytes -= bytesToRead + + bufferOffset = 0 + + if remainingBytes: + rv.append(self._readStream(remainingBytes)) + + return b"".join(rv) + + +def HTMLInputStream(source, **kwargs): + # Work around Python bug #20007: read(0) closes the connection. + # http://bugs.python.org/issue20007 + if (isinstance(source, http_client.HTTPResponse) or + # Also check for addinfourl wrapping HTTPResponse + (isinstance(source, urllib.response.addbase) and + isinstance(source.fp, http_client.HTTPResponse))): + isUnicode = False + elif hasattr(source, "read"): + isUnicode = isinstance(source.read(0), text_type) + else: + isUnicode = isinstance(source, text_type) + + if isUnicode: + encodings = [x for x in kwargs if x.endswith("_encoding")] + if encodings: + raise TypeError("Cannot set an encoding with a unicode input, set %r" % encodings) + + return HTMLUnicodeInputStream(source, **kwargs) + else: + return HTMLBinaryInputStream(source, **kwargs) + + +class HTMLUnicodeInputStream(object): + """Provides a unicode stream of characters to the HTMLTokenizer. + + This class takes care of character encoding and removing or replacing + incorrect byte-sequences and also provides column and line tracking. + + """ + + _defaultChunkSize = 10240 + + def __init__(self, source): + """Initialises the HTMLInputStream. + + HTMLInputStream(source, [encoding]) -> Normalized stream from source + for use by html5lib. + + source can be either a file-object, local filename or a string. + + The optional encoding parameter must be a string that indicates + the encoding. If specified, that encoding will be used, + regardless of any BOM or later declaration (such as in a meta + element) + + """ + + if not _utils.supports_lone_surrogates: + # Such platforms will have already checked for such + # surrogate errors, so no need to do this checking. + self.reportCharacterErrors = None + elif len("\U0010FFFF") == 1: + self.reportCharacterErrors = self.characterErrorsUCS4 + else: + self.reportCharacterErrors = self.characterErrorsUCS2 + + # List of where new lines occur + self.newLines = [0] + + self.charEncoding = (lookupEncoding("utf-8"), "certain") + self.dataStream = self.openStream(source) + + self.reset() + + def reset(self): + self.chunk = "" + self.chunkSize = 0 + self.chunkOffset = 0 + self.errors = [] + + # number of (complete) lines in previous chunks + self.prevNumLines = 0 + # number of columns in the last line of the previous chunk + self.prevNumCols = 0 + + # Deal with CR LF and surrogates split over chunk boundaries + self._bufferedCharacter = None + + def openStream(self, source): + """Produces a file object from source. + + source can be either a file object, local filename or a string. + + """ + # Already a file object + if hasattr(source, 'read'): + stream = source + else: + stream = StringIO(source) + + return stream + + def _position(self, offset): + chunk = self.chunk + nLines = chunk.count('\n', 0, offset) + positionLine = self.prevNumLines + nLines + lastLinePos = chunk.rfind('\n', 0, offset) + if lastLinePos == -1: + positionColumn = self.prevNumCols + offset + else: + positionColumn = offset - (lastLinePos + 1) + return (positionLine, positionColumn) + + def position(self): + """Returns (line, col) of the current position in the stream.""" + line, col = self._position(self.chunkOffset) + return (line + 1, col) + + def char(self): + """ Read one character from the stream or queue if available. Return + EOF when EOF is reached. + """ + # Read a new chunk from the input stream if necessary + if self.chunkOffset >= self.chunkSize: + if not self.readChunk(): + return EOF + + chunkOffset = self.chunkOffset + char = self.chunk[chunkOffset] + self.chunkOffset = chunkOffset + 1 + + return char + + def readChunk(self, chunkSize=None): + if chunkSize is None: + chunkSize = self._defaultChunkSize + + self.prevNumLines, self.prevNumCols = self._position(self.chunkSize) + + self.chunk = "" + self.chunkSize = 0 + self.chunkOffset = 0 + + data = self.dataStream.read(chunkSize) + + # Deal with CR LF and surrogates broken across chunks + if self._bufferedCharacter: + data = self._bufferedCharacter + data + self._bufferedCharacter = None + elif not data: + # We have no more data, bye-bye stream + return False + + if len(data) > 1: + lastv = ord(data[-1]) + if lastv == 0x0D or 0xD800 <= lastv <= 0xDBFF: + self._bufferedCharacter = data[-1] + data = data[:-1] + + if self.reportCharacterErrors: + self.reportCharacterErrors(data) + + # Replace invalid characters + data = data.replace("\r\n", "\n") + data = data.replace("\r", "\n") + + self.chunk = data + self.chunkSize = len(data) + + return True + + def characterErrorsUCS4(self, data): + for _ in range(len(invalid_unicode_re.findall(data))): + self.errors.append("invalid-codepoint") + + def characterErrorsUCS2(self, data): + # Someone picked the wrong compile option + # You lose + skip = False + for match in invalid_unicode_re.finditer(data): + if skip: + continue + codepoint = ord(match.group()) + pos = match.start() + # Pretty sure there should be endianness issues here + if _utils.isSurrogatePair(data[pos:pos + 2]): + # We have a surrogate pair! + char_val = _utils.surrogatePairToCodepoint(data[pos:pos + 2]) + if char_val in non_bmp_invalid_codepoints: + self.errors.append("invalid-codepoint") + skip = True + elif (codepoint >= 0xD800 and codepoint <= 0xDFFF and + pos == len(data) - 1): + self.errors.append("invalid-codepoint") + else: + skip = False + self.errors.append("invalid-codepoint") + + def charsUntil(self, characters, opposite=False): + """ Returns a string of characters from the stream up to but not + including any character in 'characters' or EOF. 'characters' must be + a container that supports the 'in' method and iteration over its + characters. + """ + + # Use a cache of regexps to find the required characters + try: + chars = charsUntilRegEx[(characters, opposite)] + except KeyError: + if __debug__: + for c in characters: + assert(ord(c) < 128) + regex = "".join(["\\x%02x" % ord(c) for c in characters]) + if not opposite: + regex = "^%s" % regex + chars = charsUntilRegEx[(characters, opposite)] = re.compile("[%s]+" % regex) + + rv = [] + + while True: + # Find the longest matching prefix + m = chars.match(self.chunk, self.chunkOffset) + if m is None: + # If nothing matched, and it wasn't because we ran out of chunk, + # then stop + if self.chunkOffset != self.chunkSize: + break + else: + end = m.end() + # If not the whole chunk matched, return everything + # up to the part that didn't match + if end != self.chunkSize: + rv.append(self.chunk[self.chunkOffset:end]) + self.chunkOffset = end + break + # If the whole remainder of the chunk matched, + # use it all and read the next chunk + rv.append(self.chunk[self.chunkOffset:]) + if not self.readChunk(): + # Reached EOF + break + + r = "".join(rv) + return r + + def unget(self, char): + # Only one character is allowed to be ungotten at once - it must + # be consumed again before any further call to unget + if char is not None: + if self.chunkOffset == 0: + # unget is called quite rarely, so it's a good idea to do + # more work here if it saves a bit of work in the frequently + # called char and charsUntil. + # So, just prepend the ungotten character onto the current + # chunk: + self.chunk = char + self.chunk + self.chunkSize += 1 + else: + self.chunkOffset -= 1 + assert self.chunk[self.chunkOffset] == char + + +class HTMLBinaryInputStream(HTMLUnicodeInputStream): + """Provides a unicode stream of characters to the HTMLTokenizer. + + This class takes care of character encoding and removing or replacing + incorrect byte-sequences and also provides column and line tracking. + + """ + + def __init__(self, source, override_encoding=None, transport_encoding=None, + same_origin_parent_encoding=None, likely_encoding=None, + default_encoding="windows-1252", useChardet=True): + """Initialises the HTMLInputStream. + + HTMLInputStream(source, [encoding]) -> Normalized stream from source + for use by html5lib. + + source can be either a file-object, local filename or a string. + + The optional encoding parameter must be a string that indicates + the encoding. If specified, that encoding will be used, + regardless of any BOM or later declaration (such as in a meta + element) + + """ + # Raw Stream - for unicode objects this will encode to utf-8 and set + # self.charEncoding as appropriate + self.rawStream = self.openStream(source) + + HTMLUnicodeInputStream.__init__(self, self.rawStream) + + # Encoding Information + # Number of bytes to use when looking for a meta element with + # encoding information + self.numBytesMeta = 1024 + # Number of bytes to use when using detecting encoding using chardet + self.numBytesChardet = 100 + # Things from args + self.override_encoding = override_encoding + self.transport_encoding = transport_encoding + self.same_origin_parent_encoding = same_origin_parent_encoding + self.likely_encoding = likely_encoding + self.default_encoding = default_encoding + + # Determine encoding + self.charEncoding = self.determineEncoding(useChardet) + assert self.charEncoding[0] is not None + + # Call superclass + self.reset() + + def reset(self): + self.dataStream = self.charEncoding[0].codec_info.streamreader(self.rawStream, 'replace') + HTMLUnicodeInputStream.reset(self) + + def openStream(self, source): + """Produces a file object from source. + + source can be either a file object, local filename or a string. + + """ + # Already a file object + if hasattr(source, 'read'): + stream = source + else: + stream = BytesIO(source) + + try: + stream.seek(stream.tell()) + except: # pylint:disable=bare-except + stream = BufferedStream(stream) + + return stream + + def determineEncoding(self, chardet=True): + # BOMs take precedence over everything + # This will also read past the BOM if present + charEncoding = self.detectBOM(), "certain" + if charEncoding[0] is not None: + return charEncoding + + # If we've been overriden, we've been overriden + charEncoding = lookupEncoding(self.override_encoding), "certain" + if charEncoding[0] is not None: + return charEncoding + + # Now check the transport layer + charEncoding = lookupEncoding(self.transport_encoding), "certain" + if charEncoding[0] is not None: + return charEncoding + + # Look for meta elements with encoding information + charEncoding = self.detectEncodingMeta(), "tentative" + if charEncoding[0] is not None: + return charEncoding + + # Parent document encoding + charEncoding = lookupEncoding(self.same_origin_parent_encoding), "tentative" + if charEncoding[0] is not None and not charEncoding[0].name.startswith("utf-16"): + return charEncoding + + # "likely" encoding + charEncoding = lookupEncoding(self.likely_encoding), "tentative" + if charEncoding[0] is not None: + return charEncoding + + # Guess with chardet, if available + if chardet: + try: + from pip._vendor.chardet.universaldetector import UniversalDetector + except ImportError: + pass + else: + buffers = [] + detector = UniversalDetector() + while not detector.done: + buffer = self.rawStream.read(self.numBytesChardet) + assert isinstance(buffer, bytes) + if not buffer: + break + buffers.append(buffer) + detector.feed(buffer) + detector.close() + encoding = lookupEncoding(detector.result['encoding']) + self.rawStream.seek(0) + if encoding is not None: + return encoding, "tentative" + + # Try the default encoding + charEncoding = lookupEncoding(self.default_encoding), "tentative" + if charEncoding[0] is not None: + return charEncoding + + # Fallback to html5lib's default if even that hasn't worked + return lookupEncoding("windows-1252"), "tentative" + + def changeEncoding(self, newEncoding): + assert self.charEncoding[1] != "certain" + newEncoding = lookupEncoding(newEncoding) + if newEncoding is None: + return + if newEncoding.name in ("utf-16be", "utf-16le"): + newEncoding = lookupEncoding("utf-8") + assert newEncoding is not None + elif newEncoding == self.charEncoding[0]: + self.charEncoding = (self.charEncoding[0], "certain") + else: + self.rawStream.seek(0) + self.charEncoding = (newEncoding, "certain") + self.reset() + raise _ReparseException("Encoding changed from %s to %s" % (self.charEncoding[0], newEncoding)) + + def detectBOM(self): + """Attempts to detect at BOM at the start of the stream. If + an encoding can be determined from the BOM return the name of the + encoding otherwise return None""" + bomDict = { + codecs.BOM_UTF8: 'utf-8', + codecs.BOM_UTF16_LE: 'utf-16le', codecs.BOM_UTF16_BE: 'utf-16be', + codecs.BOM_UTF32_LE: 'utf-32le', codecs.BOM_UTF32_BE: 'utf-32be' + } + + # Go to beginning of file and read in 4 bytes + string = self.rawStream.read(4) + assert isinstance(string, bytes) + + # Try detecting the BOM using bytes from the string + encoding = bomDict.get(string[:3]) # UTF-8 + seek = 3 + if not encoding: + # Need to detect UTF-32 before UTF-16 + encoding = bomDict.get(string) # UTF-32 + seek = 4 + if not encoding: + encoding = bomDict.get(string[:2]) # UTF-16 + seek = 2 + + # Set the read position past the BOM if one was found, otherwise + # set it to the start of the stream + if encoding: + self.rawStream.seek(seek) + return lookupEncoding(encoding) + else: + self.rawStream.seek(0) + return None + + def detectEncodingMeta(self): + """Report the encoding declared by the meta element + """ + buffer = self.rawStream.read(self.numBytesMeta) + assert isinstance(buffer, bytes) + parser = EncodingParser(buffer) + self.rawStream.seek(0) + encoding = parser.getEncoding() + + if encoding is not None and encoding.name in ("utf-16be", "utf-16le"): + encoding = lookupEncoding("utf-8") + + return encoding + + +class EncodingBytes(bytes): + """String-like object with an associated position and various extra methods + If the position is ever greater than the string length then an exception is + raised""" + def __new__(self, value): + assert isinstance(value, bytes) + return bytes.__new__(self, value.lower()) + + def __init__(self, value): + # pylint:disable=unused-argument + self._position = -1 + + def __iter__(self): + return self + + def __next__(self): + p = self._position = self._position + 1 + if p >= len(self): + raise StopIteration + elif p < 0: + raise TypeError + return self[p:p + 1] + + def next(self): + # Py2 compat + return self.__next__() + + def previous(self): + p = self._position + if p >= len(self): + raise StopIteration + elif p < 0: + raise TypeError + self._position = p = p - 1 + return self[p:p + 1] + + def setPosition(self, position): + if self._position >= len(self): + raise StopIteration + self._position = position + + def getPosition(self): + if self._position >= len(self): + raise StopIteration + if self._position >= 0: + return self._position + else: + return None + + position = property(getPosition, setPosition) + + def getCurrentByte(self): + return self[self.position:self.position + 1] + + currentByte = property(getCurrentByte) + + def skip(self, chars=spaceCharactersBytes): + """Skip past a list of characters""" + p = self.position # use property for the error-checking + while p < len(self): + c = self[p:p + 1] + if c not in chars: + self._position = p + return c + p += 1 + self._position = p + return None + + def skipUntil(self, chars): + p = self.position + while p < len(self): + c = self[p:p + 1] + if c in chars: + self._position = p + return c + p += 1 + self._position = p + return None + + def matchBytes(self, bytes): + """Look for a sequence of bytes at the start of a string. If the bytes + are found return True and advance the position to the byte after the + match. Otherwise return False and leave the position alone""" + p = self.position + data = self[p:p + len(bytes)] + rv = data.startswith(bytes) + if rv: + self.position += len(bytes) + return rv + + def jumpTo(self, bytes): + """Look for the next sequence of bytes matching a given sequence. If + a match is found advance the position to the last byte of the match""" + newPosition = self[self.position:].find(bytes) + if newPosition > -1: + # XXX: This is ugly, but I can't see a nicer way to fix this. + if self._position == -1: + self._position = 0 + self._position += (newPosition + len(bytes) - 1) + return True + else: + raise StopIteration + + +class EncodingParser(object): + """Mini parser for detecting character encoding from meta elements""" + + def __init__(self, data): + """string - the data to work on for encoding detection""" + self.data = EncodingBytes(data) + self.encoding = None + + def getEncoding(self): + methodDispatch = ( + (b"<!--", self.handleComment), + (b"<meta", self.handleMeta), + (b"</", self.handlePossibleEndTag), + (b"<!", self.handleOther), + (b"<?", self.handleOther), + (b"<", self.handlePossibleStartTag)) + for _ in self.data: + keepParsing = True + for key, method in methodDispatch: + if self.data.matchBytes(key): + try: + keepParsing = method() + break + except StopIteration: + keepParsing = False + break + if not keepParsing: + break + + return self.encoding + + def handleComment(self): + """Skip over comments""" + return self.data.jumpTo(b"-->") + + def handleMeta(self): + if self.data.currentByte not in spaceCharactersBytes: + # if we have <meta not followed by a space so just keep going + return True + # We have a valid meta element we want to search for attributes + hasPragma = False + pendingEncoding = None + while True: + # Try to find the next attribute after the current position + attr = self.getAttribute() + if attr is None: + return True + else: + if attr[0] == b"http-equiv": + hasPragma = attr[1] == b"content-type" + if hasPragma and pendingEncoding is not None: + self.encoding = pendingEncoding + return False + elif attr[0] == b"charset": + tentativeEncoding = attr[1] + codec = lookupEncoding(tentativeEncoding) + if codec is not None: + self.encoding = codec + return False + elif attr[0] == b"content": + contentParser = ContentAttrParser(EncodingBytes(attr[1])) + tentativeEncoding = contentParser.parse() + if tentativeEncoding is not None: + codec = lookupEncoding(tentativeEncoding) + if codec is not None: + if hasPragma: + self.encoding = codec + return False + else: + pendingEncoding = codec + + def handlePossibleStartTag(self): + return self.handlePossibleTag(False) + + def handlePossibleEndTag(self): + next(self.data) + return self.handlePossibleTag(True) + + def handlePossibleTag(self, endTag): + data = self.data + if data.currentByte not in asciiLettersBytes: + # If the next byte is not an ascii letter either ignore this + # fragment (possible start tag case) or treat it according to + # handleOther + if endTag: + data.previous() + self.handleOther() + return True + + c = data.skipUntil(spacesAngleBrackets) + if c == b"<": + # return to the first step in the overall "two step" algorithm + # reprocessing the < byte + data.previous() + else: + # Read all attributes + attr = self.getAttribute() + while attr is not None: + attr = self.getAttribute() + return True + + def handleOther(self): + return self.data.jumpTo(b">") + + def getAttribute(self): + """Return a name,value pair for the next attribute in the stream, + if one is found, or None""" + data = self.data + # Step 1 (skip chars) + c = data.skip(spaceCharactersBytes | frozenset([b"/"])) + assert c is None or len(c) == 1 + # Step 2 + if c in (b">", None): + return None + # Step 3 + attrName = [] + attrValue = [] + # Step 4 attribute name + while True: + if c == b"=" and attrName: + break + elif c in spaceCharactersBytes: + # Step 6! + c = data.skip() + break + elif c in (b"/", b">"): + return b"".join(attrName), b"" + elif c in asciiUppercaseBytes: + attrName.append(c.lower()) + elif c is None: + return None + else: + attrName.append(c) + # Step 5 + c = next(data) + # Step 7 + if c != b"=": + data.previous() + return b"".join(attrName), b"" + # Step 8 + next(data) + # Step 9 + c = data.skip() + # Step 10 + if c in (b"'", b'"'): + # 10.1 + quoteChar = c + while True: + # 10.2 + c = next(data) + # 10.3 + if c == quoteChar: + next(data) + return b"".join(attrName), b"".join(attrValue) + # 10.4 + elif c in asciiUppercaseBytes: + attrValue.append(c.lower()) + # 10.5 + else: + attrValue.append(c) + elif c == b">": + return b"".join(attrName), b"" + elif c in asciiUppercaseBytes: + attrValue.append(c.lower()) + elif c is None: + return None + else: + attrValue.append(c) + # Step 11 + while True: + c = next(data) + if c in spacesAngleBrackets: + return b"".join(attrName), b"".join(attrValue) + elif c in asciiUppercaseBytes: + attrValue.append(c.lower()) + elif c is None: + return None + else: + attrValue.append(c) + + +class ContentAttrParser(object): + def __init__(self, data): + assert isinstance(data, bytes) + self.data = data + + def parse(self): + try: + # Check if the attr name is charset + # otherwise return + self.data.jumpTo(b"charset") + self.data.position += 1 + self.data.skip() + if not self.data.currentByte == b"=": + # If there is no = sign keep looking for attrs + return None + self.data.position += 1 + self.data.skip() + # Look for an encoding between matching quote marks + if self.data.currentByte in (b'"', b"'"): + quoteMark = self.data.currentByte + self.data.position += 1 + oldPosition = self.data.position + if self.data.jumpTo(quoteMark): + return self.data[oldPosition:self.data.position] + else: + return None + else: + # Unquoted value + oldPosition = self.data.position + try: + self.data.skipUntil(spaceCharactersBytes) + return self.data[oldPosition:self.data.position] + except StopIteration: + # Return the whole remaining value + return self.data[oldPosition:] + except StopIteration: + return None + + +def lookupEncoding(encoding): + """Return the python codec name corresponding to an encoding or None if the + string doesn't correspond to a valid encoding.""" + if isinstance(encoding, binary_type): + try: + encoding = encoding.decode("ascii") + except UnicodeDecodeError: + return None + + if encoding is not None: + try: + return webencodings.lookup(encoding) + except AttributeError: + return None + else: + return None diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_tokenizer.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_tokenizer.py new file mode 100644 index 0000000..178f6e7 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_tokenizer.py @@ -0,0 +1,1721 @@ +from __future__ import absolute_import, division, unicode_literals + +from pip._vendor.six import unichr as chr + +from collections import deque + +from .constants import spaceCharacters +from .constants import entities +from .constants import asciiLetters, asciiUpper2Lower +from .constants import digits, hexDigits, EOF +from .constants import tokenTypes, tagTokenTypes +from .constants import replacementCharacters + +from ._inputstream import HTMLInputStream + +from ._trie import Trie + +entitiesTrie = Trie(entities) + + +class HTMLTokenizer(object): + """ This class takes care of tokenizing HTML. + + * self.currentToken + Holds the token that is currently being processed. + + * self.state + Holds a reference to the method to be invoked... XXX + + * self.stream + Points to HTMLInputStream object. + """ + + def __init__(self, stream, parser=None, **kwargs): + + self.stream = HTMLInputStream(stream, **kwargs) + self.parser = parser + + # Setup the initial tokenizer state + self.escapeFlag = False + self.lastFourChars = [] + self.state = self.dataState + self.escape = False + + # The current token being created + self.currentToken = None + super(HTMLTokenizer, self).__init__() + + def __iter__(self): + """ This is where the magic happens. + + We do our usually processing through the states and when we have a token + to return we yield the token which pauses processing until the next token + is requested. + """ + self.tokenQueue = deque([]) + # Start processing. When EOF is reached self.state will return False + # instead of True and the loop will terminate. + while self.state(): + while self.stream.errors: + yield {"type": tokenTypes["ParseError"], "data": self.stream.errors.pop(0)} + while self.tokenQueue: + yield self.tokenQueue.popleft() + + def consumeNumberEntity(self, isHex): + """This function returns either U+FFFD or the character based on the + decimal or hexadecimal representation. It also discards ";" if present. + If not present self.tokenQueue.append({"type": tokenTypes["ParseError"]}) is invoked. + """ + + allowed = digits + radix = 10 + if isHex: + allowed = hexDigits + radix = 16 + + charStack = [] + + # Consume all the characters that are in range while making sure we + # don't hit an EOF. + c = self.stream.char() + while c in allowed and c is not EOF: + charStack.append(c) + c = self.stream.char() + + # Convert the set of characters consumed to an int. + charAsInt = int("".join(charStack), radix) + + # Certain characters get replaced with others + if charAsInt in replacementCharacters: + char = replacementCharacters[charAsInt] + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "illegal-codepoint-for-numeric-entity", + "datavars": {"charAsInt": charAsInt}}) + elif ((0xD800 <= charAsInt <= 0xDFFF) or + (charAsInt > 0x10FFFF)): + char = "\uFFFD" + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "illegal-codepoint-for-numeric-entity", + "datavars": {"charAsInt": charAsInt}}) + else: + # Should speed up this check somehow (e.g. move the set to a constant) + if ((0x0001 <= charAsInt <= 0x0008) or + (0x000E <= charAsInt <= 0x001F) or + (0x007F <= charAsInt <= 0x009F) or + (0xFDD0 <= charAsInt <= 0xFDEF) or + charAsInt in frozenset([0x000B, 0xFFFE, 0xFFFF, 0x1FFFE, + 0x1FFFF, 0x2FFFE, 0x2FFFF, 0x3FFFE, + 0x3FFFF, 0x4FFFE, 0x4FFFF, 0x5FFFE, + 0x5FFFF, 0x6FFFE, 0x6FFFF, 0x7FFFE, + 0x7FFFF, 0x8FFFE, 0x8FFFF, 0x9FFFE, + 0x9FFFF, 0xAFFFE, 0xAFFFF, 0xBFFFE, + 0xBFFFF, 0xCFFFE, 0xCFFFF, 0xDFFFE, + 0xDFFFF, 0xEFFFE, 0xEFFFF, 0xFFFFE, + 0xFFFFF, 0x10FFFE, 0x10FFFF])): + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": + "illegal-codepoint-for-numeric-entity", + "datavars": {"charAsInt": charAsInt}}) + try: + # Try/except needed as UCS-2 Python builds' unichar only works + # within the BMP. + char = chr(charAsInt) + except ValueError: + v = charAsInt - 0x10000 + char = chr(0xD800 | (v >> 10)) + chr(0xDC00 | (v & 0x3FF)) + + # Discard the ; if present. Otherwise, put it back on the queue and + # invoke parseError on parser. + if c != ";": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "numeric-entity-without-semicolon"}) + self.stream.unget(c) + + return char + + def consumeEntity(self, allowedChar=None, fromAttribute=False): + # Initialise to the default output for when no entity is matched + output = "&" + + charStack = [self.stream.char()] + if (charStack[0] in spaceCharacters or charStack[0] in (EOF, "<", "&") or + (allowedChar is not None and allowedChar == charStack[0])): + self.stream.unget(charStack[0]) + + elif charStack[0] == "#": + # Read the next character to see if it's hex or decimal + hex = False + charStack.append(self.stream.char()) + if charStack[-1] in ("x", "X"): + hex = True + charStack.append(self.stream.char()) + + # charStack[-1] should be the first digit + if (hex and charStack[-1] in hexDigits) \ + or (not hex and charStack[-1] in digits): + # At least one digit found, so consume the whole number + self.stream.unget(charStack[-1]) + output = self.consumeNumberEntity(hex) + else: + # No digits found + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "expected-numeric-entity"}) + self.stream.unget(charStack.pop()) + output = "&" + "".join(charStack) + + else: + # At this point in the process might have named entity. Entities + # are stored in the global variable "entities". + # + # Consume characters and compare to these to a substring of the + # entity names in the list until the substring no longer matches. + while (charStack[-1] is not EOF): + if not entitiesTrie.has_keys_with_prefix("".join(charStack)): + break + charStack.append(self.stream.char()) + + # At this point we have a string that starts with some characters + # that may match an entity + # Try to find the longest entity the string will match to take care + # of ¬i for instance. + try: + entityName = entitiesTrie.longest_prefix("".join(charStack[:-1])) + entityLength = len(entityName) + except KeyError: + entityName = None + + if entityName is not None: + if entityName[-1] != ";": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "named-entity-without-semicolon"}) + if (entityName[-1] != ";" and fromAttribute and + (charStack[entityLength] in asciiLetters or + charStack[entityLength] in digits or + charStack[entityLength] == "=")): + self.stream.unget(charStack.pop()) + output = "&" + "".join(charStack) + else: + output = entities[entityName] + self.stream.unget(charStack.pop()) + output += "".join(charStack[entityLength:]) + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-named-entity"}) + self.stream.unget(charStack.pop()) + output = "&" + "".join(charStack) + + if fromAttribute: + self.currentToken["data"][-1][1] += output + else: + if output in spaceCharacters: + tokenType = "SpaceCharacters" + else: + tokenType = "Characters" + self.tokenQueue.append({"type": tokenTypes[tokenType], "data": output}) + + def processEntityInAttribute(self, allowedChar): + """This method replaces the need for "entityInAttributeValueState". + """ + self.consumeEntity(allowedChar=allowedChar, fromAttribute=True) + + def emitCurrentToken(self): + """This method is a generic handler for emitting the tags. It also sets + the state to "data" because that's what's needed after a token has been + emitted. + """ + token = self.currentToken + # Add token to the queue to be yielded + if (token["type"] in tagTokenTypes): + token["name"] = token["name"].translate(asciiUpper2Lower) + if token["type"] == tokenTypes["EndTag"]: + if token["data"]: + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "attributes-in-end-tag"}) + if token["selfClosing"]: + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "self-closing-flag-on-end-tag"}) + self.tokenQueue.append(token) + self.state = self.dataState + + # Below are the various tokenizer states worked out. + def dataState(self): + data = self.stream.char() + if data == "&": + self.state = self.entityDataState + elif data == "<": + self.state = self.tagOpenState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\u0000"}) + elif data is EOF: + # Tokenization ends. + return False + elif data in spaceCharacters: + # Directly after emitting a token you switch back to the "data + # state". At that point spaceCharacters are important so they are + # emitted separately. + self.tokenQueue.append({"type": tokenTypes["SpaceCharacters"], "data": + data + self.stream.charsUntil(spaceCharacters, True)}) + # No need to update lastFourChars here, since the first space will + # have already been appended to lastFourChars and will have broken + # any <!-- or --> sequences + else: + chars = self.stream.charsUntil(("&", "<", "\u0000")) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": + data + chars}) + return True + + def entityDataState(self): + self.consumeEntity() + self.state = self.dataState + return True + + def rcdataState(self): + data = self.stream.char() + if data == "&": + self.state = self.characterReferenceInRcdata + elif data == "<": + self.state = self.rcdataLessThanSignState + elif data == EOF: + # Tokenization ends. + return False + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\uFFFD"}) + elif data in spaceCharacters: + # Directly after emitting a token you switch back to the "data + # state". At that point spaceCharacters are important so they are + # emitted separately. + self.tokenQueue.append({"type": tokenTypes["SpaceCharacters"], "data": + data + self.stream.charsUntil(spaceCharacters, True)}) + # No need to update lastFourChars here, since the first space will + # have already been appended to lastFourChars and will have broken + # any <!-- or --> sequences + else: + chars = self.stream.charsUntil(("&", "<", "\u0000")) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": + data + chars}) + return True + + def characterReferenceInRcdata(self): + self.consumeEntity() + self.state = self.rcdataState + return True + + def rawtextState(self): + data = self.stream.char() + if data == "<": + self.state = self.rawtextLessThanSignState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\uFFFD"}) + elif data == EOF: + # Tokenization ends. + return False + else: + chars = self.stream.charsUntil(("<", "\u0000")) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": + data + chars}) + return True + + def scriptDataState(self): + data = self.stream.char() + if data == "<": + self.state = self.scriptDataLessThanSignState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\uFFFD"}) + elif data == EOF: + # Tokenization ends. + return False + else: + chars = self.stream.charsUntil(("<", "\u0000")) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": + data + chars}) + return True + + def plaintextState(self): + data = self.stream.char() + if data == EOF: + # Tokenization ends. + return False + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\uFFFD"}) + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": + data + self.stream.charsUntil("\u0000")}) + return True + + def tagOpenState(self): + data = self.stream.char() + if data == "!": + self.state = self.markupDeclarationOpenState + elif data == "/": + self.state = self.closeTagOpenState + elif data in asciiLetters: + self.currentToken = {"type": tokenTypes["StartTag"], + "name": data, "data": [], + "selfClosing": False, + "selfClosingAcknowledged": False} + self.state = self.tagNameState + elif data == ">": + # XXX In theory it could be something besides a tag name. But + # do we really care? + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-tag-name-but-got-right-bracket"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<>"}) + self.state = self.dataState + elif data == "?": + # XXX In theory it could be something besides a tag name. But + # do we really care? + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-tag-name-but-got-question-mark"}) + self.stream.unget(data) + self.state = self.bogusCommentState + else: + # XXX + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-tag-name"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<"}) + self.stream.unget(data) + self.state = self.dataState + return True + + def closeTagOpenState(self): + data = self.stream.char() + if data in asciiLetters: + self.currentToken = {"type": tokenTypes["EndTag"], "name": data, + "data": [], "selfClosing": False} + self.state = self.tagNameState + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-closing-tag-but-got-right-bracket"}) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-closing-tag-but-got-eof"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "</"}) + self.state = self.dataState + else: + # XXX data can be _'_... + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-closing-tag-but-got-char", + "datavars": {"data": data}}) + self.stream.unget(data) + self.state = self.bogusCommentState + return True + + def tagNameState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.beforeAttributeNameState + elif data == ">": + self.emitCurrentToken() + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-tag-name"}) + self.state = self.dataState + elif data == "/": + self.state = self.selfClosingStartTagState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["name"] += "\uFFFD" + else: + self.currentToken["name"] += data + # (Don't use charsUntil here, because tag names are + # very short and it's faster to not do anything fancy) + return True + + def rcdataLessThanSignState(self): + data = self.stream.char() + if data == "/": + self.temporaryBuffer = "" + self.state = self.rcdataEndTagOpenState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<"}) + self.stream.unget(data) + self.state = self.rcdataState + return True + + def rcdataEndTagOpenState(self): + data = self.stream.char() + if data in asciiLetters: + self.temporaryBuffer += data + self.state = self.rcdataEndTagNameState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "</"}) + self.stream.unget(data) + self.state = self.rcdataState + return True + + def rcdataEndTagNameState(self): + appropriate = self.currentToken and self.currentToken["name"].lower() == self.temporaryBuffer.lower() + data = self.stream.char() + if data in spaceCharacters and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.state = self.beforeAttributeNameState + elif data == "/" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.state = self.selfClosingStartTagState + elif data == ">" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.emitCurrentToken() + self.state = self.dataState + elif data in asciiLetters: + self.temporaryBuffer += data + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "</" + self.temporaryBuffer}) + self.stream.unget(data) + self.state = self.rcdataState + return True + + def rawtextLessThanSignState(self): + data = self.stream.char() + if data == "/": + self.temporaryBuffer = "" + self.state = self.rawtextEndTagOpenState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<"}) + self.stream.unget(data) + self.state = self.rawtextState + return True + + def rawtextEndTagOpenState(self): + data = self.stream.char() + if data in asciiLetters: + self.temporaryBuffer += data + self.state = self.rawtextEndTagNameState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "</"}) + self.stream.unget(data) + self.state = self.rawtextState + return True + + def rawtextEndTagNameState(self): + appropriate = self.currentToken and self.currentToken["name"].lower() == self.temporaryBuffer.lower() + data = self.stream.char() + if data in spaceCharacters and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.state = self.beforeAttributeNameState + elif data == "/" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.state = self.selfClosingStartTagState + elif data == ">" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.emitCurrentToken() + self.state = self.dataState + elif data in asciiLetters: + self.temporaryBuffer += data + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "</" + self.temporaryBuffer}) + self.stream.unget(data) + self.state = self.rawtextState + return True + + def scriptDataLessThanSignState(self): + data = self.stream.char() + if data == "/": + self.temporaryBuffer = "" + self.state = self.scriptDataEndTagOpenState + elif data == "!": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<!"}) + self.state = self.scriptDataEscapeStartState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<"}) + self.stream.unget(data) + self.state = self.scriptDataState + return True + + def scriptDataEndTagOpenState(self): + data = self.stream.char() + if data in asciiLetters: + self.temporaryBuffer += data + self.state = self.scriptDataEndTagNameState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "</"}) + self.stream.unget(data) + self.state = self.scriptDataState + return True + + def scriptDataEndTagNameState(self): + appropriate = self.currentToken and self.currentToken["name"].lower() == self.temporaryBuffer.lower() + data = self.stream.char() + if data in spaceCharacters and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.state = self.beforeAttributeNameState + elif data == "/" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.state = self.selfClosingStartTagState + elif data == ">" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.emitCurrentToken() + self.state = self.dataState + elif data in asciiLetters: + self.temporaryBuffer += data + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "</" + self.temporaryBuffer}) + self.stream.unget(data) + self.state = self.scriptDataState + return True + + def scriptDataEscapeStartState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "-"}) + self.state = self.scriptDataEscapeStartDashState + else: + self.stream.unget(data) + self.state = self.scriptDataState + return True + + def scriptDataEscapeStartDashState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "-"}) + self.state = self.scriptDataEscapedDashDashState + else: + self.stream.unget(data) + self.state = self.scriptDataState + return True + + def scriptDataEscapedState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "-"}) + self.state = self.scriptDataEscapedDashState + elif data == "<": + self.state = self.scriptDataEscapedLessThanSignState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\uFFFD"}) + elif data == EOF: + self.state = self.dataState + else: + chars = self.stream.charsUntil(("<", "-", "\u0000")) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": + data + chars}) + return True + + def scriptDataEscapedDashState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "-"}) + self.state = self.scriptDataEscapedDashDashState + elif data == "<": + self.state = self.scriptDataEscapedLessThanSignState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\uFFFD"}) + self.state = self.scriptDataEscapedState + elif data == EOF: + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + self.state = self.scriptDataEscapedState + return True + + def scriptDataEscapedDashDashState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "-"}) + elif data == "<": + self.state = self.scriptDataEscapedLessThanSignState + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": ">"}) + self.state = self.scriptDataState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\uFFFD"}) + self.state = self.scriptDataEscapedState + elif data == EOF: + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + self.state = self.scriptDataEscapedState + return True + + def scriptDataEscapedLessThanSignState(self): + data = self.stream.char() + if data == "/": + self.temporaryBuffer = "" + self.state = self.scriptDataEscapedEndTagOpenState + elif data in asciiLetters: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<" + data}) + self.temporaryBuffer = data + self.state = self.scriptDataDoubleEscapeStartState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<"}) + self.stream.unget(data) + self.state = self.scriptDataEscapedState + return True + + def scriptDataEscapedEndTagOpenState(self): + data = self.stream.char() + if data in asciiLetters: + self.temporaryBuffer = data + self.state = self.scriptDataEscapedEndTagNameState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "</"}) + self.stream.unget(data) + self.state = self.scriptDataEscapedState + return True + + def scriptDataEscapedEndTagNameState(self): + appropriate = self.currentToken and self.currentToken["name"].lower() == self.temporaryBuffer.lower() + data = self.stream.char() + if data in spaceCharacters and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.state = self.beforeAttributeNameState + elif data == "/" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.state = self.selfClosingStartTagState + elif data == ">" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.emitCurrentToken() + self.state = self.dataState + elif data in asciiLetters: + self.temporaryBuffer += data + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "</" + self.temporaryBuffer}) + self.stream.unget(data) + self.state = self.scriptDataEscapedState + return True + + def scriptDataDoubleEscapeStartState(self): + data = self.stream.char() + if data in (spaceCharacters | frozenset(("/", ">"))): + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + if self.temporaryBuffer.lower() == "script": + self.state = self.scriptDataDoubleEscapedState + else: + self.state = self.scriptDataEscapedState + elif data in asciiLetters: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + self.temporaryBuffer += data + else: + self.stream.unget(data) + self.state = self.scriptDataEscapedState + return True + + def scriptDataDoubleEscapedState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "-"}) + self.state = self.scriptDataDoubleEscapedDashState + elif data == "<": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<"}) + self.state = self.scriptDataDoubleEscapedLessThanSignState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\uFFFD"}) + elif data == EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-script-in-script"}) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + return True + + def scriptDataDoubleEscapedDashState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "-"}) + self.state = self.scriptDataDoubleEscapedDashDashState + elif data == "<": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<"}) + self.state = self.scriptDataDoubleEscapedLessThanSignState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\uFFFD"}) + self.state = self.scriptDataDoubleEscapedState + elif data == EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-script-in-script"}) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + self.state = self.scriptDataDoubleEscapedState + return True + + def scriptDataDoubleEscapedDashDashState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "-"}) + elif data == "<": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<"}) + self.state = self.scriptDataDoubleEscapedLessThanSignState + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": ">"}) + self.state = self.scriptDataState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\uFFFD"}) + self.state = self.scriptDataDoubleEscapedState + elif data == EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-script-in-script"}) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + self.state = self.scriptDataDoubleEscapedState + return True + + def scriptDataDoubleEscapedLessThanSignState(self): + data = self.stream.char() + if data == "/": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "/"}) + self.temporaryBuffer = "" + self.state = self.scriptDataDoubleEscapeEndState + else: + self.stream.unget(data) + self.state = self.scriptDataDoubleEscapedState + return True + + def scriptDataDoubleEscapeEndState(self): + data = self.stream.char() + if data in (spaceCharacters | frozenset(("/", ">"))): + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + if self.temporaryBuffer.lower() == "script": + self.state = self.scriptDataEscapedState + else: + self.state = self.scriptDataDoubleEscapedState + elif data in asciiLetters: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + self.temporaryBuffer += data + else: + self.stream.unget(data) + self.state = self.scriptDataDoubleEscapedState + return True + + def beforeAttributeNameState(self): + data = self.stream.char() + if data in spaceCharacters: + self.stream.charsUntil(spaceCharacters, True) + elif data in asciiLetters: + self.currentToken["data"].append([data, ""]) + self.state = self.attributeNameState + elif data == ">": + self.emitCurrentToken() + elif data == "/": + self.state = self.selfClosingStartTagState + elif data in ("'", '"', "=", "<"): + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "invalid-character-in-attribute-name"}) + self.currentToken["data"].append([data, ""]) + self.state = self.attributeNameState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"].append(["\uFFFD", ""]) + self.state = self.attributeNameState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-attribute-name-but-got-eof"}) + self.state = self.dataState + else: + self.currentToken["data"].append([data, ""]) + self.state = self.attributeNameState + return True + + def attributeNameState(self): + data = self.stream.char() + leavingThisState = True + emitToken = False + if data == "=": + self.state = self.beforeAttributeValueState + elif data in asciiLetters: + self.currentToken["data"][-1][0] += data +\ + self.stream.charsUntil(asciiLetters, True) + leavingThisState = False + elif data == ">": + # XXX If we emit here the attributes are converted to a dict + # without being checked and when the code below runs we error + # because data is a dict not a list + emitToken = True + elif data in spaceCharacters: + self.state = self.afterAttributeNameState + elif data == "/": + self.state = self.selfClosingStartTagState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"][-1][0] += "\uFFFD" + leavingThisState = False + elif data in ("'", '"', "<"): + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": + "invalid-character-in-attribute-name"}) + self.currentToken["data"][-1][0] += data + leavingThisState = False + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "eof-in-attribute-name"}) + self.state = self.dataState + else: + self.currentToken["data"][-1][0] += data + leavingThisState = False + + if leavingThisState: + # Attributes are not dropped at this stage. That happens when the + # start tag token is emitted so values can still be safely appended + # to attributes, but we do want to report the parse error in time. + self.currentToken["data"][-1][0] = ( + self.currentToken["data"][-1][0].translate(asciiUpper2Lower)) + for name, _ in self.currentToken["data"][:-1]: + if self.currentToken["data"][-1][0] == name: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "duplicate-attribute"}) + break + # XXX Fix for above XXX + if emitToken: + self.emitCurrentToken() + return True + + def afterAttributeNameState(self): + data = self.stream.char() + if data in spaceCharacters: + self.stream.charsUntil(spaceCharacters, True) + elif data == "=": + self.state = self.beforeAttributeValueState + elif data == ">": + self.emitCurrentToken() + elif data in asciiLetters: + self.currentToken["data"].append([data, ""]) + self.state = self.attributeNameState + elif data == "/": + self.state = self.selfClosingStartTagState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"].append(["\uFFFD", ""]) + self.state = self.attributeNameState + elif data in ("'", '"', "<"): + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "invalid-character-after-attribute-name"}) + self.currentToken["data"].append([data, ""]) + self.state = self.attributeNameState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-end-of-tag-but-got-eof"}) + self.state = self.dataState + else: + self.currentToken["data"].append([data, ""]) + self.state = self.attributeNameState + return True + + def beforeAttributeValueState(self): + data = self.stream.char() + if data in spaceCharacters: + self.stream.charsUntil(spaceCharacters, True) + elif data == "\"": + self.state = self.attributeValueDoubleQuotedState + elif data == "&": + self.state = self.attributeValueUnQuotedState + self.stream.unget(data) + elif data == "'": + self.state = self.attributeValueSingleQuotedState + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-attribute-value-but-got-right-bracket"}) + self.emitCurrentToken() + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"][-1][1] += "\uFFFD" + self.state = self.attributeValueUnQuotedState + elif data in ("=", "<", "`"): + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "equals-in-unquoted-attribute-value"}) + self.currentToken["data"][-1][1] += data + self.state = self.attributeValueUnQuotedState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-attribute-value-but-got-eof"}) + self.state = self.dataState + else: + self.currentToken["data"][-1][1] += data + self.state = self.attributeValueUnQuotedState + return True + + def attributeValueDoubleQuotedState(self): + data = self.stream.char() + if data == "\"": + self.state = self.afterAttributeValueState + elif data == "&": + self.processEntityInAttribute('"') + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"][-1][1] += "\uFFFD" + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-attribute-value-double-quote"}) + self.state = self.dataState + else: + self.currentToken["data"][-1][1] += data +\ + self.stream.charsUntil(("\"", "&", "\u0000")) + return True + + def attributeValueSingleQuotedState(self): + data = self.stream.char() + if data == "'": + self.state = self.afterAttributeValueState + elif data == "&": + self.processEntityInAttribute("'") + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"][-1][1] += "\uFFFD" + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-attribute-value-single-quote"}) + self.state = self.dataState + else: + self.currentToken["data"][-1][1] += data +\ + self.stream.charsUntil(("'", "&", "\u0000")) + return True + + def attributeValueUnQuotedState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.beforeAttributeNameState + elif data == "&": + self.processEntityInAttribute(">") + elif data == ">": + self.emitCurrentToken() + elif data in ('"', "'", "=", "<", "`"): + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-character-in-unquoted-attribute-value"}) + self.currentToken["data"][-1][1] += data + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"][-1][1] += "\uFFFD" + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-attribute-value-no-quotes"}) + self.state = self.dataState + else: + self.currentToken["data"][-1][1] += data + self.stream.charsUntil( + frozenset(("&", ">", '"', "'", "=", "<", "`", "\u0000")) | spaceCharacters) + return True + + def afterAttributeValueState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.beforeAttributeNameState + elif data == ">": + self.emitCurrentToken() + elif data == "/": + self.state = self.selfClosingStartTagState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-EOF-after-attribute-value"}) + self.stream.unget(data) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-character-after-attribute-value"}) + self.stream.unget(data) + self.state = self.beforeAttributeNameState + return True + + def selfClosingStartTagState(self): + data = self.stream.char() + if data == ">": + self.currentToken["selfClosing"] = True + self.emitCurrentToken() + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": + "unexpected-EOF-after-solidus-in-tag"}) + self.stream.unget(data) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-character-after-solidus-in-tag"}) + self.stream.unget(data) + self.state = self.beforeAttributeNameState + return True + + def bogusCommentState(self): + # Make a new comment token and give it as value all the characters + # until the first > or EOF (charsUntil checks for EOF automatically) + # and emit it. + data = self.stream.charsUntil(">") + data = data.replace("\u0000", "\uFFFD") + self.tokenQueue.append( + {"type": tokenTypes["Comment"], "data": data}) + + # Eat the character directly after the bogus comment which is either a + # ">" or an EOF. + self.stream.char() + self.state = self.dataState + return True + + def markupDeclarationOpenState(self): + charStack = [self.stream.char()] + if charStack[-1] == "-": + charStack.append(self.stream.char()) + if charStack[-1] == "-": + self.currentToken = {"type": tokenTypes["Comment"], "data": ""} + self.state = self.commentStartState + return True + elif charStack[-1] in ('d', 'D'): + matched = True + for expected in (('o', 'O'), ('c', 'C'), ('t', 'T'), + ('y', 'Y'), ('p', 'P'), ('e', 'E')): + charStack.append(self.stream.char()) + if charStack[-1] not in expected: + matched = False + break + if matched: + self.currentToken = {"type": tokenTypes["Doctype"], + "name": "", + "publicId": None, "systemId": None, + "correct": True} + self.state = self.doctypeState + return True + elif (charStack[-1] == "[" and + self.parser is not None and + self.parser.tree.openElements and + self.parser.tree.openElements[-1].namespace != self.parser.tree.defaultNamespace): + matched = True + for expected in ["C", "D", "A", "T", "A", "["]: + charStack.append(self.stream.char()) + if charStack[-1] != expected: + matched = False + break + if matched: + self.state = self.cdataSectionState + return True + + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-dashes-or-doctype"}) + + while charStack: + self.stream.unget(charStack.pop()) + self.state = self.bogusCommentState + return True + + def commentStartState(self): + data = self.stream.char() + if data == "-": + self.state = self.commentStartDashState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"] += "\uFFFD" + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "incorrect-comment"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-comment"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["data"] += data + self.state = self.commentState + return True + + def commentStartDashState(self): + data = self.stream.char() + if data == "-": + self.state = self.commentEndState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"] += "-\uFFFD" + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "incorrect-comment"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-comment"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["data"] += "-" + data + self.state = self.commentState + return True + + def commentState(self): + data = self.stream.char() + if data == "-": + self.state = self.commentEndDashState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"] += "\uFFFD" + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "eof-in-comment"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["data"] += data + \ + self.stream.charsUntil(("-", "\u0000")) + return True + + def commentEndDashState(self): + data = self.stream.char() + if data == "-": + self.state = self.commentEndState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"] += "-\uFFFD" + self.state = self.commentState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-comment-end-dash"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["data"] += "-" + data + self.state = self.commentState + return True + + def commentEndState(self): + data = self.stream.char() + if data == ">": + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"] += "--\uFFFD" + self.state = self.commentState + elif data == "!": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-bang-after-double-dash-in-comment"}) + self.state = self.commentEndBangState + elif data == "-": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-dash-after-double-dash-in-comment"}) + self.currentToken["data"] += data + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-comment-double-dash"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + # XXX + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-comment"}) + self.currentToken["data"] += "--" + data + self.state = self.commentState + return True + + def commentEndBangState(self): + data = self.stream.char() + if data == ">": + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data == "-": + self.currentToken["data"] += "--!" + self.state = self.commentEndDashState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"] += "--!\uFFFD" + self.state = self.commentState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-comment-end-bang-state"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["data"] += "--!" + data + self.state = self.commentState + return True + + def doctypeState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.beforeDoctypeNameState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-doctype-name-but-got-eof"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "need-space-after-doctype"}) + self.stream.unget(data) + self.state = self.beforeDoctypeNameState + return True + + def beforeDoctypeNameState(self): + data = self.stream.char() + if data in spaceCharacters: + pass + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-doctype-name-but-got-right-bracket"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["name"] = "\uFFFD" + self.state = self.doctypeNameState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-doctype-name-but-got-eof"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["name"] = data + self.state = self.doctypeNameState + return True + + def doctypeNameState(self): + data = self.stream.char() + if data in spaceCharacters: + self.currentToken["name"] = self.currentToken["name"].translate(asciiUpper2Lower) + self.state = self.afterDoctypeNameState + elif data == ">": + self.currentToken["name"] = self.currentToken["name"].translate(asciiUpper2Lower) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["name"] += "\uFFFD" + self.state = self.doctypeNameState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype-name"}) + self.currentToken["correct"] = False + self.currentToken["name"] = self.currentToken["name"].translate(asciiUpper2Lower) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["name"] += data + return True + + def afterDoctypeNameState(self): + data = self.stream.char() + if data in spaceCharacters: + pass + elif data == ">": + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.currentToken["correct"] = False + self.stream.unget(data) + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + if data in ("p", "P"): + matched = True + for expected in (("u", "U"), ("b", "B"), ("l", "L"), + ("i", "I"), ("c", "C")): + data = self.stream.char() + if data not in expected: + matched = False + break + if matched: + self.state = self.afterDoctypePublicKeywordState + return True + elif data in ("s", "S"): + matched = True + for expected in (("y", "Y"), ("s", "S"), ("t", "T"), + ("e", "E"), ("m", "M")): + data = self.stream.char() + if data not in expected: + matched = False + break + if matched: + self.state = self.afterDoctypeSystemKeywordState + return True + + # All the characters read before the current 'data' will be + # [a-zA-Z], so they're garbage in the bogus doctype and can be + # discarded; only the latest character might be '>' or EOF + # and needs to be ungetted + self.stream.unget(data) + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-space-or-right-bracket-in-doctype", "datavars": + {"data": data}}) + self.currentToken["correct"] = False + self.state = self.bogusDoctypeState + + return True + + def afterDoctypePublicKeywordState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.beforeDoctypePublicIdentifierState + elif data in ("'", '"'): + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.stream.unget(data) + self.state = self.beforeDoctypePublicIdentifierState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.stream.unget(data) + self.state = self.beforeDoctypePublicIdentifierState + return True + + def beforeDoctypePublicIdentifierState(self): + data = self.stream.char() + if data in spaceCharacters: + pass + elif data == "\"": + self.currentToken["publicId"] = "" + self.state = self.doctypePublicIdentifierDoubleQuotedState + elif data == "'": + self.currentToken["publicId"] = "" + self.state = self.doctypePublicIdentifierSingleQuotedState + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-end-of-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["correct"] = False + self.state = self.bogusDoctypeState + return True + + def doctypePublicIdentifierDoubleQuotedState(self): + data = self.stream.char() + if data == "\"": + self.state = self.afterDoctypePublicIdentifierState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["publicId"] += "\uFFFD" + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-end-of-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["publicId"] += data + return True + + def doctypePublicIdentifierSingleQuotedState(self): + data = self.stream.char() + if data == "'": + self.state = self.afterDoctypePublicIdentifierState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["publicId"] += "\uFFFD" + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-end-of-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["publicId"] += data + return True + + def afterDoctypePublicIdentifierState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.betweenDoctypePublicAndSystemIdentifiersState + elif data == ">": + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data == '"': + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["systemId"] = "" + self.state = self.doctypeSystemIdentifierDoubleQuotedState + elif data == "'": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["systemId"] = "" + self.state = self.doctypeSystemIdentifierSingleQuotedState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["correct"] = False + self.state = self.bogusDoctypeState + return True + + def betweenDoctypePublicAndSystemIdentifiersState(self): + data = self.stream.char() + if data in spaceCharacters: + pass + elif data == ">": + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data == '"': + self.currentToken["systemId"] = "" + self.state = self.doctypeSystemIdentifierDoubleQuotedState + elif data == "'": + self.currentToken["systemId"] = "" + self.state = self.doctypeSystemIdentifierSingleQuotedState + elif data == EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["correct"] = False + self.state = self.bogusDoctypeState + return True + + def afterDoctypeSystemKeywordState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.beforeDoctypeSystemIdentifierState + elif data in ("'", '"'): + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.stream.unget(data) + self.state = self.beforeDoctypeSystemIdentifierState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.stream.unget(data) + self.state = self.beforeDoctypeSystemIdentifierState + return True + + def beforeDoctypeSystemIdentifierState(self): + data = self.stream.char() + if data in spaceCharacters: + pass + elif data == "\"": + self.currentToken["systemId"] = "" + self.state = self.doctypeSystemIdentifierDoubleQuotedState + elif data == "'": + self.currentToken["systemId"] = "" + self.state = self.doctypeSystemIdentifierSingleQuotedState + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["correct"] = False + self.state = self.bogusDoctypeState + return True + + def doctypeSystemIdentifierDoubleQuotedState(self): + data = self.stream.char() + if data == "\"": + self.state = self.afterDoctypeSystemIdentifierState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["systemId"] += "\uFFFD" + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-end-of-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["systemId"] += data + return True + + def doctypeSystemIdentifierSingleQuotedState(self): + data = self.stream.char() + if data == "'": + self.state = self.afterDoctypeSystemIdentifierState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["systemId"] += "\uFFFD" + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-end-of-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["systemId"] += data + return True + + def afterDoctypeSystemIdentifierState(self): + data = self.stream.char() + if data in spaceCharacters: + pass + elif data == ">": + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.state = self.bogusDoctypeState + return True + + def bogusDoctypeState(self): + data = self.stream.char() + if data == ">": + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + # XXX EMIT + self.stream.unget(data) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + pass + return True + + def cdataSectionState(self): + data = [] + while True: + data.append(self.stream.charsUntil("]")) + data.append(self.stream.charsUntil(">")) + char = self.stream.char() + if char == EOF: + break + else: + assert char == ">" + if data[-1][-2:] == "]]": + data[-1] = data[-1][:-2] + break + else: + data.append(char) + + data = "".join(data) # pylint:disable=redefined-variable-type + # Deal with null here rather than in the parser + nullCount = data.count("\u0000") + if nullCount > 0: + for _ in range(nullCount): + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + data = data.replace("\u0000", "\uFFFD") + if data: + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": data}) + self.state = self.dataState + return True diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/__init__.py new file mode 100644 index 0000000..a5ba4bf --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/__init__.py @@ -0,0 +1,14 @@ +from __future__ import absolute_import, division, unicode_literals + +from .py import Trie as PyTrie + +Trie = PyTrie + +# pylint:disable=wrong-import-position +try: + from .datrie import Trie as DATrie +except ImportError: + pass +else: + Trie = DATrie +# pylint:enable=wrong-import-position diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c9982eece4edb5ad0a768ba44e00f1560358f6e0 GIT binary patch literal 451 zcmYjMOHRWu5FI;dD1nwPdI6SQGzJwaAt3}32-u(s5T6Li3bkoX?KpCrq8x&QaHVWn z^$Kjj?h0Feo_TL({5<M(Vzl~w*+l@~@NaFo_|%>9)&T>CBq)?3g;T78G(f;G3uLHT zX@r1BX{+w7nGMIZ5j;ZP4}otkVsnMS?`O!PC*bY0#lkxnv{r5|41#7Sdo8uBET=*h z+SsPe#8Q+(=S{E5#Z)s+rLf#&vRpZrFhEUsZv?*?#7#`;TV*T5DK*$>Ch!nCXmC-R z$OUOMseO4GvCOXT^E00}Ti5INE{xIU3ry@gJ^Xx<xmKJgF{`*dI2@BnJ)LJpO^kl$ zQ(L;+&UOAUxw*_N|Hx{x<oS|F@k)xdGD^mzbe4xjHeF;hUXnr-!~LUVFBuJs+Q|u@ z%{)n{Yh~JyxmEJePoUl-p;Y9;QkoQX(>_+3Rg$0h&zD^XeY}ms0HYr2q6q&1icEX3 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/__pycache__/_base.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/__pycache__/_base.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e580782f03a1131bb6babbccb367c4199f791054 GIT binary patch literal 1534 zcmZux&u`l{6ecOzmK`T;lVEH1qcG53bcmH9ZGja*uwmVL7-j@WumZvcLJ?_Oj$|n$ zoyLZGnKQK5aeu;Y`<HaxDgQz*+k14H*;@thi6S5QzVChSX@7maMX&$<=?{mHzsS<# z!u%^3`Y{+m1WidsLz=OWWlrc&Tw|%5)xsJjFNko2dqspRYjY>8i`p^q>(_9S_)c{v zI@NhPF_I@)kt<VqBDqL(l8>vqlW`K~Lh>{*QbnouY1Q~4DvD%0i1GOQ2jSqOpMjAi zq=JM@(9jWUZ%Cio@XgQ_HBrAJVNEoI2k*LQiWa;ZZ-`4m4?wjm_e3Rf_W9SR+NdZt zozqCmPMk(sclx>N7}(XlnAvEAKw55x-h&TA3@yo=jo6&LW^W-4XP$asoRZDyF|k;v zU{_wro)cX0onB0DF2hTa$QBI!378=%$<LdwX-P-qEx0SUq`$Ls_n7=iAQLTZB4zZe z#0-5_vF=_)FJZY}DA`XgRReB#_ggT`GZ|#bU?S7UPo4%x(|8!E>`3J!85<4XW|)tE zJnFrOjC>VMg9|yn2-4&<DD2LD_i3OZ`@2OHpG5<ygCZ$*zxcAd*WKSOrm)?Wg8?oE z9FB@y1w)giPw)ng*$OzOuv<*uH4n5jah?^2cab5|t&`bjnDFkIoa*jDn#UmWVfWV2 zcdMG76jG@=cvmjERSsMOb>nK8_SG7!t2<zTd6RRi6z4u&Y_#9+HesSYFobO|k9us@ zyp8)mHNQdUM_?`=lw?Ha<T=W~N;U#1K!%n8<<46#p~S6%C*S$ZVo(^tcho(2Spby- zh^-O}gLta#VWc@S;V2zn$h8SO3xITkwh-Ws1^6M~6~I_A7Vrs7N+`awx@wmI@bZ~~ zzJziF$bx<hMF}(>0S#!5lC6<n*$&hfcz2dpfLP}xG2k_)zknwYWW8%FQAl}BMdN|2 zoK%i0?|V7@R;gUA@TJLr*>0pcoYCfn=MM73G!W`hm))nEbd$}tEZ0@f6_(g&mgPq< zK~WGNN>T!s9nwc3Xb)t^zF9^THqxbjSW;nYH5!K+&mO{IZT}@8!R-DAKv_48)T}(t z$5AFZuUedExtOFlZ*zV=iPD>$2InG=IbT%AHe7E3s!w57t>2VuEYlQRuwShK7FZ3+ z7BAL44&4HS8QW-j4X<VUq31U+c7I|f3SuklD216)$e~(`^E8Dfhd-%SHC)Dv{*AMg R4DVn;;1Gqj8Q5lR=O29{W-0&x literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/__pycache__/datrie.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/__pycache__/datrie.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e51076065c8194dd1e8637013a6d78b6c73375db GIT binary patch literal 2053 zcmb7FTTdHD6rR~#uh)wK2S^0Hx>wa|@wTFg)GDe%lPaoISxAk7WKoS4&tR|Fi<ub{ zjFy*}xBi3vgZ`y??Gt~YFYP(Ih8Tp>GS-}#J!j^8=Q`e6T=eP1KYM>Tg#1P327Hqz zFx4+WIN>xV3GLFv>RO52wJGwf*hwl~x7gcpHSxM0>>c3OfbUcCobU>F&k1*hKef9R zUj3D{ybI7sTDDmZ_f-~;wO~;)%A__PkB%c1WvOY5)2Nqm!Qw~@8OEwbjq^fA0@j)q zCz|QWNL)}*)I)8T!-mZhnCc}ELAsQauEi<0&PmtiHg{lkN}JFc?!mXqYutym%GY?E zFP_t`$CvmraB954@4@Qx6}}4V0$%|8@5>4(?^!@_xG*tTPhqNKAev0cnRW7gPKR_# zo{`_$XSTL-Tia7heXbo&r}Q;Fd63&6TRL-cYgoyhDW&A-t6g%`*d^NK*07peQ#hFu z=AC>1x@v{4l|AdsKC9%FoD99(eoT(`b|DpDmfbmB-;U$vp_r&<GFG~|FPcirDD5jl zTE4NB(8fWr@gd5o(qY;Y674s&7ZA>$q|BtTL(Yx+Y#XC(oM9HFroworLsNlVB&y{a zM~V2rI3=?;2&FPM=rs=RP31U@$Kp>S*Fp2&zXyXX5kV65$0Gjr;iF(@f~S%lnGHox zEBMxfEPc7tc^+!<Dx3tzB0Ub`Xg?SglCAcmKmqdRDC`}EeW8L;G}`>;yY|=Zt<BK{ z#BI^<BQs!dm1i;-=p=rK8W^}Q0<aU7_Gn@}#-cRRjQN<X6(EGVbcy=ZgSlcg=n6eu zM9<roC$I91`Nmn~8Sm$in;|)LA@;P>qOt+JmL*ZEypII^FUbb%Or5b_mg*29&)5Ut zsG@}E>Ae}?8)**<8wak}Ks5nSD2o!*GIlJ|5}B6BH$bb5!3oCDf=j&m46hJegF?6~ z|FDi<Lj%qHGpn6U|D23sk%&|aUQ`RXUHE$g72^zj%h-E!uvc*{ByWi;L^Y=ym$?5K z*9FG<LSt<*_Td~}W9H_SuyZ?R9qwQzhctf^*aB5znrA6B?nsJ*=;TILiz6S;q1Fmi z?6SL}nYBTv7~W*BB0XRw-epC71Q<855%;q>?2Q8ZHZ6CyWhu^5=r#R6toQ^h_+rkA z)xwJF_wS6qdi_3@Q}VV@d<q79IcLQBEk=||pjYeo5Ts!u7&AU&Nyf)9?x91E#$jAa z<U62FzKi62Bv@Lqi3F=cV(cZlE)jYzGes+4yA^*EHP{pnjYqw@XO};}SPOZlwSXoZ zjP+Q82@;!K+DPy}#kl3$RUDN|$XSMmu04C`+6wBic)u%bKUBh0w|{(!j^AdE@gA3s R{(xPsJRoaUoz|_o{VyT%#8LnN literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/__pycache__/py.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/__pycache__/py.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..346c36c976d34cbfe052cd569f9cff621202d5c2 GIT binary patch literal 2258 zcma)7-EUhp6t{gpa+9WQHpbQp7zG3<h$cg0MM%@MG1w%8qDoXliiWJ)*iCMGKT_N2 z((2}gOyd9GjsJkZ#jiZ=iTAz0IlfJ{R@20da%`V-?Bnx0AHKc1+MqA~efm#G$lv6( z&xiSa`0Jm52qI`oGTNsZ>$A-3dlY#r^|PQKxVe{xS*>4#xi5k=%If_FC69>+MeR8e zHQAVZ{kn*LChhtQIFYnHyB_cBBApn?lWbflV<VBABswW_+nVIbpb(O$iIFN!b(`9{ zkyFFX=~%*IWk1n!V0bDI%nOR=QS0xiL=N!q#pl7~KK%6~Ad>W{AblpNV9!b46Q1y4 zgzJhB#z53W1Y;=bq5)$~v_w;^KBxUitci8t)Wr&1|B8y>umJ;tAC73|A^i1^Kn!4o z21<HJ=j3}br*o=r8Ya9s{f(BiB-}H8C7t6c5I)dQ1g2Jk?g4{UBnX%adjoV0KQx0O z(fHp0Qj%X=Gitz$p>y_xP;$)NCfaK=+W;7IZQ^_&RRG$+Vx3!-PX8pT3G0`?cSl7g zyIC@v$n@(wJKf#W!6;VQt||@zR}E`3D)J}0y~nYU&*IbWiOf&BX|mrPJIU?NPFF*4 zw#V_{C>~1P9Vg@MufFZv>fGKQpMtm}heKp`Icyb$>W)m7-oX>Nfk44Io$=|*`rV<- z<#ep>t)Od_pJ!Vb$`0pAo*2$Mchh13NpP>TR6g5ykfvKl@>FkS6K%Hk<(7t1^P#px zxqPTwFHTeIqmHfbLE8MFRH1CZMQmalYREV#U|A{fK|B~qIKz6W%x$w;kBcNX8qo8# zOb@J&TOEKES%oXxXmQO3I)LaBdYwirq-!*!XR8-nxsW&LtjinRiJ5UojzWk#gpjIt zfY)Yf69((S9WR@0ay}?>6GNOiM`ec{p=Vdl4Ze~tvj~B?U=;F)K$_CZC{s5;p|VV! z<;zBE94ap7{Q7J5n&<YM;D4L4K34YIY$2|o!Z|{)aBhjFle`5@z_O&9SVfo7RPUpc z7^l~QxWf5R8nBmfj`D@Q*12;_VQ*=(25MMaE`oo-q=fcz6zL5Z=@Ekw?$9LaW8)%= zAVbwdbss_}P(2v^r)<V%o(WJB;?GKN?)zls&w{+Q;Lcgafifqvu=Guc+H<g=PD;p@ z>6dPIuu0%-2&MX?3=eAy-kefW27-M<X2J3F7qkNXr}WFf^%);eXnQ@i4)<5+Q9Dxa z!eBiujcq^+QAR&Y%t&F#6?Ps4PX%$A0u?4iyH@3BI9Bo?nOc?>mW>h{xV@Gp>I&*# z#M|*c1irorgwPGzU`^Vf*ICQejnA&q7Hz`3!OrR~23V#`>=E}R_5v1*>QQT=!Wl7V zfW{7t-Z{?DXAgq~&NDx6LLYXVIh*<C$OaDCJ;5MaDDweV=-RGCyx!g;a2JbBeS+i? zCJ3AZrX5t(^C>buL-IM2Hj;}#*lVL$yB5R|WnO`}1B&`85CWL^4w<X0$<|<gw&~D# z(=N>P2DYO-&Lroy!Fg7QNs4pm7RQq~tt9F_yvPSg5Pr3V<Rc_5RA1oi)ivD=JDq#@ z>M+r3Kq4B|Bd_{3Za7)5y@Ey$CT60*sKQpGJS6yZ*>!jfI_Hl;M<-MFGTE?t$z4|U l1HK<?=??4H9(?x@eSOnaY;?DB?H;x?jW6;wNEi5d{{hI^?~ecg literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/_base.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/_base.py new file mode 100644 index 0000000..a1158bb --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/_base.py @@ -0,0 +1,37 @@ +from __future__ import absolute_import, division, unicode_literals + +from collections import Mapping + + +class Trie(Mapping): + """Abstract base class for tries""" + + def keys(self, prefix=None): + # pylint:disable=arguments-differ + keys = super(Trie, self).keys() + + if prefix is None: + return set(keys) + + return {x for x in keys if x.startswith(prefix)} + + def has_keys_with_prefix(self, prefix): + for key in self.keys(): + if key.startswith(prefix): + return True + + return False + + def longest_prefix(self, prefix): + if prefix in self: + return prefix + + for i in range(1, len(prefix) + 1): + if prefix[:-i] in self: + return prefix[:-i] + + raise KeyError(prefix) + + def longest_prefix_item(self, prefix): + lprefix = self.longest_prefix(prefix) + return (lprefix, self[lprefix]) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/datrie.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/datrie.py new file mode 100644 index 0000000..e2e5f86 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/datrie.py @@ -0,0 +1,44 @@ +from __future__ import absolute_import, division, unicode_literals + +from datrie import Trie as DATrie +from pip._vendor.six import text_type + +from ._base import Trie as ABCTrie + + +class Trie(ABCTrie): + def __init__(self, data): + chars = set() + for key in data.keys(): + if not isinstance(key, text_type): + raise TypeError("All keys must be strings") + for char in key: + chars.add(char) + + self._data = DATrie("".join(chars)) + for key, value in data.items(): + self._data[key] = value + + def __contains__(self, key): + return key in self._data + + def __len__(self): + return len(self._data) + + def __iter__(self): + raise NotImplementedError() + + def __getitem__(self, key): + return self._data[key] + + def keys(self, prefix=None): + return self._data.keys(prefix) + + def has_keys_with_prefix(self, prefix): + return self._data.has_keys_with_prefix(prefix) + + def longest_prefix(self, prefix): + return self._data.longest_prefix(prefix) + + def longest_prefix_item(self, prefix): + return self._data.longest_prefix_item(prefix) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/py.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/py.py new file mode 100644 index 0000000..c178b21 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/py.py @@ -0,0 +1,67 @@ +from __future__ import absolute_import, division, unicode_literals +from pip._vendor.six import text_type + +from bisect import bisect_left + +from ._base import Trie as ABCTrie + + +class Trie(ABCTrie): + def __init__(self, data): + if not all(isinstance(x, text_type) for x in data.keys()): + raise TypeError("All keys must be strings") + + self._data = data + self._keys = sorted(data.keys()) + self._cachestr = "" + self._cachepoints = (0, len(data)) + + def __contains__(self, key): + return key in self._data + + def __len__(self): + return len(self._data) + + def __iter__(self): + return iter(self._data) + + def __getitem__(self, key): + return self._data[key] + + def keys(self, prefix=None): + if prefix is None or prefix == "" or not self._keys: + return set(self._keys) + + if prefix.startswith(self._cachestr): + lo, hi = self._cachepoints + start = i = bisect_left(self._keys, prefix, lo, hi) + else: + start = i = bisect_left(self._keys, prefix) + + keys = set() + if start == len(self._keys): + return keys + + while self._keys[i].startswith(prefix): + keys.add(self._keys[i]) + i += 1 + + self._cachestr = prefix + self._cachepoints = (start, i) + + return keys + + def has_keys_with_prefix(self, prefix): + if prefix in self._data: + return True + + if prefix.startswith(self._cachestr): + lo, hi = self._cachepoints + i = bisect_left(self._keys, prefix, lo, hi) + else: + i = bisect_left(self._keys, prefix) + + if i == len(self._keys): + return False + + return self._keys[i].startswith(prefix) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_utils.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_utils.py new file mode 100644 index 0000000..0703afb --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_utils.py @@ -0,0 +1,124 @@ +from __future__ import absolute_import, division, unicode_literals + +from types import ModuleType + +from pip._vendor.six import text_type + +try: + import xml.etree.cElementTree as default_etree +except ImportError: + import xml.etree.ElementTree as default_etree + + +__all__ = ["default_etree", "MethodDispatcher", "isSurrogatePair", + "surrogatePairToCodepoint", "moduleFactoryFactory", + "supports_lone_surrogates"] + + +# Platforms not supporting lone surrogates (\uD800-\uDFFF) should be +# caught by the below test. In general this would be any platform +# using UTF-16 as its encoding of unicode strings, such as +# Jython. This is because UTF-16 itself is based on the use of such +# surrogates, and there is no mechanism to further escape such +# escapes. +try: + _x = eval('"\\uD800"') # pylint:disable=eval-used + if not isinstance(_x, text_type): + # We need this with u"" because of http://bugs.jython.org/issue2039 + _x = eval('u"\\uD800"') # pylint:disable=eval-used + assert isinstance(_x, text_type) +except: # pylint:disable=bare-except + supports_lone_surrogates = False +else: + supports_lone_surrogates = True + + +class MethodDispatcher(dict): + """Dict with 2 special properties: + + On initiation, keys that are lists, sets or tuples are converted to + multiple keys so accessing any one of the items in the original + list-like object returns the matching value + + md = MethodDispatcher({("foo", "bar"):"baz"}) + md["foo"] == "baz" + + A default value which can be set through the default attribute. + """ + + def __init__(self, items=()): + # Using _dictEntries instead of directly assigning to self is about + # twice as fast. Please do careful performance testing before changing + # anything here. + _dictEntries = [] + for name, value in items: + if isinstance(name, (list, tuple, frozenset, set)): + for item in name: + _dictEntries.append((item, value)) + else: + _dictEntries.append((name, value)) + dict.__init__(self, _dictEntries) + assert len(self) == len(_dictEntries) + self.default = None + + def __getitem__(self, key): + return dict.get(self, key, self.default) + + +# Some utility functions to deal with weirdness around UCS2 vs UCS4 +# python builds + +def isSurrogatePair(data): + return (len(data) == 2 and + ord(data[0]) >= 0xD800 and ord(data[0]) <= 0xDBFF and + ord(data[1]) >= 0xDC00 and ord(data[1]) <= 0xDFFF) + + +def surrogatePairToCodepoint(data): + char_val = (0x10000 + (ord(data[0]) - 0xD800) * 0x400 + + (ord(data[1]) - 0xDC00)) + return char_val + +# Module Factory Factory (no, this isn't Java, I know) +# Here to stop this being duplicated all over the place. + + +def moduleFactoryFactory(factory): + moduleCache = {} + + def moduleFactory(baseModule, *args, **kwargs): + if isinstance(ModuleType.__name__, type("")): + name = "_%s_factory" % baseModule.__name__ + else: + name = b"_%s_factory" % baseModule.__name__ + + kwargs_tuple = tuple(kwargs.items()) + + try: + return moduleCache[name][args][kwargs_tuple] + except KeyError: + mod = ModuleType(name) + objs = factory(baseModule, *args, **kwargs) + mod.__dict__.update(objs) + if "name" not in moduleCache: + moduleCache[name] = {} + if "args" not in moduleCache[name]: + moduleCache[name][args] = {} + if "kwargs" not in moduleCache[name][args]: + moduleCache[name][args][kwargs_tuple] = {} + moduleCache[name][args][kwargs_tuple] = mod + return mod + + return moduleFactory + + +def memoize(func): + cache = {} + + def wrapped(*args, **kwargs): + key = (tuple(args), tuple(kwargs.items())) + if key not in cache: + cache[key] = func(*args, **kwargs) + return cache[key] + + return wrapped diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/constants.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/constants.py new file mode 100644 index 0000000..1ff8041 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/constants.py @@ -0,0 +1,2947 @@ +from __future__ import absolute_import, division, unicode_literals + +import string + +EOF = None + +E = { + "null-character": + "Null character in input stream, replaced with U+FFFD.", + "invalid-codepoint": + "Invalid codepoint in stream.", + "incorrectly-placed-solidus": + "Solidus (/) incorrectly placed in tag.", + "incorrect-cr-newline-entity": + "Incorrect CR newline entity, replaced with LF.", + "illegal-windows-1252-entity": + "Entity used with illegal number (windows-1252 reference).", + "cant-convert-numeric-entity": + "Numeric entity couldn't be converted to character " + "(codepoint U+%(charAsInt)08x).", + "illegal-codepoint-for-numeric-entity": + "Numeric entity represents an illegal codepoint: " + "U+%(charAsInt)08x.", + "numeric-entity-without-semicolon": + "Numeric entity didn't end with ';'.", + "expected-numeric-entity-but-got-eof": + "Numeric entity expected. Got end of file instead.", + "expected-numeric-entity": + "Numeric entity expected but none found.", + "named-entity-without-semicolon": + "Named entity didn't end with ';'.", + "expected-named-entity": + "Named entity expected. Got none.", + "attributes-in-end-tag": + "End tag contains unexpected attributes.", + 'self-closing-flag-on-end-tag': + "End tag contains unexpected self-closing flag.", + "expected-tag-name-but-got-right-bracket": + "Expected tag name. Got '>' instead.", + "expected-tag-name-but-got-question-mark": + "Expected tag name. Got '?' instead. (HTML doesn't " + "support processing instructions.)", + "expected-tag-name": + "Expected tag name. Got something else instead", + "expected-closing-tag-but-got-right-bracket": + "Expected closing tag. Got '>' instead. Ignoring '</>'.", + "expected-closing-tag-but-got-eof": + "Expected closing tag. Unexpected end of file.", + "expected-closing-tag-but-got-char": + "Expected closing tag. Unexpected character '%(data)s' found.", + "eof-in-tag-name": + "Unexpected end of file in the tag name.", + "expected-attribute-name-but-got-eof": + "Unexpected end of file. Expected attribute name instead.", + "eof-in-attribute-name": + "Unexpected end of file in attribute name.", + "invalid-character-in-attribute-name": + "Invalid character in attribute name", + "duplicate-attribute": + "Dropped duplicate attribute on tag.", + "expected-end-of-tag-name-but-got-eof": + "Unexpected end of file. Expected = or end of tag.", + "expected-attribute-value-but-got-eof": + "Unexpected end of file. Expected attribute value.", + "expected-attribute-value-but-got-right-bracket": + "Expected attribute value. Got '>' instead.", + 'equals-in-unquoted-attribute-value': + "Unexpected = in unquoted attribute", + 'unexpected-character-in-unquoted-attribute-value': + "Unexpected character in unquoted attribute", + "invalid-character-after-attribute-name": + "Unexpected character after attribute name.", + "unexpected-character-after-attribute-value": + "Unexpected character after attribute value.", + "eof-in-attribute-value-double-quote": + "Unexpected end of file in attribute value (\").", + "eof-in-attribute-value-single-quote": + "Unexpected end of file in attribute value (').", + "eof-in-attribute-value-no-quotes": + "Unexpected end of file in attribute value.", + "unexpected-EOF-after-solidus-in-tag": + "Unexpected end of file in tag. Expected >", + "unexpected-character-after-solidus-in-tag": + "Unexpected character after / in tag. Expected >", + "expected-dashes-or-doctype": + "Expected '--' or 'DOCTYPE'. Not found.", + "unexpected-bang-after-double-dash-in-comment": + "Unexpected ! after -- in comment", + "unexpected-space-after-double-dash-in-comment": + "Unexpected space after -- in comment", + "incorrect-comment": + "Incorrect comment.", + "eof-in-comment": + "Unexpected end of file in comment.", + "eof-in-comment-end-dash": + "Unexpected end of file in comment (-)", + "unexpected-dash-after-double-dash-in-comment": + "Unexpected '-' after '--' found in comment.", + "eof-in-comment-double-dash": + "Unexpected end of file in comment (--).", + "eof-in-comment-end-space-state": + "Unexpected end of file in comment.", + "eof-in-comment-end-bang-state": + "Unexpected end of file in comment.", + "unexpected-char-in-comment": + "Unexpected character in comment found.", + "need-space-after-doctype": + "No space after literal string 'DOCTYPE'.", + "expected-doctype-name-but-got-right-bracket": + "Unexpected > character. Expected DOCTYPE name.", + "expected-doctype-name-but-got-eof": + "Unexpected end of file. Expected DOCTYPE name.", + "eof-in-doctype-name": + "Unexpected end of file in DOCTYPE name.", + "eof-in-doctype": + "Unexpected end of file in DOCTYPE.", + "expected-space-or-right-bracket-in-doctype": + "Expected space or '>'. Got '%(data)s'", + "unexpected-end-of-doctype": + "Unexpected end of DOCTYPE.", + "unexpected-char-in-doctype": + "Unexpected character in DOCTYPE.", + "eof-in-innerhtml": + "XXX innerHTML EOF", + "unexpected-doctype": + "Unexpected DOCTYPE. Ignored.", + "non-html-root": + "html needs to be the first start tag.", + "expected-doctype-but-got-eof": + "Unexpected End of file. Expected DOCTYPE.", + "unknown-doctype": + "Erroneous DOCTYPE.", + "expected-doctype-but-got-chars": + "Unexpected non-space characters. Expected DOCTYPE.", + "expected-doctype-but-got-start-tag": + "Unexpected start tag (%(name)s). Expected DOCTYPE.", + "expected-doctype-but-got-end-tag": + "Unexpected end tag (%(name)s). Expected DOCTYPE.", + "end-tag-after-implied-root": + "Unexpected end tag (%(name)s) after the (implied) root element.", + "expected-named-closing-tag-but-got-eof": + "Unexpected end of file. Expected end tag (%(name)s).", + "two-heads-are-not-better-than-one": + "Unexpected start tag head in existing head. Ignored.", + "unexpected-end-tag": + "Unexpected end tag (%(name)s). Ignored.", + "unexpected-start-tag-out-of-my-head": + "Unexpected start tag (%(name)s) that can be in head. Moved.", + "unexpected-start-tag": + "Unexpected start tag (%(name)s).", + "missing-end-tag": + "Missing end tag (%(name)s).", + "missing-end-tags": + "Missing end tags (%(name)s).", + "unexpected-start-tag-implies-end-tag": + "Unexpected start tag (%(startName)s) " + "implies end tag (%(endName)s).", + "unexpected-start-tag-treated-as": + "Unexpected start tag (%(originalName)s). Treated as %(newName)s.", + "deprecated-tag": + "Unexpected start tag %(name)s. Don't use it!", + "unexpected-start-tag-ignored": + "Unexpected start tag %(name)s. Ignored.", + "expected-one-end-tag-but-got-another": + "Unexpected end tag (%(gotName)s). " + "Missing end tag (%(expectedName)s).", + "end-tag-too-early": + "End tag (%(name)s) seen too early. Expected other end tag.", + "end-tag-too-early-named": + "Unexpected end tag (%(gotName)s). Expected end tag (%(expectedName)s).", + "end-tag-too-early-ignored": + "End tag (%(name)s) seen too early. Ignored.", + "adoption-agency-1.1": + "End tag (%(name)s) violates step 1, " + "paragraph 1 of the adoption agency algorithm.", + "adoption-agency-1.2": + "End tag (%(name)s) violates step 1, " + "paragraph 2 of the adoption agency algorithm.", + "adoption-agency-1.3": + "End tag (%(name)s) violates step 1, " + "paragraph 3 of the adoption agency algorithm.", + "adoption-agency-4.4": + "End tag (%(name)s) violates step 4, " + "paragraph 4 of the adoption agency algorithm.", + "unexpected-end-tag-treated-as": + "Unexpected end tag (%(originalName)s). Treated as %(newName)s.", + "no-end-tag": + "This element (%(name)s) has no end tag.", + "unexpected-implied-end-tag-in-table": + "Unexpected implied end tag (%(name)s) in the table phase.", + "unexpected-implied-end-tag-in-table-body": + "Unexpected implied end tag (%(name)s) in the table body phase.", + "unexpected-char-implies-table-voodoo": + "Unexpected non-space characters in " + "table context caused voodoo mode.", + "unexpected-hidden-input-in-table": + "Unexpected input with type hidden in table context.", + "unexpected-form-in-table": + "Unexpected form in table context.", + "unexpected-start-tag-implies-table-voodoo": + "Unexpected start tag (%(name)s) in " + "table context caused voodoo mode.", + "unexpected-end-tag-implies-table-voodoo": + "Unexpected end tag (%(name)s) in " + "table context caused voodoo mode.", + "unexpected-cell-in-table-body": + "Unexpected table cell start tag (%(name)s) " + "in the table body phase.", + "unexpected-cell-end-tag": + "Got table cell end tag (%(name)s) " + "while required end tags are missing.", + "unexpected-end-tag-in-table-body": + "Unexpected end tag (%(name)s) in the table body phase. Ignored.", + "unexpected-implied-end-tag-in-table-row": + "Unexpected implied end tag (%(name)s) in the table row phase.", + "unexpected-end-tag-in-table-row": + "Unexpected end tag (%(name)s) in the table row phase. Ignored.", + "unexpected-select-in-select": + "Unexpected select start tag in the select phase " + "treated as select end tag.", + "unexpected-input-in-select": + "Unexpected input start tag in the select phase.", + "unexpected-start-tag-in-select": + "Unexpected start tag token (%(name)s in the select phase. " + "Ignored.", + "unexpected-end-tag-in-select": + "Unexpected end tag (%(name)s) in the select phase. Ignored.", + "unexpected-table-element-start-tag-in-select-in-table": + "Unexpected table element start tag (%(name)s) in the select in table phase.", + "unexpected-table-element-end-tag-in-select-in-table": + "Unexpected table element end tag (%(name)s) in the select in table phase.", + "unexpected-char-after-body": + "Unexpected non-space characters in the after body phase.", + "unexpected-start-tag-after-body": + "Unexpected start tag token (%(name)s)" + " in the after body phase.", + "unexpected-end-tag-after-body": + "Unexpected end tag token (%(name)s)" + " in the after body phase.", + "unexpected-char-in-frameset": + "Unexpected characters in the frameset phase. Characters ignored.", + "unexpected-start-tag-in-frameset": + "Unexpected start tag token (%(name)s)" + " in the frameset phase. Ignored.", + "unexpected-frameset-in-frameset-innerhtml": + "Unexpected end tag token (frameset) " + "in the frameset phase (innerHTML).", + "unexpected-end-tag-in-frameset": + "Unexpected end tag token (%(name)s)" + " in the frameset phase. Ignored.", + "unexpected-char-after-frameset": + "Unexpected non-space characters in the " + "after frameset phase. Ignored.", + "unexpected-start-tag-after-frameset": + "Unexpected start tag (%(name)s)" + " in the after frameset phase. Ignored.", + "unexpected-end-tag-after-frameset": + "Unexpected end tag (%(name)s)" + " in the after frameset phase. Ignored.", + "unexpected-end-tag-after-body-innerhtml": + "Unexpected end tag after body(innerHtml)", + "expected-eof-but-got-char": + "Unexpected non-space characters. Expected end of file.", + "expected-eof-but-got-start-tag": + "Unexpected start tag (%(name)s)" + ". Expected end of file.", + "expected-eof-but-got-end-tag": + "Unexpected end tag (%(name)s)" + ". Expected end of file.", + "eof-in-table": + "Unexpected end of file. Expected table content.", + "eof-in-select": + "Unexpected end of file. Expected select content.", + "eof-in-frameset": + "Unexpected end of file. Expected frameset content.", + "eof-in-script-in-script": + "Unexpected end of file. Expected script content.", + "eof-in-foreign-lands": + "Unexpected end of file. Expected foreign content", + "non-void-element-with-trailing-solidus": + "Trailing solidus not allowed on element %(name)s", + "unexpected-html-element-in-foreign-content": + "Element %(name)s not allowed in a non-html context", + "unexpected-end-tag-before-html": + "Unexpected end tag (%(name)s) before html.", + "unexpected-inhead-noscript-tag": + "Element %(name)s not allowed in a inhead-noscript context", + "eof-in-head-noscript": + "Unexpected end of file. Expected inhead-noscript content", + "char-in-head-noscript": + "Unexpected non-space character. Expected inhead-noscript content", + "XXX-undefined-error": + "Undefined error (this sucks and should be fixed)", +} + +namespaces = { + "html": "http://www.w3.org/1999/xhtml", + "mathml": "http://www.w3.org/1998/Math/MathML", + "svg": "http://www.w3.org/2000/svg", + "xlink": "http://www.w3.org/1999/xlink", + "xml": "http://www.w3.org/XML/1998/namespace", + "xmlns": "http://www.w3.org/2000/xmlns/" +} + +scopingElements = frozenset([ + (namespaces["html"], "applet"), + (namespaces["html"], "caption"), + (namespaces["html"], "html"), + (namespaces["html"], "marquee"), + (namespaces["html"], "object"), + (namespaces["html"], "table"), + (namespaces["html"], "td"), + (namespaces["html"], "th"), + (namespaces["mathml"], "mi"), + (namespaces["mathml"], "mo"), + (namespaces["mathml"], "mn"), + (namespaces["mathml"], "ms"), + (namespaces["mathml"], "mtext"), + (namespaces["mathml"], "annotation-xml"), + (namespaces["svg"], "foreignObject"), + (namespaces["svg"], "desc"), + (namespaces["svg"], "title"), +]) + +formattingElements = frozenset([ + (namespaces["html"], "a"), + (namespaces["html"], "b"), + (namespaces["html"], "big"), + (namespaces["html"], "code"), + (namespaces["html"], "em"), + (namespaces["html"], "font"), + (namespaces["html"], "i"), + (namespaces["html"], "nobr"), + (namespaces["html"], "s"), + (namespaces["html"], "small"), + (namespaces["html"], "strike"), + (namespaces["html"], "strong"), + (namespaces["html"], "tt"), + (namespaces["html"], "u") +]) + +specialElements = frozenset([ + (namespaces["html"], "address"), + (namespaces["html"], "applet"), + (namespaces["html"], "area"), + (namespaces["html"], "article"), + (namespaces["html"], "aside"), + (namespaces["html"], "base"), + (namespaces["html"], "basefont"), + (namespaces["html"], "bgsound"), + (namespaces["html"], "blockquote"), + (namespaces["html"], "body"), + (namespaces["html"], "br"), + (namespaces["html"], "button"), + (namespaces["html"], "caption"), + (namespaces["html"], "center"), + (namespaces["html"], "col"), + (namespaces["html"], "colgroup"), + (namespaces["html"], "command"), + (namespaces["html"], "dd"), + (namespaces["html"], "details"), + (namespaces["html"], "dir"), + (namespaces["html"], "div"), + (namespaces["html"], "dl"), + (namespaces["html"], "dt"), + (namespaces["html"], "embed"), + (namespaces["html"], "fieldset"), + (namespaces["html"], "figure"), + (namespaces["html"], "footer"), + (namespaces["html"], "form"), + (namespaces["html"], "frame"), + (namespaces["html"], "frameset"), + (namespaces["html"], "h1"), + (namespaces["html"], "h2"), + (namespaces["html"], "h3"), + (namespaces["html"], "h4"), + (namespaces["html"], "h5"), + (namespaces["html"], "h6"), + (namespaces["html"], "head"), + (namespaces["html"], "header"), + (namespaces["html"], "hr"), + (namespaces["html"], "html"), + (namespaces["html"], "iframe"), + # Note that image is commented out in the spec as "this isn't an + # element that can end up on the stack, so it doesn't matter," + (namespaces["html"], "image"), + (namespaces["html"], "img"), + (namespaces["html"], "input"), + (namespaces["html"], "isindex"), + (namespaces["html"], "li"), + (namespaces["html"], "link"), + (namespaces["html"], "listing"), + (namespaces["html"], "marquee"), + (namespaces["html"], "menu"), + (namespaces["html"], "meta"), + (namespaces["html"], "nav"), + (namespaces["html"], "noembed"), + (namespaces["html"], "noframes"), + (namespaces["html"], "noscript"), + (namespaces["html"], "object"), + (namespaces["html"], "ol"), + (namespaces["html"], "p"), + (namespaces["html"], "param"), + (namespaces["html"], "plaintext"), + (namespaces["html"], "pre"), + (namespaces["html"], "script"), + (namespaces["html"], "section"), + (namespaces["html"], "select"), + (namespaces["html"], "style"), + (namespaces["html"], "table"), + (namespaces["html"], "tbody"), + (namespaces["html"], "td"), + (namespaces["html"], "textarea"), + (namespaces["html"], "tfoot"), + (namespaces["html"], "th"), + (namespaces["html"], "thead"), + (namespaces["html"], "title"), + (namespaces["html"], "tr"), + (namespaces["html"], "ul"), + (namespaces["html"], "wbr"), + (namespaces["html"], "xmp"), + (namespaces["svg"], "foreignObject") +]) + +htmlIntegrationPointElements = frozenset([ + (namespaces["mathml"], "annotation-xml"), + (namespaces["svg"], "foreignObject"), + (namespaces["svg"], "desc"), + (namespaces["svg"], "title") +]) + +mathmlTextIntegrationPointElements = frozenset([ + (namespaces["mathml"], "mi"), + (namespaces["mathml"], "mo"), + (namespaces["mathml"], "mn"), + (namespaces["mathml"], "ms"), + (namespaces["mathml"], "mtext") +]) + +adjustSVGAttributes = { + "attributename": "attributeName", + "attributetype": "attributeType", + "basefrequency": "baseFrequency", + "baseprofile": "baseProfile", + "calcmode": "calcMode", + "clippathunits": "clipPathUnits", + "contentscripttype": "contentScriptType", + "contentstyletype": "contentStyleType", + "diffuseconstant": "diffuseConstant", + "edgemode": "edgeMode", + "externalresourcesrequired": "externalResourcesRequired", + "filterres": "filterRes", + "filterunits": "filterUnits", + "glyphref": "glyphRef", + "gradienttransform": "gradientTransform", + "gradientunits": "gradientUnits", + "kernelmatrix": "kernelMatrix", + "kernelunitlength": "kernelUnitLength", + "keypoints": "keyPoints", + "keysplines": "keySplines", + "keytimes": "keyTimes", + "lengthadjust": "lengthAdjust", + "limitingconeangle": "limitingConeAngle", + "markerheight": "markerHeight", + "markerunits": "markerUnits", + "markerwidth": "markerWidth", + "maskcontentunits": "maskContentUnits", + "maskunits": "maskUnits", + "numoctaves": "numOctaves", + "pathlength": "pathLength", + "patterncontentunits": "patternContentUnits", + "patterntransform": "patternTransform", + "patternunits": "patternUnits", + "pointsatx": "pointsAtX", + "pointsaty": "pointsAtY", + "pointsatz": "pointsAtZ", + "preservealpha": "preserveAlpha", + "preserveaspectratio": "preserveAspectRatio", + "primitiveunits": "primitiveUnits", + "refx": "refX", + "refy": "refY", + "repeatcount": "repeatCount", + "repeatdur": "repeatDur", + "requiredextensions": "requiredExtensions", + "requiredfeatures": "requiredFeatures", + "specularconstant": "specularConstant", + "specularexponent": "specularExponent", + "spreadmethod": "spreadMethod", + "startoffset": "startOffset", + "stddeviation": "stdDeviation", + "stitchtiles": "stitchTiles", + "surfacescale": "surfaceScale", + "systemlanguage": "systemLanguage", + "tablevalues": "tableValues", + "targetx": "targetX", + "targety": "targetY", + "textlength": "textLength", + "viewbox": "viewBox", + "viewtarget": "viewTarget", + "xchannelselector": "xChannelSelector", + "ychannelselector": "yChannelSelector", + "zoomandpan": "zoomAndPan" +} + +adjustMathMLAttributes = {"definitionurl": "definitionURL"} + +adjustForeignAttributes = { + "xlink:actuate": ("xlink", "actuate", namespaces["xlink"]), + "xlink:arcrole": ("xlink", "arcrole", namespaces["xlink"]), + "xlink:href": ("xlink", "href", namespaces["xlink"]), + "xlink:role": ("xlink", "role", namespaces["xlink"]), + "xlink:show": ("xlink", "show", namespaces["xlink"]), + "xlink:title": ("xlink", "title", namespaces["xlink"]), + "xlink:type": ("xlink", "type", namespaces["xlink"]), + "xml:base": ("xml", "base", namespaces["xml"]), + "xml:lang": ("xml", "lang", namespaces["xml"]), + "xml:space": ("xml", "space", namespaces["xml"]), + "xmlns": (None, "xmlns", namespaces["xmlns"]), + "xmlns:xlink": ("xmlns", "xlink", namespaces["xmlns"]) +} + +unadjustForeignAttributes = dict([((ns, local), qname) for qname, (prefix, local, ns) in + adjustForeignAttributes.items()]) + +spaceCharacters = frozenset([ + "\t", + "\n", + "\u000C", + " ", + "\r" +]) + +tableInsertModeElements = frozenset([ + "table", + "tbody", + "tfoot", + "thead", + "tr" +]) + +asciiLowercase = frozenset(string.ascii_lowercase) +asciiUppercase = frozenset(string.ascii_uppercase) +asciiLetters = frozenset(string.ascii_letters) +digits = frozenset(string.digits) +hexDigits = frozenset(string.hexdigits) + +asciiUpper2Lower = dict([(ord(c), ord(c.lower())) + for c in string.ascii_uppercase]) + +# Heading elements need to be ordered +headingElements = ( + "h1", + "h2", + "h3", + "h4", + "h5", + "h6" +) + +voidElements = frozenset([ + "base", + "command", + "event-source", + "link", + "meta", + "hr", + "br", + "img", + "embed", + "param", + "area", + "col", + "input", + "source", + "track" +]) + +cdataElements = frozenset(['title', 'textarea']) + +rcdataElements = frozenset([ + 'style', + 'script', + 'xmp', + 'iframe', + 'noembed', + 'noframes', + 'noscript' +]) + +booleanAttributes = { + "": frozenset(["irrelevant", "itemscope"]), + "style": frozenset(["scoped"]), + "img": frozenset(["ismap"]), + "audio": frozenset(["autoplay", "controls"]), + "video": frozenset(["autoplay", "controls"]), + "script": frozenset(["defer", "async"]), + "details": frozenset(["open"]), + "datagrid": frozenset(["multiple", "disabled"]), + "command": frozenset(["hidden", "disabled", "checked", "default"]), + "hr": frozenset(["noshade"]), + "menu": frozenset(["autosubmit"]), + "fieldset": frozenset(["disabled", "readonly"]), + "option": frozenset(["disabled", "readonly", "selected"]), + "optgroup": frozenset(["disabled", "readonly"]), + "button": frozenset(["disabled", "autofocus"]), + "input": frozenset(["disabled", "readonly", "required", "autofocus", "checked", "ismap"]), + "select": frozenset(["disabled", "readonly", "autofocus", "multiple"]), + "output": frozenset(["disabled", "readonly"]), + "iframe": frozenset(["seamless"]), +} + +# entitiesWindows1252 has to be _ordered_ and needs to have an index. It +# therefore can't be a frozenset. +entitiesWindows1252 = ( + 8364, # 0x80 0x20AC EURO SIGN + 65533, # 0x81 UNDEFINED + 8218, # 0x82 0x201A SINGLE LOW-9 QUOTATION MARK + 402, # 0x83 0x0192 LATIN SMALL LETTER F WITH HOOK + 8222, # 0x84 0x201E DOUBLE LOW-9 QUOTATION MARK + 8230, # 0x85 0x2026 HORIZONTAL ELLIPSIS + 8224, # 0x86 0x2020 DAGGER + 8225, # 0x87 0x2021 DOUBLE DAGGER + 710, # 0x88 0x02C6 MODIFIER LETTER CIRCUMFLEX ACCENT + 8240, # 0x89 0x2030 PER MILLE SIGN + 352, # 0x8A 0x0160 LATIN CAPITAL LETTER S WITH CARON + 8249, # 0x8B 0x2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK + 338, # 0x8C 0x0152 LATIN CAPITAL LIGATURE OE + 65533, # 0x8D UNDEFINED + 381, # 0x8E 0x017D LATIN CAPITAL LETTER Z WITH CARON + 65533, # 0x8F UNDEFINED + 65533, # 0x90 UNDEFINED + 8216, # 0x91 0x2018 LEFT SINGLE QUOTATION MARK + 8217, # 0x92 0x2019 RIGHT SINGLE QUOTATION MARK + 8220, # 0x93 0x201C LEFT DOUBLE QUOTATION MARK + 8221, # 0x94 0x201D RIGHT DOUBLE QUOTATION MARK + 8226, # 0x95 0x2022 BULLET + 8211, # 0x96 0x2013 EN DASH + 8212, # 0x97 0x2014 EM DASH + 732, # 0x98 0x02DC SMALL TILDE + 8482, # 0x99 0x2122 TRADE MARK SIGN + 353, # 0x9A 0x0161 LATIN SMALL LETTER S WITH CARON + 8250, # 0x9B 0x203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK + 339, # 0x9C 0x0153 LATIN SMALL LIGATURE OE + 65533, # 0x9D UNDEFINED + 382, # 0x9E 0x017E LATIN SMALL LETTER Z WITH CARON + 376 # 0x9F 0x0178 LATIN CAPITAL LETTER Y WITH DIAERESIS +) + +xmlEntities = frozenset(['lt;', 'gt;', 'amp;', 'apos;', 'quot;']) + +entities = { + "AElig": "\xc6", + "AElig;": "\xc6", + "AMP": "&", + "AMP;": "&", + "Aacute": "\xc1", + "Aacute;": "\xc1", + "Abreve;": "\u0102", + "Acirc": "\xc2", + "Acirc;": "\xc2", + "Acy;": "\u0410", + "Afr;": "\U0001d504", + "Agrave": "\xc0", + "Agrave;": "\xc0", + "Alpha;": "\u0391", + "Amacr;": "\u0100", + "And;": "\u2a53", + "Aogon;": "\u0104", + "Aopf;": "\U0001d538", + "ApplyFunction;": "\u2061", + "Aring": "\xc5", + "Aring;": "\xc5", + "Ascr;": "\U0001d49c", + "Assign;": "\u2254", + "Atilde": "\xc3", + "Atilde;": "\xc3", + "Auml": "\xc4", + "Auml;": "\xc4", + "Backslash;": "\u2216", + "Barv;": "\u2ae7", + "Barwed;": "\u2306", + "Bcy;": "\u0411", + "Because;": "\u2235", + "Bernoullis;": "\u212c", + "Beta;": "\u0392", + "Bfr;": "\U0001d505", + "Bopf;": "\U0001d539", + "Breve;": "\u02d8", + "Bscr;": "\u212c", + "Bumpeq;": "\u224e", + "CHcy;": "\u0427", + "COPY": "\xa9", + "COPY;": "\xa9", + "Cacute;": "\u0106", + "Cap;": "\u22d2", + "CapitalDifferentialD;": "\u2145", + "Cayleys;": "\u212d", + "Ccaron;": "\u010c", + "Ccedil": "\xc7", + "Ccedil;": "\xc7", + "Ccirc;": "\u0108", + "Cconint;": "\u2230", + "Cdot;": "\u010a", + "Cedilla;": "\xb8", + "CenterDot;": "\xb7", + "Cfr;": "\u212d", + "Chi;": "\u03a7", + "CircleDot;": "\u2299", + "CircleMinus;": "\u2296", + "CirclePlus;": "\u2295", + "CircleTimes;": "\u2297", + "ClockwiseContourIntegral;": "\u2232", + "CloseCurlyDoubleQuote;": "\u201d", + "CloseCurlyQuote;": "\u2019", + "Colon;": "\u2237", + "Colone;": "\u2a74", + "Congruent;": "\u2261", + "Conint;": "\u222f", + "ContourIntegral;": "\u222e", + "Copf;": "\u2102", + "Coproduct;": "\u2210", + "CounterClockwiseContourIntegral;": "\u2233", + "Cross;": "\u2a2f", + "Cscr;": "\U0001d49e", + "Cup;": "\u22d3", + "CupCap;": "\u224d", + "DD;": "\u2145", + "DDotrahd;": "\u2911", + "DJcy;": "\u0402", + "DScy;": "\u0405", + "DZcy;": "\u040f", + "Dagger;": "\u2021", + "Darr;": "\u21a1", + "Dashv;": "\u2ae4", + "Dcaron;": "\u010e", + "Dcy;": "\u0414", + "Del;": "\u2207", + "Delta;": "\u0394", + "Dfr;": "\U0001d507", + "DiacriticalAcute;": "\xb4", + "DiacriticalDot;": "\u02d9", + "DiacriticalDoubleAcute;": "\u02dd", + "DiacriticalGrave;": "`", + "DiacriticalTilde;": "\u02dc", + "Diamond;": "\u22c4", + "DifferentialD;": "\u2146", + "Dopf;": "\U0001d53b", + "Dot;": "\xa8", + "DotDot;": "\u20dc", + "DotEqual;": "\u2250", + "DoubleContourIntegral;": "\u222f", + "DoubleDot;": "\xa8", + "DoubleDownArrow;": "\u21d3", + "DoubleLeftArrow;": "\u21d0", + "DoubleLeftRightArrow;": "\u21d4", + "DoubleLeftTee;": "\u2ae4", + "DoubleLongLeftArrow;": "\u27f8", + "DoubleLongLeftRightArrow;": "\u27fa", + "DoubleLongRightArrow;": "\u27f9", + "DoubleRightArrow;": "\u21d2", + "DoubleRightTee;": "\u22a8", + "DoubleUpArrow;": "\u21d1", + "DoubleUpDownArrow;": "\u21d5", + "DoubleVerticalBar;": "\u2225", + "DownArrow;": "\u2193", + "DownArrowBar;": "\u2913", + "DownArrowUpArrow;": "\u21f5", + "DownBreve;": "\u0311", + "DownLeftRightVector;": "\u2950", + "DownLeftTeeVector;": "\u295e", + "DownLeftVector;": "\u21bd", + "DownLeftVectorBar;": "\u2956", + "DownRightTeeVector;": "\u295f", + "DownRightVector;": "\u21c1", + "DownRightVectorBar;": "\u2957", + "DownTee;": "\u22a4", + "DownTeeArrow;": "\u21a7", + "Downarrow;": "\u21d3", + "Dscr;": "\U0001d49f", + "Dstrok;": "\u0110", + "ENG;": "\u014a", + "ETH": "\xd0", + "ETH;": "\xd0", + "Eacute": "\xc9", + "Eacute;": "\xc9", + "Ecaron;": "\u011a", + "Ecirc": "\xca", + "Ecirc;": "\xca", + "Ecy;": "\u042d", + "Edot;": "\u0116", + "Efr;": "\U0001d508", + "Egrave": "\xc8", + "Egrave;": "\xc8", + "Element;": "\u2208", + "Emacr;": "\u0112", + "EmptySmallSquare;": "\u25fb", + "EmptyVerySmallSquare;": "\u25ab", + "Eogon;": "\u0118", + "Eopf;": "\U0001d53c", + "Epsilon;": "\u0395", + "Equal;": "\u2a75", + "EqualTilde;": "\u2242", + "Equilibrium;": "\u21cc", + "Escr;": "\u2130", + "Esim;": "\u2a73", + "Eta;": "\u0397", + "Euml": "\xcb", + "Euml;": "\xcb", + "Exists;": "\u2203", + "ExponentialE;": "\u2147", + "Fcy;": "\u0424", + "Ffr;": "\U0001d509", + "FilledSmallSquare;": "\u25fc", + "FilledVerySmallSquare;": "\u25aa", + "Fopf;": "\U0001d53d", + "ForAll;": "\u2200", + "Fouriertrf;": "\u2131", + "Fscr;": "\u2131", + "GJcy;": "\u0403", + "GT": ">", + "GT;": ">", + "Gamma;": "\u0393", + "Gammad;": "\u03dc", + "Gbreve;": "\u011e", + "Gcedil;": "\u0122", + "Gcirc;": "\u011c", + "Gcy;": "\u0413", + "Gdot;": "\u0120", + "Gfr;": "\U0001d50a", + "Gg;": "\u22d9", + "Gopf;": "\U0001d53e", + "GreaterEqual;": "\u2265", + "GreaterEqualLess;": "\u22db", + "GreaterFullEqual;": "\u2267", + "GreaterGreater;": "\u2aa2", + "GreaterLess;": "\u2277", + "GreaterSlantEqual;": "\u2a7e", + "GreaterTilde;": "\u2273", + "Gscr;": "\U0001d4a2", + "Gt;": "\u226b", + "HARDcy;": "\u042a", + "Hacek;": "\u02c7", + "Hat;": "^", + "Hcirc;": "\u0124", + "Hfr;": "\u210c", + "HilbertSpace;": "\u210b", + "Hopf;": "\u210d", + "HorizontalLine;": "\u2500", + "Hscr;": "\u210b", + "Hstrok;": "\u0126", + "HumpDownHump;": "\u224e", + "HumpEqual;": "\u224f", + "IEcy;": "\u0415", + "IJlig;": "\u0132", + "IOcy;": "\u0401", + "Iacute": "\xcd", + "Iacute;": "\xcd", + "Icirc": "\xce", + "Icirc;": "\xce", + "Icy;": "\u0418", + "Idot;": "\u0130", + "Ifr;": "\u2111", + "Igrave": "\xcc", + "Igrave;": "\xcc", + "Im;": "\u2111", + "Imacr;": "\u012a", + "ImaginaryI;": "\u2148", + "Implies;": "\u21d2", + "Int;": "\u222c", + "Integral;": "\u222b", + "Intersection;": "\u22c2", + "InvisibleComma;": "\u2063", + "InvisibleTimes;": "\u2062", + "Iogon;": "\u012e", + "Iopf;": "\U0001d540", + "Iota;": "\u0399", + "Iscr;": "\u2110", + "Itilde;": "\u0128", + "Iukcy;": "\u0406", + "Iuml": "\xcf", + "Iuml;": "\xcf", + "Jcirc;": "\u0134", + "Jcy;": "\u0419", + "Jfr;": "\U0001d50d", + "Jopf;": "\U0001d541", + "Jscr;": "\U0001d4a5", + "Jsercy;": "\u0408", + "Jukcy;": "\u0404", + "KHcy;": "\u0425", + "KJcy;": "\u040c", + "Kappa;": "\u039a", + "Kcedil;": "\u0136", + "Kcy;": "\u041a", + "Kfr;": "\U0001d50e", + "Kopf;": "\U0001d542", + "Kscr;": "\U0001d4a6", + "LJcy;": "\u0409", + "LT": "<", + "LT;": "<", + "Lacute;": "\u0139", + "Lambda;": "\u039b", + "Lang;": "\u27ea", + "Laplacetrf;": "\u2112", + "Larr;": "\u219e", + "Lcaron;": "\u013d", + "Lcedil;": "\u013b", + "Lcy;": "\u041b", + "LeftAngleBracket;": "\u27e8", + "LeftArrow;": "\u2190", + "LeftArrowBar;": "\u21e4", + "LeftArrowRightArrow;": "\u21c6", + "LeftCeiling;": "\u2308", + "LeftDoubleBracket;": "\u27e6", + "LeftDownTeeVector;": "\u2961", + "LeftDownVector;": "\u21c3", + "LeftDownVectorBar;": "\u2959", + "LeftFloor;": "\u230a", + "LeftRightArrow;": "\u2194", + "LeftRightVector;": "\u294e", + "LeftTee;": "\u22a3", + "LeftTeeArrow;": "\u21a4", + "LeftTeeVector;": "\u295a", + "LeftTriangle;": "\u22b2", + "LeftTriangleBar;": "\u29cf", + "LeftTriangleEqual;": "\u22b4", + "LeftUpDownVector;": "\u2951", + "LeftUpTeeVector;": "\u2960", + "LeftUpVector;": "\u21bf", + "LeftUpVectorBar;": "\u2958", + "LeftVector;": "\u21bc", + "LeftVectorBar;": "\u2952", + "Leftarrow;": "\u21d0", + "Leftrightarrow;": "\u21d4", + "LessEqualGreater;": "\u22da", + "LessFullEqual;": "\u2266", + "LessGreater;": "\u2276", + "LessLess;": "\u2aa1", + "LessSlantEqual;": "\u2a7d", + "LessTilde;": "\u2272", + "Lfr;": "\U0001d50f", + "Ll;": "\u22d8", + "Lleftarrow;": "\u21da", + "Lmidot;": "\u013f", + "LongLeftArrow;": "\u27f5", + "LongLeftRightArrow;": "\u27f7", + "LongRightArrow;": "\u27f6", + "Longleftarrow;": "\u27f8", + "Longleftrightarrow;": "\u27fa", + "Longrightarrow;": "\u27f9", + "Lopf;": "\U0001d543", + "LowerLeftArrow;": "\u2199", + "LowerRightArrow;": "\u2198", + "Lscr;": "\u2112", + "Lsh;": "\u21b0", + "Lstrok;": "\u0141", + "Lt;": "\u226a", + "Map;": "\u2905", + "Mcy;": "\u041c", + "MediumSpace;": "\u205f", + "Mellintrf;": "\u2133", + "Mfr;": "\U0001d510", + "MinusPlus;": "\u2213", + "Mopf;": "\U0001d544", + "Mscr;": "\u2133", + "Mu;": "\u039c", + "NJcy;": "\u040a", + "Nacute;": "\u0143", + "Ncaron;": "\u0147", + "Ncedil;": "\u0145", + "Ncy;": "\u041d", + "NegativeMediumSpace;": "\u200b", + "NegativeThickSpace;": "\u200b", + "NegativeThinSpace;": "\u200b", + "NegativeVeryThinSpace;": "\u200b", + "NestedGreaterGreater;": "\u226b", + "NestedLessLess;": "\u226a", + "NewLine;": "\n", + "Nfr;": "\U0001d511", + "NoBreak;": "\u2060", + "NonBreakingSpace;": "\xa0", + "Nopf;": "\u2115", + "Not;": "\u2aec", + "NotCongruent;": "\u2262", + "NotCupCap;": "\u226d", + "NotDoubleVerticalBar;": "\u2226", + "NotElement;": "\u2209", + "NotEqual;": "\u2260", + "NotEqualTilde;": "\u2242\u0338", + "NotExists;": "\u2204", + "NotGreater;": "\u226f", + "NotGreaterEqual;": "\u2271", + "NotGreaterFullEqual;": "\u2267\u0338", + "NotGreaterGreater;": "\u226b\u0338", + "NotGreaterLess;": "\u2279", + "NotGreaterSlantEqual;": "\u2a7e\u0338", + "NotGreaterTilde;": "\u2275", + "NotHumpDownHump;": "\u224e\u0338", + "NotHumpEqual;": "\u224f\u0338", + "NotLeftTriangle;": "\u22ea", + "NotLeftTriangleBar;": "\u29cf\u0338", + "NotLeftTriangleEqual;": "\u22ec", + "NotLess;": "\u226e", + "NotLessEqual;": "\u2270", + "NotLessGreater;": "\u2278", + "NotLessLess;": "\u226a\u0338", + "NotLessSlantEqual;": "\u2a7d\u0338", + "NotLessTilde;": "\u2274", + "NotNestedGreaterGreater;": "\u2aa2\u0338", + "NotNestedLessLess;": "\u2aa1\u0338", + "NotPrecedes;": "\u2280", + "NotPrecedesEqual;": "\u2aaf\u0338", + "NotPrecedesSlantEqual;": "\u22e0", + "NotReverseElement;": "\u220c", + "NotRightTriangle;": "\u22eb", + "NotRightTriangleBar;": "\u29d0\u0338", + "NotRightTriangleEqual;": "\u22ed", + "NotSquareSubset;": "\u228f\u0338", + "NotSquareSubsetEqual;": "\u22e2", + "NotSquareSuperset;": "\u2290\u0338", + "NotSquareSupersetEqual;": "\u22e3", + "NotSubset;": "\u2282\u20d2", + "NotSubsetEqual;": "\u2288", + "NotSucceeds;": "\u2281", + "NotSucceedsEqual;": "\u2ab0\u0338", + "NotSucceedsSlantEqual;": "\u22e1", + "NotSucceedsTilde;": "\u227f\u0338", + "NotSuperset;": "\u2283\u20d2", + "NotSupersetEqual;": "\u2289", + "NotTilde;": "\u2241", + "NotTildeEqual;": "\u2244", + "NotTildeFullEqual;": "\u2247", + "NotTildeTilde;": "\u2249", + "NotVerticalBar;": "\u2224", + "Nscr;": "\U0001d4a9", + "Ntilde": "\xd1", + "Ntilde;": "\xd1", + "Nu;": "\u039d", + "OElig;": "\u0152", + "Oacute": "\xd3", + "Oacute;": "\xd3", + "Ocirc": "\xd4", + "Ocirc;": "\xd4", + "Ocy;": "\u041e", + "Odblac;": "\u0150", + "Ofr;": "\U0001d512", + "Ograve": "\xd2", + "Ograve;": "\xd2", + "Omacr;": "\u014c", + "Omega;": "\u03a9", + "Omicron;": "\u039f", + "Oopf;": "\U0001d546", + "OpenCurlyDoubleQuote;": "\u201c", + "OpenCurlyQuote;": "\u2018", + "Or;": "\u2a54", + "Oscr;": "\U0001d4aa", + "Oslash": "\xd8", + "Oslash;": "\xd8", + "Otilde": "\xd5", + "Otilde;": "\xd5", + "Otimes;": "\u2a37", + "Ouml": "\xd6", + "Ouml;": "\xd6", + "OverBar;": "\u203e", + "OverBrace;": "\u23de", + "OverBracket;": "\u23b4", + "OverParenthesis;": "\u23dc", + "PartialD;": "\u2202", + "Pcy;": "\u041f", + "Pfr;": "\U0001d513", + "Phi;": "\u03a6", + "Pi;": "\u03a0", + "PlusMinus;": "\xb1", + "Poincareplane;": "\u210c", + "Popf;": "\u2119", + "Pr;": "\u2abb", + "Precedes;": "\u227a", + "PrecedesEqual;": "\u2aaf", + "PrecedesSlantEqual;": "\u227c", + "PrecedesTilde;": "\u227e", + "Prime;": "\u2033", + "Product;": "\u220f", + "Proportion;": "\u2237", + "Proportional;": "\u221d", + "Pscr;": "\U0001d4ab", + "Psi;": "\u03a8", + "QUOT": "\"", + "QUOT;": "\"", + "Qfr;": "\U0001d514", + "Qopf;": "\u211a", + "Qscr;": "\U0001d4ac", + "RBarr;": "\u2910", + "REG": "\xae", + "REG;": "\xae", + "Racute;": "\u0154", + "Rang;": "\u27eb", + "Rarr;": "\u21a0", + "Rarrtl;": "\u2916", + "Rcaron;": "\u0158", + "Rcedil;": "\u0156", + "Rcy;": "\u0420", + "Re;": "\u211c", + "ReverseElement;": "\u220b", + "ReverseEquilibrium;": "\u21cb", + "ReverseUpEquilibrium;": "\u296f", + "Rfr;": "\u211c", + "Rho;": "\u03a1", + "RightAngleBracket;": "\u27e9", + "RightArrow;": "\u2192", + "RightArrowBar;": "\u21e5", + "RightArrowLeftArrow;": "\u21c4", + "RightCeiling;": "\u2309", + "RightDoubleBracket;": "\u27e7", + "RightDownTeeVector;": "\u295d", + "RightDownVector;": "\u21c2", + "RightDownVectorBar;": "\u2955", + "RightFloor;": "\u230b", + "RightTee;": "\u22a2", + "RightTeeArrow;": "\u21a6", + "RightTeeVector;": "\u295b", + "RightTriangle;": "\u22b3", + "RightTriangleBar;": "\u29d0", + "RightTriangleEqual;": "\u22b5", + "RightUpDownVector;": "\u294f", + "RightUpTeeVector;": "\u295c", + "RightUpVector;": "\u21be", + "RightUpVectorBar;": "\u2954", + "RightVector;": "\u21c0", + "RightVectorBar;": "\u2953", + "Rightarrow;": "\u21d2", + "Ropf;": "\u211d", + "RoundImplies;": "\u2970", + "Rrightarrow;": "\u21db", + "Rscr;": "\u211b", + "Rsh;": "\u21b1", + "RuleDelayed;": "\u29f4", + "SHCHcy;": "\u0429", + "SHcy;": "\u0428", + "SOFTcy;": "\u042c", + "Sacute;": "\u015a", + "Sc;": "\u2abc", + "Scaron;": "\u0160", + "Scedil;": "\u015e", + "Scirc;": "\u015c", + "Scy;": "\u0421", + "Sfr;": "\U0001d516", + "ShortDownArrow;": "\u2193", + "ShortLeftArrow;": "\u2190", + "ShortRightArrow;": "\u2192", + "ShortUpArrow;": "\u2191", + "Sigma;": "\u03a3", + "SmallCircle;": "\u2218", + "Sopf;": "\U0001d54a", + "Sqrt;": "\u221a", + "Square;": "\u25a1", + "SquareIntersection;": "\u2293", + "SquareSubset;": "\u228f", + "SquareSubsetEqual;": "\u2291", + "SquareSuperset;": "\u2290", + "SquareSupersetEqual;": "\u2292", + "SquareUnion;": "\u2294", + "Sscr;": "\U0001d4ae", + "Star;": "\u22c6", + "Sub;": "\u22d0", + "Subset;": "\u22d0", + "SubsetEqual;": "\u2286", + "Succeeds;": "\u227b", + "SucceedsEqual;": "\u2ab0", + "SucceedsSlantEqual;": "\u227d", + "SucceedsTilde;": "\u227f", + "SuchThat;": "\u220b", + "Sum;": "\u2211", + "Sup;": "\u22d1", + "Superset;": "\u2283", + "SupersetEqual;": "\u2287", + "Supset;": "\u22d1", + "THORN": "\xde", + "THORN;": "\xde", + "TRADE;": "\u2122", + "TSHcy;": "\u040b", + "TScy;": "\u0426", + "Tab;": "\t", + "Tau;": "\u03a4", + "Tcaron;": "\u0164", + "Tcedil;": "\u0162", + "Tcy;": "\u0422", + "Tfr;": "\U0001d517", + "Therefore;": "\u2234", + "Theta;": "\u0398", + "ThickSpace;": "\u205f\u200a", + "ThinSpace;": "\u2009", + "Tilde;": "\u223c", + "TildeEqual;": "\u2243", + "TildeFullEqual;": "\u2245", + "TildeTilde;": "\u2248", + "Topf;": "\U0001d54b", + "TripleDot;": "\u20db", + "Tscr;": "\U0001d4af", + "Tstrok;": "\u0166", + "Uacute": "\xda", + "Uacute;": "\xda", + "Uarr;": "\u219f", + "Uarrocir;": "\u2949", + "Ubrcy;": "\u040e", + "Ubreve;": "\u016c", + "Ucirc": "\xdb", + "Ucirc;": "\xdb", + "Ucy;": "\u0423", + "Udblac;": "\u0170", + "Ufr;": "\U0001d518", + "Ugrave": "\xd9", + "Ugrave;": "\xd9", + "Umacr;": "\u016a", + "UnderBar;": "_", + "UnderBrace;": "\u23df", + "UnderBracket;": "\u23b5", + "UnderParenthesis;": "\u23dd", + "Union;": "\u22c3", + "UnionPlus;": "\u228e", + "Uogon;": "\u0172", + "Uopf;": "\U0001d54c", + "UpArrow;": "\u2191", + "UpArrowBar;": "\u2912", + "UpArrowDownArrow;": "\u21c5", + "UpDownArrow;": "\u2195", + "UpEquilibrium;": "\u296e", + "UpTee;": "\u22a5", + "UpTeeArrow;": "\u21a5", + "Uparrow;": "\u21d1", + "Updownarrow;": "\u21d5", + "UpperLeftArrow;": "\u2196", + "UpperRightArrow;": "\u2197", + "Upsi;": "\u03d2", + "Upsilon;": "\u03a5", + "Uring;": "\u016e", + "Uscr;": "\U0001d4b0", + "Utilde;": "\u0168", + "Uuml": "\xdc", + "Uuml;": "\xdc", + "VDash;": "\u22ab", + "Vbar;": "\u2aeb", + "Vcy;": "\u0412", + "Vdash;": "\u22a9", + "Vdashl;": "\u2ae6", + "Vee;": "\u22c1", + "Verbar;": "\u2016", + "Vert;": "\u2016", + "VerticalBar;": "\u2223", + "VerticalLine;": "|", + "VerticalSeparator;": "\u2758", + "VerticalTilde;": "\u2240", + "VeryThinSpace;": "\u200a", + "Vfr;": "\U0001d519", + "Vopf;": "\U0001d54d", + "Vscr;": "\U0001d4b1", + "Vvdash;": "\u22aa", + "Wcirc;": "\u0174", + "Wedge;": "\u22c0", + "Wfr;": "\U0001d51a", + "Wopf;": "\U0001d54e", + "Wscr;": "\U0001d4b2", + "Xfr;": "\U0001d51b", + "Xi;": "\u039e", + "Xopf;": "\U0001d54f", + "Xscr;": "\U0001d4b3", + "YAcy;": "\u042f", + "YIcy;": "\u0407", + "YUcy;": "\u042e", + "Yacute": "\xdd", + "Yacute;": "\xdd", + "Ycirc;": "\u0176", + "Ycy;": "\u042b", + "Yfr;": "\U0001d51c", + "Yopf;": "\U0001d550", + "Yscr;": "\U0001d4b4", + "Yuml;": "\u0178", + "ZHcy;": "\u0416", + "Zacute;": "\u0179", + "Zcaron;": "\u017d", + "Zcy;": "\u0417", + "Zdot;": "\u017b", + "ZeroWidthSpace;": "\u200b", + "Zeta;": "\u0396", + "Zfr;": "\u2128", + "Zopf;": "\u2124", + "Zscr;": "\U0001d4b5", + "aacute": "\xe1", + "aacute;": "\xe1", + "abreve;": "\u0103", + "ac;": "\u223e", + "acE;": "\u223e\u0333", + "acd;": "\u223f", + "acirc": "\xe2", + "acirc;": "\xe2", + "acute": "\xb4", + "acute;": "\xb4", + "acy;": "\u0430", + "aelig": "\xe6", + "aelig;": "\xe6", + "af;": "\u2061", + "afr;": "\U0001d51e", + "agrave": "\xe0", + "agrave;": "\xe0", + "alefsym;": "\u2135", + "aleph;": "\u2135", + "alpha;": "\u03b1", + "amacr;": "\u0101", + "amalg;": "\u2a3f", + "amp": "&", + "amp;": "&", + "and;": "\u2227", + "andand;": "\u2a55", + "andd;": "\u2a5c", + "andslope;": "\u2a58", + "andv;": "\u2a5a", + "ang;": "\u2220", + "ange;": "\u29a4", + "angle;": "\u2220", + "angmsd;": "\u2221", + "angmsdaa;": "\u29a8", + "angmsdab;": "\u29a9", + "angmsdac;": "\u29aa", + "angmsdad;": "\u29ab", + "angmsdae;": "\u29ac", + "angmsdaf;": "\u29ad", + "angmsdag;": "\u29ae", + "angmsdah;": "\u29af", + "angrt;": "\u221f", + "angrtvb;": "\u22be", + "angrtvbd;": "\u299d", + "angsph;": "\u2222", + "angst;": "\xc5", + "angzarr;": "\u237c", + "aogon;": "\u0105", + "aopf;": "\U0001d552", + "ap;": "\u2248", + "apE;": "\u2a70", + "apacir;": "\u2a6f", + "ape;": "\u224a", + "apid;": "\u224b", + "apos;": "'", + "approx;": "\u2248", + "approxeq;": "\u224a", + "aring": "\xe5", + "aring;": "\xe5", + "ascr;": "\U0001d4b6", + "ast;": "*", + "asymp;": "\u2248", + "asympeq;": "\u224d", + "atilde": "\xe3", + "atilde;": "\xe3", + "auml": "\xe4", + "auml;": "\xe4", + "awconint;": "\u2233", + "awint;": "\u2a11", + "bNot;": "\u2aed", + "backcong;": "\u224c", + "backepsilon;": "\u03f6", + "backprime;": "\u2035", + "backsim;": "\u223d", + "backsimeq;": "\u22cd", + "barvee;": "\u22bd", + "barwed;": "\u2305", + "barwedge;": "\u2305", + "bbrk;": "\u23b5", + "bbrktbrk;": "\u23b6", + "bcong;": "\u224c", + "bcy;": "\u0431", + "bdquo;": "\u201e", + "becaus;": "\u2235", + "because;": "\u2235", + "bemptyv;": "\u29b0", + "bepsi;": "\u03f6", + "bernou;": "\u212c", + "beta;": "\u03b2", + "beth;": "\u2136", + "between;": "\u226c", + "bfr;": "\U0001d51f", + "bigcap;": "\u22c2", + "bigcirc;": "\u25ef", + "bigcup;": "\u22c3", + "bigodot;": "\u2a00", + "bigoplus;": "\u2a01", + "bigotimes;": "\u2a02", + "bigsqcup;": "\u2a06", + "bigstar;": "\u2605", + "bigtriangledown;": "\u25bd", + "bigtriangleup;": "\u25b3", + "biguplus;": "\u2a04", + "bigvee;": "\u22c1", + "bigwedge;": "\u22c0", + "bkarow;": "\u290d", + "blacklozenge;": "\u29eb", + "blacksquare;": "\u25aa", + "blacktriangle;": "\u25b4", + "blacktriangledown;": "\u25be", + "blacktriangleleft;": "\u25c2", + "blacktriangleright;": "\u25b8", + "blank;": "\u2423", + "blk12;": "\u2592", + "blk14;": "\u2591", + "blk34;": "\u2593", + "block;": "\u2588", + "bne;": "=\u20e5", + "bnequiv;": "\u2261\u20e5", + "bnot;": "\u2310", + "bopf;": "\U0001d553", + "bot;": "\u22a5", + "bottom;": "\u22a5", + "bowtie;": "\u22c8", + "boxDL;": "\u2557", + "boxDR;": "\u2554", + "boxDl;": "\u2556", + "boxDr;": "\u2553", + "boxH;": "\u2550", + "boxHD;": "\u2566", + "boxHU;": "\u2569", + "boxHd;": "\u2564", + "boxHu;": "\u2567", + "boxUL;": "\u255d", + "boxUR;": "\u255a", + "boxUl;": "\u255c", + "boxUr;": "\u2559", + "boxV;": "\u2551", + "boxVH;": "\u256c", + "boxVL;": "\u2563", + "boxVR;": "\u2560", + "boxVh;": "\u256b", + "boxVl;": "\u2562", + "boxVr;": "\u255f", + "boxbox;": "\u29c9", + "boxdL;": "\u2555", + "boxdR;": "\u2552", + "boxdl;": "\u2510", + "boxdr;": "\u250c", + "boxh;": "\u2500", + "boxhD;": "\u2565", + "boxhU;": "\u2568", + "boxhd;": "\u252c", + "boxhu;": "\u2534", + "boxminus;": "\u229f", + "boxplus;": "\u229e", + "boxtimes;": "\u22a0", + "boxuL;": "\u255b", + "boxuR;": "\u2558", + "boxul;": "\u2518", + "boxur;": "\u2514", + "boxv;": "\u2502", + "boxvH;": "\u256a", + "boxvL;": "\u2561", + "boxvR;": "\u255e", + "boxvh;": "\u253c", + "boxvl;": "\u2524", + "boxvr;": "\u251c", + "bprime;": "\u2035", + "breve;": "\u02d8", + "brvbar": "\xa6", + "brvbar;": "\xa6", + "bscr;": "\U0001d4b7", + "bsemi;": "\u204f", + "bsim;": "\u223d", + "bsime;": "\u22cd", + "bsol;": "\\", + "bsolb;": "\u29c5", + "bsolhsub;": "\u27c8", + "bull;": "\u2022", + "bullet;": "\u2022", + "bump;": "\u224e", + "bumpE;": "\u2aae", + "bumpe;": "\u224f", + "bumpeq;": "\u224f", + "cacute;": "\u0107", + "cap;": "\u2229", + "capand;": "\u2a44", + "capbrcup;": "\u2a49", + "capcap;": "\u2a4b", + "capcup;": "\u2a47", + "capdot;": "\u2a40", + "caps;": "\u2229\ufe00", + "caret;": "\u2041", + "caron;": "\u02c7", + "ccaps;": "\u2a4d", + "ccaron;": "\u010d", + "ccedil": "\xe7", + "ccedil;": "\xe7", + "ccirc;": "\u0109", + "ccups;": "\u2a4c", + "ccupssm;": "\u2a50", + "cdot;": "\u010b", + "cedil": "\xb8", + "cedil;": "\xb8", + "cemptyv;": "\u29b2", + "cent": "\xa2", + "cent;": "\xa2", + "centerdot;": "\xb7", + "cfr;": "\U0001d520", + "chcy;": "\u0447", + "check;": "\u2713", + "checkmark;": "\u2713", + "chi;": "\u03c7", + "cir;": "\u25cb", + "cirE;": "\u29c3", + "circ;": "\u02c6", + "circeq;": "\u2257", + "circlearrowleft;": "\u21ba", + "circlearrowright;": "\u21bb", + "circledR;": "\xae", + "circledS;": "\u24c8", + "circledast;": "\u229b", + "circledcirc;": "\u229a", + "circleddash;": "\u229d", + "cire;": "\u2257", + "cirfnint;": "\u2a10", + "cirmid;": "\u2aef", + "cirscir;": "\u29c2", + "clubs;": "\u2663", + "clubsuit;": "\u2663", + "colon;": ":", + "colone;": "\u2254", + "coloneq;": "\u2254", + "comma;": ",", + "commat;": "@", + "comp;": "\u2201", + "compfn;": "\u2218", + "complement;": "\u2201", + "complexes;": "\u2102", + "cong;": "\u2245", + "congdot;": "\u2a6d", + "conint;": "\u222e", + "copf;": "\U0001d554", + "coprod;": "\u2210", + "copy": "\xa9", + "copy;": "\xa9", + "copysr;": "\u2117", + "crarr;": "\u21b5", + "cross;": "\u2717", + "cscr;": "\U0001d4b8", + "csub;": "\u2acf", + "csube;": "\u2ad1", + "csup;": "\u2ad0", + "csupe;": "\u2ad2", + "ctdot;": "\u22ef", + "cudarrl;": "\u2938", + "cudarrr;": "\u2935", + "cuepr;": "\u22de", + "cuesc;": "\u22df", + "cularr;": "\u21b6", + "cularrp;": "\u293d", + "cup;": "\u222a", + "cupbrcap;": "\u2a48", + "cupcap;": "\u2a46", + "cupcup;": "\u2a4a", + "cupdot;": "\u228d", + "cupor;": "\u2a45", + "cups;": "\u222a\ufe00", + "curarr;": "\u21b7", + "curarrm;": "\u293c", + "curlyeqprec;": "\u22de", + "curlyeqsucc;": "\u22df", + "curlyvee;": "\u22ce", + "curlywedge;": "\u22cf", + "curren": "\xa4", + "curren;": "\xa4", + "curvearrowleft;": "\u21b6", + "curvearrowright;": "\u21b7", + "cuvee;": "\u22ce", + "cuwed;": "\u22cf", + "cwconint;": "\u2232", + "cwint;": "\u2231", + "cylcty;": "\u232d", + "dArr;": "\u21d3", + "dHar;": "\u2965", + "dagger;": "\u2020", + "daleth;": "\u2138", + "darr;": "\u2193", + "dash;": "\u2010", + "dashv;": "\u22a3", + "dbkarow;": "\u290f", + "dblac;": "\u02dd", + "dcaron;": "\u010f", + "dcy;": "\u0434", + "dd;": "\u2146", + "ddagger;": "\u2021", + "ddarr;": "\u21ca", + "ddotseq;": "\u2a77", + "deg": "\xb0", + "deg;": "\xb0", + "delta;": "\u03b4", + "demptyv;": "\u29b1", + "dfisht;": "\u297f", + "dfr;": "\U0001d521", + "dharl;": "\u21c3", + "dharr;": "\u21c2", + "diam;": "\u22c4", + "diamond;": "\u22c4", + "diamondsuit;": "\u2666", + "diams;": "\u2666", + "die;": "\xa8", + "digamma;": "\u03dd", + "disin;": "\u22f2", + "div;": "\xf7", + "divide": "\xf7", + "divide;": "\xf7", + "divideontimes;": "\u22c7", + "divonx;": "\u22c7", + "djcy;": "\u0452", + "dlcorn;": "\u231e", + "dlcrop;": "\u230d", + "dollar;": "$", + "dopf;": "\U0001d555", + "dot;": "\u02d9", + "doteq;": "\u2250", + "doteqdot;": "\u2251", + "dotminus;": "\u2238", + "dotplus;": "\u2214", + "dotsquare;": "\u22a1", + "doublebarwedge;": "\u2306", + "downarrow;": "\u2193", + "downdownarrows;": "\u21ca", + "downharpoonleft;": "\u21c3", + "downharpoonright;": "\u21c2", + "drbkarow;": "\u2910", + "drcorn;": "\u231f", + "drcrop;": "\u230c", + "dscr;": "\U0001d4b9", + "dscy;": "\u0455", + "dsol;": "\u29f6", + "dstrok;": "\u0111", + "dtdot;": "\u22f1", + "dtri;": "\u25bf", + "dtrif;": "\u25be", + "duarr;": "\u21f5", + "duhar;": "\u296f", + "dwangle;": "\u29a6", + "dzcy;": "\u045f", + "dzigrarr;": "\u27ff", + "eDDot;": "\u2a77", + "eDot;": "\u2251", + "eacute": "\xe9", + "eacute;": "\xe9", + "easter;": "\u2a6e", + "ecaron;": "\u011b", + "ecir;": "\u2256", + "ecirc": "\xea", + "ecirc;": "\xea", + "ecolon;": "\u2255", + "ecy;": "\u044d", + "edot;": "\u0117", + "ee;": "\u2147", + "efDot;": "\u2252", + "efr;": "\U0001d522", + "eg;": "\u2a9a", + "egrave": "\xe8", + "egrave;": "\xe8", + "egs;": "\u2a96", + "egsdot;": "\u2a98", + "el;": "\u2a99", + "elinters;": "\u23e7", + "ell;": "\u2113", + "els;": "\u2a95", + "elsdot;": "\u2a97", + "emacr;": "\u0113", + "empty;": "\u2205", + "emptyset;": "\u2205", + "emptyv;": "\u2205", + "emsp13;": "\u2004", + "emsp14;": "\u2005", + "emsp;": "\u2003", + "eng;": "\u014b", + "ensp;": "\u2002", + "eogon;": "\u0119", + "eopf;": "\U0001d556", + "epar;": "\u22d5", + "eparsl;": "\u29e3", + "eplus;": "\u2a71", + "epsi;": "\u03b5", + "epsilon;": "\u03b5", + "epsiv;": "\u03f5", + "eqcirc;": "\u2256", + "eqcolon;": "\u2255", + "eqsim;": "\u2242", + "eqslantgtr;": "\u2a96", + "eqslantless;": "\u2a95", + "equals;": "=", + "equest;": "\u225f", + "equiv;": "\u2261", + "equivDD;": "\u2a78", + "eqvparsl;": "\u29e5", + "erDot;": "\u2253", + "erarr;": "\u2971", + "escr;": "\u212f", + "esdot;": "\u2250", + "esim;": "\u2242", + "eta;": "\u03b7", + "eth": "\xf0", + "eth;": "\xf0", + "euml": "\xeb", + "euml;": "\xeb", + "euro;": "\u20ac", + "excl;": "!", + "exist;": "\u2203", + "expectation;": "\u2130", + "exponentiale;": "\u2147", + "fallingdotseq;": "\u2252", + "fcy;": "\u0444", + "female;": "\u2640", + "ffilig;": "\ufb03", + "fflig;": "\ufb00", + "ffllig;": "\ufb04", + "ffr;": "\U0001d523", + "filig;": "\ufb01", + "fjlig;": "fj", + "flat;": "\u266d", + "fllig;": "\ufb02", + "fltns;": "\u25b1", + "fnof;": "\u0192", + "fopf;": "\U0001d557", + "forall;": "\u2200", + "fork;": "\u22d4", + "forkv;": "\u2ad9", + "fpartint;": "\u2a0d", + "frac12": "\xbd", + "frac12;": "\xbd", + "frac13;": "\u2153", + "frac14": "\xbc", + "frac14;": "\xbc", + "frac15;": "\u2155", + "frac16;": "\u2159", + "frac18;": "\u215b", + "frac23;": "\u2154", + "frac25;": "\u2156", + "frac34": "\xbe", + "frac34;": "\xbe", + "frac35;": "\u2157", + "frac38;": "\u215c", + "frac45;": "\u2158", + "frac56;": "\u215a", + "frac58;": "\u215d", + "frac78;": "\u215e", + "frasl;": "\u2044", + "frown;": "\u2322", + "fscr;": "\U0001d4bb", + "gE;": "\u2267", + "gEl;": "\u2a8c", + "gacute;": "\u01f5", + "gamma;": "\u03b3", + "gammad;": "\u03dd", + "gap;": "\u2a86", + "gbreve;": "\u011f", + "gcirc;": "\u011d", + "gcy;": "\u0433", + "gdot;": "\u0121", + "ge;": "\u2265", + "gel;": "\u22db", + "geq;": "\u2265", + "geqq;": "\u2267", + "geqslant;": "\u2a7e", + "ges;": "\u2a7e", + "gescc;": "\u2aa9", + "gesdot;": "\u2a80", + "gesdoto;": "\u2a82", + "gesdotol;": "\u2a84", + "gesl;": "\u22db\ufe00", + "gesles;": "\u2a94", + "gfr;": "\U0001d524", + "gg;": "\u226b", + "ggg;": "\u22d9", + "gimel;": "\u2137", + "gjcy;": "\u0453", + "gl;": "\u2277", + "glE;": "\u2a92", + "gla;": "\u2aa5", + "glj;": "\u2aa4", + "gnE;": "\u2269", + "gnap;": "\u2a8a", + "gnapprox;": "\u2a8a", + "gne;": "\u2a88", + "gneq;": "\u2a88", + "gneqq;": "\u2269", + "gnsim;": "\u22e7", + "gopf;": "\U0001d558", + "grave;": "`", + "gscr;": "\u210a", + "gsim;": "\u2273", + "gsime;": "\u2a8e", + "gsiml;": "\u2a90", + "gt": ">", + "gt;": ">", + "gtcc;": "\u2aa7", + "gtcir;": "\u2a7a", + "gtdot;": "\u22d7", + "gtlPar;": "\u2995", + "gtquest;": "\u2a7c", + "gtrapprox;": "\u2a86", + "gtrarr;": "\u2978", + "gtrdot;": "\u22d7", + "gtreqless;": "\u22db", + "gtreqqless;": "\u2a8c", + "gtrless;": "\u2277", + "gtrsim;": "\u2273", + "gvertneqq;": "\u2269\ufe00", + "gvnE;": "\u2269\ufe00", + "hArr;": "\u21d4", + "hairsp;": "\u200a", + "half;": "\xbd", + "hamilt;": "\u210b", + "hardcy;": "\u044a", + "harr;": "\u2194", + "harrcir;": "\u2948", + "harrw;": "\u21ad", + "hbar;": "\u210f", + "hcirc;": "\u0125", + "hearts;": "\u2665", + "heartsuit;": "\u2665", + "hellip;": "\u2026", + "hercon;": "\u22b9", + "hfr;": "\U0001d525", + "hksearow;": "\u2925", + "hkswarow;": "\u2926", + "hoarr;": "\u21ff", + "homtht;": "\u223b", + "hookleftarrow;": "\u21a9", + "hookrightarrow;": "\u21aa", + "hopf;": "\U0001d559", + "horbar;": "\u2015", + "hscr;": "\U0001d4bd", + "hslash;": "\u210f", + "hstrok;": "\u0127", + "hybull;": "\u2043", + "hyphen;": "\u2010", + "iacute": "\xed", + "iacute;": "\xed", + "ic;": "\u2063", + "icirc": "\xee", + "icirc;": "\xee", + "icy;": "\u0438", + "iecy;": "\u0435", + "iexcl": "\xa1", + "iexcl;": "\xa1", + "iff;": "\u21d4", + "ifr;": "\U0001d526", + "igrave": "\xec", + "igrave;": "\xec", + "ii;": "\u2148", + "iiiint;": "\u2a0c", + "iiint;": "\u222d", + "iinfin;": "\u29dc", + "iiota;": "\u2129", + "ijlig;": "\u0133", + "imacr;": "\u012b", + "image;": "\u2111", + "imagline;": "\u2110", + "imagpart;": "\u2111", + "imath;": "\u0131", + "imof;": "\u22b7", + "imped;": "\u01b5", + "in;": "\u2208", + "incare;": "\u2105", + "infin;": "\u221e", + "infintie;": "\u29dd", + "inodot;": "\u0131", + "int;": "\u222b", + "intcal;": "\u22ba", + "integers;": "\u2124", + "intercal;": "\u22ba", + "intlarhk;": "\u2a17", + "intprod;": "\u2a3c", + "iocy;": "\u0451", + "iogon;": "\u012f", + "iopf;": "\U0001d55a", + "iota;": "\u03b9", + "iprod;": "\u2a3c", + "iquest": "\xbf", + "iquest;": "\xbf", + "iscr;": "\U0001d4be", + "isin;": "\u2208", + "isinE;": "\u22f9", + "isindot;": "\u22f5", + "isins;": "\u22f4", + "isinsv;": "\u22f3", + "isinv;": "\u2208", + "it;": "\u2062", + "itilde;": "\u0129", + "iukcy;": "\u0456", + "iuml": "\xef", + "iuml;": "\xef", + "jcirc;": "\u0135", + "jcy;": "\u0439", + "jfr;": "\U0001d527", + "jmath;": "\u0237", + "jopf;": "\U0001d55b", + "jscr;": "\U0001d4bf", + "jsercy;": "\u0458", + "jukcy;": "\u0454", + "kappa;": "\u03ba", + "kappav;": "\u03f0", + "kcedil;": "\u0137", + "kcy;": "\u043a", + "kfr;": "\U0001d528", + "kgreen;": "\u0138", + "khcy;": "\u0445", + "kjcy;": "\u045c", + "kopf;": "\U0001d55c", + "kscr;": "\U0001d4c0", + "lAarr;": "\u21da", + "lArr;": "\u21d0", + "lAtail;": "\u291b", + "lBarr;": "\u290e", + "lE;": "\u2266", + "lEg;": "\u2a8b", + "lHar;": "\u2962", + "lacute;": "\u013a", + "laemptyv;": "\u29b4", + "lagran;": "\u2112", + "lambda;": "\u03bb", + "lang;": "\u27e8", + "langd;": "\u2991", + "langle;": "\u27e8", + "lap;": "\u2a85", + "laquo": "\xab", + "laquo;": "\xab", + "larr;": "\u2190", + "larrb;": "\u21e4", + "larrbfs;": "\u291f", + "larrfs;": "\u291d", + "larrhk;": "\u21a9", + "larrlp;": "\u21ab", + "larrpl;": "\u2939", + "larrsim;": "\u2973", + "larrtl;": "\u21a2", + "lat;": "\u2aab", + "latail;": "\u2919", + "late;": "\u2aad", + "lates;": "\u2aad\ufe00", + "lbarr;": "\u290c", + "lbbrk;": "\u2772", + "lbrace;": "{", + "lbrack;": "[", + "lbrke;": "\u298b", + "lbrksld;": "\u298f", + "lbrkslu;": "\u298d", + "lcaron;": "\u013e", + "lcedil;": "\u013c", + "lceil;": "\u2308", + "lcub;": "{", + "lcy;": "\u043b", + "ldca;": "\u2936", + "ldquo;": "\u201c", + "ldquor;": "\u201e", + "ldrdhar;": "\u2967", + "ldrushar;": "\u294b", + "ldsh;": "\u21b2", + "le;": "\u2264", + "leftarrow;": "\u2190", + "leftarrowtail;": "\u21a2", + "leftharpoondown;": "\u21bd", + "leftharpoonup;": "\u21bc", + "leftleftarrows;": "\u21c7", + "leftrightarrow;": "\u2194", + "leftrightarrows;": "\u21c6", + "leftrightharpoons;": "\u21cb", + "leftrightsquigarrow;": "\u21ad", + "leftthreetimes;": "\u22cb", + "leg;": "\u22da", + "leq;": "\u2264", + "leqq;": "\u2266", + "leqslant;": "\u2a7d", + "les;": "\u2a7d", + "lescc;": "\u2aa8", + "lesdot;": "\u2a7f", + "lesdoto;": "\u2a81", + "lesdotor;": "\u2a83", + "lesg;": "\u22da\ufe00", + "lesges;": "\u2a93", + "lessapprox;": "\u2a85", + "lessdot;": "\u22d6", + "lesseqgtr;": "\u22da", + "lesseqqgtr;": "\u2a8b", + "lessgtr;": "\u2276", + "lesssim;": "\u2272", + "lfisht;": "\u297c", + "lfloor;": "\u230a", + "lfr;": "\U0001d529", + "lg;": "\u2276", + "lgE;": "\u2a91", + "lhard;": "\u21bd", + "lharu;": "\u21bc", + "lharul;": "\u296a", + "lhblk;": "\u2584", + "ljcy;": "\u0459", + "ll;": "\u226a", + "llarr;": "\u21c7", + "llcorner;": "\u231e", + "llhard;": "\u296b", + "lltri;": "\u25fa", + "lmidot;": "\u0140", + "lmoust;": "\u23b0", + "lmoustache;": "\u23b0", + "lnE;": "\u2268", + "lnap;": "\u2a89", + "lnapprox;": "\u2a89", + "lne;": "\u2a87", + "lneq;": "\u2a87", + "lneqq;": "\u2268", + "lnsim;": "\u22e6", + "loang;": "\u27ec", + "loarr;": "\u21fd", + "lobrk;": "\u27e6", + "longleftarrow;": "\u27f5", + "longleftrightarrow;": "\u27f7", + "longmapsto;": "\u27fc", + "longrightarrow;": "\u27f6", + "looparrowleft;": "\u21ab", + "looparrowright;": "\u21ac", + "lopar;": "\u2985", + "lopf;": "\U0001d55d", + "loplus;": "\u2a2d", + "lotimes;": "\u2a34", + "lowast;": "\u2217", + "lowbar;": "_", + "loz;": "\u25ca", + "lozenge;": "\u25ca", + "lozf;": "\u29eb", + "lpar;": "(", + "lparlt;": "\u2993", + "lrarr;": "\u21c6", + "lrcorner;": "\u231f", + "lrhar;": "\u21cb", + "lrhard;": "\u296d", + "lrm;": "\u200e", + "lrtri;": "\u22bf", + "lsaquo;": "\u2039", + "lscr;": "\U0001d4c1", + "lsh;": "\u21b0", + "lsim;": "\u2272", + "lsime;": "\u2a8d", + "lsimg;": "\u2a8f", + "lsqb;": "[", + "lsquo;": "\u2018", + "lsquor;": "\u201a", + "lstrok;": "\u0142", + "lt": "<", + "lt;": "<", + "ltcc;": "\u2aa6", + "ltcir;": "\u2a79", + "ltdot;": "\u22d6", + "lthree;": "\u22cb", + "ltimes;": "\u22c9", + "ltlarr;": "\u2976", + "ltquest;": "\u2a7b", + "ltrPar;": "\u2996", + "ltri;": "\u25c3", + "ltrie;": "\u22b4", + "ltrif;": "\u25c2", + "lurdshar;": "\u294a", + "luruhar;": "\u2966", + "lvertneqq;": "\u2268\ufe00", + "lvnE;": "\u2268\ufe00", + "mDDot;": "\u223a", + "macr": "\xaf", + "macr;": "\xaf", + "male;": "\u2642", + "malt;": "\u2720", + "maltese;": "\u2720", + "map;": "\u21a6", + "mapsto;": "\u21a6", + "mapstodown;": "\u21a7", + "mapstoleft;": "\u21a4", + "mapstoup;": "\u21a5", + "marker;": "\u25ae", + "mcomma;": "\u2a29", + "mcy;": "\u043c", + "mdash;": "\u2014", + "measuredangle;": "\u2221", + "mfr;": "\U0001d52a", + "mho;": "\u2127", + "micro": "\xb5", + "micro;": "\xb5", + "mid;": "\u2223", + "midast;": "*", + "midcir;": "\u2af0", + "middot": "\xb7", + "middot;": "\xb7", + "minus;": "\u2212", + "minusb;": "\u229f", + "minusd;": "\u2238", + "minusdu;": "\u2a2a", + "mlcp;": "\u2adb", + "mldr;": "\u2026", + "mnplus;": "\u2213", + "models;": "\u22a7", + "mopf;": "\U0001d55e", + "mp;": "\u2213", + "mscr;": "\U0001d4c2", + "mstpos;": "\u223e", + "mu;": "\u03bc", + "multimap;": "\u22b8", + "mumap;": "\u22b8", + "nGg;": "\u22d9\u0338", + "nGt;": "\u226b\u20d2", + "nGtv;": "\u226b\u0338", + "nLeftarrow;": "\u21cd", + "nLeftrightarrow;": "\u21ce", + "nLl;": "\u22d8\u0338", + "nLt;": "\u226a\u20d2", + "nLtv;": "\u226a\u0338", + "nRightarrow;": "\u21cf", + "nVDash;": "\u22af", + "nVdash;": "\u22ae", + "nabla;": "\u2207", + "nacute;": "\u0144", + "nang;": "\u2220\u20d2", + "nap;": "\u2249", + "napE;": "\u2a70\u0338", + "napid;": "\u224b\u0338", + "napos;": "\u0149", + "napprox;": "\u2249", + "natur;": "\u266e", + "natural;": "\u266e", + "naturals;": "\u2115", + "nbsp": "\xa0", + "nbsp;": "\xa0", + "nbump;": "\u224e\u0338", + "nbumpe;": "\u224f\u0338", + "ncap;": "\u2a43", + "ncaron;": "\u0148", + "ncedil;": "\u0146", + "ncong;": "\u2247", + "ncongdot;": "\u2a6d\u0338", + "ncup;": "\u2a42", + "ncy;": "\u043d", + "ndash;": "\u2013", + "ne;": "\u2260", + "neArr;": "\u21d7", + "nearhk;": "\u2924", + "nearr;": "\u2197", + "nearrow;": "\u2197", + "nedot;": "\u2250\u0338", + "nequiv;": "\u2262", + "nesear;": "\u2928", + "nesim;": "\u2242\u0338", + "nexist;": "\u2204", + "nexists;": "\u2204", + "nfr;": "\U0001d52b", + "ngE;": "\u2267\u0338", + "nge;": "\u2271", + "ngeq;": "\u2271", + "ngeqq;": "\u2267\u0338", + "ngeqslant;": "\u2a7e\u0338", + "nges;": "\u2a7e\u0338", + "ngsim;": "\u2275", + "ngt;": "\u226f", + "ngtr;": "\u226f", + "nhArr;": "\u21ce", + "nharr;": "\u21ae", + "nhpar;": "\u2af2", + "ni;": "\u220b", + "nis;": "\u22fc", + "nisd;": "\u22fa", + "niv;": "\u220b", + "njcy;": "\u045a", + "nlArr;": "\u21cd", + "nlE;": "\u2266\u0338", + "nlarr;": "\u219a", + "nldr;": "\u2025", + "nle;": "\u2270", + "nleftarrow;": "\u219a", + "nleftrightarrow;": "\u21ae", + "nleq;": "\u2270", + "nleqq;": "\u2266\u0338", + "nleqslant;": "\u2a7d\u0338", + "nles;": "\u2a7d\u0338", + "nless;": "\u226e", + "nlsim;": "\u2274", + "nlt;": "\u226e", + "nltri;": "\u22ea", + "nltrie;": "\u22ec", + "nmid;": "\u2224", + "nopf;": "\U0001d55f", + "not": "\xac", + "not;": "\xac", + "notin;": "\u2209", + "notinE;": "\u22f9\u0338", + "notindot;": "\u22f5\u0338", + "notinva;": "\u2209", + "notinvb;": "\u22f7", + "notinvc;": "\u22f6", + "notni;": "\u220c", + "notniva;": "\u220c", + "notnivb;": "\u22fe", + "notnivc;": "\u22fd", + "npar;": "\u2226", + "nparallel;": "\u2226", + "nparsl;": "\u2afd\u20e5", + "npart;": "\u2202\u0338", + "npolint;": "\u2a14", + "npr;": "\u2280", + "nprcue;": "\u22e0", + "npre;": "\u2aaf\u0338", + "nprec;": "\u2280", + "npreceq;": "\u2aaf\u0338", + "nrArr;": "\u21cf", + "nrarr;": "\u219b", + "nrarrc;": "\u2933\u0338", + "nrarrw;": "\u219d\u0338", + "nrightarrow;": "\u219b", + "nrtri;": "\u22eb", + "nrtrie;": "\u22ed", + "nsc;": "\u2281", + "nsccue;": "\u22e1", + "nsce;": "\u2ab0\u0338", + "nscr;": "\U0001d4c3", + "nshortmid;": "\u2224", + "nshortparallel;": "\u2226", + "nsim;": "\u2241", + "nsime;": "\u2244", + "nsimeq;": "\u2244", + "nsmid;": "\u2224", + "nspar;": "\u2226", + "nsqsube;": "\u22e2", + "nsqsupe;": "\u22e3", + "nsub;": "\u2284", + "nsubE;": "\u2ac5\u0338", + "nsube;": "\u2288", + "nsubset;": "\u2282\u20d2", + "nsubseteq;": "\u2288", + "nsubseteqq;": "\u2ac5\u0338", + "nsucc;": "\u2281", + "nsucceq;": "\u2ab0\u0338", + "nsup;": "\u2285", + "nsupE;": "\u2ac6\u0338", + "nsupe;": "\u2289", + "nsupset;": "\u2283\u20d2", + "nsupseteq;": "\u2289", + "nsupseteqq;": "\u2ac6\u0338", + "ntgl;": "\u2279", + "ntilde": "\xf1", + "ntilde;": "\xf1", + "ntlg;": "\u2278", + "ntriangleleft;": "\u22ea", + "ntrianglelefteq;": "\u22ec", + "ntriangleright;": "\u22eb", + "ntrianglerighteq;": "\u22ed", + "nu;": "\u03bd", + "num;": "#", + "numero;": "\u2116", + "numsp;": "\u2007", + "nvDash;": "\u22ad", + "nvHarr;": "\u2904", + "nvap;": "\u224d\u20d2", + "nvdash;": "\u22ac", + "nvge;": "\u2265\u20d2", + "nvgt;": ">\u20d2", + "nvinfin;": "\u29de", + "nvlArr;": "\u2902", + "nvle;": "\u2264\u20d2", + "nvlt;": "<\u20d2", + "nvltrie;": "\u22b4\u20d2", + "nvrArr;": "\u2903", + "nvrtrie;": "\u22b5\u20d2", + "nvsim;": "\u223c\u20d2", + "nwArr;": "\u21d6", + "nwarhk;": "\u2923", + "nwarr;": "\u2196", + "nwarrow;": "\u2196", + "nwnear;": "\u2927", + "oS;": "\u24c8", + "oacute": "\xf3", + "oacute;": "\xf3", + "oast;": "\u229b", + "ocir;": "\u229a", + "ocirc": "\xf4", + "ocirc;": "\xf4", + "ocy;": "\u043e", + "odash;": "\u229d", + "odblac;": "\u0151", + "odiv;": "\u2a38", + "odot;": "\u2299", + "odsold;": "\u29bc", + "oelig;": "\u0153", + "ofcir;": "\u29bf", + "ofr;": "\U0001d52c", + "ogon;": "\u02db", + "ograve": "\xf2", + "ograve;": "\xf2", + "ogt;": "\u29c1", + "ohbar;": "\u29b5", + "ohm;": "\u03a9", + "oint;": "\u222e", + "olarr;": "\u21ba", + "olcir;": "\u29be", + "olcross;": "\u29bb", + "oline;": "\u203e", + "olt;": "\u29c0", + "omacr;": "\u014d", + "omega;": "\u03c9", + "omicron;": "\u03bf", + "omid;": "\u29b6", + "ominus;": "\u2296", + "oopf;": "\U0001d560", + "opar;": "\u29b7", + "operp;": "\u29b9", + "oplus;": "\u2295", + "or;": "\u2228", + "orarr;": "\u21bb", + "ord;": "\u2a5d", + "order;": "\u2134", + "orderof;": "\u2134", + "ordf": "\xaa", + "ordf;": "\xaa", + "ordm": "\xba", + "ordm;": "\xba", + "origof;": "\u22b6", + "oror;": "\u2a56", + "orslope;": "\u2a57", + "orv;": "\u2a5b", + "oscr;": "\u2134", + "oslash": "\xf8", + "oslash;": "\xf8", + "osol;": "\u2298", + "otilde": "\xf5", + "otilde;": "\xf5", + "otimes;": "\u2297", + "otimesas;": "\u2a36", + "ouml": "\xf6", + "ouml;": "\xf6", + "ovbar;": "\u233d", + "par;": "\u2225", + "para": "\xb6", + "para;": "\xb6", + "parallel;": "\u2225", + "parsim;": "\u2af3", + "parsl;": "\u2afd", + "part;": "\u2202", + "pcy;": "\u043f", + "percnt;": "%", + "period;": ".", + "permil;": "\u2030", + "perp;": "\u22a5", + "pertenk;": "\u2031", + "pfr;": "\U0001d52d", + "phi;": "\u03c6", + "phiv;": "\u03d5", + "phmmat;": "\u2133", + "phone;": "\u260e", + "pi;": "\u03c0", + "pitchfork;": "\u22d4", + "piv;": "\u03d6", + "planck;": "\u210f", + "planckh;": "\u210e", + "plankv;": "\u210f", + "plus;": "+", + "plusacir;": "\u2a23", + "plusb;": "\u229e", + "pluscir;": "\u2a22", + "plusdo;": "\u2214", + "plusdu;": "\u2a25", + "pluse;": "\u2a72", + "plusmn": "\xb1", + "plusmn;": "\xb1", + "plussim;": "\u2a26", + "plustwo;": "\u2a27", + "pm;": "\xb1", + "pointint;": "\u2a15", + "popf;": "\U0001d561", + "pound": "\xa3", + "pound;": "\xa3", + "pr;": "\u227a", + "prE;": "\u2ab3", + "prap;": "\u2ab7", + "prcue;": "\u227c", + "pre;": "\u2aaf", + "prec;": "\u227a", + "precapprox;": "\u2ab7", + "preccurlyeq;": "\u227c", + "preceq;": "\u2aaf", + "precnapprox;": "\u2ab9", + "precneqq;": "\u2ab5", + "precnsim;": "\u22e8", + "precsim;": "\u227e", + "prime;": "\u2032", + "primes;": "\u2119", + "prnE;": "\u2ab5", + "prnap;": "\u2ab9", + "prnsim;": "\u22e8", + "prod;": "\u220f", + "profalar;": "\u232e", + "profline;": "\u2312", + "profsurf;": "\u2313", + "prop;": "\u221d", + "propto;": "\u221d", + "prsim;": "\u227e", + "prurel;": "\u22b0", + "pscr;": "\U0001d4c5", + "psi;": "\u03c8", + "puncsp;": "\u2008", + "qfr;": "\U0001d52e", + "qint;": "\u2a0c", + "qopf;": "\U0001d562", + "qprime;": "\u2057", + "qscr;": "\U0001d4c6", + "quaternions;": "\u210d", + "quatint;": "\u2a16", + "quest;": "?", + "questeq;": "\u225f", + "quot": "\"", + "quot;": "\"", + "rAarr;": "\u21db", + "rArr;": "\u21d2", + "rAtail;": "\u291c", + "rBarr;": "\u290f", + "rHar;": "\u2964", + "race;": "\u223d\u0331", + "racute;": "\u0155", + "radic;": "\u221a", + "raemptyv;": "\u29b3", + "rang;": "\u27e9", + "rangd;": "\u2992", + "range;": "\u29a5", + "rangle;": "\u27e9", + "raquo": "\xbb", + "raquo;": "\xbb", + "rarr;": "\u2192", + "rarrap;": "\u2975", + "rarrb;": "\u21e5", + "rarrbfs;": "\u2920", + "rarrc;": "\u2933", + "rarrfs;": "\u291e", + "rarrhk;": "\u21aa", + "rarrlp;": "\u21ac", + "rarrpl;": "\u2945", + "rarrsim;": "\u2974", + "rarrtl;": "\u21a3", + "rarrw;": "\u219d", + "ratail;": "\u291a", + "ratio;": "\u2236", + "rationals;": "\u211a", + "rbarr;": "\u290d", + "rbbrk;": "\u2773", + "rbrace;": "}", + "rbrack;": "]", + "rbrke;": "\u298c", + "rbrksld;": "\u298e", + "rbrkslu;": "\u2990", + "rcaron;": "\u0159", + "rcedil;": "\u0157", + "rceil;": "\u2309", + "rcub;": "}", + "rcy;": "\u0440", + "rdca;": "\u2937", + "rdldhar;": "\u2969", + "rdquo;": "\u201d", + "rdquor;": "\u201d", + "rdsh;": "\u21b3", + "real;": "\u211c", + "realine;": "\u211b", + "realpart;": "\u211c", + "reals;": "\u211d", + "rect;": "\u25ad", + "reg": "\xae", + "reg;": "\xae", + "rfisht;": "\u297d", + "rfloor;": "\u230b", + "rfr;": "\U0001d52f", + "rhard;": "\u21c1", + "rharu;": "\u21c0", + "rharul;": "\u296c", + "rho;": "\u03c1", + "rhov;": "\u03f1", + "rightarrow;": "\u2192", + "rightarrowtail;": "\u21a3", + "rightharpoondown;": "\u21c1", + "rightharpoonup;": "\u21c0", + "rightleftarrows;": "\u21c4", + "rightleftharpoons;": "\u21cc", + "rightrightarrows;": "\u21c9", + "rightsquigarrow;": "\u219d", + "rightthreetimes;": "\u22cc", + "ring;": "\u02da", + "risingdotseq;": "\u2253", + "rlarr;": "\u21c4", + "rlhar;": "\u21cc", + "rlm;": "\u200f", + "rmoust;": "\u23b1", + "rmoustache;": "\u23b1", + "rnmid;": "\u2aee", + "roang;": "\u27ed", + "roarr;": "\u21fe", + "robrk;": "\u27e7", + "ropar;": "\u2986", + "ropf;": "\U0001d563", + "roplus;": "\u2a2e", + "rotimes;": "\u2a35", + "rpar;": ")", + "rpargt;": "\u2994", + "rppolint;": "\u2a12", + "rrarr;": "\u21c9", + "rsaquo;": "\u203a", + "rscr;": "\U0001d4c7", + "rsh;": "\u21b1", + "rsqb;": "]", + "rsquo;": "\u2019", + "rsquor;": "\u2019", + "rthree;": "\u22cc", + "rtimes;": "\u22ca", + "rtri;": "\u25b9", + "rtrie;": "\u22b5", + "rtrif;": "\u25b8", + "rtriltri;": "\u29ce", + "ruluhar;": "\u2968", + "rx;": "\u211e", + "sacute;": "\u015b", + "sbquo;": "\u201a", + "sc;": "\u227b", + "scE;": "\u2ab4", + "scap;": "\u2ab8", + "scaron;": "\u0161", + "sccue;": "\u227d", + "sce;": "\u2ab0", + "scedil;": "\u015f", + "scirc;": "\u015d", + "scnE;": "\u2ab6", + "scnap;": "\u2aba", + "scnsim;": "\u22e9", + "scpolint;": "\u2a13", + "scsim;": "\u227f", + "scy;": "\u0441", + "sdot;": "\u22c5", + "sdotb;": "\u22a1", + "sdote;": "\u2a66", + "seArr;": "\u21d8", + "searhk;": "\u2925", + "searr;": "\u2198", + "searrow;": "\u2198", + "sect": "\xa7", + "sect;": "\xa7", + "semi;": ";", + "seswar;": "\u2929", + "setminus;": "\u2216", + "setmn;": "\u2216", + "sext;": "\u2736", + "sfr;": "\U0001d530", + "sfrown;": "\u2322", + "sharp;": "\u266f", + "shchcy;": "\u0449", + "shcy;": "\u0448", + "shortmid;": "\u2223", + "shortparallel;": "\u2225", + "shy": "\xad", + "shy;": "\xad", + "sigma;": "\u03c3", + "sigmaf;": "\u03c2", + "sigmav;": "\u03c2", + "sim;": "\u223c", + "simdot;": "\u2a6a", + "sime;": "\u2243", + "simeq;": "\u2243", + "simg;": "\u2a9e", + "simgE;": "\u2aa0", + "siml;": "\u2a9d", + "simlE;": "\u2a9f", + "simne;": "\u2246", + "simplus;": "\u2a24", + "simrarr;": "\u2972", + "slarr;": "\u2190", + "smallsetminus;": "\u2216", + "smashp;": "\u2a33", + "smeparsl;": "\u29e4", + "smid;": "\u2223", + "smile;": "\u2323", + "smt;": "\u2aaa", + "smte;": "\u2aac", + "smtes;": "\u2aac\ufe00", + "softcy;": "\u044c", + "sol;": "/", + "solb;": "\u29c4", + "solbar;": "\u233f", + "sopf;": "\U0001d564", + "spades;": "\u2660", + "spadesuit;": "\u2660", + "spar;": "\u2225", + "sqcap;": "\u2293", + "sqcaps;": "\u2293\ufe00", + "sqcup;": "\u2294", + "sqcups;": "\u2294\ufe00", + "sqsub;": "\u228f", + "sqsube;": "\u2291", + "sqsubset;": "\u228f", + "sqsubseteq;": "\u2291", + "sqsup;": "\u2290", + "sqsupe;": "\u2292", + "sqsupset;": "\u2290", + "sqsupseteq;": "\u2292", + "squ;": "\u25a1", + "square;": "\u25a1", + "squarf;": "\u25aa", + "squf;": "\u25aa", + "srarr;": "\u2192", + "sscr;": "\U0001d4c8", + "ssetmn;": "\u2216", + "ssmile;": "\u2323", + "sstarf;": "\u22c6", + "star;": "\u2606", + "starf;": "\u2605", + "straightepsilon;": "\u03f5", + "straightphi;": "\u03d5", + "strns;": "\xaf", + "sub;": "\u2282", + "subE;": "\u2ac5", + "subdot;": "\u2abd", + "sube;": "\u2286", + "subedot;": "\u2ac3", + "submult;": "\u2ac1", + "subnE;": "\u2acb", + "subne;": "\u228a", + "subplus;": "\u2abf", + "subrarr;": "\u2979", + "subset;": "\u2282", + "subseteq;": "\u2286", + "subseteqq;": "\u2ac5", + "subsetneq;": "\u228a", + "subsetneqq;": "\u2acb", + "subsim;": "\u2ac7", + "subsub;": "\u2ad5", + "subsup;": "\u2ad3", + "succ;": "\u227b", + "succapprox;": "\u2ab8", + "succcurlyeq;": "\u227d", + "succeq;": "\u2ab0", + "succnapprox;": "\u2aba", + "succneqq;": "\u2ab6", + "succnsim;": "\u22e9", + "succsim;": "\u227f", + "sum;": "\u2211", + "sung;": "\u266a", + "sup1": "\xb9", + "sup1;": "\xb9", + "sup2": "\xb2", + "sup2;": "\xb2", + "sup3": "\xb3", + "sup3;": "\xb3", + "sup;": "\u2283", + "supE;": "\u2ac6", + "supdot;": "\u2abe", + "supdsub;": "\u2ad8", + "supe;": "\u2287", + "supedot;": "\u2ac4", + "suphsol;": "\u27c9", + "suphsub;": "\u2ad7", + "suplarr;": "\u297b", + "supmult;": "\u2ac2", + "supnE;": "\u2acc", + "supne;": "\u228b", + "supplus;": "\u2ac0", + "supset;": "\u2283", + "supseteq;": "\u2287", + "supseteqq;": "\u2ac6", + "supsetneq;": "\u228b", + "supsetneqq;": "\u2acc", + "supsim;": "\u2ac8", + "supsub;": "\u2ad4", + "supsup;": "\u2ad6", + "swArr;": "\u21d9", + "swarhk;": "\u2926", + "swarr;": "\u2199", + "swarrow;": "\u2199", + "swnwar;": "\u292a", + "szlig": "\xdf", + "szlig;": "\xdf", + "target;": "\u2316", + "tau;": "\u03c4", + "tbrk;": "\u23b4", + "tcaron;": "\u0165", + "tcedil;": "\u0163", + "tcy;": "\u0442", + "tdot;": "\u20db", + "telrec;": "\u2315", + "tfr;": "\U0001d531", + "there4;": "\u2234", + "therefore;": "\u2234", + "theta;": "\u03b8", + "thetasym;": "\u03d1", + "thetav;": "\u03d1", + "thickapprox;": "\u2248", + "thicksim;": "\u223c", + "thinsp;": "\u2009", + "thkap;": "\u2248", + "thksim;": "\u223c", + "thorn": "\xfe", + "thorn;": "\xfe", + "tilde;": "\u02dc", + "times": "\xd7", + "times;": "\xd7", + "timesb;": "\u22a0", + "timesbar;": "\u2a31", + "timesd;": "\u2a30", + "tint;": "\u222d", + "toea;": "\u2928", + "top;": "\u22a4", + "topbot;": "\u2336", + "topcir;": "\u2af1", + "topf;": "\U0001d565", + "topfork;": "\u2ada", + "tosa;": "\u2929", + "tprime;": "\u2034", + "trade;": "\u2122", + "triangle;": "\u25b5", + "triangledown;": "\u25bf", + "triangleleft;": "\u25c3", + "trianglelefteq;": "\u22b4", + "triangleq;": "\u225c", + "triangleright;": "\u25b9", + "trianglerighteq;": "\u22b5", + "tridot;": "\u25ec", + "trie;": "\u225c", + "triminus;": "\u2a3a", + "triplus;": "\u2a39", + "trisb;": "\u29cd", + "tritime;": "\u2a3b", + "trpezium;": "\u23e2", + "tscr;": "\U0001d4c9", + "tscy;": "\u0446", + "tshcy;": "\u045b", + "tstrok;": "\u0167", + "twixt;": "\u226c", + "twoheadleftarrow;": "\u219e", + "twoheadrightarrow;": "\u21a0", + "uArr;": "\u21d1", + "uHar;": "\u2963", + "uacute": "\xfa", + "uacute;": "\xfa", + "uarr;": "\u2191", + "ubrcy;": "\u045e", + "ubreve;": "\u016d", + "ucirc": "\xfb", + "ucirc;": "\xfb", + "ucy;": "\u0443", + "udarr;": "\u21c5", + "udblac;": "\u0171", + "udhar;": "\u296e", + "ufisht;": "\u297e", + "ufr;": "\U0001d532", + "ugrave": "\xf9", + "ugrave;": "\xf9", + "uharl;": "\u21bf", + "uharr;": "\u21be", + "uhblk;": "\u2580", + "ulcorn;": "\u231c", + "ulcorner;": "\u231c", + "ulcrop;": "\u230f", + "ultri;": "\u25f8", + "umacr;": "\u016b", + "uml": "\xa8", + "uml;": "\xa8", + "uogon;": "\u0173", + "uopf;": "\U0001d566", + "uparrow;": "\u2191", + "updownarrow;": "\u2195", + "upharpoonleft;": "\u21bf", + "upharpoonright;": "\u21be", + "uplus;": "\u228e", + "upsi;": "\u03c5", + "upsih;": "\u03d2", + "upsilon;": "\u03c5", + "upuparrows;": "\u21c8", + "urcorn;": "\u231d", + "urcorner;": "\u231d", + "urcrop;": "\u230e", + "uring;": "\u016f", + "urtri;": "\u25f9", + "uscr;": "\U0001d4ca", + "utdot;": "\u22f0", + "utilde;": "\u0169", + "utri;": "\u25b5", + "utrif;": "\u25b4", + "uuarr;": "\u21c8", + "uuml": "\xfc", + "uuml;": "\xfc", + "uwangle;": "\u29a7", + "vArr;": "\u21d5", + "vBar;": "\u2ae8", + "vBarv;": "\u2ae9", + "vDash;": "\u22a8", + "vangrt;": "\u299c", + "varepsilon;": "\u03f5", + "varkappa;": "\u03f0", + "varnothing;": "\u2205", + "varphi;": "\u03d5", + "varpi;": "\u03d6", + "varpropto;": "\u221d", + "varr;": "\u2195", + "varrho;": "\u03f1", + "varsigma;": "\u03c2", + "varsubsetneq;": "\u228a\ufe00", + "varsubsetneqq;": "\u2acb\ufe00", + "varsupsetneq;": "\u228b\ufe00", + "varsupsetneqq;": "\u2acc\ufe00", + "vartheta;": "\u03d1", + "vartriangleleft;": "\u22b2", + "vartriangleright;": "\u22b3", + "vcy;": "\u0432", + "vdash;": "\u22a2", + "vee;": "\u2228", + "veebar;": "\u22bb", + "veeeq;": "\u225a", + "vellip;": "\u22ee", + "verbar;": "|", + "vert;": "|", + "vfr;": "\U0001d533", + "vltri;": "\u22b2", + "vnsub;": "\u2282\u20d2", + "vnsup;": "\u2283\u20d2", + "vopf;": "\U0001d567", + "vprop;": "\u221d", + "vrtri;": "\u22b3", + "vscr;": "\U0001d4cb", + "vsubnE;": "\u2acb\ufe00", + "vsubne;": "\u228a\ufe00", + "vsupnE;": "\u2acc\ufe00", + "vsupne;": "\u228b\ufe00", + "vzigzag;": "\u299a", + "wcirc;": "\u0175", + "wedbar;": "\u2a5f", + "wedge;": "\u2227", + "wedgeq;": "\u2259", + "weierp;": "\u2118", + "wfr;": "\U0001d534", + "wopf;": "\U0001d568", + "wp;": "\u2118", + "wr;": "\u2240", + "wreath;": "\u2240", + "wscr;": "\U0001d4cc", + "xcap;": "\u22c2", + "xcirc;": "\u25ef", + "xcup;": "\u22c3", + "xdtri;": "\u25bd", + "xfr;": "\U0001d535", + "xhArr;": "\u27fa", + "xharr;": "\u27f7", + "xi;": "\u03be", + "xlArr;": "\u27f8", + "xlarr;": "\u27f5", + "xmap;": "\u27fc", + "xnis;": "\u22fb", + "xodot;": "\u2a00", + "xopf;": "\U0001d569", + "xoplus;": "\u2a01", + "xotime;": "\u2a02", + "xrArr;": "\u27f9", + "xrarr;": "\u27f6", + "xscr;": "\U0001d4cd", + "xsqcup;": "\u2a06", + "xuplus;": "\u2a04", + "xutri;": "\u25b3", + "xvee;": "\u22c1", + "xwedge;": "\u22c0", + "yacute": "\xfd", + "yacute;": "\xfd", + "yacy;": "\u044f", + "ycirc;": "\u0177", + "ycy;": "\u044b", + "yen": "\xa5", + "yen;": "\xa5", + "yfr;": "\U0001d536", + "yicy;": "\u0457", + "yopf;": "\U0001d56a", + "yscr;": "\U0001d4ce", + "yucy;": "\u044e", + "yuml": "\xff", + "yuml;": "\xff", + "zacute;": "\u017a", + "zcaron;": "\u017e", + "zcy;": "\u0437", + "zdot;": "\u017c", + "zeetrf;": "\u2128", + "zeta;": "\u03b6", + "zfr;": "\U0001d537", + "zhcy;": "\u0436", + "zigrarr;": "\u21dd", + "zopf;": "\U0001d56b", + "zscr;": "\U0001d4cf", + "zwj;": "\u200d", + "zwnj;": "\u200c", +} + +replacementCharacters = { + 0x0: "\uFFFD", + 0x0d: "\u000D", + 0x80: "\u20AC", + 0x81: "\u0081", + 0x82: "\u201A", + 0x83: "\u0192", + 0x84: "\u201E", + 0x85: "\u2026", + 0x86: "\u2020", + 0x87: "\u2021", + 0x88: "\u02C6", + 0x89: "\u2030", + 0x8A: "\u0160", + 0x8B: "\u2039", + 0x8C: "\u0152", + 0x8D: "\u008D", + 0x8E: "\u017D", + 0x8F: "\u008F", + 0x90: "\u0090", + 0x91: "\u2018", + 0x92: "\u2019", + 0x93: "\u201C", + 0x94: "\u201D", + 0x95: "\u2022", + 0x96: "\u2013", + 0x97: "\u2014", + 0x98: "\u02DC", + 0x99: "\u2122", + 0x9A: "\u0161", + 0x9B: "\u203A", + 0x9C: "\u0153", + 0x9D: "\u009D", + 0x9E: "\u017E", + 0x9F: "\u0178", +} + +tokenTypes = { + "Doctype": 0, + "Characters": 1, + "SpaceCharacters": 2, + "StartTag": 3, + "EndTag": 4, + "EmptyTag": 5, + "Comment": 6, + "ParseError": 7 +} + +tagTokenTypes = frozenset([tokenTypes["StartTag"], tokenTypes["EndTag"], + tokenTypes["EmptyTag"]]) + + +prefixes = dict([(v, k) for k, v in namespaces.items()]) +prefixes["http://www.w3.org/1998/Math/MathML"] = "math" + + +class DataLossWarning(UserWarning): + """Raised when the current tree is unable to represent the input data""" + pass + + +class _ReparseException(Exception): + pass diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/alphabeticalattributes.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/alphabeticalattributes.py new file mode 100644 index 0000000..5ba926e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/alphabeticalattributes.py @@ -0,0 +1,29 @@ +from __future__ import absolute_import, division, unicode_literals + +from . import base + +from collections import OrderedDict + + +def _attr_key(attr): + """Return an appropriate key for an attribute for sorting + + Attributes have a namespace that can be either ``None`` or a string. We + can't compare the two because they're different types, so we convert + ``None`` to an empty string first. + + """ + return (attr[0][0] or ''), attr[0][1] + + +class Filter(base.Filter): + """Alphabetizes attributes for elements""" + def __iter__(self): + for token in base.Filter.__iter__(self): + if token["type"] in ("StartTag", "EmptyTag"): + attrs = OrderedDict() + for name, value in sorted(token["data"].items(), + key=_attr_key): + attrs[name] = value + token["data"] = attrs + yield token diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/base.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/base.py new file mode 100644 index 0000000..c7dbaed --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/base.py @@ -0,0 +1,12 @@ +from __future__ import absolute_import, division, unicode_literals + + +class Filter(object): + def __init__(self, source): + self.source = source + + def __iter__(self): + return iter(self.source) + + def __getattr__(self, name): + return getattr(self.source, name) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/inject_meta_charset.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/inject_meta_charset.py new file mode 100644 index 0000000..aefb5c8 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/inject_meta_charset.py @@ -0,0 +1,73 @@ +from __future__ import absolute_import, division, unicode_literals + +from . import base + + +class Filter(base.Filter): + """Injects ``<meta charset=ENCODING>`` tag into head of document""" + def __init__(self, source, encoding): + """Creates a Filter + + :arg source: the source token stream + + :arg encoding: the encoding to set + + """ + base.Filter.__init__(self, source) + self.encoding = encoding + + def __iter__(self): + state = "pre_head" + meta_found = (self.encoding is None) + pending = [] + + for token in base.Filter.__iter__(self): + type = token["type"] + if type == "StartTag": + if token["name"].lower() == "head": + state = "in_head" + + elif type == "EmptyTag": + if token["name"].lower() == "meta": + # replace charset with actual encoding + has_http_equiv_content_type = False + for (namespace, name), value in token["data"].items(): + if namespace is not None: + continue + elif name.lower() == 'charset': + token["data"][(namespace, name)] = self.encoding + meta_found = True + break + elif name == 'http-equiv' and value.lower() == 'content-type': + has_http_equiv_content_type = True + else: + if has_http_equiv_content_type and (None, "content") in token["data"]: + token["data"][(None, "content")] = 'text/html; charset=%s' % self.encoding + meta_found = True + + elif token["name"].lower() == "head" and not meta_found: + # insert meta into empty head + yield {"type": "StartTag", "name": "head", + "data": token["data"]} + yield {"type": "EmptyTag", "name": "meta", + "data": {(None, "charset"): self.encoding}} + yield {"type": "EndTag", "name": "head"} + meta_found = True + continue + + elif type == "EndTag": + if token["name"].lower() == "head" and pending: + # insert meta into head (if necessary) and flush pending queue + yield pending.pop(0) + if not meta_found: + yield {"type": "EmptyTag", "name": "meta", + "data": {(None, "charset"): self.encoding}} + while pending: + yield pending.pop(0) + meta_found = True + state = "post_head" + + if state == "in_head": + pending.append(token) + else: + yield token diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/lint.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/lint.py new file mode 100644 index 0000000..fcc07ee --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/lint.py @@ -0,0 +1,93 @@ +from __future__ import absolute_import, division, unicode_literals + +from pip._vendor.six import text_type + +from . import base +from ..constants import namespaces, voidElements + +from ..constants import spaceCharacters +spaceCharacters = "".join(spaceCharacters) + + +class Filter(base.Filter): + """Lints the token stream for errors + + If it finds any errors, it'll raise an ``AssertionError``. + + """ + def __init__(self, source, require_matching_tags=True): + """Creates a Filter + + :arg source: the source token stream + + :arg require_matching_tags: whether or not to require matching tags + + """ + super(Filter, self).__init__(source) + self.require_matching_tags = require_matching_tags + + def __iter__(self): + open_elements = [] + for token in base.Filter.__iter__(self): + type = token["type"] + if type in ("StartTag", "EmptyTag"): + namespace = token["namespace"] + name = token["name"] + assert namespace is None or isinstance(namespace, text_type) + assert namespace != "" + assert isinstance(name, text_type) + assert name != "" + assert isinstance(token["data"], dict) + if (not namespace or namespace == namespaces["html"]) and name in voidElements: + assert type == "EmptyTag" + else: + assert type == "StartTag" + if type == "StartTag" and self.require_matching_tags: + open_elements.append((namespace, name)) + for (namespace, name), value in token["data"].items(): + assert namespace is None or isinstance(namespace, text_type) + assert namespace != "" + assert isinstance(name, text_type) + assert name != "" + assert isinstance(value, text_type) + + elif type == "EndTag": + namespace = token["namespace"] + name = token["name"] + assert namespace is None or isinstance(namespace, text_type) + assert namespace != "" + assert isinstance(name, text_type) + assert name != "" + if (not namespace or namespace == namespaces["html"]) and name in voidElements: + assert False, "Void element reported as EndTag token: %(tag)s" % {"tag": name} + elif self.require_matching_tags: + start = open_elements.pop() + assert start == (namespace, name) + + elif type == "Comment": + data = token["data"] + assert isinstance(data, text_type) + + elif type in ("Characters", "SpaceCharacters"): + data = token["data"] + assert isinstance(data, text_type) + assert data != "" + if type == "SpaceCharacters": + assert data.strip(spaceCharacters) == "" + + elif type == "Doctype": + name = token["name"] + assert name is None or isinstance(name, text_type) + assert token["publicId"] is None or isinstance(name, text_type) + assert token["systemId"] is None or isinstance(name, text_type) + + elif type == "Entity": + assert isinstance(token["name"], text_type) + + elif type == "SerializerError": + assert isinstance(token["data"], text_type) + + else: + assert False, "Unknown token type: %(type)s" % {"type": type} + + yield token diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/optionaltags.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/optionaltags.py new file mode 100644 index 0000000..4a86501 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/optionaltags.py @@ -0,0 +1,207 @@ +from __future__ import absolute_import, division, unicode_literals + +from . import base + + +class Filter(base.Filter): + """Removes optional tags from the token stream""" + def slider(self): + previous1 = previous2 = None + for token in self.source: + if previous1 is not None: + yield previous2, previous1, token + previous2 = previous1 + previous1 = token + if previous1 is not None: + yield previous2, previous1, None + + def __iter__(self): + for previous, token, next in self.slider(): + type = token["type"] + if type == "StartTag": + if (token["data"] or + not self.is_optional_start(token["name"], previous, next)): + yield token + elif type == "EndTag": + if not self.is_optional_end(token["name"], next): + yield token + else: + yield token + + def is_optional_start(self, tagname, previous, next): + type = next and next["type"] or None + if tagname in 'html': + # An html element's start tag may be omitted if the first thing + # inside the html element is not a space character or a comment. + return type not in ("Comment", "SpaceCharacters") + elif tagname == 'head': + # A head element's start tag may be omitted if the first thing + # inside the head element is an element. + # XXX: we also omit the start tag if the head element is empty + if type in ("StartTag", "EmptyTag"): + return True + elif type == "EndTag": + return next["name"] == "head" + elif tagname == 'body': + # A body element's start tag may be omitted if the first thing + # inside the body element is not a space character or a comment, + # except if the first thing inside the body element is a script + # or style element and the node immediately preceding the body + # element is a head element whose end tag has been omitted. + if type in ("Comment", "SpaceCharacters"): + return False + elif type == "StartTag": + # XXX: we do not look at the preceding event, so we never omit + # the body element's start tag if it's followed by a script or + # a style element. + return next["name"] not in ('script', 'style') + else: + return True + elif tagname == 'colgroup': + # A colgroup element's start tag may be omitted if the first thing + # inside the colgroup element is a col element, and if the element + # is not immediately preceded by another colgroup element whose + # end tag has been omitted. + if type in ("StartTag", "EmptyTag"): + # XXX: we do not look at the preceding event, so instead we never + # omit the colgroup element's end tag when it is immediately + # followed by another colgroup element. See is_optional_end. + return next["name"] == "col" + else: + return False + elif tagname == 'tbody': + # A tbody element's start tag may be omitted if the first thing + # inside the tbody element is a tr element, and if the element is + # not immediately preceded by a tbody, thead, or tfoot element + # whose end tag has been omitted. + if type == "StartTag": + # omit the thead and tfoot elements' end tag when they are + # immediately followed by a tbody element. See is_optional_end. + if previous and previous['type'] == 'EndTag' and \ + previous['name'] in ('tbody', 'thead', 'tfoot'): + return False + return next["name"] == 'tr' + else: + return False + return False + + def is_optional_end(self, tagname, next): + type = next and next["type"] or None + if tagname in ('html', 'head', 'body'): + # An html element's end tag may be omitted if the html element + # is not immediately followed by a space character or a comment. + return type not in ("Comment", "SpaceCharacters") + elif tagname in ('li', 'optgroup', 'tr'): + # A li element's end tag may be omitted if the li element is + # immediately followed by another li element or if there is + # no more content in the parent element. + # An optgroup element's end tag may be omitted if the optgroup + # element is immediately followed by another optgroup element, + # or if there is no more content in the parent element. + # A tr element's end tag may be omitted if the tr element is + # immediately followed by another tr element, or if there is + # no more content in the parent element. + if type == "StartTag": + return next["name"] == tagname + else: + return type == "EndTag" or type is None + elif tagname in ('dt', 'dd'): + # A dt element's end tag may be omitted if the dt element is + # immediately followed by another dt element or a dd element. + # A dd element's end tag may be omitted if the dd element is + # immediately followed by another dd element or a dt element, + # or if there is no more content in the parent element. + if type == "StartTag": + return next["name"] in ('dt', 'dd') + elif tagname == 'dd': + return type == "EndTag" or type is None + else: + return False + elif tagname == 'p': + # A p element's end tag may be omitted if the p element is + # immediately followed by an address, article, aside, + # blockquote, datagrid, dialog, dir, div, dl, fieldset, + # footer, form, h1, h2, h3, h4, h5, h6, header, hr, menu, + # nav, ol, p, pre, section, table, or ul, element, or if + # there is no more content in the parent element. + if type in ("StartTag", "EmptyTag"): + return next["name"] in ('address', 'article', 'aside', + 'blockquote', 'datagrid', 'dialog', + 'dir', 'div', 'dl', 'fieldset', 'footer', + 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', + 'header', 'hr', 'menu', 'nav', 'ol', + 'p', 'pre', 'section', 'table', 'ul') + else: + return type == "EndTag" or type is None + elif tagname == 'option': + # An option element's end tag may be omitted if the option + # element is immediately followed by another option element, + # or if it is immediately followed by an <code>optgroup</code> + # element, or if there is no more content in the parent + # element. + if type == "StartTag": + return next["name"] in ('option', 'optgroup') + else: + return type == "EndTag" or type is None + elif tagname in ('rt', 'rp'): + # An rt element's end tag may be omitted if the rt element is + # immediately followed by an rt or rp element, or if there is + # no more content in the parent element. + # An rp element's end tag may be omitted if the rp element is + # immediately followed by an rt or rp element, or if there is + # no more content in the parent element. + if type == "StartTag": + return next["name"] in ('rt', 'rp') + else: + return type == "EndTag" or type is None + elif tagname == 'colgroup': + # A colgroup element's end tag may be omitted if the colgroup + # element is not immediately followed by a space character or + # a comment. + if type in ("Comment", "SpaceCharacters"): + return False + elif type == "StartTag": + # XXX: we also look for an immediately following colgroup + # element. See is_optional_start. + return next["name"] != 'colgroup' + else: + return True + elif tagname in ('thead', 'tbody'): + # A thead element's end tag may be omitted if the thead element + # is immediately followed by a tbody or tfoot element. + # A tbody element's end tag may be omitted if the tbody element + # is immediately followed by a tbody or tfoot element, or if + # there is no more content in the parent element. + # A tfoot element's end tag may be omitted if the tfoot element + # is immediately followed by a tbody element, or if there is no + # more content in the parent element. + # XXX: we never omit the end tag when the following element is + # a tbody. See is_optional_start. + if type == "StartTag": + return next["name"] in ['tbody', 'tfoot'] + elif tagname == 'tbody': + return type == "EndTag" or type is None + else: + return False + elif tagname == 'tfoot': + # A tfoot element's end tag may be omitted if the tfoot element + # is immediately followed by a tbody element, or if there is no + # more content in the parent element. + # XXX: we never omit the end tag when the following element is + # a tbody. See is_optional_start. + if type == "StartTag": + return next["name"] == 'tbody' + else: + return type == "EndTag" or type is None + elif tagname in ('td', 'th'): + # A td element's end tag may be omitted if the td element is + # immediately followed by a td or th element, or if there is + # no more content in the parent element. + # A th element's end tag may be omitted if the th element is + # immediately followed by a td or th element, or if there is + # no more content in the parent element. + if type == "StartTag": + return next["name"] in ('td', 'th') + else: + return type == "EndTag" or type is None + return False diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/sanitizer.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/sanitizer.py new file mode 100644 index 0000000..af8e77b --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/sanitizer.py @@ -0,0 +1,896 @@ +from __future__ import absolute_import, division, unicode_literals + +import re +from xml.sax.saxutils import escape, unescape + +from pip._vendor.six.moves import urllib_parse as urlparse + +from . import base +from ..constants import namespaces, prefixes + +__all__ = ["Filter"] + + +allowed_elements = frozenset(( + (namespaces['html'], 'a'), + (namespaces['html'], 'abbr'), + (namespaces['html'], 'acronym'), + (namespaces['html'], 'address'), + (namespaces['html'], 'area'), + (namespaces['html'], 'article'), + (namespaces['html'], 'aside'), + (namespaces['html'], 'audio'), + (namespaces['html'], 'b'), + (namespaces['html'], 'big'), + (namespaces['html'], 'blockquote'), + (namespaces['html'], 'br'), + (namespaces['html'], 'button'), + (namespaces['html'], 'canvas'), + (namespaces['html'], 'caption'), + (namespaces['html'], 'center'), + (namespaces['html'], 'cite'), + (namespaces['html'], 'code'), + (namespaces['html'], 'col'), + (namespaces['html'], 'colgroup'), + (namespaces['html'], 'command'), + (namespaces['html'], 'datagrid'), + (namespaces['html'], 'datalist'), + (namespaces['html'], 'dd'), + (namespaces['html'], 'del'), + (namespaces['html'], 'details'), + (namespaces['html'], 'dfn'), + (namespaces['html'], 'dialog'), + (namespaces['html'], 'dir'), + (namespaces['html'], 'div'), + (namespaces['html'], 'dl'), + (namespaces['html'], 'dt'), + (namespaces['html'], 'em'), + (namespaces['html'], 'event-source'), + (namespaces['html'], 'fieldset'), + (namespaces['html'], 'figcaption'), + (namespaces['html'], 'figure'), + (namespaces['html'], 'footer'), + (namespaces['html'], 'font'), + (namespaces['html'], 'form'), + (namespaces['html'], 'header'), + (namespaces['html'], 'h1'), + (namespaces['html'], 'h2'), + (namespaces['html'], 'h3'), + (namespaces['html'], 'h4'), + (namespaces['html'], 'h5'), + (namespaces['html'], 'h6'), + (namespaces['html'], 'hr'), + (namespaces['html'], 'i'), + (namespaces['html'], 'img'), + (namespaces['html'], 'input'), + (namespaces['html'], 'ins'), + (namespaces['html'], 'keygen'), + (namespaces['html'], 'kbd'), + (namespaces['html'], 'label'), + (namespaces['html'], 'legend'), + (namespaces['html'], 'li'), + (namespaces['html'], 'm'), + (namespaces['html'], 'map'), + (namespaces['html'], 'menu'), + (namespaces['html'], 'meter'), + (namespaces['html'], 'multicol'), + (namespaces['html'], 'nav'), + (namespaces['html'], 'nextid'), + (namespaces['html'], 'ol'), + (namespaces['html'], 'output'), + (namespaces['html'], 'optgroup'), + (namespaces['html'], 'option'), + (namespaces['html'], 'p'), + (namespaces['html'], 'pre'), + (namespaces['html'], 'progress'), + (namespaces['html'], 'q'), + (namespaces['html'], 's'), + (namespaces['html'], 'samp'), + (namespaces['html'], 'section'), + (namespaces['html'], 'select'), + (namespaces['html'], 'small'), + (namespaces['html'], 'sound'), + (namespaces['html'], 'source'), + (namespaces['html'], 'spacer'), + (namespaces['html'], 'span'), + (namespaces['html'], 'strike'), + (namespaces['html'], 'strong'), + (namespaces['html'], 'sub'), + (namespaces['html'], 'sup'), + (namespaces['html'], 'table'), + (namespaces['html'], 'tbody'), + (namespaces['html'], 'td'), + (namespaces['html'], 'textarea'), + (namespaces['html'], 'time'), + (namespaces['html'], 'tfoot'), + (namespaces['html'], 'th'), + (namespaces['html'], 'thead'), + (namespaces['html'], 'tr'), + (namespaces['html'], 'tt'), + (namespaces['html'], 'u'), + (namespaces['html'], 'ul'), + (namespaces['html'], 'var'), + (namespaces['html'], 'video'), + (namespaces['mathml'], 'maction'), + (namespaces['mathml'], 'math'), + (namespaces['mathml'], 'merror'), + (namespaces['mathml'], 'mfrac'), + (namespaces['mathml'], 'mi'), + (namespaces['mathml'], 'mmultiscripts'), + (namespaces['mathml'], 'mn'), + (namespaces['mathml'], 'mo'), + (namespaces['mathml'], 'mover'), + (namespaces['mathml'], 'mpadded'), + (namespaces['mathml'], 'mphantom'), + (namespaces['mathml'], 'mprescripts'), + (namespaces['mathml'], 'mroot'), + (namespaces['mathml'], 'mrow'), + (namespaces['mathml'], 'mspace'), + (namespaces['mathml'], 'msqrt'), + (namespaces['mathml'], 'mstyle'), + (namespaces['mathml'], 'msub'), + (namespaces['mathml'], 'msubsup'), + (namespaces['mathml'], 'msup'), + (namespaces['mathml'], 'mtable'), + (namespaces['mathml'], 'mtd'), + (namespaces['mathml'], 'mtext'), + (namespaces['mathml'], 'mtr'), + (namespaces['mathml'], 'munder'), + (namespaces['mathml'], 'munderover'), + (namespaces['mathml'], 'none'), + (namespaces['svg'], 'a'), + (namespaces['svg'], 'animate'), + (namespaces['svg'], 'animateColor'), + (namespaces['svg'], 'animateMotion'), + (namespaces['svg'], 'animateTransform'), + (namespaces['svg'], 'clipPath'), + (namespaces['svg'], 'circle'), + (namespaces['svg'], 'defs'), + (namespaces['svg'], 'desc'), + (namespaces['svg'], 'ellipse'), + (namespaces['svg'], 'font-face'), + (namespaces['svg'], 'font-face-name'), + (namespaces['svg'], 'font-face-src'), + (namespaces['svg'], 'g'), + (namespaces['svg'], 'glyph'), + (namespaces['svg'], 'hkern'), + (namespaces['svg'], 'linearGradient'), + (namespaces['svg'], 'line'), + (namespaces['svg'], 'marker'), + (namespaces['svg'], 'metadata'), + (namespaces['svg'], 'missing-glyph'), + (namespaces['svg'], 'mpath'), + (namespaces['svg'], 'path'), + (namespaces['svg'], 'polygon'), + (namespaces['svg'], 'polyline'), + (namespaces['svg'], 'radialGradient'), + (namespaces['svg'], 'rect'), + (namespaces['svg'], 'set'), + (namespaces['svg'], 'stop'), + (namespaces['svg'], 'svg'), + (namespaces['svg'], 'switch'), + (namespaces['svg'], 'text'), + (namespaces['svg'], 'title'), + (namespaces['svg'], 'tspan'), + (namespaces['svg'], 'use'), +)) + +allowed_attributes = frozenset(( + # HTML attributes + (None, 'abbr'), + (None, 'accept'), + (None, 'accept-charset'), + (None, 'accesskey'), + (None, 'action'), + (None, 'align'), + (None, 'alt'), + (None, 'autocomplete'), + (None, 'autofocus'), + (None, 'axis'), + (None, 'background'), + (None, 'balance'), + (None, 'bgcolor'), + (None, 'bgproperties'), + (None, 'border'), + (None, 'bordercolor'), + (None, 'bordercolordark'), + (None, 'bordercolorlight'), + (None, 'bottompadding'), + (None, 'cellpadding'), + (None, 'cellspacing'), + (None, 'ch'), + (None, 'challenge'), + (None, 'char'), + (None, 'charoff'), + (None, 'choff'), + (None, 'charset'), + (None, 'checked'), + (None, 'cite'), + (None, 'class'), + (None, 'clear'), + (None, 'color'), + (None, 'cols'), + (None, 'colspan'), + (None, 'compact'), + (None, 'contenteditable'), + (None, 'controls'), + (None, 'coords'), + (None, 'data'), + (None, 'datafld'), + (None, 'datapagesize'), + (None, 'datasrc'), + (None, 'datetime'), + (None, 'default'), + (None, 'delay'), + (None, 'dir'), + (None, 'disabled'), + (None, 'draggable'), + (None, 'dynsrc'), + (None, 'enctype'), + (None, 'end'), + (None, 'face'), + (None, 'for'), + (None, 'form'), + (None, 'frame'), + (None, 'galleryimg'), + (None, 'gutter'), + (None, 'headers'), + (None, 'height'), + (None, 'hidefocus'), + (None, 'hidden'), + (None, 'high'), + (None, 'href'), + (None, 'hreflang'), + (None, 'hspace'), + (None, 'icon'), + (None, 'id'), + (None, 'inputmode'), + (None, 'ismap'), + (None, 'keytype'), + (None, 'label'), + (None, 'leftspacing'), + (None, 'lang'), + (None, 'list'), + (None, 'longdesc'), + (None, 'loop'), + (None, 'loopcount'), + (None, 'loopend'), + (None, 'loopstart'), + (None, 'low'), + (None, 'lowsrc'), + (None, 'max'), + (None, 'maxlength'), + (None, 'media'), + (None, 'method'), + (None, 'min'), + (None, 'multiple'), + (None, 'name'), + (None, 'nohref'), + (None, 'noshade'), + (None, 'nowrap'), + (None, 'open'), + (None, 'optimum'), + (None, 'pattern'), + (None, 'ping'), + (None, 'point-size'), + (None, 'poster'), + (None, 'pqg'), + (None, 'preload'), + (None, 'prompt'), + (None, 'radiogroup'), + (None, 'readonly'), + (None, 'rel'), + (None, 'repeat-max'), + (None, 'repeat-min'), + (None, 'replace'), + (None, 'required'), + (None, 'rev'), + (None, 'rightspacing'), + (None, 'rows'), + (None, 'rowspan'), + (None, 'rules'), + (None, 'scope'), + (None, 'selected'), + (None, 'shape'), + (None, 'size'), + (None, 'span'), + (None, 'src'), + (None, 'start'), + (None, 'step'), + (None, 'style'), + (None, 'summary'), + (None, 'suppress'), + (None, 'tabindex'), + (None, 'target'), + (None, 'template'), + (None, 'title'), + (None, 'toppadding'), + (None, 'type'), + (None, 'unselectable'), + (None, 'usemap'), + (None, 'urn'), + (None, 'valign'), + (None, 'value'), + (None, 'variable'), + (None, 'volume'), + (None, 'vspace'), + (None, 'vrml'), + (None, 'width'), + (None, 'wrap'), + (namespaces['xml'], 'lang'), + # MathML attributes + (None, 'actiontype'), + (None, 'align'), + (None, 'columnalign'), + (None, 'columnalign'), + (None, 'columnalign'), + (None, 'columnlines'), + (None, 'columnspacing'), + (None, 'columnspan'), + (None, 'depth'), + (None, 'display'), + (None, 'displaystyle'), + (None, 'equalcolumns'), + (None, 'equalrows'), + (None, 'fence'), + (None, 'fontstyle'), + (None, 'fontweight'), + (None, 'frame'), + (None, 'height'), + (None, 'linethickness'), + (None, 'lspace'), + (None, 'mathbackground'), + (None, 'mathcolor'), + (None, 'mathvariant'), + (None, 'mathvariant'), + (None, 'maxsize'), + (None, 'minsize'), + (None, 'other'), + (None, 'rowalign'), + (None, 'rowalign'), + (None, 'rowalign'), + (None, 'rowlines'), + (None, 'rowspacing'), + (None, 'rowspan'), + (None, 'rspace'), + (None, 'scriptlevel'), + (None, 'selection'), + (None, 'separator'), + (None, 'stretchy'), + (None, 'width'), + (None, 'width'), + (namespaces['xlink'], 'href'), + (namespaces['xlink'], 'show'), + (namespaces['xlink'], 'type'), + # SVG attributes + (None, 'accent-height'), + (None, 'accumulate'), + (None, 'additive'), + (None, 'alphabetic'), + (None, 'arabic-form'), + (None, 'ascent'), + (None, 'attributeName'), + (None, 'attributeType'), + (None, 'baseProfile'), + (None, 'bbox'), + (None, 'begin'), + (None, 'by'), + (None, 'calcMode'), + (None, 'cap-height'), + (None, 'class'), + (None, 'clip-path'), + (None, 'color'), + (None, 'color-rendering'), + (None, 'content'), + (None, 'cx'), + (None, 'cy'), + (None, 'd'), + (None, 'dx'), + (None, 'dy'), + (None, 'descent'), + (None, 'display'), + (None, 'dur'), + (None, 'end'), + (None, 'fill'), + (None, 'fill-opacity'), + (None, 'fill-rule'), + (None, 'font-family'), + (None, 'font-size'), + (None, 'font-stretch'), + (None, 'font-style'), + (None, 'font-variant'), + (None, 'font-weight'), + (None, 'from'), + (None, 'fx'), + (None, 'fy'), + (None, 'g1'), + (None, 'g2'), + (None, 'glyph-name'), + (None, 'gradientUnits'), + (None, 'hanging'), + (None, 'height'), + (None, 'horiz-adv-x'), + (None, 'horiz-origin-x'), + (None, 'id'), + (None, 'ideographic'), + (None, 'k'), + (None, 'keyPoints'), + (None, 'keySplines'), + (None, 'keyTimes'), + (None, 'lang'), + (None, 'marker-end'), + (None, 'marker-mid'), + (None, 'marker-start'), + (None, 'markerHeight'), + (None, 'markerUnits'), + (None, 'markerWidth'), + (None, 'mathematical'), + (None, 'max'), + (None, 'min'), + (None, 'name'), + (None, 'offset'), + (None, 'opacity'), + (None, 'orient'), + (None, 'origin'), + (None, 'overline-position'), + (None, 'overline-thickness'), + (None, 'panose-1'), + (None, 'path'), + (None, 'pathLength'), + (None, 'points'), + (None, 'preserveAspectRatio'), + (None, 'r'), + (None, 'refX'), + (None, 'refY'), + (None, 'repeatCount'), + (None, 'repeatDur'), + (None, 'requiredExtensions'), + (None, 'requiredFeatures'), + (None, 'restart'), + (None, 'rotate'), + (None, 'rx'), + (None, 'ry'), + (None, 'slope'), + (None, 'stemh'), + (None, 'stemv'), + (None, 'stop-color'), + (None, 'stop-opacity'), + (None, 'strikethrough-position'), + (None, 'strikethrough-thickness'), + (None, 'stroke'), + (None, 'stroke-dasharray'), + (None, 'stroke-dashoffset'), + (None, 'stroke-linecap'), + (None, 'stroke-linejoin'), + (None, 'stroke-miterlimit'), + (None, 'stroke-opacity'), + (None, 'stroke-width'), + (None, 'systemLanguage'), + (None, 'target'), + (None, 'text-anchor'), + (None, 'to'), + (None, 'transform'), + (None, 'type'), + (None, 'u1'), + (None, 'u2'), + (None, 'underline-position'), + (None, 'underline-thickness'), + (None, 'unicode'), + (None, 'unicode-range'), + (None, 'units-per-em'), + (None, 'values'), + (None, 'version'), + (None, 'viewBox'), + (None, 'visibility'), + (None, 'width'), + (None, 'widths'), + (None, 'x'), + (None, 'x-height'), + (None, 'x1'), + (None, 'x2'), + (namespaces['xlink'], 'actuate'), + (namespaces['xlink'], 'arcrole'), + (namespaces['xlink'], 'href'), + (namespaces['xlink'], 'role'), + (namespaces['xlink'], 'show'), + (namespaces['xlink'], 'title'), + (namespaces['xlink'], 'type'), + (namespaces['xml'], 'base'), + (namespaces['xml'], 'lang'), + (namespaces['xml'], 'space'), + (None, 'y'), + (None, 'y1'), + (None, 'y2'), + (None, 'zoomAndPan'), +)) + +attr_val_is_uri = frozenset(( + (None, 'href'), + (None, 'src'), + (None, 'cite'), + (None, 'action'), + (None, 'longdesc'), + (None, 'poster'), + (None, 'background'), + (None, 'datasrc'), + (None, 'dynsrc'), + (None, 'lowsrc'), + (None, 'ping'), + (namespaces['xlink'], 'href'), + (namespaces['xml'], 'base'), +)) + +svg_attr_val_allows_ref = frozenset(( + (None, 'clip-path'), + (None, 'color-profile'), + (None, 'cursor'), + (None, 'fill'), + (None, 'filter'), + (None, 'marker'), + (None, 'marker-start'), + (None, 'marker-mid'), + (None, 'marker-end'), + (None, 'mask'), + (None, 'stroke'), +)) + +svg_allow_local_href = frozenset(( + (None, 'altGlyph'), + (None, 'animate'), + (None, 'animateColor'), + (None, 'animateMotion'), + (None, 'animateTransform'), + (None, 'cursor'), + (None, 'feImage'), + (None, 'filter'), + (None, 'linearGradient'), + (None, 'pattern'), + (None, 'radialGradient'), + (None, 'textpath'), + (None, 'tref'), + (None, 'set'), + (None, 'use') +)) + +allowed_css_properties = frozenset(( + 'azimuth', + 'background-color', + 'border-bottom-color', + 'border-collapse', + 'border-color', + 'border-left-color', + 'border-right-color', + 'border-top-color', + 'clear', + 'color', + 'cursor', + 'direction', + 'display', + 'elevation', + 'float', + 'font', + 'font-family', + 'font-size', + 'font-style', + 'font-variant', + 'font-weight', + 'height', + 'letter-spacing', + 'line-height', + 'overflow', + 'pause', + 'pause-after', + 'pause-before', + 'pitch', + 'pitch-range', + 'richness', + 'speak', + 'speak-header', + 'speak-numeral', + 'speak-punctuation', + 'speech-rate', + 'stress', + 'text-align', + 'text-decoration', + 'text-indent', + 'unicode-bidi', + 'vertical-align', + 'voice-family', + 'volume', + 'white-space', + 'width', +)) + +allowed_css_keywords = frozenset(( + 'auto', + 'aqua', + 'black', + 'block', + 'blue', + 'bold', + 'both', + 'bottom', + 'brown', + 'center', + 'collapse', + 'dashed', + 'dotted', + 'fuchsia', + 'gray', + 'green', + '!important', + 'italic', + 'left', + 'lime', + 'maroon', + 'medium', + 'none', + 'navy', + 'normal', + 'nowrap', + 'olive', + 'pointer', + 'purple', + 'red', + 'right', + 'solid', + 'silver', + 'teal', + 'top', + 'transparent', + 'underline', + 'white', + 'yellow', +)) + +allowed_svg_properties = frozenset(( + 'fill', + 'fill-opacity', + 'fill-rule', + 'stroke', + 'stroke-width', + 'stroke-linecap', + 'stroke-linejoin', + 'stroke-opacity', +)) + +allowed_protocols = frozenset(( + 'ed2k', + 'ftp', + 'http', + 'https', + 'irc', + 'mailto', + 'news', + 'gopher', + 'nntp', + 'telnet', + 'webcal', + 'xmpp', + 'callto', + 'feed', + 'urn', + 'aim', + 'rsync', + 'tag', + 'ssh', + 'sftp', + 'rtsp', + 'afs', + 'data', +)) + +allowed_content_types = frozenset(( + 'image/png', + 'image/jpeg', + 'image/gif', + 'image/webp', + 'image/bmp', + 'text/plain', +)) + + +data_content_type = re.compile(r''' + ^ + # Match a content type <application>/<type> + (?P<content_type>[-a-zA-Z0-9.]+/[-a-zA-Z0-9.]+) + # Match any character set and encoding + (?:(?:;charset=(?:[-a-zA-Z0-9]+)(?:;(?:base64))?) + |(?:;(?:base64))?(?:;charset=(?:[-a-zA-Z0-9]+))?) + # Assume the rest is data + ,.* + $ + ''', + re.VERBOSE) + + +class Filter(base.Filter): + """Sanitizes token stream of XHTML+MathML+SVG and of inline style attributes""" + def __init__(self, + source, + allowed_elements=allowed_elements, + allowed_attributes=allowed_attributes, + allowed_css_properties=allowed_css_properties, + allowed_css_keywords=allowed_css_keywords, + allowed_svg_properties=allowed_svg_properties, + allowed_protocols=allowed_protocols, + allowed_content_types=allowed_content_types, + attr_val_is_uri=attr_val_is_uri, + svg_attr_val_allows_ref=svg_attr_val_allows_ref, + svg_allow_local_href=svg_allow_local_href): + """Creates a Filter + + :arg allowed_elements: set of elements to allow--everything else will + be escaped + + :arg allowed_attributes: set of attributes to allow in + elements--everything else will be stripped + + :arg allowed_css_properties: set of CSS properties to allow--everything + else will be stripped + + :arg allowed_css_keywords: set of CSS keywords to allow--everything + else will be stripped + + :arg allowed_svg_properties: set of SVG properties to allow--everything + else will be removed + + :arg allowed_protocols: set of allowed protocols for URIs + + :arg allowed_content_types: set of allowed content types for ``data`` URIs. + + :arg attr_val_is_uri: set of attributes that have URI values--values + that have a scheme not listed in ``allowed_protocols`` are removed + + :arg svg_attr_val_allows_ref: set of SVG attributes that can have + references + + :arg svg_allow_local_href: set of SVG elements that can have local + hrefs--these are removed + + """ + super(Filter, self).__init__(source) + self.allowed_elements = allowed_elements + self.allowed_attributes = allowed_attributes + self.allowed_css_properties = allowed_css_properties + self.allowed_css_keywords = allowed_css_keywords + self.allowed_svg_properties = allowed_svg_properties + self.allowed_protocols = allowed_protocols + self.allowed_content_types = allowed_content_types + self.attr_val_is_uri = attr_val_is_uri + self.svg_attr_val_allows_ref = svg_attr_val_allows_ref + self.svg_allow_local_href = svg_allow_local_href + + def __iter__(self): + for token in base.Filter.__iter__(self): + token = self.sanitize_token(token) + if token: + yield token + + # Sanitize the +html+, escaping all elements not in ALLOWED_ELEMENTS, and + # stripping out all attributes not in ALLOWED_ATTRIBUTES. Style attributes + # are parsed, and a restricted set, specified by ALLOWED_CSS_PROPERTIES and + # ALLOWED_CSS_KEYWORDS, are allowed through. attributes in ATTR_VAL_IS_URI + # are scanned, and only URI schemes specified in ALLOWED_PROTOCOLS are + # allowed. + # + # sanitize_html('<script> do_nasty_stuff() </script>') + # => <script> do_nasty_stuff() </script> + # sanitize_html('<a href="javascript: sucker();">Click here for $100</a>') + # => <a>Click here for $100</a> + def sanitize_token(self, token): + + # accommodate filters which use token_type differently + token_type = token["type"] + if token_type in ("StartTag", "EndTag", "EmptyTag"): + name = token["name"] + namespace = token["namespace"] + if ((namespace, name) in self.allowed_elements or + (namespace is None and + (namespaces["html"], name) in self.allowed_elements)): + return self.allowed_token(token) + else: + return self.disallowed_token(token) + elif token_type == "Comment": + pass + else: + return token + + def allowed_token(self, token): + if "data" in token: + attrs = token["data"] + attr_names = set(attrs.keys()) + + # Remove forbidden attributes + for to_remove in (attr_names - self.allowed_attributes): + del token["data"][to_remove] + attr_names.remove(to_remove) + + # Remove attributes with disallowed URL values + for attr in (attr_names & self.attr_val_is_uri): + assert attr in attrs + # I don't have a clue where this regexp comes from or why it matches those + # characters, nor why we call unescape. I just know it's always been here. + # Should you be worried by this comment in a sanitizer? Yes. On the other hand, all + # this will do is remove *more* than it otherwise would. + val_unescaped = re.sub("[`\x00-\x20\x7f-\xa0\\s]+", '', + unescape(attrs[attr])).lower() + # remove replacement characters from unescaped characters + val_unescaped = val_unescaped.replace("\ufffd", "") + try: + uri = urlparse.urlparse(val_unescaped) + except ValueError: + uri = None + del attrs[attr] + if uri and uri.scheme: + if uri.scheme not in self.allowed_protocols: + del attrs[attr] + if uri.scheme == 'data': + m = data_content_type.match(uri.path) + if not m: + del attrs[attr] + elif m.group('content_type') not in self.allowed_content_types: + del attrs[attr] + + for attr in self.svg_attr_val_allows_ref: + if attr in attrs: + attrs[attr] = re.sub(r'url\s*\(\s*[^#\s][^)]+?\)', + ' ', + unescape(attrs[attr])) + if (token["name"] in self.svg_allow_local_href and + (namespaces['xlink'], 'href') in attrs and re.search(r'^\s*[^#\s].*', + attrs[(namespaces['xlink'], 'href')])): + del attrs[(namespaces['xlink'], 'href')] + if (None, 'style') in attrs: + attrs[(None, 'style')] = self.sanitize_css(attrs[(None, 'style')]) + token["data"] = attrs + return token + + def disallowed_token(self, token): + token_type = token["type"] + if token_type == "EndTag": + token["data"] = "</%s>" % token["name"] + elif token["data"]: + assert token_type in ("StartTag", "EmptyTag") + attrs = [] + for (ns, name), v in token["data"].items(): + attrs.append(' %s="%s"' % (name if ns is None else "%s:%s" % (prefixes[ns], name), escape(v))) + token["data"] = "<%s%s>" % (token["name"], ''.join(attrs)) + else: + token["data"] = "<%s>" % token["name"] + if token.get("selfClosing"): + token["data"] = token["data"][:-1] + "/>" + + token["type"] = "Characters" + + del token["name"] + return token + + def sanitize_css(self, style): + # disallow urls + style = re.compile(r'url\s*\(\s*[^\s)]+?\s*\)\s*').sub(' ', style) + + # gauntlet + if not re.match(r"""^([:,;#%.\sa-zA-Z0-9!]|\w-\w|'[\s\w]+'|"[\s\w]+"|\([\d,\s]+\))*$""", style): + return '' + if not re.match(r"^\s*([-\w]+\s*:[^:;]*(;\s*|$))*$", style): + return '' + + clean = [] + for prop, value in re.findall(r"([-\w]+)\s*:\s*([^:;]*)", style): + if not value: + continue + if prop.lower() in self.allowed_css_properties: + clean.append(prop + ': ' + value + ';') + elif prop.split('-')[0].lower() in ['background', 'border', 'margin', + 'padding']: + for keyword in value.split(): + if keyword not in self.allowed_css_keywords and \ + not re.match(r"^(#[0-9a-fA-F]+|rgb\(\d+%?,\d*%?,?\d*%?\)?|\d{0,2}\.?\d{0,2}(cm|em|ex|in|mm|pc|pt|px|%|,|\))?)$", keyword): # noqa + break + else: + clean.append(prop + ': ' + value + ';') + elif prop.lower() in self.allowed_svg_properties: + clean.append(prop + ': ' + value + ';') + + return ' '.join(clean) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/whitespace.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/whitespace.py new file mode 100644 index 0000000..0d12584 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/whitespace.py @@ -0,0 +1,38 @@ +from __future__ import absolute_import, division, unicode_literals + +import re + +from . import base +from ..constants import rcdataElements, spaceCharacters +spaceCharacters = "".join(spaceCharacters) + +SPACES_REGEX = re.compile("[%s]+" % spaceCharacters) + + +class Filter(base.Filter): + """Collapses whitespace except in pre, textarea, and script elements""" + spacePreserveElements = frozenset(["pre", "textarea"] + list(rcdataElements)) + + def __iter__(self): + preserve = 0 + for token in base.Filter.__iter__(self): + type = token["type"] + if type == "StartTag" \ + and (preserve or token["name"] in self.spacePreserveElements): + preserve += 1 + + elif type == "EndTag" and preserve: + preserve -= 1 + + elif not preserve and type == "SpaceCharacters" and token["data"]: + # Test on token["data"] above to not introduce spaces where there were not + token["data"] = " " + + elif not preserve and type == "Characters": + token["data"] = collapse_spaces(token["data"]) + + yield token + + +def collapse_spaces(text): + return SPACES_REGEX.sub(' ', text) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/html5parser.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/html5parser.py new file mode 100644 index 0000000..ae41a13 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/html5parser.py @@ -0,0 +1,2791 @@ +from __future__ import absolute_import, division, unicode_literals +from pip._vendor.six import with_metaclass, viewkeys + +import types +from collections import OrderedDict + +from . import _inputstream +from . import _tokenizer + +from . import treebuilders +from .treebuilders.base import Marker + +from . import _utils +from .constants import ( + spaceCharacters, asciiUpper2Lower, + specialElements, headingElements, cdataElements, rcdataElements, + tokenTypes, tagTokenTypes, + namespaces, + htmlIntegrationPointElements, mathmlTextIntegrationPointElements, + adjustForeignAttributes as adjustForeignAttributesMap, + adjustMathMLAttributes, adjustSVGAttributes, + E, + _ReparseException +) + + +def parse(doc, treebuilder="etree", namespaceHTMLElements=True, **kwargs): + """Parse an HTML document as a string or file-like object into a tree + + :arg doc: the document to parse as a string or file-like object + + :arg treebuilder: the treebuilder to use when parsing + + :arg namespaceHTMLElements: whether or not to namespace HTML elements + + :returns: parsed tree + + Example: + + >>> from html5lib.html5parser import parse + >>> parse('<html><body><p>This is a doc</p></body></html>') + <Element u'{http://www.w3.org/1999/xhtml}html' at 0x7feac4909db0> + + """ + tb = treebuilders.getTreeBuilder(treebuilder) + p = HTMLParser(tb, namespaceHTMLElements=namespaceHTMLElements) + return p.parse(doc, **kwargs) + + +def parseFragment(doc, container="div", treebuilder="etree", namespaceHTMLElements=True, **kwargs): + """Parse an HTML fragment as a string or file-like object into a tree + + :arg doc: the fragment to parse as a string or file-like object + + :arg container: the container context to parse the fragment in + + :arg treebuilder: the treebuilder to use when parsing + + :arg namespaceHTMLElements: whether or not to namespace HTML elements + + :returns: parsed tree + + Example: + + >>> from html5lib.html5libparser import parseFragment + >>> parseFragment('<b>this is a fragment</b>') + <Element u'DOCUMENT_FRAGMENT' at 0x7feac484b090> + + """ + tb = treebuilders.getTreeBuilder(treebuilder) + p = HTMLParser(tb, namespaceHTMLElements=namespaceHTMLElements) + return p.parseFragment(doc, container=container, **kwargs) + + +def method_decorator_metaclass(function): + class Decorated(type): + def __new__(meta, classname, bases, classDict): + for attributeName, attribute in classDict.items(): + if isinstance(attribute, types.FunctionType): + attribute = function(attribute) + + classDict[attributeName] = attribute + return type.__new__(meta, classname, bases, classDict) + return Decorated + + +class HTMLParser(object): + """HTML parser + + Generates a tree structure from a stream of (possibly malformed) HTML. + + """ + + def __init__(self, tree=None, strict=False, namespaceHTMLElements=True, debug=False): + """ + :arg tree: a treebuilder class controlling the type of tree that will be + returned. Built in treebuilders can be accessed through + html5lib.treebuilders.getTreeBuilder(treeType) + + :arg strict: raise an exception when a parse error is encountered + + :arg namespaceHTMLElements: whether or not to namespace HTML elements + + :arg debug: whether or not to enable debug mode which logs things + + Example: + + >>> from html5lib.html5parser import HTMLParser + >>> parser = HTMLParser() # generates parser with etree builder + >>> parser = HTMLParser('lxml', strict=True) # generates parser with lxml builder which is strict + + """ + + # Raise an exception on the first error encountered + self.strict = strict + + if tree is None: + tree = treebuilders.getTreeBuilder("etree") + self.tree = tree(namespaceHTMLElements) + self.errors = [] + + self.phases = dict([(name, cls(self, self.tree)) for name, cls in + getPhases(debug).items()]) + + def _parse(self, stream, innerHTML=False, container="div", scripting=False, **kwargs): + + self.innerHTMLMode = innerHTML + self.container = container + self.scripting = scripting + self.tokenizer = _tokenizer.HTMLTokenizer(stream, parser=self, **kwargs) + self.reset() + + try: + self.mainLoop() + except _ReparseException: + self.reset() + self.mainLoop() + + def reset(self): + self.tree.reset() + self.firstStartTag = False + self.errors = [] + self.log = [] # only used with debug mode + # "quirks" / "limited quirks" / "no quirks" + self.compatMode = "no quirks" + + if self.innerHTMLMode: + self.innerHTML = self.container.lower() + + if self.innerHTML in cdataElements: + self.tokenizer.state = self.tokenizer.rcdataState + elif self.innerHTML in rcdataElements: + self.tokenizer.state = self.tokenizer.rawtextState + elif self.innerHTML == 'plaintext': + self.tokenizer.state = self.tokenizer.plaintextState + else: + # state already is data state + # self.tokenizer.state = self.tokenizer.dataState + pass + self.phase = self.phases["beforeHtml"] + self.phase.insertHtmlElement() + self.resetInsertionMode() + else: + self.innerHTML = False # pylint:disable=redefined-variable-type + self.phase = self.phases["initial"] + + self.lastPhase = None + + self.beforeRCDataPhase = None + + self.framesetOK = True + + @property + def documentEncoding(self): + """Name of the character encoding that was used to decode the input stream, or + :obj:`None` if that is not determined yet + + """ + if not hasattr(self, 'tokenizer'): + return None + return self.tokenizer.stream.charEncoding[0].name + + def isHTMLIntegrationPoint(self, element): + if (element.name == "annotation-xml" and + element.namespace == namespaces["mathml"]): + return ("encoding" in element.attributes and + element.attributes["encoding"].translate( + asciiUpper2Lower) in + ("text/html", "application/xhtml+xml")) + else: + return (element.namespace, element.name) in htmlIntegrationPointElements + + def isMathMLTextIntegrationPoint(self, element): + return (element.namespace, element.name) in mathmlTextIntegrationPointElements + + def mainLoop(self): + CharactersToken = tokenTypes["Characters"] + SpaceCharactersToken = tokenTypes["SpaceCharacters"] + StartTagToken = tokenTypes["StartTag"] + EndTagToken = tokenTypes["EndTag"] + CommentToken = tokenTypes["Comment"] + DoctypeToken = tokenTypes["Doctype"] + ParseErrorToken = tokenTypes["ParseError"] + + for token in self.normalizedTokens(): + prev_token = None + new_token = token + while new_token is not None: + prev_token = new_token + currentNode = self.tree.openElements[-1] if self.tree.openElements else None + currentNodeNamespace = currentNode.namespace if currentNode else None + currentNodeName = currentNode.name if currentNode else None + + type = new_token["type"] + + if type == ParseErrorToken: + self.parseError(new_token["data"], new_token.get("datavars", {})) + new_token = None + else: + if (len(self.tree.openElements) == 0 or + currentNodeNamespace == self.tree.defaultNamespace or + (self.isMathMLTextIntegrationPoint(currentNode) and + ((type == StartTagToken and + token["name"] not in frozenset(["mglyph", "malignmark"])) or + type in (CharactersToken, SpaceCharactersToken))) or + (currentNodeNamespace == namespaces["mathml"] and + currentNodeName == "annotation-xml" and + type == StartTagToken and + token["name"] == "svg") or + (self.isHTMLIntegrationPoint(currentNode) and + type in (StartTagToken, CharactersToken, SpaceCharactersToken))): + phase = self.phase + else: + phase = self.phases["inForeignContent"] + + if type == CharactersToken: + new_token = phase.processCharacters(new_token) + elif type == SpaceCharactersToken: + new_token = phase.processSpaceCharacters(new_token) + elif type == StartTagToken: + new_token = phase.processStartTag(new_token) + elif type == EndTagToken: + new_token = phase.processEndTag(new_token) + elif type == CommentToken: + new_token = phase.processComment(new_token) + elif type == DoctypeToken: + new_token = phase.processDoctype(new_token) + + if (type == StartTagToken and prev_token["selfClosing"] and + not prev_token["selfClosingAcknowledged"]): + self.parseError("non-void-element-with-trailing-solidus", + {"name": prev_token["name"]}) + + # When the loop finishes it's EOF + reprocess = True + phases = [] + while reprocess: + phases.append(self.phase) + reprocess = self.phase.processEOF() + if reprocess: + assert self.phase not in phases + + def normalizedTokens(self): + for token in self.tokenizer: + yield self.normalizeToken(token) + + def parse(self, stream, *args, **kwargs): + """Parse a HTML document into a well-formed tree + + :arg stream: a file-like object or string containing the HTML to be parsed + + The optional encoding parameter must be a string that indicates + the encoding. If specified, that encoding will be used, + regardless of any BOM or later declaration (such as in a meta + element). + + :arg scripting: treat noscript elements as if JavaScript was turned on + + :returns: parsed tree + + Example: + + >>> from html5lib.html5parser import HTMLParser + >>> parser = HTMLParser() + >>> parser.parse('<html><body><p>This is a doc</p></body></html>') + <Element u'{http://www.w3.org/1999/xhtml}html' at 0x7feac4909db0> + + """ + self._parse(stream, False, None, *args, **kwargs) + return self.tree.getDocument() + + def parseFragment(self, stream, *args, **kwargs): + """Parse a HTML fragment into a well-formed tree fragment + + :arg container: name of the element we're setting the innerHTML + property if set to None, default to 'div' + + :arg stream: a file-like object or string containing the HTML to be parsed + + The optional encoding parameter must be a string that indicates + the encoding. If specified, that encoding will be used, + regardless of any BOM or later declaration (such as in a meta + element) + + :arg scripting: treat noscript elements as if JavaScript was turned on + + :returns: parsed tree + + Example: + + >>> from html5lib.html5libparser import HTMLParser + >>> parser = HTMLParser() + >>> parser.parseFragment('<b>this is a fragment</b>') + <Element u'DOCUMENT_FRAGMENT' at 0x7feac484b090> + + """ + self._parse(stream, True, *args, **kwargs) + return self.tree.getFragment() + + def parseError(self, errorcode="XXX-undefined-error", datavars=None): + # XXX The idea is to make errorcode mandatory. + if datavars is None: + datavars = {} + self.errors.append((self.tokenizer.stream.position(), errorcode, datavars)) + if self.strict: + raise ParseError(E[errorcode] % datavars) + + def normalizeToken(self, token): + # HTML5 specific normalizations to the token stream + if token["type"] == tokenTypes["StartTag"]: + raw = token["data"] + token["data"] = OrderedDict(raw) + if len(raw) > len(token["data"]): + # we had some duplicated attribute, fix so first wins + token["data"].update(raw[::-1]) + + return token + + def adjustMathMLAttributes(self, token): + adjust_attributes(token, adjustMathMLAttributes) + + def adjustSVGAttributes(self, token): + adjust_attributes(token, adjustSVGAttributes) + + def adjustForeignAttributes(self, token): + adjust_attributes(token, adjustForeignAttributesMap) + + def reparseTokenNormal(self, token): + # pylint:disable=unused-argument + self.parser.phase() + + def resetInsertionMode(self): + # The name of this method is mostly historical. (It's also used in the + # specification.) + last = False + newModes = { + "select": "inSelect", + "td": "inCell", + "th": "inCell", + "tr": "inRow", + "tbody": "inTableBody", + "thead": "inTableBody", + "tfoot": "inTableBody", + "caption": "inCaption", + "colgroup": "inColumnGroup", + "table": "inTable", + "head": "inBody", + "body": "inBody", + "frameset": "inFrameset", + "html": "beforeHead" + } + for node in self.tree.openElements[::-1]: + nodeName = node.name + new_phase = None + if node == self.tree.openElements[0]: + assert self.innerHTML + last = True + nodeName = self.innerHTML + # Check for conditions that should only happen in the innerHTML + # case + if nodeName in ("select", "colgroup", "head", "html"): + assert self.innerHTML + + if not last and node.namespace != self.tree.defaultNamespace: + continue + + if nodeName in newModes: + new_phase = self.phases[newModes[nodeName]] + break + elif last: + new_phase = self.phases["inBody"] + break + + self.phase = new_phase + + def parseRCDataRawtext(self, token, contentType): + # Generic RCDATA/RAWTEXT Parsing algorithm + assert contentType in ("RAWTEXT", "RCDATA") + + self.tree.insertElement(token) + + if contentType == "RAWTEXT": + self.tokenizer.state = self.tokenizer.rawtextState + else: + self.tokenizer.state = self.tokenizer.rcdataState + + self.originalPhase = self.phase + + self.phase = self.phases["text"] + + +@_utils.memoize +def getPhases(debug): + def log(function): + """Logger that records which phase processes each token""" + type_names = dict((value, key) for key, value in + tokenTypes.items()) + + def wrapped(self, *args, **kwargs): + if function.__name__.startswith("process") and len(args) > 0: + token = args[0] + try: + info = {"type": type_names[token['type']]} + except: + raise + if token['type'] in tagTokenTypes: + info["name"] = token['name'] + + self.parser.log.append((self.parser.tokenizer.state.__name__, + self.parser.phase.__class__.__name__, + self.__class__.__name__, + function.__name__, + info)) + return function(self, *args, **kwargs) + else: + return function(self, *args, **kwargs) + return wrapped + + def getMetaclass(use_metaclass, metaclass_func): + if use_metaclass: + return method_decorator_metaclass(metaclass_func) + else: + return type + + # pylint:disable=unused-argument + class Phase(with_metaclass(getMetaclass(debug, log))): + """Base class for helper object that implements each phase of processing + """ + + def __init__(self, parser, tree): + self.parser = parser + self.tree = tree + + def processEOF(self): + raise NotImplementedError + + def processComment(self, token): + # For most phases the following is correct. Where it's not it will be + # overridden. + self.tree.insertComment(token, self.tree.openElements[-1]) + + def processDoctype(self, token): + self.parser.parseError("unexpected-doctype") + + def processCharacters(self, token): + self.tree.insertText(token["data"]) + + def processSpaceCharacters(self, token): + self.tree.insertText(token["data"]) + + def processStartTag(self, token): + return self.startTagHandler[token["name"]](token) + + def startTagHtml(self, token): + if not self.parser.firstStartTag and token["name"] == "html": + self.parser.parseError("non-html-root") + # XXX Need a check here to see if the first start tag token emitted is + # this token... If it's not, invoke self.parser.parseError(). + for attr, value in token["data"].items(): + if attr not in self.tree.openElements[0].attributes: + self.tree.openElements[0].attributes[attr] = value + self.parser.firstStartTag = False + + def processEndTag(self, token): + return self.endTagHandler[token["name"]](token) + + class InitialPhase(Phase): + def processSpaceCharacters(self, token): + pass + + def processComment(self, token): + self.tree.insertComment(token, self.tree.document) + + def processDoctype(self, token): + name = token["name"] + publicId = token["publicId"] + systemId = token["systemId"] + correct = token["correct"] + + if (name != "html" or publicId is not None or + systemId is not None and systemId != "about:legacy-compat"): + self.parser.parseError("unknown-doctype") + + if publicId is None: + publicId = "" + + self.tree.insertDoctype(token) + + if publicId != "": + publicId = publicId.translate(asciiUpper2Lower) + + if (not correct or token["name"] != "html" or + publicId.startswith( + ("+//silmaril//dtd html pro v0r11 19970101//", + "-//advasoft ltd//dtd html 3.0 aswedit + extensions//", + "-//as//dtd html 3.0 aswedit + extensions//", + "-//ietf//dtd html 2.0 level 1//", + "-//ietf//dtd html 2.0 level 2//", + "-//ietf//dtd html 2.0 strict level 1//", + "-//ietf//dtd html 2.0 strict level 2//", + "-//ietf//dtd html 2.0 strict//", + "-//ietf//dtd html 2.0//", + "-//ietf//dtd html 2.1e//", + "-//ietf//dtd html 3.0//", + "-//ietf//dtd html 3.2 final//", + "-//ietf//dtd html 3.2//", + "-//ietf//dtd html 3//", + "-//ietf//dtd html level 0//", + "-//ietf//dtd html level 1//", + "-//ietf//dtd html level 2//", + "-//ietf//dtd html level 3//", + "-//ietf//dtd html strict level 0//", + "-//ietf//dtd html strict level 1//", + "-//ietf//dtd html strict level 2//", + "-//ietf//dtd html strict level 3//", + "-//ietf//dtd html strict//", + "-//ietf//dtd html//", + "-//metrius//dtd metrius presentational//", + "-//microsoft//dtd internet explorer 2.0 html strict//", + "-//microsoft//dtd internet explorer 2.0 html//", + "-//microsoft//dtd internet explorer 2.0 tables//", + "-//microsoft//dtd internet explorer 3.0 html strict//", + "-//microsoft//dtd internet explorer 3.0 html//", + "-//microsoft//dtd internet explorer 3.0 tables//", + "-//netscape comm. corp.//dtd html//", + "-//netscape comm. corp.//dtd strict html//", + "-//o'reilly and associates//dtd html 2.0//", + "-//o'reilly and associates//dtd html extended 1.0//", + "-//o'reilly and associates//dtd html extended relaxed 1.0//", + "-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//", + "-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//", + "-//spyglass//dtd html 2.0 extended//", + "-//sq//dtd html 2.0 hotmetal + extensions//", + "-//sun microsystems corp.//dtd hotjava html//", + "-//sun microsystems corp.//dtd hotjava strict html//", + "-//w3c//dtd html 3 1995-03-24//", + "-//w3c//dtd html 3.2 draft//", + "-//w3c//dtd html 3.2 final//", + "-//w3c//dtd html 3.2//", + "-//w3c//dtd html 3.2s draft//", + "-//w3c//dtd html 4.0 frameset//", + "-//w3c//dtd html 4.0 transitional//", + "-//w3c//dtd html experimental 19960712//", + "-//w3c//dtd html experimental 970421//", + "-//w3c//dtd w3 html//", + "-//w3o//dtd w3 html 3.0//", + "-//webtechs//dtd mozilla html 2.0//", + "-//webtechs//dtd mozilla html//")) or + publicId in ("-//w3o//dtd w3 html strict 3.0//en//", + "-/w3c/dtd html 4.0 transitional/en", + "html") or + publicId.startswith( + ("-//w3c//dtd html 4.01 frameset//", + "-//w3c//dtd html 4.01 transitional//")) and + systemId is None or + systemId and systemId.lower() == "http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd"): + self.parser.compatMode = "quirks" + elif (publicId.startswith( + ("-//w3c//dtd xhtml 1.0 frameset//", + "-//w3c//dtd xhtml 1.0 transitional//")) or + publicId.startswith( + ("-//w3c//dtd html 4.01 frameset//", + "-//w3c//dtd html 4.01 transitional//")) and + systemId is not None): + self.parser.compatMode = "limited quirks" + + self.parser.phase = self.parser.phases["beforeHtml"] + + def anythingElse(self): + self.parser.compatMode = "quirks" + self.parser.phase = self.parser.phases["beforeHtml"] + + def processCharacters(self, token): + self.parser.parseError("expected-doctype-but-got-chars") + self.anythingElse() + return token + + def processStartTag(self, token): + self.parser.parseError("expected-doctype-but-got-start-tag", + {"name": token["name"]}) + self.anythingElse() + return token + + def processEndTag(self, token): + self.parser.parseError("expected-doctype-but-got-end-tag", + {"name": token["name"]}) + self.anythingElse() + return token + + def processEOF(self): + self.parser.parseError("expected-doctype-but-got-eof") + self.anythingElse() + return True + + class BeforeHtmlPhase(Phase): + # helper methods + def insertHtmlElement(self): + self.tree.insertRoot(impliedTagToken("html", "StartTag")) + self.parser.phase = self.parser.phases["beforeHead"] + + # other + def processEOF(self): + self.insertHtmlElement() + return True + + def processComment(self, token): + self.tree.insertComment(token, self.tree.document) + + def processSpaceCharacters(self, token): + pass + + def processCharacters(self, token): + self.insertHtmlElement() + return token + + def processStartTag(self, token): + if token["name"] == "html": + self.parser.firstStartTag = True + self.insertHtmlElement() + return token + + def processEndTag(self, token): + if token["name"] not in ("head", "body", "html", "br"): + self.parser.parseError("unexpected-end-tag-before-html", + {"name": token["name"]}) + else: + self.insertHtmlElement() + return token + + class BeforeHeadPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("head", self.startTagHead) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + (("head", "body", "html", "br"), self.endTagImplyHead) + ]) + self.endTagHandler.default = self.endTagOther + + def processEOF(self): + self.startTagHead(impliedTagToken("head", "StartTag")) + return True + + def processSpaceCharacters(self, token): + pass + + def processCharacters(self, token): + self.startTagHead(impliedTagToken("head", "StartTag")) + return token + + def startTagHtml(self, token): + return self.parser.phases["inBody"].processStartTag(token) + + def startTagHead(self, token): + self.tree.insertElement(token) + self.tree.headPointer = self.tree.openElements[-1] + self.parser.phase = self.parser.phases["inHead"] + + def startTagOther(self, token): + self.startTagHead(impliedTagToken("head", "StartTag")) + return token + + def endTagImplyHead(self, token): + self.startTagHead(impliedTagToken("head", "StartTag")) + return token + + def endTagOther(self, token): + self.parser.parseError("end-tag-after-implied-root", + {"name": token["name"]}) + + class InHeadPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("title", self.startTagTitle), + (("noframes", "style"), self.startTagNoFramesStyle), + ("noscript", self.startTagNoscript), + ("script", self.startTagScript), + (("base", "basefont", "bgsound", "command", "link"), + self.startTagBaseLinkCommand), + ("meta", self.startTagMeta), + ("head", self.startTagHead) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + ("head", self.endTagHead), + (("br", "html", "body"), self.endTagHtmlBodyBr) + ]) + self.endTagHandler.default = self.endTagOther + + # the real thing + def processEOF(self): + self.anythingElse() + return True + + def processCharacters(self, token): + self.anythingElse() + return token + + def startTagHtml(self, token): + return self.parser.phases["inBody"].processStartTag(token) + + def startTagHead(self, token): + self.parser.parseError("two-heads-are-not-better-than-one") + + def startTagBaseLinkCommand(self, token): + self.tree.insertElement(token) + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + + def startTagMeta(self, token): + self.tree.insertElement(token) + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + + attributes = token["data"] + if self.parser.tokenizer.stream.charEncoding[1] == "tentative": + if "charset" in attributes: + self.parser.tokenizer.stream.changeEncoding(attributes["charset"]) + elif ("content" in attributes and + "http-equiv" in attributes and + attributes["http-equiv"].lower() == "content-type"): + # Encoding it as UTF-8 here is a hack, as really we should pass + # the abstract Unicode string, and just use the + # ContentAttrParser on that, but using UTF-8 allows all chars + # to be encoded and as a ASCII-superset works. + data = _inputstream.EncodingBytes(attributes["content"].encode("utf-8")) + parser = _inputstream.ContentAttrParser(data) + codec = parser.parse() + self.parser.tokenizer.stream.changeEncoding(codec) + + def startTagTitle(self, token): + self.parser.parseRCDataRawtext(token, "RCDATA") + + def startTagNoFramesStyle(self, token): + # Need to decide whether to implement the scripting-disabled case + self.parser.parseRCDataRawtext(token, "RAWTEXT") + + def startTagNoscript(self, token): + if self.parser.scripting: + self.parser.parseRCDataRawtext(token, "RAWTEXT") + else: + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inHeadNoscript"] + + def startTagScript(self, token): + self.tree.insertElement(token) + self.parser.tokenizer.state = self.parser.tokenizer.scriptDataState + self.parser.originalPhase = self.parser.phase + self.parser.phase = self.parser.phases["text"] + + def startTagOther(self, token): + self.anythingElse() + return token + + def endTagHead(self, token): + node = self.parser.tree.openElements.pop() + assert node.name == "head", "Expected head got %s" % node.name + self.parser.phase = self.parser.phases["afterHead"] + + def endTagHtmlBodyBr(self, token): + self.anythingElse() + return token + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + + def anythingElse(self): + self.endTagHead(impliedTagToken("head")) + + class InHeadNoscriptPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + (("basefont", "bgsound", "link", "meta", "noframes", "style"), self.startTagBaseLinkCommand), + (("head", "noscript"), self.startTagHeadNoscript), + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + ("noscript", self.endTagNoscript), + ("br", self.endTagBr), + ]) + self.endTagHandler.default = self.endTagOther + + def processEOF(self): + self.parser.parseError("eof-in-head-noscript") + self.anythingElse() + return True + + def processComment(self, token): + return self.parser.phases["inHead"].processComment(token) + + def processCharacters(self, token): + self.parser.parseError("char-in-head-noscript") + self.anythingElse() + return token + + def processSpaceCharacters(self, token): + return self.parser.phases["inHead"].processSpaceCharacters(token) + + def startTagHtml(self, token): + return self.parser.phases["inBody"].processStartTag(token) + + def startTagBaseLinkCommand(self, token): + return self.parser.phases["inHead"].processStartTag(token) + + def startTagHeadNoscript(self, token): + self.parser.parseError("unexpected-start-tag", {"name": token["name"]}) + + def startTagOther(self, token): + self.parser.parseError("unexpected-inhead-noscript-tag", {"name": token["name"]}) + self.anythingElse() + return token + + def endTagNoscript(self, token): + node = self.parser.tree.openElements.pop() + assert node.name == "noscript", "Expected noscript got %s" % node.name + self.parser.phase = self.parser.phases["inHead"] + + def endTagBr(self, token): + self.parser.parseError("unexpected-inhead-noscript-tag", {"name": token["name"]}) + self.anythingElse() + return token + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + + def anythingElse(self): + # Caller must raise parse error first! + self.endTagNoscript(impliedTagToken("noscript")) + + class AfterHeadPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("body", self.startTagBody), + ("frameset", self.startTagFrameset), + (("base", "basefont", "bgsound", "link", "meta", "noframes", "script", + "style", "title"), + self.startTagFromHead), + ("head", self.startTagHead) + ]) + self.startTagHandler.default = self.startTagOther + self.endTagHandler = _utils.MethodDispatcher([(("body", "html", "br"), + self.endTagHtmlBodyBr)]) + self.endTagHandler.default = self.endTagOther + + def processEOF(self): + self.anythingElse() + return True + + def processCharacters(self, token): + self.anythingElse() + return token + + def startTagHtml(self, token): + return self.parser.phases["inBody"].processStartTag(token) + + def startTagBody(self, token): + self.parser.framesetOK = False + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inBody"] + + def startTagFrameset(self, token): + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inFrameset"] + + def startTagFromHead(self, token): + self.parser.parseError("unexpected-start-tag-out-of-my-head", + {"name": token["name"]}) + self.tree.openElements.append(self.tree.headPointer) + self.parser.phases["inHead"].processStartTag(token) + for node in self.tree.openElements[::-1]: + if node.name == "head": + self.tree.openElements.remove(node) + break + + def startTagHead(self, token): + self.parser.parseError("unexpected-start-tag", {"name": token["name"]}) + + def startTagOther(self, token): + self.anythingElse() + return token + + def endTagHtmlBodyBr(self, token): + self.anythingElse() + return token + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + + def anythingElse(self): + self.tree.insertElement(impliedTagToken("body", "StartTag")) + self.parser.phase = self.parser.phases["inBody"] + self.parser.framesetOK = True + + class InBodyPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#parsing-main-inbody + # the really-really-really-very crazy mode + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + # Set this to the default handler + self.processSpaceCharacters = self.processSpaceCharactersNonPre + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + (("base", "basefont", "bgsound", "command", "link", "meta", + "script", "style", "title"), + self.startTagProcessInHead), + ("body", self.startTagBody), + ("frameset", self.startTagFrameset), + (("address", "article", "aside", "blockquote", "center", "details", + "dir", "div", "dl", "fieldset", "figcaption", "figure", + "footer", "header", "hgroup", "main", "menu", "nav", "ol", "p", + "section", "summary", "ul"), + self.startTagCloseP), + (headingElements, self.startTagHeading), + (("pre", "listing"), self.startTagPreListing), + ("form", self.startTagForm), + (("li", "dd", "dt"), self.startTagListItem), + ("plaintext", self.startTagPlaintext), + ("a", self.startTagA), + (("b", "big", "code", "em", "font", "i", "s", "small", "strike", + "strong", "tt", "u"), self.startTagFormatting), + ("nobr", self.startTagNobr), + ("button", self.startTagButton), + (("applet", "marquee", "object"), self.startTagAppletMarqueeObject), + ("xmp", self.startTagXmp), + ("table", self.startTagTable), + (("area", "br", "embed", "img", "keygen", "wbr"), + self.startTagVoidFormatting), + (("param", "source", "track"), self.startTagParamSource), + ("input", self.startTagInput), + ("hr", self.startTagHr), + ("image", self.startTagImage), + ("isindex", self.startTagIsIndex), + ("textarea", self.startTagTextarea), + ("iframe", self.startTagIFrame), + ("noscript", self.startTagNoscript), + (("noembed", "noframes"), self.startTagRawtext), + ("select", self.startTagSelect), + (("rp", "rt"), self.startTagRpRt), + (("option", "optgroup"), self.startTagOpt), + (("math"), self.startTagMath), + (("svg"), self.startTagSvg), + (("caption", "col", "colgroup", "frame", "head", + "tbody", "td", "tfoot", "th", "thead", + "tr"), self.startTagMisplaced) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + ("body", self.endTagBody), + ("html", self.endTagHtml), + (("address", "article", "aside", "blockquote", "button", "center", + "details", "dialog", "dir", "div", "dl", "fieldset", "figcaption", "figure", + "footer", "header", "hgroup", "listing", "main", "menu", "nav", "ol", "pre", + "section", "summary", "ul"), self.endTagBlock), + ("form", self.endTagForm), + ("p", self.endTagP), + (("dd", "dt", "li"), self.endTagListItem), + (headingElements, self.endTagHeading), + (("a", "b", "big", "code", "em", "font", "i", "nobr", "s", "small", + "strike", "strong", "tt", "u"), self.endTagFormatting), + (("applet", "marquee", "object"), self.endTagAppletMarqueeObject), + ("br", self.endTagBr), + ]) + self.endTagHandler.default = self.endTagOther + + def isMatchingFormattingElement(self, node1, node2): + return (node1.name == node2.name and + node1.namespace == node2.namespace and + node1.attributes == node2.attributes) + + # helper + def addFormattingElement(self, token): + self.tree.insertElement(token) + element = self.tree.openElements[-1] + + matchingElements = [] + for node in self.tree.activeFormattingElements[::-1]: + if node is Marker: + break + elif self.isMatchingFormattingElement(node, element): + matchingElements.append(node) + + assert len(matchingElements) <= 3 + if len(matchingElements) == 3: + self.tree.activeFormattingElements.remove(matchingElements[-1]) + self.tree.activeFormattingElements.append(element) + + # the real deal + def processEOF(self): + allowed_elements = frozenset(("dd", "dt", "li", "p", "tbody", "td", + "tfoot", "th", "thead", "tr", "body", + "html")) + for node in self.tree.openElements[::-1]: + if node.name not in allowed_elements: + self.parser.parseError("expected-closing-tag-but-got-eof") + break + # Stop parsing + + def processSpaceCharactersDropNewline(self, token): + # Sometimes (start of <pre>, <listing>, and <textarea> blocks) we + # want to drop leading newlines + data = token["data"] + self.processSpaceCharacters = self.processSpaceCharactersNonPre + if (data.startswith("\n") and + self.tree.openElements[-1].name in ("pre", "listing", "textarea") and + not self.tree.openElements[-1].hasContent()): + data = data[1:] + if data: + self.tree.reconstructActiveFormattingElements() + self.tree.insertText(data) + + def processCharacters(self, token): + if token["data"] == "\u0000": + # The tokenizer should always emit null on its own + return + self.tree.reconstructActiveFormattingElements() + self.tree.insertText(token["data"]) + # This must be bad for performance + if (self.parser.framesetOK and + any([char not in spaceCharacters + for char in token["data"]])): + self.parser.framesetOK = False + + def processSpaceCharactersNonPre(self, token): + self.tree.reconstructActiveFormattingElements() + self.tree.insertText(token["data"]) + + def startTagProcessInHead(self, token): + return self.parser.phases["inHead"].processStartTag(token) + + def startTagBody(self, token): + self.parser.parseError("unexpected-start-tag", {"name": "body"}) + if (len(self.tree.openElements) == 1 or + self.tree.openElements[1].name != "body"): + assert self.parser.innerHTML + else: + self.parser.framesetOK = False + for attr, value in token["data"].items(): + if attr not in self.tree.openElements[1].attributes: + self.tree.openElements[1].attributes[attr] = value + + def startTagFrameset(self, token): + self.parser.parseError("unexpected-start-tag", {"name": "frameset"}) + if (len(self.tree.openElements) == 1 or self.tree.openElements[1].name != "body"): + assert self.parser.innerHTML + elif not self.parser.framesetOK: + pass + else: + if self.tree.openElements[1].parent: + self.tree.openElements[1].parent.removeChild(self.tree.openElements[1]) + while self.tree.openElements[-1].name != "html": + self.tree.openElements.pop() + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inFrameset"] + + def startTagCloseP(self, token): + if self.tree.elementInScope("p", variant="button"): + self.endTagP(impliedTagToken("p")) + self.tree.insertElement(token) + + def startTagPreListing(self, token): + if self.tree.elementInScope("p", variant="button"): + self.endTagP(impliedTagToken("p")) + self.tree.insertElement(token) + self.parser.framesetOK = False + self.processSpaceCharacters = self.processSpaceCharactersDropNewline + + def startTagForm(self, token): + if self.tree.formPointer: + self.parser.parseError("unexpected-start-tag", {"name": "form"}) + else: + if self.tree.elementInScope("p", variant="button"): + self.endTagP(impliedTagToken("p")) + self.tree.insertElement(token) + self.tree.formPointer = self.tree.openElements[-1] + + def startTagListItem(self, token): + self.parser.framesetOK = False + + stopNamesMap = {"li": ["li"], + "dt": ["dt", "dd"], + "dd": ["dt", "dd"]} + stopNames = stopNamesMap[token["name"]] + for node in reversed(self.tree.openElements): + if node.name in stopNames: + self.parser.phase.processEndTag( + impliedTagToken(node.name, "EndTag")) + break + if (node.nameTuple in specialElements and + node.name not in ("address", "div", "p")): + break + + if self.tree.elementInScope("p", variant="button"): + self.parser.phase.processEndTag( + impliedTagToken("p", "EndTag")) + + self.tree.insertElement(token) + + def startTagPlaintext(self, token): + if self.tree.elementInScope("p", variant="button"): + self.endTagP(impliedTagToken("p")) + self.tree.insertElement(token) + self.parser.tokenizer.state = self.parser.tokenizer.plaintextState + + def startTagHeading(self, token): + if self.tree.elementInScope("p", variant="button"): + self.endTagP(impliedTagToken("p")) + if self.tree.openElements[-1].name in headingElements: + self.parser.parseError("unexpected-start-tag", {"name": token["name"]}) + self.tree.openElements.pop() + self.tree.insertElement(token) + + def startTagA(self, token): + afeAElement = self.tree.elementInActiveFormattingElements("a") + if afeAElement: + self.parser.parseError("unexpected-start-tag-implies-end-tag", + {"startName": "a", "endName": "a"}) + self.endTagFormatting(impliedTagToken("a")) + if afeAElement in self.tree.openElements: + self.tree.openElements.remove(afeAElement) + if afeAElement in self.tree.activeFormattingElements: + self.tree.activeFormattingElements.remove(afeAElement) + self.tree.reconstructActiveFormattingElements() + self.addFormattingElement(token) + + def startTagFormatting(self, token): + self.tree.reconstructActiveFormattingElements() + self.addFormattingElement(token) + + def startTagNobr(self, token): + self.tree.reconstructActiveFormattingElements() + if self.tree.elementInScope("nobr"): + self.parser.parseError("unexpected-start-tag-implies-end-tag", + {"startName": "nobr", "endName": "nobr"}) + self.processEndTag(impliedTagToken("nobr")) + # XXX Need tests that trigger the following + self.tree.reconstructActiveFormattingElements() + self.addFormattingElement(token) + + def startTagButton(self, token): + if self.tree.elementInScope("button"): + self.parser.parseError("unexpected-start-tag-implies-end-tag", + {"startName": "button", "endName": "button"}) + self.processEndTag(impliedTagToken("button")) + return token + else: + self.tree.reconstructActiveFormattingElements() + self.tree.insertElement(token) + self.parser.framesetOK = False + + def startTagAppletMarqueeObject(self, token): + self.tree.reconstructActiveFormattingElements() + self.tree.insertElement(token) + self.tree.activeFormattingElements.append(Marker) + self.parser.framesetOK = False + + def startTagXmp(self, token): + if self.tree.elementInScope("p", variant="button"): + self.endTagP(impliedTagToken("p")) + self.tree.reconstructActiveFormattingElements() + self.parser.framesetOK = False + self.parser.parseRCDataRawtext(token, "RAWTEXT") + + def startTagTable(self, token): + if self.parser.compatMode != "quirks": + if self.tree.elementInScope("p", variant="button"): + self.processEndTag(impliedTagToken("p")) + self.tree.insertElement(token) + self.parser.framesetOK = False + self.parser.phase = self.parser.phases["inTable"] + + def startTagVoidFormatting(self, token): + self.tree.reconstructActiveFormattingElements() + self.tree.insertElement(token) + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + self.parser.framesetOK = False + + def startTagInput(self, token): + framesetOK = self.parser.framesetOK + self.startTagVoidFormatting(token) + if ("type" in token["data"] and + token["data"]["type"].translate(asciiUpper2Lower) == "hidden"): + # input type=hidden doesn't change framesetOK + self.parser.framesetOK = framesetOK + + def startTagParamSource(self, token): + self.tree.insertElement(token) + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + + def startTagHr(self, token): + if self.tree.elementInScope("p", variant="button"): + self.endTagP(impliedTagToken("p")) + self.tree.insertElement(token) + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + self.parser.framesetOK = False + + def startTagImage(self, token): + # No really... + self.parser.parseError("unexpected-start-tag-treated-as", + {"originalName": "image", "newName": "img"}) + self.processStartTag(impliedTagToken("img", "StartTag", + attributes=token["data"], + selfClosing=token["selfClosing"])) + + def startTagIsIndex(self, token): + self.parser.parseError("deprecated-tag", {"name": "isindex"}) + if self.tree.formPointer: + return + form_attrs = {} + if "action" in token["data"]: + form_attrs["action"] = token["data"]["action"] + self.processStartTag(impliedTagToken("form", "StartTag", + attributes=form_attrs)) + self.processStartTag(impliedTagToken("hr", "StartTag")) + self.processStartTag(impliedTagToken("label", "StartTag")) + # XXX Localization ... + if "prompt" in token["data"]: + prompt = token["data"]["prompt"] + else: + prompt = "This is a searchable index. Enter search keywords: " + self.processCharacters( + {"type": tokenTypes["Characters"], "data": prompt}) + attributes = token["data"].copy() + if "action" in attributes: + del attributes["action"] + if "prompt" in attributes: + del attributes["prompt"] + attributes["name"] = "isindex" + self.processStartTag(impliedTagToken("input", "StartTag", + attributes=attributes, + selfClosing=token["selfClosing"])) + self.processEndTag(impliedTagToken("label")) + self.processStartTag(impliedTagToken("hr", "StartTag")) + self.processEndTag(impliedTagToken("form")) + + def startTagTextarea(self, token): + self.tree.insertElement(token) + self.parser.tokenizer.state = self.parser.tokenizer.rcdataState + self.processSpaceCharacters = self.processSpaceCharactersDropNewline + self.parser.framesetOK = False + + def startTagIFrame(self, token): + self.parser.framesetOK = False + self.startTagRawtext(token) + + def startTagNoscript(self, token): + if self.parser.scripting: + self.startTagRawtext(token) + else: + self.startTagOther(token) + + def startTagRawtext(self, token): + """iframe, noembed noframes, noscript(if scripting enabled)""" + self.parser.parseRCDataRawtext(token, "RAWTEXT") + + def startTagOpt(self, token): + if self.tree.openElements[-1].name == "option": + self.parser.phase.processEndTag(impliedTagToken("option")) + self.tree.reconstructActiveFormattingElements() + self.parser.tree.insertElement(token) + + def startTagSelect(self, token): + self.tree.reconstructActiveFormattingElements() + self.tree.insertElement(token) + self.parser.framesetOK = False + if self.parser.phase in (self.parser.phases["inTable"], + self.parser.phases["inCaption"], + self.parser.phases["inColumnGroup"], + self.parser.phases["inTableBody"], + self.parser.phases["inRow"], + self.parser.phases["inCell"]): + self.parser.phase = self.parser.phases["inSelectInTable"] + else: + self.parser.phase = self.parser.phases["inSelect"] + + def startTagRpRt(self, token): + if self.tree.elementInScope("ruby"): + self.tree.generateImpliedEndTags() + if self.tree.openElements[-1].name != "ruby": + self.parser.parseError() + self.tree.insertElement(token) + + def startTagMath(self, token): + self.tree.reconstructActiveFormattingElements() + self.parser.adjustMathMLAttributes(token) + self.parser.adjustForeignAttributes(token) + token["namespace"] = namespaces["mathml"] + self.tree.insertElement(token) + # Need to get the parse error right for the case where the token + # has a namespace not equal to the xmlns attribute + if token["selfClosing"]: + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + + def startTagSvg(self, token): + self.tree.reconstructActiveFormattingElements() + self.parser.adjustSVGAttributes(token) + self.parser.adjustForeignAttributes(token) + token["namespace"] = namespaces["svg"] + self.tree.insertElement(token) + # Need to get the parse error right for the case where the token + # has a namespace not equal to the xmlns attribute + if token["selfClosing"]: + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + + def startTagMisplaced(self, token): + """ Elements that should be children of other elements that have a + different insertion mode; here they are ignored + "caption", "col", "colgroup", "frame", "frameset", "head", + "option", "optgroup", "tbody", "td", "tfoot", "th", "thead", + "tr", "noscript" + """ + self.parser.parseError("unexpected-start-tag-ignored", {"name": token["name"]}) + + def startTagOther(self, token): + self.tree.reconstructActiveFormattingElements() + self.tree.insertElement(token) + + def endTagP(self, token): + if not self.tree.elementInScope("p", variant="button"): + self.startTagCloseP(impliedTagToken("p", "StartTag")) + self.parser.parseError("unexpected-end-tag", {"name": "p"}) + self.endTagP(impliedTagToken("p", "EndTag")) + else: + self.tree.generateImpliedEndTags("p") + if self.tree.openElements[-1].name != "p": + self.parser.parseError("unexpected-end-tag", {"name": "p"}) + node = self.tree.openElements.pop() + while node.name != "p": + node = self.tree.openElements.pop() + + def endTagBody(self, token): + if not self.tree.elementInScope("body"): + self.parser.parseError() + return + elif self.tree.openElements[-1].name != "body": + for node in self.tree.openElements[2:]: + if node.name not in frozenset(("dd", "dt", "li", "optgroup", + "option", "p", "rp", "rt", + "tbody", "td", "tfoot", + "th", "thead", "tr", "body", + "html")): + # Not sure this is the correct name for the parse error + self.parser.parseError( + "expected-one-end-tag-but-got-another", + {"gotName": "body", "expectedName": node.name}) + break + self.parser.phase = self.parser.phases["afterBody"] + + def endTagHtml(self, token): + # We repeat the test for the body end tag token being ignored here + if self.tree.elementInScope("body"): + self.endTagBody(impliedTagToken("body")) + return token + + def endTagBlock(self, token): + # Put us back in the right whitespace handling mode + if token["name"] == "pre": + self.processSpaceCharacters = self.processSpaceCharactersNonPre + inScope = self.tree.elementInScope(token["name"]) + if inScope: + self.tree.generateImpliedEndTags() + if self.tree.openElements[-1].name != token["name"]: + self.parser.parseError("end-tag-too-early", {"name": token["name"]}) + if inScope: + node = self.tree.openElements.pop() + while node.name != token["name"]: + node = self.tree.openElements.pop() + + def endTagForm(self, token): + node = self.tree.formPointer + self.tree.formPointer = None + if node is None or not self.tree.elementInScope(node): + self.parser.parseError("unexpected-end-tag", + {"name": "form"}) + else: + self.tree.generateImpliedEndTags() + if self.tree.openElements[-1] != node: + self.parser.parseError("end-tag-too-early-ignored", + {"name": "form"}) + self.tree.openElements.remove(node) + + def endTagListItem(self, token): + if token["name"] == "li": + variant = "list" + else: + variant = None + if not self.tree.elementInScope(token["name"], variant=variant): + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + else: + self.tree.generateImpliedEndTags(exclude=token["name"]) + if self.tree.openElements[-1].name != token["name"]: + self.parser.parseError( + "end-tag-too-early", + {"name": token["name"]}) + node = self.tree.openElements.pop() + while node.name != token["name"]: + node = self.tree.openElements.pop() + + def endTagHeading(self, token): + for item in headingElements: + if self.tree.elementInScope(item): + self.tree.generateImpliedEndTags() + break + if self.tree.openElements[-1].name != token["name"]: + self.parser.parseError("end-tag-too-early", {"name": token["name"]}) + + for item in headingElements: + if self.tree.elementInScope(item): + item = self.tree.openElements.pop() + while item.name not in headingElements: + item = self.tree.openElements.pop() + break + + def endTagFormatting(self, token): + """The much-feared adoption agency algorithm""" + # http://svn.whatwg.org/webapps/complete.html#adoptionAgency revision 7867 + # XXX Better parseError messages appreciated. + + # Step 1 + outerLoopCounter = 0 + + # Step 2 + while outerLoopCounter < 8: + + # Step 3 + outerLoopCounter += 1 + + # Step 4: + + # Let the formatting element be the last element in + # the list of active formatting elements that: + # - is between the end of the list and the last scope + # marker in the list, if any, or the start of the list + # otherwise, and + # - has the same tag name as the token. + formattingElement = self.tree.elementInActiveFormattingElements( + token["name"]) + if (not formattingElement or + (formattingElement in self.tree.openElements and + not self.tree.elementInScope(formattingElement.name))): + # If there is no such node, then abort these steps + # and instead act as described in the "any other + # end tag" entry below. + self.endTagOther(token) + return + + # Otherwise, if there is such a node, but that node is + # not in the stack of open elements, then this is a + # parse error; remove the element from the list, and + # abort these steps. + elif formattingElement not in self.tree.openElements: + self.parser.parseError("adoption-agency-1.2", {"name": token["name"]}) + self.tree.activeFormattingElements.remove(formattingElement) + return + + # Otherwise, if there is such a node, and that node is + # also in the stack of open elements, but the element + # is not in scope, then this is a parse error; ignore + # the token, and abort these steps. + elif not self.tree.elementInScope(formattingElement.name): + self.parser.parseError("adoption-agency-4.4", {"name": token["name"]}) + return + + # Otherwise, there is a formatting element and that + # element is in the stack and is in scope. If the + # element is not the current node, this is a parse + # error. In any case, proceed with the algorithm as + # written in the following steps. + else: + if formattingElement != self.tree.openElements[-1]: + self.parser.parseError("adoption-agency-1.3", {"name": token["name"]}) + + # Step 5: + + # Let the furthest block be the topmost node in the + # stack of open elements that is lower in the stack + # than the formatting element, and is an element in + # the special category. There might not be one. + afeIndex = self.tree.openElements.index(formattingElement) + furthestBlock = None + for element in self.tree.openElements[afeIndex:]: + if element.nameTuple in specialElements: + furthestBlock = element + break + + # Step 6: + + # If there is no furthest block, then the UA must + # first pop all the nodes from the bottom of the stack + # of open elements, from the current node up to and + # including the formatting element, then remove the + # formatting element from the list of active + # formatting elements, and finally abort these steps. + if furthestBlock is None: + element = self.tree.openElements.pop() + while element != formattingElement: + element = self.tree.openElements.pop() + self.tree.activeFormattingElements.remove(element) + return + + # Step 7 + commonAncestor = self.tree.openElements[afeIndex - 1] + + # Step 8: + # The bookmark is supposed to help us identify where to reinsert + # nodes in step 15. We have to ensure that we reinsert nodes after + # the node before the active formatting element. Note the bookmark + # can move in step 9.7 + bookmark = self.tree.activeFormattingElements.index(formattingElement) + + # Step 9 + lastNode = node = furthestBlock + innerLoopCounter = 0 + + index = self.tree.openElements.index(node) + while innerLoopCounter < 3: + innerLoopCounter += 1 + # Node is element before node in open elements + index -= 1 + node = self.tree.openElements[index] + if node not in self.tree.activeFormattingElements: + self.tree.openElements.remove(node) + continue + # Step 9.6 + if node == formattingElement: + break + # Step 9.7 + if lastNode == furthestBlock: + bookmark = self.tree.activeFormattingElements.index(node) + 1 + # Step 9.8 + clone = node.cloneNode() + # Replace node with clone + self.tree.activeFormattingElements[ + self.tree.activeFormattingElements.index(node)] = clone + self.tree.openElements[ + self.tree.openElements.index(node)] = clone + node = clone + # Step 9.9 + # Remove lastNode from its parents, if any + if lastNode.parent: + lastNode.parent.removeChild(lastNode) + node.appendChild(lastNode) + # Step 9.10 + lastNode = node + + # Step 10 + # Foster parent lastNode if commonAncestor is a + # table, tbody, tfoot, thead, or tr we need to foster + # parent the lastNode + if lastNode.parent: + lastNode.parent.removeChild(lastNode) + + if commonAncestor.name in frozenset(("table", "tbody", "tfoot", "thead", "tr")): + parent, insertBefore = self.tree.getTableMisnestedNodePosition() + parent.insertBefore(lastNode, insertBefore) + else: + commonAncestor.appendChild(lastNode) + + # Step 11 + clone = formattingElement.cloneNode() + + # Step 12 + furthestBlock.reparentChildren(clone) + + # Step 13 + furthestBlock.appendChild(clone) + + # Step 14 + self.tree.activeFormattingElements.remove(formattingElement) + self.tree.activeFormattingElements.insert(bookmark, clone) + + # Step 15 + self.tree.openElements.remove(formattingElement) + self.tree.openElements.insert( + self.tree.openElements.index(furthestBlock) + 1, clone) + + def endTagAppletMarqueeObject(self, token): + if self.tree.elementInScope(token["name"]): + self.tree.generateImpliedEndTags() + if self.tree.openElements[-1].name != token["name"]: + self.parser.parseError("end-tag-too-early", {"name": token["name"]}) + + if self.tree.elementInScope(token["name"]): + element = self.tree.openElements.pop() + while element.name != token["name"]: + element = self.tree.openElements.pop() + self.tree.clearActiveFormattingElements() + + def endTagBr(self, token): + self.parser.parseError("unexpected-end-tag-treated-as", + {"originalName": "br", "newName": "br element"}) + self.tree.reconstructActiveFormattingElements() + self.tree.insertElement(impliedTagToken("br", "StartTag")) + self.tree.openElements.pop() + + def endTagOther(self, token): + for node in self.tree.openElements[::-1]: + if node.name == token["name"]: + self.tree.generateImpliedEndTags(exclude=token["name"]) + if self.tree.openElements[-1].name != token["name"]: + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + while self.tree.openElements.pop() != node: + pass + break + else: + if node.nameTuple in specialElements: + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + break + + class TextPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + self.startTagHandler = _utils.MethodDispatcher([]) + self.startTagHandler.default = self.startTagOther + self.endTagHandler = _utils.MethodDispatcher([ + ("script", self.endTagScript)]) + self.endTagHandler.default = self.endTagOther + + def processCharacters(self, token): + self.tree.insertText(token["data"]) + + def processEOF(self): + self.parser.parseError("expected-named-closing-tag-but-got-eof", + {"name": self.tree.openElements[-1].name}) + self.tree.openElements.pop() + self.parser.phase = self.parser.originalPhase + return True + + def startTagOther(self, token): + assert False, "Tried to process start tag %s in RCDATA/RAWTEXT mode" % token['name'] + + def endTagScript(self, token): + node = self.tree.openElements.pop() + assert node.name == "script" + self.parser.phase = self.parser.originalPhase + # The rest of this method is all stuff that only happens if + # document.write works + + def endTagOther(self, token): + self.tree.openElements.pop() + self.parser.phase = self.parser.originalPhase + + class InTablePhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#in-table + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("caption", self.startTagCaption), + ("colgroup", self.startTagColgroup), + ("col", self.startTagCol), + (("tbody", "tfoot", "thead"), self.startTagRowGroup), + (("td", "th", "tr"), self.startTagImplyTbody), + ("table", self.startTagTable), + (("style", "script"), self.startTagStyleScript), + ("input", self.startTagInput), + ("form", self.startTagForm) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + ("table", self.endTagTable), + (("body", "caption", "col", "colgroup", "html", "tbody", "td", + "tfoot", "th", "thead", "tr"), self.endTagIgnore) + ]) + self.endTagHandler.default = self.endTagOther + + # helper methods + def clearStackToTableContext(self): + # "clear the stack back to a table context" + while self.tree.openElements[-1].name not in ("table", "html"): + # self.parser.parseError("unexpected-implied-end-tag-in-table", + # {"name": self.tree.openElements[-1].name}) + self.tree.openElements.pop() + # When the current node is <html> it's an innerHTML case + + # processing methods + def processEOF(self): + if self.tree.openElements[-1].name != "html": + self.parser.parseError("eof-in-table") + else: + assert self.parser.innerHTML + # Stop parsing + + def processSpaceCharacters(self, token): + originalPhase = self.parser.phase + self.parser.phase = self.parser.phases["inTableText"] + self.parser.phase.originalPhase = originalPhase + self.parser.phase.processSpaceCharacters(token) + + def processCharacters(self, token): + originalPhase = self.parser.phase + self.parser.phase = self.parser.phases["inTableText"] + self.parser.phase.originalPhase = originalPhase + self.parser.phase.processCharacters(token) + + def insertText(self, token): + # If we get here there must be at least one non-whitespace character + # Do the table magic! + self.tree.insertFromTable = True + self.parser.phases["inBody"].processCharacters(token) + self.tree.insertFromTable = False + + def startTagCaption(self, token): + self.clearStackToTableContext() + self.tree.activeFormattingElements.append(Marker) + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inCaption"] + + def startTagColgroup(self, token): + self.clearStackToTableContext() + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inColumnGroup"] + + def startTagCol(self, token): + self.startTagColgroup(impliedTagToken("colgroup", "StartTag")) + return token + + def startTagRowGroup(self, token): + self.clearStackToTableContext() + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inTableBody"] + + def startTagImplyTbody(self, token): + self.startTagRowGroup(impliedTagToken("tbody", "StartTag")) + return token + + def startTagTable(self, token): + self.parser.parseError("unexpected-start-tag-implies-end-tag", + {"startName": "table", "endName": "table"}) + self.parser.phase.processEndTag(impliedTagToken("table")) + if not self.parser.innerHTML: + return token + + def startTagStyleScript(self, token): + return self.parser.phases["inHead"].processStartTag(token) + + def startTagInput(self, token): + if ("type" in token["data"] and + token["data"]["type"].translate(asciiUpper2Lower) == "hidden"): + self.parser.parseError("unexpected-hidden-input-in-table") + self.tree.insertElement(token) + # XXX associate with form + self.tree.openElements.pop() + else: + self.startTagOther(token) + + def startTagForm(self, token): + self.parser.parseError("unexpected-form-in-table") + if self.tree.formPointer is None: + self.tree.insertElement(token) + self.tree.formPointer = self.tree.openElements[-1] + self.tree.openElements.pop() + + def startTagOther(self, token): + self.parser.parseError("unexpected-start-tag-implies-table-voodoo", {"name": token["name"]}) + # Do the table magic! + self.tree.insertFromTable = True + self.parser.phases["inBody"].processStartTag(token) + self.tree.insertFromTable = False + + def endTagTable(self, token): + if self.tree.elementInScope("table", variant="table"): + self.tree.generateImpliedEndTags() + if self.tree.openElements[-1].name != "table": + self.parser.parseError("end-tag-too-early-named", + {"gotName": "table", + "expectedName": self.tree.openElements[-1].name}) + while self.tree.openElements[-1].name != "table": + self.tree.openElements.pop() + self.tree.openElements.pop() + self.parser.resetInsertionMode() + else: + # innerHTML case + assert self.parser.innerHTML + self.parser.parseError() + + def endTagIgnore(self, token): + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag-implies-table-voodoo", {"name": token["name"]}) + # Do the table magic! + self.tree.insertFromTable = True + self.parser.phases["inBody"].processEndTag(token) + self.tree.insertFromTable = False + + class InTableTextPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + self.originalPhase = None + self.characterTokens = [] + + def flushCharacters(self): + data = "".join([item["data"] for item in self.characterTokens]) + if any([item not in spaceCharacters for item in data]): + token = {"type": tokenTypes["Characters"], "data": data} + self.parser.phases["inTable"].insertText(token) + elif data: + self.tree.insertText(data) + self.characterTokens = [] + + def processComment(self, token): + self.flushCharacters() + self.parser.phase = self.originalPhase + return token + + def processEOF(self): + self.flushCharacters() + self.parser.phase = self.originalPhase + return True + + def processCharacters(self, token): + if token["data"] == "\u0000": + return + self.characterTokens.append(token) + + def processSpaceCharacters(self, token): + # pretty sure we should never reach here + self.characterTokens.append(token) + # assert False + + def processStartTag(self, token): + self.flushCharacters() + self.parser.phase = self.originalPhase + return token + + def processEndTag(self, token): + self.flushCharacters() + self.parser.phase = self.originalPhase + return token + + class InCaptionPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#in-caption + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + (("caption", "col", "colgroup", "tbody", "td", "tfoot", "th", + "thead", "tr"), self.startTagTableElement) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + ("caption", self.endTagCaption), + ("table", self.endTagTable), + (("body", "col", "colgroup", "html", "tbody", "td", "tfoot", "th", + "thead", "tr"), self.endTagIgnore) + ]) + self.endTagHandler.default = self.endTagOther + + def ignoreEndTagCaption(self): + return not self.tree.elementInScope("caption", variant="table") + + def processEOF(self): + self.parser.phases["inBody"].processEOF() + + def processCharacters(self, token): + return self.parser.phases["inBody"].processCharacters(token) + + def startTagTableElement(self, token): + self.parser.parseError() + # XXX Have to duplicate logic here to find out if the tag is ignored + ignoreEndTag = self.ignoreEndTagCaption() + self.parser.phase.processEndTag(impliedTagToken("caption")) + if not ignoreEndTag: + return token + + def startTagOther(self, token): + return self.parser.phases["inBody"].processStartTag(token) + + def endTagCaption(self, token): + if not self.ignoreEndTagCaption(): + # AT this code is quite similar to endTagTable in "InTable" + self.tree.generateImpliedEndTags() + if self.tree.openElements[-1].name != "caption": + self.parser.parseError("expected-one-end-tag-but-got-another", + {"gotName": "caption", + "expectedName": self.tree.openElements[-1].name}) + while self.tree.openElements[-1].name != "caption": + self.tree.openElements.pop() + self.tree.openElements.pop() + self.tree.clearActiveFormattingElements() + self.parser.phase = self.parser.phases["inTable"] + else: + # innerHTML case + assert self.parser.innerHTML + self.parser.parseError() + + def endTagTable(self, token): + self.parser.parseError() + ignoreEndTag = self.ignoreEndTagCaption() + self.parser.phase.processEndTag(impliedTagToken("caption")) + if not ignoreEndTag: + return token + + def endTagIgnore(self, token): + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + + def endTagOther(self, token): + return self.parser.phases["inBody"].processEndTag(token) + + class InColumnGroupPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#in-column + + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("col", self.startTagCol) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + ("colgroup", self.endTagColgroup), + ("col", self.endTagCol) + ]) + self.endTagHandler.default = self.endTagOther + + def ignoreEndTagColgroup(self): + return self.tree.openElements[-1].name == "html" + + def processEOF(self): + if self.tree.openElements[-1].name == "html": + assert self.parser.innerHTML + return + else: + ignoreEndTag = self.ignoreEndTagColgroup() + self.endTagColgroup(impliedTagToken("colgroup")) + if not ignoreEndTag: + return True + + def processCharacters(self, token): + ignoreEndTag = self.ignoreEndTagColgroup() + self.endTagColgroup(impliedTagToken("colgroup")) + if not ignoreEndTag: + return token + + def startTagCol(self, token): + self.tree.insertElement(token) + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + + def startTagOther(self, token): + ignoreEndTag = self.ignoreEndTagColgroup() + self.endTagColgroup(impliedTagToken("colgroup")) + if not ignoreEndTag: + return token + + def endTagColgroup(self, token): + if self.ignoreEndTagColgroup(): + # innerHTML case + assert self.parser.innerHTML + self.parser.parseError() + else: + self.tree.openElements.pop() + self.parser.phase = self.parser.phases["inTable"] + + def endTagCol(self, token): + self.parser.parseError("no-end-tag", {"name": "col"}) + + def endTagOther(self, token): + ignoreEndTag = self.ignoreEndTagColgroup() + self.endTagColgroup(impliedTagToken("colgroup")) + if not ignoreEndTag: + return token + + class InTableBodyPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#in-table0 + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("tr", self.startTagTr), + (("td", "th"), self.startTagTableCell), + (("caption", "col", "colgroup", "tbody", "tfoot", "thead"), + self.startTagTableOther) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + (("tbody", "tfoot", "thead"), self.endTagTableRowGroup), + ("table", self.endTagTable), + (("body", "caption", "col", "colgroup", "html", "td", "th", + "tr"), self.endTagIgnore) + ]) + self.endTagHandler.default = self.endTagOther + + # helper methods + def clearStackToTableBodyContext(self): + while self.tree.openElements[-1].name not in ("tbody", "tfoot", + "thead", "html"): + # self.parser.parseError("unexpected-implied-end-tag-in-table", + # {"name": self.tree.openElements[-1].name}) + self.tree.openElements.pop() + if self.tree.openElements[-1].name == "html": + assert self.parser.innerHTML + + # the rest + def processEOF(self): + self.parser.phases["inTable"].processEOF() + + def processSpaceCharacters(self, token): + return self.parser.phases["inTable"].processSpaceCharacters(token) + + def processCharacters(self, token): + return self.parser.phases["inTable"].processCharacters(token) + + def startTagTr(self, token): + self.clearStackToTableBodyContext() + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inRow"] + + def startTagTableCell(self, token): + self.parser.parseError("unexpected-cell-in-table-body", + {"name": token["name"]}) + self.startTagTr(impliedTagToken("tr", "StartTag")) + return token + + def startTagTableOther(self, token): + # XXX AT Any ideas on how to share this with endTagTable? + if (self.tree.elementInScope("tbody", variant="table") or + self.tree.elementInScope("thead", variant="table") or + self.tree.elementInScope("tfoot", variant="table")): + self.clearStackToTableBodyContext() + self.endTagTableRowGroup( + impliedTagToken(self.tree.openElements[-1].name)) + return token + else: + # innerHTML case + assert self.parser.innerHTML + self.parser.parseError() + + def startTagOther(self, token): + return self.parser.phases["inTable"].processStartTag(token) + + def endTagTableRowGroup(self, token): + if self.tree.elementInScope(token["name"], variant="table"): + self.clearStackToTableBodyContext() + self.tree.openElements.pop() + self.parser.phase = self.parser.phases["inTable"] + else: + self.parser.parseError("unexpected-end-tag-in-table-body", + {"name": token["name"]}) + + def endTagTable(self, token): + if (self.tree.elementInScope("tbody", variant="table") or + self.tree.elementInScope("thead", variant="table") or + self.tree.elementInScope("tfoot", variant="table")): + self.clearStackToTableBodyContext() + self.endTagTableRowGroup( + impliedTagToken(self.tree.openElements[-1].name)) + return token + else: + # innerHTML case + assert self.parser.innerHTML + self.parser.parseError() + + def endTagIgnore(self, token): + self.parser.parseError("unexpected-end-tag-in-table-body", + {"name": token["name"]}) + + def endTagOther(self, token): + return self.parser.phases["inTable"].processEndTag(token) + + class InRowPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#in-row + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + (("td", "th"), self.startTagTableCell), + (("caption", "col", "colgroup", "tbody", "tfoot", "thead", + "tr"), self.startTagTableOther) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + ("tr", self.endTagTr), + ("table", self.endTagTable), + (("tbody", "tfoot", "thead"), self.endTagTableRowGroup), + (("body", "caption", "col", "colgroup", "html", "td", "th"), + self.endTagIgnore) + ]) + self.endTagHandler.default = self.endTagOther + + # helper methods (XXX unify this with other table helper methods) + def clearStackToTableRowContext(self): + while self.tree.openElements[-1].name not in ("tr", "html"): + self.parser.parseError("unexpected-implied-end-tag-in-table-row", + {"name": self.tree.openElements[-1].name}) + self.tree.openElements.pop() + + def ignoreEndTagTr(self): + return not self.tree.elementInScope("tr", variant="table") + + # the rest + def processEOF(self): + self.parser.phases["inTable"].processEOF() + + def processSpaceCharacters(self, token): + return self.parser.phases["inTable"].processSpaceCharacters(token) + + def processCharacters(self, token): + return self.parser.phases["inTable"].processCharacters(token) + + def startTagTableCell(self, token): + self.clearStackToTableRowContext() + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inCell"] + self.tree.activeFormattingElements.append(Marker) + + def startTagTableOther(self, token): + ignoreEndTag = self.ignoreEndTagTr() + self.endTagTr(impliedTagToken("tr")) + # XXX how are we sure it's always ignored in the innerHTML case? + if not ignoreEndTag: + return token + + def startTagOther(self, token): + return self.parser.phases["inTable"].processStartTag(token) + + def endTagTr(self, token): + if not self.ignoreEndTagTr(): + self.clearStackToTableRowContext() + self.tree.openElements.pop() + self.parser.phase = self.parser.phases["inTableBody"] + else: + # innerHTML case + assert self.parser.innerHTML + self.parser.parseError() + + def endTagTable(self, token): + ignoreEndTag = self.ignoreEndTagTr() + self.endTagTr(impliedTagToken("tr")) + # Reprocess the current tag if the tr end tag was not ignored + # XXX how are we sure it's always ignored in the innerHTML case? + if not ignoreEndTag: + return token + + def endTagTableRowGroup(self, token): + if self.tree.elementInScope(token["name"], variant="table"): + self.endTagTr(impliedTagToken("tr")) + return token + else: + self.parser.parseError() + + def endTagIgnore(self, token): + self.parser.parseError("unexpected-end-tag-in-table-row", + {"name": token["name"]}) + + def endTagOther(self, token): + return self.parser.phases["inTable"].processEndTag(token) + + class InCellPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#in-cell + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + (("caption", "col", "colgroup", "tbody", "td", "tfoot", "th", + "thead", "tr"), self.startTagTableOther) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + (("td", "th"), self.endTagTableCell), + (("body", "caption", "col", "colgroup", "html"), self.endTagIgnore), + (("table", "tbody", "tfoot", "thead", "tr"), self.endTagImply) + ]) + self.endTagHandler.default = self.endTagOther + + # helper + def closeCell(self): + if self.tree.elementInScope("td", variant="table"): + self.endTagTableCell(impliedTagToken("td")) + elif self.tree.elementInScope("th", variant="table"): + self.endTagTableCell(impliedTagToken("th")) + + # the rest + def processEOF(self): + self.parser.phases["inBody"].processEOF() + + def processCharacters(self, token): + return self.parser.phases["inBody"].processCharacters(token) + + def startTagTableOther(self, token): + if (self.tree.elementInScope("td", variant="table") or + self.tree.elementInScope("th", variant="table")): + self.closeCell() + return token + else: + # innerHTML case + assert self.parser.innerHTML + self.parser.parseError() + + def startTagOther(self, token): + return self.parser.phases["inBody"].processStartTag(token) + + def endTagTableCell(self, token): + if self.tree.elementInScope(token["name"], variant="table"): + self.tree.generateImpliedEndTags(token["name"]) + if self.tree.openElements[-1].name != token["name"]: + self.parser.parseError("unexpected-cell-end-tag", + {"name": token["name"]}) + while True: + node = self.tree.openElements.pop() + if node.name == token["name"]: + break + else: + self.tree.openElements.pop() + self.tree.clearActiveFormattingElements() + self.parser.phase = self.parser.phases["inRow"] + else: + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + + def endTagIgnore(self, token): + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + + def endTagImply(self, token): + if self.tree.elementInScope(token["name"], variant="table"): + self.closeCell() + return token + else: + # sometimes innerHTML case + self.parser.parseError() + + def endTagOther(self, token): + return self.parser.phases["inBody"].processEndTag(token) + + class InSelectPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("option", self.startTagOption), + ("optgroup", self.startTagOptgroup), + ("select", self.startTagSelect), + (("input", "keygen", "textarea"), self.startTagInput), + ("script", self.startTagScript) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + ("option", self.endTagOption), + ("optgroup", self.endTagOptgroup), + ("select", self.endTagSelect) + ]) + self.endTagHandler.default = self.endTagOther + + # http://www.whatwg.org/specs/web-apps/current-work/#in-select + def processEOF(self): + if self.tree.openElements[-1].name != "html": + self.parser.parseError("eof-in-select") + else: + assert self.parser.innerHTML + + def processCharacters(self, token): + if token["data"] == "\u0000": + return + self.tree.insertText(token["data"]) + + def startTagOption(self, token): + # We need to imply </option> if <option> is the current node. + if self.tree.openElements[-1].name == "option": + self.tree.openElements.pop() + self.tree.insertElement(token) + + def startTagOptgroup(self, token): + if self.tree.openElements[-1].name == "option": + self.tree.openElements.pop() + if self.tree.openElements[-1].name == "optgroup": + self.tree.openElements.pop() + self.tree.insertElement(token) + + def startTagSelect(self, token): + self.parser.parseError("unexpected-select-in-select") + self.endTagSelect(impliedTagToken("select")) + + def startTagInput(self, token): + self.parser.parseError("unexpected-input-in-select") + if self.tree.elementInScope("select", variant="select"): + self.endTagSelect(impliedTagToken("select")) + return token + else: + assert self.parser.innerHTML + + def startTagScript(self, token): + return self.parser.phases["inHead"].processStartTag(token) + + def startTagOther(self, token): + self.parser.parseError("unexpected-start-tag-in-select", + {"name": token["name"]}) + + def endTagOption(self, token): + if self.tree.openElements[-1].name == "option": + self.tree.openElements.pop() + else: + self.parser.parseError("unexpected-end-tag-in-select", + {"name": "option"}) + + def endTagOptgroup(self, token): + # </optgroup> implicitly closes <option> + if (self.tree.openElements[-1].name == "option" and + self.tree.openElements[-2].name == "optgroup"): + self.tree.openElements.pop() + # It also closes </optgroup> + if self.tree.openElements[-1].name == "optgroup": + self.tree.openElements.pop() + # But nothing else + else: + self.parser.parseError("unexpected-end-tag-in-select", + {"name": "optgroup"}) + + def endTagSelect(self, token): + if self.tree.elementInScope("select", variant="select"): + node = self.tree.openElements.pop() + while node.name != "select": + node = self.tree.openElements.pop() + self.parser.resetInsertionMode() + else: + # innerHTML case + assert self.parser.innerHTML + self.parser.parseError() + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag-in-select", + {"name": token["name"]}) + + class InSelectInTablePhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + (("caption", "table", "tbody", "tfoot", "thead", "tr", "td", "th"), + self.startTagTable) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + (("caption", "table", "tbody", "tfoot", "thead", "tr", "td", "th"), + self.endTagTable) + ]) + self.endTagHandler.default = self.endTagOther + + def processEOF(self): + self.parser.phases["inSelect"].processEOF() + + def processCharacters(self, token): + return self.parser.phases["inSelect"].processCharacters(token) + + def startTagTable(self, token): + self.parser.parseError("unexpected-table-element-start-tag-in-select-in-table", {"name": token["name"]}) + self.endTagOther(impliedTagToken("select")) + return token + + def startTagOther(self, token): + return self.parser.phases["inSelect"].processStartTag(token) + + def endTagTable(self, token): + self.parser.parseError("unexpected-table-element-end-tag-in-select-in-table", {"name": token["name"]}) + if self.tree.elementInScope(token["name"], variant="table"): + self.endTagOther(impliedTagToken("select")) + return token + + def endTagOther(self, token): + return self.parser.phases["inSelect"].processEndTag(token) + + class InForeignContentPhase(Phase): + breakoutElements = frozenset(["b", "big", "blockquote", "body", "br", + "center", "code", "dd", "div", "dl", "dt", + "em", "embed", "h1", "h2", "h3", + "h4", "h5", "h6", "head", "hr", "i", "img", + "li", "listing", "menu", "meta", "nobr", + "ol", "p", "pre", "ruby", "s", "small", + "span", "strong", "strike", "sub", "sup", + "table", "tt", "u", "ul", "var"]) + + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + def adjustSVGTagNames(self, token): + replacements = {"altglyph": "altGlyph", + "altglyphdef": "altGlyphDef", + "altglyphitem": "altGlyphItem", + "animatecolor": "animateColor", + "animatemotion": "animateMotion", + "animatetransform": "animateTransform", + "clippath": "clipPath", + "feblend": "feBlend", + "fecolormatrix": "feColorMatrix", + "fecomponenttransfer": "feComponentTransfer", + "fecomposite": "feComposite", + "feconvolvematrix": "feConvolveMatrix", + "fediffuselighting": "feDiffuseLighting", + "fedisplacementmap": "feDisplacementMap", + "fedistantlight": "feDistantLight", + "feflood": "feFlood", + "fefunca": "feFuncA", + "fefuncb": "feFuncB", + "fefuncg": "feFuncG", + "fefuncr": "feFuncR", + "fegaussianblur": "feGaussianBlur", + "feimage": "feImage", + "femerge": "feMerge", + "femergenode": "feMergeNode", + "femorphology": "feMorphology", + "feoffset": "feOffset", + "fepointlight": "fePointLight", + "fespecularlighting": "feSpecularLighting", + "fespotlight": "feSpotLight", + "fetile": "feTile", + "feturbulence": "feTurbulence", + "foreignobject": "foreignObject", + "glyphref": "glyphRef", + "lineargradient": "linearGradient", + "radialgradient": "radialGradient", + "textpath": "textPath"} + + if token["name"] in replacements: + token["name"] = replacements[token["name"]] + + def processCharacters(self, token): + if token["data"] == "\u0000": + token["data"] = "\uFFFD" + elif (self.parser.framesetOK and + any(char not in spaceCharacters for char in token["data"])): + self.parser.framesetOK = False + Phase.processCharacters(self, token) + + def processStartTag(self, token): + currentNode = self.tree.openElements[-1] + if (token["name"] in self.breakoutElements or + (token["name"] == "font" and + set(token["data"].keys()) & set(["color", "face", "size"]))): + self.parser.parseError("unexpected-html-element-in-foreign-content", + {"name": token["name"]}) + while (self.tree.openElements[-1].namespace != + self.tree.defaultNamespace and + not self.parser.isHTMLIntegrationPoint(self.tree.openElements[-1]) and + not self.parser.isMathMLTextIntegrationPoint(self.tree.openElements[-1])): + self.tree.openElements.pop() + return token + + else: + if currentNode.namespace == namespaces["mathml"]: + self.parser.adjustMathMLAttributes(token) + elif currentNode.namespace == namespaces["svg"]: + self.adjustSVGTagNames(token) + self.parser.adjustSVGAttributes(token) + self.parser.adjustForeignAttributes(token) + token["namespace"] = currentNode.namespace + self.tree.insertElement(token) + if token["selfClosing"]: + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + + def processEndTag(self, token): + nodeIndex = len(self.tree.openElements) - 1 + node = self.tree.openElements[-1] + if node.name.translate(asciiUpper2Lower) != token["name"]: + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + + while True: + if node.name.translate(asciiUpper2Lower) == token["name"]: + # XXX this isn't in the spec but it seems necessary + if self.parser.phase == self.parser.phases["inTableText"]: + self.parser.phase.flushCharacters() + self.parser.phase = self.parser.phase.originalPhase + while self.tree.openElements.pop() != node: + assert self.tree.openElements + new_token = None + break + nodeIndex -= 1 + + node = self.tree.openElements[nodeIndex] + if node.namespace != self.tree.defaultNamespace: + continue + else: + new_token = self.parser.phase.processEndTag(token) + break + return new_token + + class AfterBodyPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([("html", self.endTagHtml)]) + self.endTagHandler.default = self.endTagOther + + def processEOF(self): + # Stop parsing + pass + + def processComment(self, token): + # This is needed because data is to be appended to the <html> element + # here and not to whatever is currently open. + self.tree.insertComment(token, self.tree.openElements[0]) + + def processCharacters(self, token): + self.parser.parseError("unexpected-char-after-body") + self.parser.phase = self.parser.phases["inBody"] + return token + + def startTagHtml(self, token): + return self.parser.phases["inBody"].processStartTag(token) + + def startTagOther(self, token): + self.parser.parseError("unexpected-start-tag-after-body", + {"name": token["name"]}) + self.parser.phase = self.parser.phases["inBody"] + return token + + def endTagHtml(self, name): + if self.parser.innerHTML: + self.parser.parseError("unexpected-end-tag-after-body-innerhtml") + else: + self.parser.phase = self.parser.phases["afterAfterBody"] + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag-after-body", + {"name": token["name"]}) + self.parser.phase = self.parser.phases["inBody"] + return token + + class InFramesetPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#in-frameset + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("frameset", self.startTagFrameset), + ("frame", self.startTagFrame), + ("noframes", self.startTagNoframes) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + ("frameset", self.endTagFrameset) + ]) + self.endTagHandler.default = self.endTagOther + + def processEOF(self): + if self.tree.openElements[-1].name != "html": + self.parser.parseError("eof-in-frameset") + else: + assert self.parser.innerHTML + + def processCharacters(self, token): + self.parser.parseError("unexpected-char-in-frameset") + + def startTagFrameset(self, token): + self.tree.insertElement(token) + + def startTagFrame(self, token): + self.tree.insertElement(token) + self.tree.openElements.pop() + + def startTagNoframes(self, token): + return self.parser.phases["inBody"].processStartTag(token) + + def startTagOther(self, token): + self.parser.parseError("unexpected-start-tag-in-frameset", + {"name": token["name"]}) + + def endTagFrameset(self, token): + if self.tree.openElements[-1].name == "html": + # innerHTML case + self.parser.parseError("unexpected-frameset-in-frameset-innerhtml") + else: + self.tree.openElements.pop() + if (not self.parser.innerHTML and + self.tree.openElements[-1].name != "frameset"): + # If we're not in innerHTML mode and the current node is not a + # "frameset" element (anymore) then switch. + self.parser.phase = self.parser.phases["afterFrameset"] + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag-in-frameset", + {"name": token["name"]}) + + class AfterFramesetPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#after3 + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("noframes", self.startTagNoframes) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + ("html", self.endTagHtml) + ]) + self.endTagHandler.default = self.endTagOther + + def processEOF(self): + # Stop parsing + pass + + def processCharacters(self, token): + self.parser.parseError("unexpected-char-after-frameset") + + def startTagNoframes(self, token): + return self.parser.phases["inHead"].processStartTag(token) + + def startTagOther(self, token): + self.parser.parseError("unexpected-start-tag-after-frameset", + {"name": token["name"]}) + + def endTagHtml(self, token): + self.parser.phase = self.parser.phases["afterAfterFrameset"] + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag-after-frameset", + {"name": token["name"]}) + + class AfterAfterBodyPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml) + ]) + self.startTagHandler.default = self.startTagOther + + def processEOF(self): + pass + + def processComment(self, token): + self.tree.insertComment(token, self.tree.document) + + def processSpaceCharacters(self, token): + return self.parser.phases["inBody"].processSpaceCharacters(token) + + def processCharacters(self, token): + self.parser.parseError("expected-eof-but-got-char") + self.parser.phase = self.parser.phases["inBody"] + return token + + def startTagHtml(self, token): + return self.parser.phases["inBody"].processStartTag(token) + + def startTagOther(self, token): + self.parser.parseError("expected-eof-but-got-start-tag", + {"name": token["name"]}) + self.parser.phase = self.parser.phases["inBody"] + return token + + def processEndTag(self, token): + self.parser.parseError("expected-eof-but-got-end-tag", + {"name": token["name"]}) + self.parser.phase = self.parser.phases["inBody"] + return token + + class AfterAfterFramesetPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("noframes", self.startTagNoFrames) + ]) + self.startTagHandler.default = self.startTagOther + + def processEOF(self): + pass + + def processComment(self, token): + self.tree.insertComment(token, self.tree.document) + + def processSpaceCharacters(self, token): + return self.parser.phases["inBody"].processSpaceCharacters(token) + + def processCharacters(self, token): + self.parser.parseError("expected-eof-but-got-char") + + def startTagHtml(self, token): + return self.parser.phases["inBody"].processStartTag(token) + + def startTagNoFrames(self, token): + return self.parser.phases["inHead"].processStartTag(token) + + def startTagOther(self, token): + self.parser.parseError("expected-eof-but-got-start-tag", + {"name": token["name"]}) + + def processEndTag(self, token): + self.parser.parseError("expected-eof-but-got-end-tag", + {"name": token["name"]}) + # pylint:enable=unused-argument + + return { + "initial": InitialPhase, + "beforeHtml": BeforeHtmlPhase, + "beforeHead": BeforeHeadPhase, + "inHead": InHeadPhase, + "inHeadNoscript": InHeadNoscriptPhase, + "afterHead": AfterHeadPhase, + "inBody": InBodyPhase, + "text": TextPhase, + "inTable": InTablePhase, + "inTableText": InTableTextPhase, + "inCaption": InCaptionPhase, + "inColumnGroup": InColumnGroupPhase, + "inTableBody": InTableBodyPhase, + "inRow": InRowPhase, + "inCell": InCellPhase, + "inSelect": InSelectPhase, + "inSelectInTable": InSelectInTablePhase, + "inForeignContent": InForeignContentPhase, + "afterBody": AfterBodyPhase, + "inFrameset": InFramesetPhase, + "afterFrameset": AfterFramesetPhase, + "afterAfterBody": AfterAfterBodyPhase, + "afterAfterFrameset": AfterAfterFramesetPhase, + # XXX after after frameset + } + + +def adjust_attributes(token, replacements): + needs_adjustment = viewkeys(token['data']) & viewkeys(replacements) + if needs_adjustment: + token['data'] = OrderedDict((replacements.get(k, k), v) + for k, v in token['data'].items()) + + +def impliedTagToken(name, type="EndTag", attributes=None, + selfClosing=False): + if attributes is None: + attributes = {} + return {"type": tokenTypes[type], "name": name, "data": attributes, + "selfClosing": selfClosing} + + +class ParseError(Exception): + """Error in parsed document""" + pass diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/serializer.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/serializer.py new file mode 100644 index 0000000..53f4d44 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/serializer.py @@ -0,0 +1,409 @@ +from __future__ import absolute_import, division, unicode_literals +from pip._vendor.six import text_type + +import re + +from codecs import register_error, xmlcharrefreplace_errors + +from .constants import voidElements, booleanAttributes, spaceCharacters +from .constants import rcdataElements, entities, xmlEntities +from . import treewalkers, _utils +from xml.sax.saxutils import escape + +_quoteAttributeSpecChars = "".join(spaceCharacters) + "\"'=<>`" +_quoteAttributeSpec = re.compile("[" + _quoteAttributeSpecChars + "]") +_quoteAttributeLegacy = re.compile("[" + _quoteAttributeSpecChars + + "\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n" + "\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15" + "\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" + "\x20\x2f\x60\xa0\u1680\u180e\u180f\u2000" + "\u2001\u2002\u2003\u2004\u2005\u2006\u2007" + "\u2008\u2009\u200a\u2028\u2029\u202f\u205f" + "\u3000]") + + +_encode_entity_map = {} +_is_ucs4 = len("\U0010FFFF") == 1 +for k, v in list(entities.items()): + # skip multi-character entities + if ((_is_ucs4 and len(v) > 1) or + (not _is_ucs4 and len(v) > 2)): + continue + if v != "&": + if len(v) == 2: + v = _utils.surrogatePairToCodepoint(v) + else: + v = ord(v) + if v not in _encode_entity_map or k.islower(): + # prefer < over < and similarly for &, >, etc. + _encode_entity_map[v] = k + + +def htmlentityreplace_errors(exc): + if isinstance(exc, (UnicodeEncodeError, UnicodeTranslateError)): + res = [] + codepoints = [] + skip = False + for i, c in enumerate(exc.object[exc.start:exc.end]): + if skip: + skip = False + continue + index = i + exc.start + if _utils.isSurrogatePair(exc.object[index:min([exc.end, index + 2])]): + codepoint = _utils.surrogatePairToCodepoint(exc.object[index:index + 2]) + skip = True + else: + codepoint = ord(c) + codepoints.append(codepoint) + for cp in codepoints: + e = _encode_entity_map.get(cp) + if e: + res.append("&") + res.append(e) + if not e.endswith(";"): + res.append(";") + else: + res.append("&#x%s;" % (hex(cp)[2:])) + return ("".join(res), exc.end) + else: + return xmlcharrefreplace_errors(exc) + + +register_error("htmlentityreplace", htmlentityreplace_errors) + + +def serialize(input, tree="etree", encoding=None, **serializer_opts): + """Serializes the input token stream using the specified treewalker + + :arg input: the token stream to serialize + + :arg tree: the treewalker to use + + :arg encoding: the encoding to use + + :arg serializer_opts: any options to pass to the + :py:class:`html5lib.serializer.HTMLSerializer` that gets created + + :returns: the tree serialized as a string + + Example: + + >>> from html5lib.html5parser import parse + >>> from html5lib.serializer import serialize + >>> token_stream = parse('<html><body><p>Hi!</p></body></html>') + >>> serialize(token_stream, omit_optional_tags=False) + '<html><head></head><body><p>Hi!</p></body></html>' + + """ + # XXX: Should we cache this? + walker = treewalkers.getTreeWalker(tree) + s = HTMLSerializer(**serializer_opts) + return s.render(walker(input), encoding) + + +class HTMLSerializer(object): + + # attribute quoting options + quote_attr_values = "legacy" # be secure by default + quote_char = '"' + use_best_quote_char = True + + # tag syntax options + omit_optional_tags = True + minimize_boolean_attributes = True + use_trailing_solidus = False + space_before_trailing_solidus = True + + # escaping options + escape_lt_in_attrs = False + escape_rcdata = False + resolve_entities = True + + # miscellaneous options + alphabetical_attributes = False + inject_meta_charset = True + strip_whitespace = False + sanitize = False + + options = ("quote_attr_values", "quote_char", "use_best_quote_char", + "omit_optional_tags", "minimize_boolean_attributes", + "use_trailing_solidus", "space_before_trailing_solidus", + "escape_lt_in_attrs", "escape_rcdata", "resolve_entities", + "alphabetical_attributes", "inject_meta_charset", + "strip_whitespace", "sanitize") + + def __init__(self, **kwargs): + """Initialize HTMLSerializer + + :arg inject_meta_charset: Whether or not to inject the meta charset. + + Defaults to ``True``. + + :arg quote_attr_values: Whether to quote attribute values that don't + require quoting per legacy browser behavior (``"legacy"``), when + required by the standard (``"spec"``), or always (``"always"``). + + Defaults to ``"legacy"``. + + :arg quote_char: Use given quote character for attribute quoting. + + Defaults to ``"`` which will use double quotes unless attribute + value contains a double quote, in which case single quotes are + used. + + :arg escape_lt_in_attrs: Whether or not to escape ``<`` in attribute + values. + + Defaults to ``False``. + + :arg escape_rcdata: Whether to escape characters that need to be + escaped within normal elements within rcdata elements such as + style. + + Defaults to ``False``. + + :arg resolve_entities: Whether to resolve named character entities that + appear in the source tree. The XML predefined entities < > + & " ' are unaffected by this setting. + + Defaults to ``True``. + + :arg strip_whitespace: Whether to remove semantically meaningless + whitespace. (This compresses all whitespace to a single space + except within ``pre``.) + + Defaults to ``False``. + + :arg minimize_boolean_attributes: Shortens boolean attributes to give + just the attribute value, for example:: + + <input disabled="disabled"> + + becomes:: + + <input disabled> + + Defaults to ``True``. + + :arg use_trailing_solidus: Includes a close-tag slash at the end of the + start tag of void elements (empty elements whose end tag is + forbidden). E.g. ``<hr/>``. + + Defaults to ``False``. + + :arg space_before_trailing_solidus: Places a space immediately before + the closing slash in a tag using a trailing solidus. E.g. + ``<hr />``. Requires ``use_trailing_solidus=True``. + + Defaults to ``True``. + + :arg sanitize: Strip all unsafe or unknown constructs from output. + See :py:class:`html5lib.filters.sanitizer.Filter`. + + Defaults to ``False``. + + :arg omit_optional_tags: Omit start/end tags that are optional. + + Defaults to ``True``. + + :arg alphabetical_attributes: Reorder attributes to be in alphabetical order. + + Defaults to ``False``. + + """ + unexpected_args = frozenset(kwargs) - frozenset(self.options) + if len(unexpected_args) > 0: + raise TypeError("__init__() got an unexpected keyword argument '%s'" % next(iter(unexpected_args))) + if 'quote_char' in kwargs: + self.use_best_quote_char = False + for attr in self.options: + setattr(self, attr, kwargs.get(attr, getattr(self, attr))) + self.errors = [] + self.strict = False + + def encode(self, string): + assert(isinstance(string, text_type)) + if self.encoding: + return string.encode(self.encoding, "htmlentityreplace") + else: + return string + + def encodeStrict(self, string): + assert(isinstance(string, text_type)) + if self.encoding: + return string.encode(self.encoding, "strict") + else: + return string + + def serialize(self, treewalker, encoding=None): + # pylint:disable=too-many-nested-blocks + self.encoding = encoding + in_cdata = False + self.errors = [] + + if encoding and self.inject_meta_charset: + from .filters.inject_meta_charset import Filter + treewalker = Filter(treewalker, encoding) + # Alphabetical attributes is here under the assumption that none of + # the later filters add or change order of attributes; it needs to be + # before the sanitizer so escaped elements come out correctly + if self.alphabetical_attributes: + from .filters.alphabeticalattributes import Filter + treewalker = Filter(treewalker) + # WhitespaceFilter should be used before OptionalTagFilter + # for maximum efficiently of this latter filter + if self.strip_whitespace: + from .filters.whitespace import Filter + treewalker = Filter(treewalker) + if self.sanitize: + from .filters.sanitizer import Filter + treewalker = Filter(treewalker) + if self.omit_optional_tags: + from .filters.optionaltags import Filter + treewalker = Filter(treewalker) + + for token in treewalker: + type = token["type"] + if type == "Doctype": + doctype = "<!DOCTYPE %s" % token["name"] + + if token["publicId"]: + doctype += ' PUBLIC "%s"' % token["publicId"] + elif token["systemId"]: + doctype += " SYSTEM" + if token["systemId"]: + if token["systemId"].find('"') >= 0: + if token["systemId"].find("'") >= 0: + self.serializeError("System identifer contains both single and double quote characters") + quote_char = "'" + else: + quote_char = '"' + doctype += " %s%s%s" % (quote_char, token["systemId"], quote_char) + + doctype += ">" + yield self.encodeStrict(doctype) + + elif type in ("Characters", "SpaceCharacters"): + if type == "SpaceCharacters" or in_cdata: + if in_cdata and token["data"].find("</") >= 0: + self.serializeError("Unexpected </ in CDATA") + yield self.encode(token["data"]) + else: + yield self.encode(escape(token["data"])) + + elif type in ("StartTag", "EmptyTag"): + name = token["name"] + yield self.encodeStrict("<%s" % name) + if name in rcdataElements and not self.escape_rcdata: + in_cdata = True + elif in_cdata: + self.serializeError("Unexpected child element of a CDATA element") + for (_, attr_name), attr_value in token["data"].items(): + # TODO: Add namespace support here + k = attr_name + v = attr_value + yield self.encodeStrict(' ') + + yield self.encodeStrict(k) + if not self.minimize_boolean_attributes or \ + (k not in booleanAttributes.get(name, tuple()) and + k not in booleanAttributes.get("", tuple())): + yield self.encodeStrict("=") + if self.quote_attr_values == "always" or len(v) == 0: + quote_attr = True + elif self.quote_attr_values == "spec": + quote_attr = _quoteAttributeSpec.search(v) is not None + elif self.quote_attr_values == "legacy": + quote_attr = _quoteAttributeLegacy.search(v) is not None + else: + raise ValueError("quote_attr_values must be one of: " + "'always', 'spec', or 'legacy'") + v = v.replace("&", "&") + if self.escape_lt_in_attrs: + v = v.replace("<", "<") + if quote_attr: + quote_char = self.quote_char + if self.use_best_quote_char: + if "'" in v and '"' not in v: + quote_char = '"' + elif '"' in v and "'" not in v: + quote_char = "'" + if quote_char == "'": + v = v.replace("'", "'") + else: + v = v.replace('"', """) + yield self.encodeStrict(quote_char) + yield self.encode(v) + yield self.encodeStrict(quote_char) + else: + yield self.encode(v) + if name in voidElements and self.use_trailing_solidus: + if self.space_before_trailing_solidus: + yield self.encodeStrict(" /") + else: + yield self.encodeStrict("/") + yield self.encode(">") + + elif type == "EndTag": + name = token["name"] + if name in rcdataElements: + in_cdata = False + elif in_cdata: + self.serializeError("Unexpected child element of a CDATA element") + yield self.encodeStrict("</%s>" % name) + + elif type == "Comment": + data = token["data"] + if data.find("--") >= 0: + self.serializeError("Comment contains --") + yield self.encodeStrict("<!--%s-->" % token["data"]) + + elif type == "Entity": + name = token["name"] + key = name + ";" + if key not in entities: + self.serializeError("Entity %s not recognized" % name) + if self.resolve_entities and key not in xmlEntities: + data = entities[key] + else: + data = "&%s;" % name + yield self.encodeStrict(data) + + else: + self.serializeError(token["data"]) + + def render(self, treewalker, encoding=None): + """Serializes the stream from the treewalker into a string + + :arg treewalker: the treewalker to serialize + + :arg encoding: the string encoding to use + + :returns: the serialized tree + + Example: + + >>> from html5lib import parse, getTreeWalker + >>> from html5lib.serializer import HTMLSerializer + >>> token_stream = parse('<html><body>Hi!</body></html>') + >>> walker = getTreeWalker('etree') + >>> serializer = HTMLSerializer(omit_optional_tags=False) + >>> serializer.render(walker(token_stream)) + '<html><head></head><body>Hi!</body></html>' + + """ + if encoding: + return b"".join(list(self.serialize(treewalker, encoding))) + else: + return "".join(list(self.serialize(treewalker))) + + def serializeError(self, data="XXX ERROR MESSAGE NEEDED"): + # XXX The idea is to make data mandatory. + self.errors.append(data) + if self.strict: + raise SerializeError + + +class SerializeError(Exception): + """Error in serialized tree""" + pass diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treeadapters/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treeadapters/__init__.py new file mode 100644 index 0000000..7ef5959 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treeadapters/__init__.py @@ -0,0 +1,30 @@ +"""Tree adapters let you convert from one tree structure to another + +Example: + +.. code-block:: python + + from pip._vendor import html5lib + from pip._vendor.html5lib.treeadapters import genshi + + doc = '<html><body>Hi!</body></html>' + treebuilder = html5lib.getTreeBuilder('etree') + parser = html5lib.HTMLParser(tree=treebuilder) + tree = parser.parse(doc) + TreeWalker = html5lib.getTreeWalker('etree') + + genshi_tree = genshi.to_genshi(TreeWalker(tree)) + +""" +from __future__ import absolute_import, division, unicode_literals + +from . import sax + +__all__ = ["sax"] + +try: + from . import genshi # noqa +except ImportError: + pass +else: + __all__.append("genshi") diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treeadapters/genshi.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treeadapters/genshi.py new file mode 100644 index 0000000..61d5fb6 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treeadapters/genshi.py @@ -0,0 +1,54 @@ +from __future__ import absolute_import, division, unicode_literals + +from genshi.core import QName, Attrs +from genshi.core import START, END, TEXT, COMMENT, DOCTYPE + + +def to_genshi(walker): + """Convert a tree to a genshi tree + + :arg walker: the treewalker to use to walk the tree to convert it + + :returns: generator of genshi nodes + + """ + text = [] + for token in walker: + type = token["type"] + if type in ("Characters", "SpaceCharacters"): + text.append(token["data"]) + elif text: + yield TEXT, "".join(text), (None, -1, -1) + text = [] + + if type in ("StartTag", "EmptyTag"): + if token["namespace"]: + name = "{%s}%s" % (token["namespace"], token["name"]) + else: + name = token["name"] + attrs = Attrs([(QName("{%s}%s" % attr if attr[0] is not None else attr[1]), value) + for attr, value in token["data"].items()]) + yield (START, (QName(name), attrs), (None, -1, -1)) + if type == "EmptyTag": + type = "EndTag" + + if type == "EndTag": + if token["namespace"]: + name = "{%s}%s" % (token["namespace"], token["name"]) + else: + name = token["name"] + + yield END, QName(name), (None, -1, -1) + + elif type == "Comment": + yield COMMENT, token["data"], (None, -1, -1) + + elif type == "Doctype": + yield DOCTYPE, (token["name"], token["publicId"], + token["systemId"]), (None, -1, -1) + + else: + pass # FIXME: What to do? + + if text: + yield TEXT, "".join(text), (None, -1, -1) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treeadapters/sax.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treeadapters/sax.py new file mode 100644 index 0000000..f4ccea5 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treeadapters/sax.py @@ -0,0 +1,50 @@ +from __future__ import absolute_import, division, unicode_literals + +from xml.sax.xmlreader import AttributesNSImpl + +from ..constants import adjustForeignAttributes, unadjustForeignAttributes + +prefix_mapping = {} +for prefix, localName, namespace in adjustForeignAttributes.values(): + if prefix is not None: + prefix_mapping[prefix] = namespace + + +def to_sax(walker, handler): + """Call SAX-like content handler based on treewalker walker + + :arg walker: the treewalker to use to walk the tree to convert it + + :arg handler: SAX handler to use + + """ + handler.startDocument() + for prefix, namespace in prefix_mapping.items(): + handler.startPrefixMapping(prefix, namespace) + + for token in walker: + type = token["type"] + if type == "Doctype": + continue + elif type in ("StartTag", "EmptyTag"): + attrs = AttributesNSImpl(token["data"], + unadjustForeignAttributes) + handler.startElementNS((token["namespace"], token["name"]), + token["name"], + attrs) + if type == "EmptyTag": + handler.endElementNS((token["namespace"], token["name"]), + token["name"]) + elif type == "EndTag": + handler.endElementNS((token["namespace"], token["name"]), + token["name"]) + elif type in ("Characters", "SpaceCharacters"): + handler.characters(token["data"]) + elif type == "Comment": + pass + else: + assert False, "Unknown token type" + + for prefix, namespace in prefix_mapping.items(): + handler.endPrefixMapping(prefix) + handler.endDocument() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/__init__.py new file mode 100644 index 0000000..d44447e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/__init__.py @@ -0,0 +1,88 @@ +"""A collection of modules for building different kinds of trees from HTML +documents. + +To create a treebuilder for a new type of tree, you need to do +implement several things: + +1. A set of classes for various types of elements: Document, Doctype, Comment, + Element. These must implement the interface of ``base.treebuilders.Node`` + (although comment nodes have a different signature for their constructor, + see ``treebuilders.etree.Comment``) Textual content may also be implemented + as another node type, or not, as your tree implementation requires. + +2. A treebuilder object (called ``TreeBuilder`` by convention) that inherits + from ``treebuilders.base.TreeBuilder``. This has 4 required attributes: + + * ``documentClass`` - the class to use for the bottommost node of a document + * ``elementClass`` - the class to use for HTML Elements + * ``commentClass`` - the class to use for comments + * ``doctypeClass`` - the class to use for doctypes + + It also has one required method: + + * ``getDocument`` - Returns the root node of the complete document tree + +3. If you wish to run the unit tests, you must also create a ``testSerializer`` + method on your treebuilder which accepts a node and returns a string + containing Node and its children serialized according to the format used in + the unittests + +""" + +from __future__ import absolute_import, division, unicode_literals + +from .._utils import default_etree + +treeBuilderCache = {} + + +def getTreeBuilder(treeType, implementation=None, **kwargs): + """Get a TreeBuilder class for various types of trees with built-in support + + :arg treeType: the name of the tree type required (case-insensitive). Supported + values are: + + * "dom" - A generic builder for DOM implementations, defaulting to a + xml.dom.minidom based implementation. + * "etree" - A generic builder for tree implementations exposing an + ElementTree-like interface, defaulting to xml.etree.cElementTree if + available and xml.etree.ElementTree if not. + * "lxml" - A etree-based builder for lxml.etree, handling limitations + of lxml's implementation. + + :arg implementation: (Currently applies to the "etree" and "dom" tree + types). A module implementing the tree type e.g. xml.etree.ElementTree + or xml.etree.cElementTree. + + :arg kwargs: Any additional options to pass to the TreeBuilder when + creating it. + + Example: + + >>> from html5lib.treebuilders import getTreeBuilder + >>> builder = getTreeBuilder('etree') + + """ + + treeType = treeType.lower() + if treeType not in treeBuilderCache: + if treeType == "dom": + from . import dom + # Come up with a sane default (pref. from the stdlib) + if implementation is None: + from xml.dom import minidom + implementation = minidom + # NEVER cache here, caching is done in the dom submodule + return dom.getDomModule(implementation, **kwargs).TreeBuilder + elif treeType == "lxml": + from . import etree_lxml + treeBuilderCache[treeType] = etree_lxml.TreeBuilder + elif treeType == "etree": + from . import etree + if implementation is None: + implementation = default_etree + # NEVER cache here, caching is done in the etree submodule + return etree.getETreeModule(implementation, **kwargs).TreeBuilder + else: + raise ValueError("""Unrecognised treebuilder "%s" """ % treeType) + return treeBuilderCache.get(treeType) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ca7b1f719d1287873dda09da14e13fa3b31560c8 GIT binary patch literal 3346 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/__pycache__/base.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/__pycache__/base.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..60e90f9e4810c91082306cedb6af50d42720abd1 GIT binary patch literal 11353 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 WId;iB2lZYBm^gvsjI-QaKJ))?&cT-e literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/__pycache__/etree.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/__pycache__/etree.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..23541ae105b69e884fee119ca1e5a077746391f1 GIT binary patch literal 11893 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 Mo%^xzW8>og0_4D!3;+NC literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/base.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/base.py new file mode 100644 index 0000000..73973db --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/base.py @@ -0,0 +1,417 @@ +from __future__ import absolute_import, division, unicode_literals +from pip._vendor.six import text_type + +from ..constants import scopingElements, tableInsertModeElements, namespaces + +# The scope markers are inserted when entering object elements, +# marquees, table cells, and table captions, and are used to prevent formatting +# from "leaking" into tables, object elements, and marquees. +Marker = None + +listElementsMap = { + None: (frozenset(scopingElements), False), + "button": (frozenset(scopingElements | set([(namespaces["html"], "button")])), False), + "list": (frozenset(scopingElements | set([(namespaces["html"], "ol"), + (namespaces["html"], "ul")])), False), + "table": (frozenset([(namespaces["html"], "html"), + (namespaces["html"], "table")]), False), + "select": (frozenset([(namespaces["html"], "optgroup"), + (namespaces["html"], "option")]), True) +} + + +class Node(object): + """Represents an item in the tree""" + def __init__(self, name): + """Creates a Node + + :arg name: The tag name associated with the node + + """ + # The tag name assocaited with the node + self.name = name + # The parent of the current node (or None for the document node) + self.parent = None + # The value of the current node (applies to text nodes and comments) + self.value = None + # A dict holding name -> value pairs for attributes of the node + self.attributes = {} + # A list of child nodes of the current node. This must include all + # elements but not necessarily other node types. + self.childNodes = [] + # A list of miscellaneous flags that can be set on the node. + self._flags = [] + + def __str__(self): + attributesStr = " ".join(["%s=\"%s\"" % (name, value) + for name, value in + self.attributes.items()]) + if attributesStr: + return "<%s %s>" % (self.name, attributesStr) + else: + return "<%s>" % (self.name) + + def __repr__(self): + return "<%s>" % (self.name) + + def appendChild(self, node): + """Insert node as a child of the current node + + :arg node: the node to insert + + """ + raise NotImplementedError + + def insertText(self, data, insertBefore=None): + """Insert data as text in the current node, positioned before the + start of node insertBefore or to the end of the node's text. + + :arg data: the data to insert + + :arg insertBefore: True if you want to insert the text before the node + and False if you want to insert it after the node + + """ + raise NotImplementedError + + def insertBefore(self, node, refNode): + """Insert node as a child of the current node, before refNode in the + list of child nodes. Raises ValueError if refNode is not a child of + the current node + + :arg node: the node to insert + + :arg refNode: the child node to insert the node before + + """ + raise NotImplementedError + + def removeChild(self, node): + """Remove node from the children of the current node + + :arg node: the child node to remove + + """ + raise NotImplementedError + + def reparentChildren(self, newParent): + """Move all the children of the current node to newParent. + This is needed so that trees that don't store text as nodes move the + text in the correct way + + :arg newParent: the node to move all this node's children to + + """ + # XXX - should this method be made more general? + for child in self.childNodes: + newParent.appendChild(child) + self.childNodes = [] + + def cloneNode(self): + """Return a shallow copy of the current node i.e. a node with the same + name and attributes but with no parent or child nodes + """ + raise NotImplementedError + + def hasContent(self): + """Return true if the node has children or text, false otherwise + """ + raise NotImplementedError + + +class ActiveFormattingElements(list): + def append(self, node): + equalCount = 0 + if node != Marker: + for element in self[::-1]: + if element == Marker: + break + if self.nodesEqual(element, node): + equalCount += 1 + if equalCount == 3: + self.remove(element) + break + list.append(self, node) + + def nodesEqual(self, node1, node2): + if not node1.nameTuple == node2.nameTuple: + return False + + if not node1.attributes == node2.attributes: + return False + + return True + + +class TreeBuilder(object): + """Base treebuilder implementation + + * documentClass - the class to use for the bottommost node of a document + * elementClass - the class to use for HTML Elements + * commentClass - the class to use for comments + * doctypeClass - the class to use for doctypes + + """ + # pylint:disable=not-callable + + # Document class + documentClass = None + + # The class to use for creating a node + elementClass = None + + # The class to use for creating comments + commentClass = None + + # The class to use for creating doctypes + doctypeClass = None + + # Fragment class + fragmentClass = None + + def __init__(self, namespaceHTMLElements): + """Create a TreeBuilder + + :arg namespaceHTMLElements: whether or not to namespace HTML elements + + """ + if namespaceHTMLElements: + self.defaultNamespace = "http://www.w3.org/1999/xhtml" + else: + self.defaultNamespace = None + self.reset() + + def reset(self): + self.openElements = [] + self.activeFormattingElements = ActiveFormattingElements() + + # XXX - rename these to headElement, formElement + self.headPointer = None + self.formPointer = None + + self.insertFromTable = False + + self.document = self.documentClass() + + def elementInScope(self, target, variant=None): + + # If we pass a node in we match that. if we pass a string + # match any node with that name + exactNode = hasattr(target, "nameTuple") + if not exactNode: + if isinstance(target, text_type): + target = (namespaces["html"], target) + assert isinstance(target, tuple) + + listElements, invert = listElementsMap[variant] + + for node in reversed(self.openElements): + if exactNode and node == target: + return True + elif not exactNode and node.nameTuple == target: + return True + elif (invert ^ (node.nameTuple in listElements)): + return False + + assert False # We should never reach this point + + def reconstructActiveFormattingElements(self): + # Within this algorithm the order of steps described in the + # specification is not quite the same as the order of steps in the + # code. It should still do the same though. + + # Step 1: stop the algorithm when there's nothing to do. + if not self.activeFormattingElements: + return + + # Step 2 and step 3: we start with the last element. So i is -1. + i = len(self.activeFormattingElements) - 1 + entry = self.activeFormattingElements[i] + if entry == Marker or entry in self.openElements: + return + + # Step 6 + while entry != Marker and entry not in self.openElements: + if i == 0: + # This will be reset to 0 below + i = -1 + break + i -= 1 + # Step 5: let entry be one earlier in the list. + entry = self.activeFormattingElements[i] + + while True: + # Step 7 + i += 1 + + # Step 8 + entry = self.activeFormattingElements[i] + clone = entry.cloneNode() # Mainly to get a new copy of the attributes + + # Step 9 + element = self.insertElement({"type": "StartTag", + "name": clone.name, + "namespace": clone.namespace, + "data": clone.attributes}) + + # Step 10 + self.activeFormattingElements[i] = element + + # Step 11 + if element == self.activeFormattingElements[-1]: + break + + def clearActiveFormattingElements(self): + entry = self.activeFormattingElements.pop() + while self.activeFormattingElements and entry != Marker: + entry = self.activeFormattingElements.pop() + + def elementInActiveFormattingElements(self, name): + """Check if an element exists between the end of the active + formatting elements and the last marker. If it does, return it, else + return false""" + + for item in self.activeFormattingElements[::-1]: + # Check for Marker first because if it's a Marker it doesn't have a + # name attribute. + if item == Marker: + break + elif item.name == name: + return item + return False + + def insertRoot(self, token): + element = self.createElement(token) + self.openElements.append(element) + self.document.appendChild(element) + + def insertDoctype(self, token): + name = token["name"] + publicId = token["publicId"] + systemId = token["systemId"] + + doctype = self.doctypeClass(name, publicId, systemId) + self.document.appendChild(doctype) + + def insertComment(self, token, parent=None): + if parent is None: + parent = self.openElements[-1] + parent.appendChild(self.commentClass(token["data"])) + + def createElement(self, token): + """Create an element but don't insert it anywhere""" + name = token["name"] + namespace = token.get("namespace", self.defaultNamespace) + element = self.elementClass(name, namespace) + element.attributes = token["data"] + return element + + def _getInsertFromTable(self): + return self._insertFromTable + + def _setInsertFromTable(self, value): + """Switch the function used to insert an element from the + normal one to the misnested table one and back again""" + self._insertFromTable = value + if value: + self.insertElement = self.insertElementTable + else: + self.insertElement = self.insertElementNormal + + insertFromTable = property(_getInsertFromTable, _setInsertFromTable) + + def insertElementNormal(self, token): + name = token["name"] + assert isinstance(name, text_type), "Element %s not unicode" % name + namespace = token.get("namespace", self.defaultNamespace) + element = self.elementClass(name, namespace) + element.attributes = token["data"] + self.openElements[-1].appendChild(element) + self.openElements.append(element) + return element + + def insertElementTable(self, token): + """Create an element and insert it into the tree""" + element = self.createElement(token) + if self.openElements[-1].name not in tableInsertModeElements: + return self.insertElementNormal(token) + else: + # We should be in the InTable mode. This means we want to do + # special magic element rearranging + parent, insertBefore = self.getTableMisnestedNodePosition() + if insertBefore is None: + parent.appendChild(element) + else: + parent.insertBefore(element, insertBefore) + self.openElements.append(element) + return element + + def insertText(self, data, parent=None): + """Insert text data.""" + if parent is None: + parent = self.openElements[-1] + + if (not self.insertFromTable or (self.insertFromTable and + self.openElements[-1].name + not in tableInsertModeElements)): + parent.insertText(data) + else: + # We should be in the InTable mode. This means we want to do + # special magic element rearranging + parent, insertBefore = self.getTableMisnestedNodePosition() + parent.insertText(data, insertBefore) + + def getTableMisnestedNodePosition(self): + """Get the foster parent element, and sibling to insert before + (or None) when inserting a misnested table node""" + # The foster parent element is the one which comes before the most + # recently opened table element + # XXX - this is really inelegant + lastTable = None + fosterParent = None + insertBefore = None + for elm in self.openElements[::-1]: + if elm.name == "table": + lastTable = elm + break + if lastTable: + # XXX - we should really check that this parent is actually a + # node here + if lastTable.parent: + fosterParent = lastTable.parent + insertBefore = lastTable + else: + fosterParent = self.openElements[ + self.openElements.index(lastTable) - 1] + else: + fosterParent = self.openElements[0] + return fosterParent, insertBefore + + def generateImpliedEndTags(self, exclude=None): + name = self.openElements[-1].name + # XXX td, th and tr are not actually needed + if (name in frozenset(("dd", "dt", "li", "option", "optgroup", "p", "rp", "rt")) and + name != exclude): + self.openElements.pop() + # XXX This is not entirely what the specification says. We should + # investigate it more closely. + self.generateImpliedEndTags(exclude) + + def getDocument(self): + """Return the final tree""" + return self.document + + def getFragment(self): + """Return the final fragment""" + # assert self.innerHTML + fragment = self.fragmentClass() + self.openElements[0].reparentChildren(fragment) + return fragment + + def testSerializer(self, node): + """Serialize the subtree of node in the format required by unit tests + + :arg node: the node from which to start serializing + + """ + raise NotImplementedError diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/dom.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/dom.py new file mode 100644 index 0000000..dcfac22 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/dom.py @@ -0,0 +1,236 @@ +from __future__ import absolute_import, division, unicode_literals + + +from collections import MutableMapping +from xml.dom import minidom, Node +import weakref + +from . import base +from .. import constants +from ..constants import namespaces +from .._utils import moduleFactoryFactory + + +def getDomBuilder(DomImplementation): + Dom = DomImplementation + + class AttrList(MutableMapping): + def __init__(self, element): + self.element = element + + def __iter__(self): + return iter(self.element.attributes.keys()) + + def __setitem__(self, name, value): + if isinstance(name, tuple): + raise NotImplementedError + else: + attr = self.element.ownerDocument.createAttribute(name) + attr.value = value + self.element.attributes[name] = attr + + def __len__(self): + return len(self.element.attributes) + + def items(self): + return list(self.element.attributes.items()) + + def values(self): + return list(self.element.attributes.values()) + + def __getitem__(self, name): + if isinstance(name, tuple): + raise NotImplementedError + else: + return self.element.attributes[name].value + + def __delitem__(self, name): + if isinstance(name, tuple): + raise NotImplementedError + else: + del self.element.attributes[name] + + class NodeBuilder(base.Node): + def __init__(self, element): + base.Node.__init__(self, element.nodeName) + self.element = element + + namespace = property(lambda self: hasattr(self.element, "namespaceURI") and + self.element.namespaceURI or None) + + def appendChild(self, node): + node.parent = self + self.element.appendChild(node.element) + + def insertText(self, data, insertBefore=None): + text = self.element.ownerDocument.createTextNode(data) + if insertBefore: + self.element.insertBefore(text, insertBefore.element) + else: + self.element.appendChild(text) + + def insertBefore(self, node, refNode): + self.element.insertBefore(node.element, refNode.element) + node.parent = self + + def removeChild(self, node): + if node.element.parentNode == self.element: + self.element.removeChild(node.element) + node.parent = None + + def reparentChildren(self, newParent): + while self.element.hasChildNodes(): + child = self.element.firstChild + self.element.removeChild(child) + newParent.element.appendChild(child) + self.childNodes = [] + + def getAttributes(self): + return AttrList(self.element) + + def setAttributes(self, attributes): + if attributes: + for name, value in list(attributes.items()): + if isinstance(name, tuple): + if name[0] is not None: + qualifiedName = (name[0] + ":" + name[1]) + else: + qualifiedName = name[1] + self.element.setAttributeNS(name[2], qualifiedName, + value) + else: + self.element.setAttribute( + name, value) + attributes = property(getAttributes, setAttributes) + + def cloneNode(self): + return NodeBuilder(self.element.cloneNode(False)) + + def hasContent(self): + return self.element.hasChildNodes() + + def getNameTuple(self): + if self.namespace is None: + return namespaces["html"], self.name + else: + return self.namespace, self.name + + nameTuple = property(getNameTuple) + + class TreeBuilder(base.TreeBuilder): # pylint:disable=unused-variable + def documentClass(self): + self.dom = Dom.getDOMImplementation().createDocument(None, None, None) + return weakref.proxy(self) + + def insertDoctype(self, token): + name = token["name"] + publicId = token["publicId"] + systemId = token["systemId"] + + domimpl = Dom.getDOMImplementation() + doctype = domimpl.createDocumentType(name, publicId, systemId) + self.document.appendChild(NodeBuilder(doctype)) + if Dom == minidom: + doctype.ownerDocument = self.dom + + def elementClass(self, name, namespace=None): + if namespace is None and self.defaultNamespace is None: + node = self.dom.createElement(name) + else: + node = self.dom.createElementNS(namespace, name) + + return NodeBuilder(node) + + def commentClass(self, data): + return NodeBuilder(self.dom.createComment(data)) + + def fragmentClass(self): + return NodeBuilder(self.dom.createDocumentFragment()) + + def appendChild(self, node): + self.dom.appendChild(node.element) + + def testSerializer(self, element): + return testSerializer(element) + + def getDocument(self): + return self.dom + + def getFragment(self): + return base.TreeBuilder.getFragment(self).element + + def insertText(self, data, parent=None): + data = data + if parent != self: + base.TreeBuilder.insertText(self, data, parent) + else: + # HACK: allow text nodes as children of the document node + if hasattr(self.dom, '_child_node_types'): + # pylint:disable=protected-access + if Node.TEXT_NODE not in self.dom._child_node_types: + self.dom._child_node_types = list(self.dom._child_node_types) + self.dom._child_node_types.append(Node.TEXT_NODE) + self.dom.appendChild(self.dom.createTextNode(data)) + + implementation = DomImplementation + name = None + + def testSerializer(element): + element.normalize() + rv = [] + + def serializeElement(element, indent=0): + if element.nodeType == Node.DOCUMENT_TYPE_NODE: + if element.name: + if element.publicId or element.systemId: + publicId = element.publicId or "" + systemId = element.systemId or "" + rv.append("""|%s<!DOCTYPE %s "%s" "%s">""" % + (' ' * indent, element.name, publicId, systemId)) + else: + rv.append("|%s<!DOCTYPE %s>" % (' ' * indent, element.name)) + else: + rv.append("|%s<!DOCTYPE >" % (' ' * indent,)) + elif element.nodeType == Node.DOCUMENT_NODE: + rv.append("#document") + elif element.nodeType == Node.DOCUMENT_FRAGMENT_NODE: + rv.append("#document-fragment") + elif element.nodeType == Node.COMMENT_NODE: + rv.append("|%s<!-- %s -->" % (' ' * indent, element.nodeValue)) + elif element.nodeType == Node.TEXT_NODE: + rv.append("|%s\"%s\"" % (' ' * indent, element.nodeValue)) + else: + if (hasattr(element, "namespaceURI") and + element.namespaceURI is not None): + name = "%s %s" % (constants.prefixes[element.namespaceURI], + element.nodeName) + else: + name = element.nodeName + rv.append("|%s<%s>" % (' ' * indent, name)) + if element.hasAttributes(): + attributes = [] + for i in range(len(element.attributes)): + attr = element.attributes.item(i) + name = attr.nodeName + value = attr.value + ns = attr.namespaceURI + if ns: + name = "%s %s" % (constants.prefixes[ns], attr.localName) + else: + name = attr.nodeName + attributes.append((name, value)) + + for name, value in sorted(attributes): + rv.append('|%s%s="%s"' % (' ' * (indent + 2), name, value)) + indent += 2 + for child in element.childNodes: + serializeElement(child, indent) + serializeElement(element, 0) + + return "\n".join(rv) + + return locals() + + +# The actual means to get a module! +getDomModule = moduleFactoryFactory(getDomBuilder) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/etree.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/etree.py new file mode 100644 index 0000000..0dedf44 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/etree.py @@ -0,0 +1,340 @@ +from __future__ import absolute_import, division, unicode_literals +# pylint:disable=protected-access + +from pip._vendor.six import text_type + +import re + +from . import base +from .. import _ihatexml +from .. import constants +from ..constants import namespaces +from .._utils import moduleFactoryFactory + +tag_regexp = re.compile("{([^}]*)}(.*)") + + +def getETreeBuilder(ElementTreeImplementation, fullTree=False): + ElementTree = ElementTreeImplementation + ElementTreeCommentType = ElementTree.Comment("asd").tag + + class Element(base.Node): + def __init__(self, name, namespace=None): + self._name = name + self._namespace = namespace + self._element = ElementTree.Element(self._getETreeTag(name, + namespace)) + if namespace is None: + self.nameTuple = namespaces["html"], self._name + else: + self.nameTuple = self._namespace, self._name + self.parent = None + self._childNodes = [] + self._flags = [] + + def _getETreeTag(self, name, namespace): + if namespace is None: + etree_tag = name + else: + etree_tag = "{%s}%s" % (namespace, name) + return etree_tag + + def _setName(self, name): + self._name = name + self._element.tag = self._getETreeTag(self._name, self._namespace) + + def _getName(self): + return self._name + + name = property(_getName, _setName) + + def _setNamespace(self, namespace): + self._namespace = namespace + self._element.tag = self._getETreeTag(self._name, self._namespace) + + def _getNamespace(self): + return self._namespace + + namespace = property(_getNamespace, _setNamespace) + + def _getAttributes(self): + return self._element.attrib + + def _setAttributes(self, attributes): + # Delete existing attributes first + # XXX - there may be a better way to do this... + for key in list(self._element.attrib.keys()): + del self._element.attrib[key] + for key, value in attributes.items(): + if isinstance(key, tuple): + name = "{%s}%s" % (key[2], key[1]) + else: + name = key + self._element.set(name, value) + + attributes = property(_getAttributes, _setAttributes) + + def _getChildNodes(self): + return self._childNodes + + def _setChildNodes(self, value): + del self._element[:] + self._childNodes = [] + for element in value: + self.insertChild(element) + + childNodes = property(_getChildNodes, _setChildNodes) + + def hasContent(self): + """Return true if the node has children or text""" + return bool(self._element.text or len(self._element)) + + def appendChild(self, node): + self._childNodes.append(node) + self._element.append(node._element) + node.parent = self + + def insertBefore(self, node, refNode): + index = list(self._element).index(refNode._element) + self._element.insert(index, node._element) + node.parent = self + + def removeChild(self, node): + self._childNodes.remove(node) + self._element.remove(node._element) + node.parent = None + + def insertText(self, data, insertBefore=None): + if not(len(self._element)): + if not self._element.text: + self._element.text = "" + self._element.text += data + elif insertBefore is None: + # Insert the text as the tail of the last child element + if not self._element[-1].tail: + self._element[-1].tail = "" + self._element[-1].tail += data + else: + # Insert the text before the specified node + children = list(self._element) + index = children.index(insertBefore._element) + if index > 0: + if not self._element[index - 1].tail: + self._element[index - 1].tail = "" + self._element[index - 1].tail += data + else: + if not self._element.text: + self._element.text = "" + self._element.text += data + + def cloneNode(self): + element = type(self)(self.name, self.namespace) + for name, value in self.attributes.items(): + element.attributes[name] = value + return element + + def reparentChildren(self, newParent): + if newParent.childNodes: + newParent.childNodes[-1]._element.tail += self._element.text + else: + if not newParent._element.text: + newParent._element.text = "" + if self._element.text is not None: + newParent._element.text += self._element.text + self._element.text = "" + base.Node.reparentChildren(self, newParent) + + class Comment(Element): + def __init__(self, data): + # Use the superclass constructor to set all properties on the + # wrapper element + self._element = ElementTree.Comment(data) + self.parent = None + self._childNodes = [] + self._flags = [] + + def _getData(self): + return self._element.text + + def _setData(self, value): + self._element.text = value + + data = property(_getData, _setData) + + class DocumentType(Element): + def __init__(self, name, publicId, systemId): + Element.__init__(self, "<!DOCTYPE>") + self._element.text = name + self.publicId = publicId + self.systemId = systemId + + def _getPublicId(self): + return self._element.get("publicId", "") + + def _setPublicId(self, value): + if value is not None: + self._element.set("publicId", value) + + publicId = property(_getPublicId, _setPublicId) + + def _getSystemId(self): + return self._element.get("systemId", "") + + def _setSystemId(self, value): + if value is not None: + self._element.set("systemId", value) + + systemId = property(_getSystemId, _setSystemId) + + class Document(Element): + def __init__(self): + Element.__init__(self, "DOCUMENT_ROOT") + + class DocumentFragment(Element): + def __init__(self): + Element.__init__(self, "DOCUMENT_FRAGMENT") + + def testSerializer(element): + rv = [] + + def serializeElement(element, indent=0): + if not(hasattr(element, "tag")): + element = element.getroot() + if element.tag == "<!DOCTYPE>": + if element.get("publicId") or element.get("systemId"): + publicId = element.get("publicId") or "" + systemId = element.get("systemId") or "" + rv.append("""<!DOCTYPE %s "%s" "%s">""" % + (element.text, publicId, systemId)) + else: + rv.append("<!DOCTYPE %s>" % (element.text,)) + elif element.tag == "DOCUMENT_ROOT": + rv.append("#document") + if element.text is not None: + rv.append("|%s\"%s\"" % (' ' * (indent + 2), element.text)) + if element.tail is not None: + raise TypeError("Document node cannot have tail") + if hasattr(element, "attrib") and len(element.attrib): + raise TypeError("Document node cannot have attributes") + elif element.tag == ElementTreeCommentType: + rv.append("|%s<!-- %s -->" % (' ' * indent, element.text)) + else: + assert isinstance(element.tag, text_type), \ + "Expected unicode, got %s, %s" % (type(element.tag), element.tag) + nsmatch = tag_regexp.match(element.tag) + + if nsmatch is None: + name = element.tag + else: + ns, name = nsmatch.groups() + prefix = constants.prefixes[ns] + name = "%s %s" % (prefix, name) + rv.append("|%s<%s>" % (' ' * indent, name)) + + if hasattr(element, "attrib"): + attributes = [] + for name, value in element.attrib.items(): + nsmatch = tag_regexp.match(name) + if nsmatch is not None: + ns, name = nsmatch.groups() + prefix = constants.prefixes[ns] + attr_string = "%s %s" % (prefix, name) + else: + attr_string = name + attributes.append((attr_string, value)) + + for name, value in sorted(attributes): + rv.append('|%s%s="%s"' % (' ' * (indent + 2), name, value)) + if element.text: + rv.append("|%s\"%s\"" % (' ' * (indent + 2), element.text)) + indent += 2 + for child in element: + serializeElement(child, indent) + if element.tail: + rv.append("|%s\"%s\"" % (' ' * (indent - 2), element.tail)) + serializeElement(element, 0) + + return "\n".join(rv) + + def tostring(element): # pylint:disable=unused-variable + """Serialize an element and its child nodes to a string""" + rv = [] + filter = _ihatexml.InfosetFilter() + + def serializeElement(element): + if isinstance(element, ElementTree.ElementTree): + element = element.getroot() + + if element.tag == "<!DOCTYPE>": + if element.get("publicId") or element.get("systemId"): + publicId = element.get("publicId") or "" + systemId = element.get("systemId") or "" + rv.append("""<!DOCTYPE %s PUBLIC "%s" "%s">""" % + (element.text, publicId, systemId)) + else: + rv.append("<!DOCTYPE %s>" % (element.text,)) + elif element.tag == "DOCUMENT_ROOT": + if element.text is not None: + rv.append(element.text) + if element.tail is not None: + raise TypeError("Document node cannot have tail") + if hasattr(element, "attrib") and len(element.attrib): + raise TypeError("Document node cannot have attributes") + + for child in element: + serializeElement(child) + + elif element.tag == ElementTreeCommentType: + rv.append("<!--%s-->" % (element.text,)) + else: + # This is assumed to be an ordinary element + if not element.attrib: + rv.append("<%s>" % (filter.fromXmlName(element.tag),)) + else: + attr = " ".join(["%s=\"%s\"" % ( + filter.fromXmlName(name), value) + for name, value in element.attrib.items()]) + rv.append("<%s %s>" % (element.tag, attr)) + if element.text: + rv.append(element.text) + + for child in element: + serializeElement(child) + + rv.append("</%s>" % (element.tag,)) + + if element.tail: + rv.append(element.tail) + + serializeElement(element) + + return "".join(rv) + + class TreeBuilder(base.TreeBuilder): # pylint:disable=unused-variable + documentClass = Document + doctypeClass = DocumentType + elementClass = Element + commentClass = Comment + fragmentClass = DocumentFragment + implementation = ElementTreeImplementation + + def testSerializer(self, element): + return testSerializer(element) + + def getDocument(self): + if fullTree: + return self.document._element + else: + if self.defaultNamespace is not None: + return self.document._element.find( + "{%s}html" % self.defaultNamespace) + else: + return self.document._element.find("html") + + def getFragment(self): + return base.TreeBuilder.getFragment(self)._element + + return locals() + + +getETreeModule = moduleFactoryFactory(getETreeBuilder) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/etree_lxml.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/etree_lxml.py new file mode 100644 index 0000000..ca12a99 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/etree_lxml.py @@ -0,0 +1,366 @@ +"""Module for supporting the lxml.etree library. The idea here is to use as much +of the native library as possible, without using fragile hacks like custom element +names that break between releases. The downside of this is that we cannot represent +all possible trees; specifically the following are known to cause problems: + +Text or comments as siblings of the root element +Docypes with no name + +When any of these things occur, we emit a DataLossWarning +""" + +from __future__ import absolute_import, division, unicode_literals +# pylint:disable=protected-access + +import warnings +import re +import sys + +from . import base +from ..constants import DataLossWarning +from .. import constants +from . import etree as etree_builders +from .. import _ihatexml + +import lxml.etree as etree + + +fullTree = True +tag_regexp = re.compile("{([^}]*)}(.*)") + +comment_type = etree.Comment("asd").tag + + +class DocumentType(object): + def __init__(self, name, publicId, systemId): + self.name = name + self.publicId = publicId + self.systemId = systemId + + +class Document(object): + def __init__(self): + self._elementTree = None + self._childNodes = [] + + def appendChild(self, element): + self._elementTree.getroot().addnext(element._element) + + def _getChildNodes(self): + return self._childNodes + + childNodes = property(_getChildNodes) + + +def testSerializer(element): + rv = [] + infosetFilter = _ihatexml.InfosetFilter(preventDoubleDashComments=True) + + def serializeElement(element, indent=0): + if not hasattr(element, "tag"): + if hasattr(element, "getroot"): + # Full tree case + rv.append("#document") + if element.docinfo.internalDTD: + if not (element.docinfo.public_id or + element.docinfo.system_url): + dtd_str = "<!DOCTYPE %s>" % element.docinfo.root_name + else: + dtd_str = """<!DOCTYPE %s "%s" "%s">""" % ( + element.docinfo.root_name, + element.docinfo.public_id, + element.docinfo.system_url) + rv.append("|%s%s" % (' ' * (indent + 2), dtd_str)) + next_element = element.getroot() + while next_element.getprevious() is not None: + next_element = next_element.getprevious() + while next_element is not None: + serializeElement(next_element, indent + 2) + next_element = next_element.getnext() + elif isinstance(element, str) or isinstance(element, bytes): + # Text in a fragment + assert isinstance(element, str) or sys.version_info[0] == 2 + rv.append("|%s\"%s\"" % (' ' * indent, element)) + else: + # Fragment case + rv.append("#document-fragment") + for next_element in element: + serializeElement(next_element, indent + 2) + elif element.tag == comment_type: + rv.append("|%s<!-- %s -->" % (' ' * indent, element.text)) + if hasattr(element, "tail") and element.tail: + rv.append("|%s\"%s\"" % (' ' * indent, element.tail)) + else: + assert isinstance(element, etree._Element) + nsmatch = etree_builders.tag_regexp.match(element.tag) + if nsmatch is not None: + ns = nsmatch.group(1) + tag = nsmatch.group(2) + prefix = constants.prefixes[ns] + rv.append("|%s<%s %s>" % (' ' * indent, prefix, + infosetFilter.fromXmlName(tag))) + else: + rv.append("|%s<%s>" % (' ' * indent, + infosetFilter.fromXmlName(element.tag))) + + if hasattr(element, "attrib"): + attributes = [] + for name, value in element.attrib.items(): + nsmatch = tag_regexp.match(name) + if nsmatch is not None: + ns, name = nsmatch.groups() + name = infosetFilter.fromXmlName(name) + prefix = constants.prefixes[ns] + attr_string = "%s %s" % (prefix, name) + else: + attr_string = infosetFilter.fromXmlName(name) + attributes.append((attr_string, value)) + + for name, value in sorted(attributes): + rv.append('|%s%s="%s"' % (' ' * (indent + 2), name, value)) + + if element.text: + rv.append("|%s\"%s\"" % (' ' * (indent + 2), element.text)) + indent += 2 + for child in element: + serializeElement(child, indent) + if hasattr(element, "tail") and element.tail: + rv.append("|%s\"%s\"" % (' ' * (indent - 2), element.tail)) + serializeElement(element, 0) + + return "\n".join(rv) + + +def tostring(element): + """Serialize an element and its child nodes to a string""" + rv = [] + + def serializeElement(element): + if not hasattr(element, "tag"): + if element.docinfo.internalDTD: + if element.docinfo.doctype: + dtd_str = element.docinfo.doctype + else: + dtd_str = "<!DOCTYPE %s>" % element.docinfo.root_name + rv.append(dtd_str) + serializeElement(element.getroot()) + + elif element.tag == comment_type: + rv.append("<!--%s-->" % (element.text,)) + + else: + # This is assumed to be an ordinary element + if not element.attrib: + rv.append("<%s>" % (element.tag,)) + else: + attr = " ".join(["%s=\"%s\"" % (name, value) + for name, value in element.attrib.items()]) + rv.append("<%s %s>" % (element.tag, attr)) + if element.text: + rv.append(element.text) + + for child in element: + serializeElement(child) + + rv.append("</%s>" % (element.tag,)) + + if hasattr(element, "tail") and element.tail: + rv.append(element.tail) + + serializeElement(element) + + return "".join(rv) + + +class TreeBuilder(base.TreeBuilder): + documentClass = Document + doctypeClass = DocumentType + elementClass = None + commentClass = None + fragmentClass = Document + implementation = etree + + def __init__(self, namespaceHTMLElements, fullTree=False): + builder = etree_builders.getETreeModule(etree, fullTree=fullTree) + infosetFilter = self.infosetFilter = _ihatexml.InfosetFilter(preventDoubleDashComments=True) + self.namespaceHTMLElements = namespaceHTMLElements + + class Attributes(dict): + def __init__(self, element, value=None): + if value is None: + value = {} + self._element = element + dict.__init__(self, value) # pylint:disable=non-parent-init-called + for key, value in self.items(): + if isinstance(key, tuple): + name = "{%s}%s" % (key[2], infosetFilter.coerceAttribute(key[1])) + else: + name = infosetFilter.coerceAttribute(key) + self._element._element.attrib[name] = value + + def __setitem__(self, key, value): + dict.__setitem__(self, key, value) + if isinstance(key, tuple): + name = "{%s}%s" % (key[2], infosetFilter.coerceAttribute(key[1])) + else: + name = infosetFilter.coerceAttribute(key) + self._element._element.attrib[name] = value + + class Element(builder.Element): + def __init__(self, name, namespace): + name = infosetFilter.coerceElement(name) + builder.Element.__init__(self, name, namespace=namespace) + self._attributes = Attributes(self) + + def _setName(self, name): + self._name = infosetFilter.coerceElement(name) + self._element.tag = self._getETreeTag( + self._name, self._namespace) + + def _getName(self): + return infosetFilter.fromXmlName(self._name) + + name = property(_getName, _setName) + + def _getAttributes(self): + return self._attributes + + def _setAttributes(self, attributes): + self._attributes = Attributes(self, attributes) + + attributes = property(_getAttributes, _setAttributes) + + def insertText(self, data, insertBefore=None): + data = infosetFilter.coerceCharacters(data) + builder.Element.insertText(self, data, insertBefore) + + def appendChild(self, child): + builder.Element.appendChild(self, child) + + class Comment(builder.Comment): + def __init__(self, data): + data = infosetFilter.coerceComment(data) + builder.Comment.__init__(self, data) + + def _setData(self, data): + data = infosetFilter.coerceComment(data) + self._element.text = data + + def _getData(self): + return self._element.text + + data = property(_getData, _setData) + + self.elementClass = Element + self.commentClass = Comment + # self.fragmentClass = builder.DocumentFragment + base.TreeBuilder.__init__(self, namespaceHTMLElements) + + def reset(self): + base.TreeBuilder.reset(self) + self.insertComment = self.insertCommentInitial + self.initial_comments = [] + self.doctype = None + + def testSerializer(self, element): + return testSerializer(element) + + def getDocument(self): + if fullTree: + return self.document._elementTree + else: + return self.document._elementTree.getroot() + + def getFragment(self): + fragment = [] + element = self.openElements[0]._element + if element.text: + fragment.append(element.text) + fragment.extend(list(element)) + if element.tail: + fragment.append(element.tail) + return fragment + + def insertDoctype(self, token): + name = token["name"] + publicId = token["publicId"] + systemId = token["systemId"] + + if not name: + warnings.warn("lxml cannot represent empty doctype", DataLossWarning) + self.doctype = None + else: + coercedName = self.infosetFilter.coerceElement(name) + if coercedName != name: + warnings.warn("lxml cannot represent non-xml doctype", DataLossWarning) + + doctype = self.doctypeClass(coercedName, publicId, systemId) + self.doctype = doctype + + def insertCommentInitial(self, data, parent=None): + assert parent is None or parent is self.document + assert self.document._elementTree is None + self.initial_comments.append(data) + + def insertCommentMain(self, data, parent=None): + if (parent == self.document and + self.document._elementTree.getroot()[-1].tag == comment_type): + warnings.warn("lxml cannot represent adjacent comments beyond the root elements", DataLossWarning) + super(TreeBuilder, self).insertComment(data, parent) + + def insertRoot(self, token): + # Because of the way libxml2 works, it doesn't seem to be possible to + # alter information like the doctype after the tree has been parsed. + # Therefore we need to use the built-in parser to create our initial + # tree, after which we can add elements like normal + docStr = "" + if self.doctype: + assert self.doctype.name + docStr += "<!DOCTYPE %s" % self.doctype.name + if (self.doctype.publicId is not None or + self.doctype.systemId is not None): + docStr += (' PUBLIC "%s" ' % + (self.infosetFilter.coercePubid(self.doctype.publicId or ""))) + if self.doctype.systemId: + sysid = self.doctype.systemId + if sysid.find("'") >= 0 and sysid.find('"') >= 0: + warnings.warn("DOCTYPE system cannot contain single and double quotes", DataLossWarning) + sysid = sysid.replace("'", 'U00027') + if sysid.find("'") >= 0: + docStr += '"%s"' % sysid + else: + docStr += "'%s'" % sysid + else: + docStr += "''" + docStr += ">" + if self.doctype.name != token["name"]: + warnings.warn("lxml cannot represent doctype with a different name to the root element", DataLossWarning) + docStr += "<THIS_SHOULD_NEVER_APPEAR_PUBLICLY/>" + root = etree.fromstring(docStr) + + # Append the initial comments: + for comment_token in self.initial_comments: + comment = self.commentClass(comment_token["data"]) + root.addprevious(comment._element) + + # Create the root document and add the ElementTree to it + self.document = self.documentClass() + self.document._elementTree = root.getroottree() + + # Give the root element the right name + name = token["name"] + namespace = token.get("namespace", self.defaultNamespace) + if namespace is None: + etree_tag = name + else: + etree_tag = "{%s}%s" % (namespace, name) + root.tag = etree_tag + + # Add the root element to the internal child/open data structures + root_element = self.elementClass(name, namespace) + root_element._element = root + self.document._childNodes.append(root_element) + self.openElements.append(root_element) + + # Reset to the default insert comment function + self.insertComment = self.insertCommentMain diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/__init__.py new file mode 100644 index 0000000..9bec207 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/__init__.py @@ -0,0 +1,154 @@ +"""A collection of modules for iterating through different kinds of +tree, generating tokens identical to those produced by the tokenizer +module. + +To create a tree walker for a new type of tree, you need to do +implement a tree walker object (called TreeWalker by convention) that +implements a 'serialize' method taking a tree as sole argument and +returning an iterator generating tokens. +""" + +from __future__ import absolute_import, division, unicode_literals + +from .. import constants +from .._utils import default_etree + +__all__ = ["getTreeWalker", "pprint"] + +treeWalkerCache = {} + + +def getTreeWalker(treeType, implementation=None, **kwargs): + """Get a TreeWalker class for various types of tree with built-in support + + :arg str treeType: the name of the tree type required (case-insensitive). + Supported values are: + + * "dom": The xml.dom.minidom DOM implementation + * "etree": A generic walker for tree implementations exposing an + elementtree-like interface (known to work with ElementTree, + cElementTree and lxml.etree). + * "lxml": Optimized walker for lxml.etree + * "genshi": a Genshi stream + + :arg implementation: A module implementing the tree type e.g. + xml.etree.ElementTree or cElementTree (Currently applies to the "etree" + tree type only). + + :arg kwargs: keyword arguments passed to the etree walker--for other + walkers, this has no effect + + :returns: a TreeWalker class + + """ + + treeType = treeType.lower() + if treeType not in treeWalkerCache: + if treeType == "dom": + from . import dom + treeWalkerCache[treeType] = dom.TreeWalker + elif treeType == "genshi": + from . import genshi + treeWalkerCache[treeType] = genshi.TreeWalker + elif treeType == "lxml": + from . import etree_lxml + treeWalkerCache[treeType] = etree_lxml.TreeWalker + elif treeType == "etree": + from . import etree + if implementation is None: + implementation = default_etree + # XXX: NEVER cache here, caching is done in the etree submodule + return etree.getETreeModule(implementation, **kwargs).TreeWalker + return treeWalkerCache.get(treeType) + + +def concatenateCharacterTokens(tokens): + pendingCharacters = [] + for token in tokens: + type = token["type"] + if type in ("Characters", "SpaceCharacters"): + pendingCharacters.append(token["data"]) + else: + if pendingCharacters: + yield {"type": "Characters", "data": "".join(pendingCharacters)} + pendingCharacters = [] + yield token + if pendingCharacters: + yield {"type": "Characters", "data": "".join(pendingCharacters)} + + +def pprint(walker): + """Pretty printer for tree walkers + + Takes a TreeWalker instance and pretty prints the output of walking the tree. + + :arg walker: a TreeWalker instance + + """ + output = [] + indent = 0 + for token in concatenateCharacterTokens(walker): + type = token["type"] + if type in ("StartTag", "EmptyTag"): + # tag name + if token["namespace"] and token["namespace"] != constants.namespaces["html"]: + if token["namespace"] in constants.prefixes: + ns = constants.prefixes[token["namespace"]] + else: + ns = token["namespace"] + name = "%s %s" % (ns, token["name"]) + else: + name = token["name"] + output.append("%s<%s>" % (" " * indent, name)) + indent += 2 + # attributes (sorted for consistent ordering) + attrs = token["data"] + for (namespace, localname), value in sorted(attrs.items()): + if namespace: + if namespace in constants.prefixes: + ns = constants.prefixes[namespace] + else: + ns = namespace + name = "%s %s" % (ns, localname) + else: + name = localname + output.append("%s%s=\"%s\"" % (" " * indent, name, value)) + # self-closing + if type == "EmptyTag": + indent -= 2 + + elif type == "EndTag": + indent -= 2 + + elif type == "Comment": + output.append("%s<!-- %s -->" % (" " * indent, token["data"])) + + elif type == "Doctype": + if token["name"]: + if token["publicId"]: + output.append("""%s<!DOCTYPE %s "%s" "%s">""" % + (" " * indent, + token["name"], + token["publicId"], + token["systemId"] if token["systemId"] else "")) + elif token["systemId"]: + output.append("""%s<!DOCTYPE %s "" "%s">""" % + (" " * indent, + token["name"], + token["systemId"])) + else: + output.append("%s<!DOCTYPE %s>" % (" " * indent, + token["name"])) + else: + output.append("%s<!DOCTYPE >" % (" " * indent,)) + + elif type == "Characters": + output.append("%s\"%s\"" % (" " * indent, token["data"])) + + elif type == "SpaceCharacters": + assert False, "concatenateCharacterTokens should have got rid of all Space tokens" + + else: + raise ValueError("Unknown token type, %s" % type) + + return "\n".join(output) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1df2ec67733878dd4b83eb911548c5ff554ce0d4 GIT binary patch literal 4033 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/base.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/base.py new file mode 100644 index 0000000..80c474c --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/base.py @@ -0,0 +1,252 @@ +from __future__ import absolute_import, division, unicode_literals + +from xml.dom import Node +from ..constants import namespaces, voidElements, spaceCharacters + +__all__ = ["DOCUMENT", "DOCTYPE", "TEXT", "ELEMENT", "COMMENT", "ENTITY", "UNKNOWN", + "TreeWalker", "NonRecursiveTreeWalker"] + +DOCUMENT = Node.DOCUMENT_NODE +DOCTYPE = Node.DOCUMENT_TYPE_NODE +TEXT = Node.TEXT_NODE +ELEMENT = Node.ELEMENT_NODE +COMMENT = Node.COMMENT_NODE +ENTITY = Node.ENTITY_NODE +UNKNOWN = "<#UNKNOWN#>" + +spaceCharacters = "".join(spaceCharacters) + + +class TreeWalker(object): + """Walks a tree yielding tokens + + Tokens are dicts that all have a ``type`` field specifying the type of the + token. + + """ + def __init__(self, tree): + """Creates a TreeWalker + + :arg tree: the tree to walk + + """ + self.tree = tree + + def __iter__(self): + raise NotImplementedError + + def error(self, msg): + """Generates an error token with the given message + + :arg msg: the error message + + :returns: SerializeError token + + """ + return {"type": "SerializeError", "data": msg} + + def emptyTag(self, namespace, name, attrs, hasChildren=False): + """Generates an EmptyTag token + + :arg namespace: the namespace of the token--can be ``None`` + + :arg name: the name of the element + + :arg attrs: the attributes of the element as a dict + + :arg hasChildren: whether or not to yield a SerializationError because + this tag shouldn't have children + + :returns: EmptyTag token + + """ + yield {"type": "EmptyTag", "name": name, + "namespace": namespace, + "data": attrs} + if hasChildren: + yield self.error("Void element has children") + + def startTag(self, namespace, name, attrs): + """Generates a StartTag token + + :arg namespace: the namespace of the token--can be ``None`` + + :arg name: the name of the element + + :arg attrs: the attributes of the element as a dict + + :returns: StartTag token + + """ + return {"type": "StartTag", + "name": name, + "namespace": namespace, + "data": attrs} + + def endTag(self, namespace, name): + """Generates an EndTag token + + :arg namespace: the namespace of the token--can be ``None`` + + :arg name: the name of the element + + :returns: EndTag token + + """ + return {"type": "EndTag", + "name": name, + "namespace": namespace} + + def text(self, data): + """Generates SpaceCharacters and Characters tokens + + Depending on what's in the data, this generates one or more + ``SpaceCharacters`` and ``Characters`` tokens. + + For example: + + >>> from html5lib.treewalkers.base import TreeWalker + >>> # Give it an empty tree just so it instantiates + >>> walker = TreeWalker([]) + >>> list(walker.text('')) + [] + >>> list(walker.text(' ')) + [{u'data': ' ', u'type': u'SpaceCharacters'}] + >>> list(walker.text(' abc ')) # doctest: +NORMALIZE_WHITESPACE + [{u'data': ' ', u'type': u'SpaceCharacters'}, + {u'data': u'abc', u'type': u'Characters'}, + {u'data': u' ', u'type': u'SpaceCharacters'}] + + :arg data: the text data + + :returns: one or more ``SpaceCharacters`` and ``Characters`` tokens + + """ + data = data + middle = data.lstrip(spaceCharacters) + left = data[:len(data) - len(middle)] + if left: + yield {"type": "SpaceCharacters", "data": left} + data = middle + middle = data.rstrip(spaceCharacters) + right = data[len(middle):] + if middle: + yield {"type": "Characters", "data": middle} + if right: + yield {"type": "SpaceCharacters", "data": right} + + def comment(self, data): + """Generates a Comment token + + :arg data: the comment + + :returns: Comment token + + """ + return {"type": "Comment", "data": data} + + def doctype(self, name, publicId=None, systemId=None): + """Generates a Doctype token + + :arg name: + + :arg publicId: + + :arg systemId: + + :returns: the Doctype token + + """ + return {"type": "Doctype", + "name": name, + "publicId": publicId, + "systemId": systemId} + + def entity(self, name): + """Generates an Entity token + + :arg name: the entity name + + :returns: an Entity token + + """ + return {"type": "Entity", "name": name} + + def unknown(self, nodeType): + """Handles unknown node types""" + return self.error("Unknown node type: " + nodeType) + + +class NonRecursiveTreeWalker(TreeWalker): + def getNodeDetails(self, node): + raise NotImplementedError + + def getFirstChild(self, node): + raise NotImplementedError + + def getNextSibling(self, node): + raise NotImplementedError + + def getParentNode(self, node): + raise NotImplementedError + + def __iter__(self): + currentNode = self.tree + while currentNode is not None: + details = self.getNodeDetails(currentNode) + type, details = details[0], details[1:] + hasChildren = False + + if type == DOCTYPE: + yield self.doctype(*details) + + elif type == TEXT: + for token in self.text(*details): + yield token + + elif type == ELEMENT: + namespace, name, attributes, hasChildren = details + if (not namespace or namespace == namespaces["html"]) and name in voidElements: + for token in self.emptyTag(namespace, name, attributes, + hasChildren): + yield token + hasChildren = False + else: + yield self.startTag(namespace, name, attributes) + + elif type == COMMENT: + yield self.comment(details[0]) + + elif type == ENTITY: + yield self.entity(details[0]) + + elif type == DOCUMENT: + hasChildren = True + + else: + yield self.unknown(details[0]) + + if hasChildren: + firstChild = self.getFirstChild(currentNode) + else: + firstChild = None + + if firstChild is not None: + currentNode = firstChild + else: + while currentNode is not None: + details = self.getNodeDetails(currentNode) + type, details = details[0], details[1:] + if type == ELEMENT: + namespace, name, attributes, hasChildren = details + if (namespace and namespace != namespaces["html"]) or name not in voidElements: + yield self.endTag(namespace, name) + if self.tree is currentNode: + currentNode = None + break + nextSibling = self.getNextSibling(currentNode) + if nextSibling is not None: + currentNode = nextSibling + break + else: + currentNode = self.getParentNode(currentNode) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/dom.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/dom.py new file mode 100644 index 0000000..b0c89b0 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/dom.py @@ -0,0 +1,43 @@ +from __future__ import absolute_import, division, unicode_literals + +from xml.dom import Node + +from . import base + + +class TreeWalker(base.NonRecursiveTreeWalker): + def getNodeDetails(self, node): + if node.nodeType == Node.DOCUMENT_TYPE_NODE: + return base.DOCTYPE, node.name, node.publicId, node.systemId + + elif node.nodeType in (Node.TEXT_NODE, Node.CDATA_SECTION_NODE): + return base.TEXT, node.nodeValue + + elif node.nodeType == Node.ELEMENT_NODE: + attrs = {} + for attr in list(node.attributes.keys()): + attr = node.getAttributeNode(attr) + if attr.namespaceURI: + attrs[(attr.namespaceURI, attr.localName)] = attr.value + else: + attrs[(None, attr.name)] = attr.value + return (base.ELEMENT, node.namespaceURI, node.nodeName, + attrs, node.hasChildNodes()) + + elif node.nodeType == Node.COMMENT_NODE: + return base.COMMENT, node.nodeValue + + elif node.nodeType in (Node.DOCUMENT_NODE, Node.DOCUMENT_FRAGMENT_NODE): + return (base.DOCUMENT,) + + else: + return base.UNKNOWN, node.nodeType + + def getFirstChild(self, node): + return node.firstChild + + def getNextSibling(self, node): + return node.nextSibling + + def getParentNode(self, node): + return node.parentNode diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/etree.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/etree.py new file mode 100644 index 0000000..95fc0c1 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/etree.py @@ -0,0 +1,130 @@ +from __future__ import absolute_import, division, unicode_literals + +from collections import OrderedDict +import re + +from pip._vendor.six import string_types + +from . import base +from .._utils import moduleFactoryFactory + +tag_regexp = re.compile("{([^}]*)}(.*)") + + +def getETreeBuilder(ElementTreeImplementation): + ElementTree = ElementTreeImplementation + ElementTreeCommentType = ElementTree.Comment("asd").tag + + class TreeWalker(base.NonRecursiveTreeWalker): # pylint:disable=unused-variable + """Given the particular ElementTree representation, this implementation, + to avoid using recursion, returns "nodes" as tuples with the following + content: + + 1. The current element + + 2. The index of the element relative to its parent + + 3. A stack of ancestor elements + + 4. A flag "text", "tail" or None to indicate if the current node is a + text node; either the text or tail of the current element (1) + """ + def getNodeDetails(self, node): + if isinstance(node, tuple): # It might be the root Element + elt, _, _, flag = node + if flag in ("text", "tail"): + return base.TEXT, getattr(elt, flag) + else: + node = elt + + if not(hasattr(node, "tag")): + node = node.getroot() + + if node.tag in ("DOCUMENT_ROOT", "DOCUMENT_FRAGMENT"): + return (base.DOCUMENT,) + + elif node.tag == "<!DOCTYPE>": + return (base.DOCTYPE, node.text, + node.get("publicId"), node.get("systemId")) + + elif node.tag == ElementTreeCommentType: + return base.COMMENT, node.text + + else: + assert isinstance(node.tag, string_types), type(node.tag) + # This is assumed to be an ordinary element + match = tag_regexp.match(node.tag) + if match: + namespace, tag = match.groups() + else: + namespace = None + tag = node.tag + attrs = OrderedDict() + for name, value in list(node.attrib.items()): + match = tag_regexp.match(name) + if match: + attrs[(match.group(1), match.group(2))] = value + else: + attrs[(None, name)] = value + return (base.ELEMENT, namespace, tag, + attrs, len(node) or node.text) + + def getFirstChild(self, node): + if isinstance(node, tuple): + element, key, parents, flag = node + else: + element, key, parents, flag = node, None, [], None + + if flag in ("text", "tail"): + return None + else: + if element.text: + return element, key, parents, "text" + elif len(element): + parents.append(element) + return element[0], 0, parents, None + else: + return None + + def getNextSibling(self, node): + if isinstance(node, tuple): + element, key, parents, flag = node + else: + return None + + if flag == "text": + if len(element): + parents.append(element) + return element[0], 0, parents, None + else: + return None + else: + if element.tail and flag != "tail": + return element, key, parents, "tail" + elif key < len(parents[-1]) - 1: + return parents[-1][key + 1], key + 1, parents, None + else: + return None + + def getParentNode(self, node): + if isinstance(node, tuple): + element, key, parents, flag = node + else: + return None + + if flag == "text": + if not parents: + return element + else: + return element, key, parents, None + else: + parent = parents.pop() + if not parents: + return parent + else: + assert list(parents[-1]).count(parent) == 1 + return parent, list(parents[-1]).index(parent), parents, None + + return locals() + +getETreeModule = moduleFactoryFactory(getETreeBuilder) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/etree_lxml.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/etree_lxml.py new file mode 100644 index 0000000..e81ddf3 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/etree_lxml.py @@ -0,0 +1,213 @@ +from __future__ import absolute_import, division, unicode_literals +from pip._vendor.six import text_type + +from lxml import etree +from ..treebuilders.etree import tag_regexp + +from . import base + +from .. import _ihatexml + + +def ensure_str(s): + if s is None: + return None + elif isinstance(s, text_type): + return s + else: + return s.decode("ascii", "strict") + + +class Root(object): + def __init__(self, et): + self.elementtree = et + self.children = [] + + try: + if et.docinfo.internalDTD: + self.children.append(Doctype(self, + ensure_str(et.docinfo.root_name), + ensure_str(et.docinfo.public_id), + ensure_str(et.docinfo.system_url))) + except AttributeError: + pass + + try: + node = et.getroot() + except AttributeError: + node = et + + while node.getprevious() is not None: + node = node.getprevious() + while node is not None: + self.children.append(node) + node = node.getnext() + + self.text = None + self.tail = None + + def __getitem__(self, key): + return self.children[key] + + def getnext(self): + return None + + def __len__(self): + return 1 + + +class Doctype(object): + def __init__(self, root_node, name, public_id, system_id): + self.root_node = root_node + self.name = name + self.public_id = public_id + self.system_id = system_id + + self.text = None + self.tail = None + + def getnext(self): + return self.root_node.children[1] + + +class FragmentRoot(Root): + def __init__(self, children): + self.children = [FragmentWrapper(self, child) for child in children] + self.text = self.tail = None + + def getnext(self): + return None + + +class FragmentWrapper(object): + def __init__(self, fragment_root, obj): + self.root_node = fragment_root + self.obj = obj + if hasattr(self.obj, 'text'): + self.text = ensure_str(self.obj.text) + else: + self.text = None + if hasattr(self.obj, 'tail'): + self.tail = ensure_str(self.obj.tail) + else: + self.tail = None + + def __getattr__(self, name): + return getattr(self.obj, name) + + def getnext(self): + siblings = self.root_node.children + idx = siblings.index(self) + if idx < len(siblings) - 1: + return siblings[idx + 1] + else: + return None + + def __getitem__(self, key): + return self.obj[key] + + def __bool__(self): + return bool(self.obj) + + def getparent(self): + return None + + def __str__(self): + return str(self.obj) + + def __unicode__(self): + return str(self.obj) + + def __len__(self): + return len(self.obj) + + +class TreeWalker(base.NonRecursiveTreeWalker): + def __init__(self, tree): + # pylint:disable=redefined-variable-type + if isinstance(tree, list): + self.fragmentChildren = set(tree) + tree = FragmentRoot(tree) + else: + self.fragmentChildren = set() + tree = Root(tree) + base.NonRecursiveTreeWalker.__init__(self, tree) + self.filter = _ihatexml.InfosetFilter() + + def getNodeDetails(self, node): + if isinstance(node, tuple): # Text node + node, key = node + assert key in ("text", "tail"), "Text nodes are text or tail, found %s" % key + return base.TEXT, ensure_str(getattr(node, key)) + + elif isinstance(node, Root): + return (base.DOCUMENT,) + + elif isinstance(node, Doctype): + return base.DOCTYPE, node.name, node.public_id, node.system_id + + elif isinstance(node, FragmentWrapper) and not hasattr(node, "tag"): + return base.TEXT, ensure_str(node.obj) + + elif node.tag == etree.Comment: + return base.COMMENT, ensure_str(node.text) + + elif node.tag == etree.Entity: + return base.ENTITY, ensure_str(node.text)[1:-1] # strip &; + + else: + # This is assumed to be an ordinary element + match = tag_regexp.match(ensure_str(node.tag)) + if match: + namespace, tag = match.groups() + else: + namespace = None + tag = ensure_str(node.tag) + attrs = {} + for name, value in list(node.attrib.items()): + name = ensure_str(name) + value = ensure_str(value) + match = tag_regexp.match(name) + if match: + attrs[(match.group(1), match.group(2))] = value + else: + attrs[(None, name)] = value + return (base.ELEMENT, namespace, self.filter.fromXmlName(tag), + attrs, len(node) > 0 or node.text) + + def getFirstChild(self, node): + assert not isinstance(node, tuple), "Text nodes have no children" + + assert len(node) or node.text, "Node has no children" + if node.text: + return (node, "text") + else: + return node[0] + + def getNextSibling(self, node): + if isinstance(node, tuple): # Text node + node, key = node + assert key in ("text", "tail"), "Text nodes are text or tail, found %s" % key + if key == "text": + # XXX: we cannot use a "bool(node) and node[0] or None" construct here + # because node[0] might evaluate to False if it has no child element + if len(node): + return node[0] + else: + return None + else: # tail + return node.getnext() + + return (node, "tail") if node.tail else node.getnext() + + def getParentNode(self, node): + if isinstance(node, tuple): # Text node + node, key = node + assert key in ("text", "tail"), "Text nodes are text or tail, found %s" % key + if key == "text": + return node + # else: fallback to "normal" processing + elif node in self.fragmentChildren: + return None + + return node.getparent() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/genshi.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/genshi.py new file mode 100644 index 0000000..7483be2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/genshi.py @@ -0,0 +1,69 @@ +from __future__ import absolute_import, division, unicode_literals + +from genshi.core import QName +from genshi.core import START, END, XML_NAMESPACE, DOCTYPE, TEXT +from genshi.core import START_NS, END_NS, START_CDATA, END_CDATA, PI, COMMENT + +from . import base + +from ..constants import voidElements, namespaces + + +class TreeWalker(base.TreeWalker): + def __iter__(self): + # Buffer the events so we can pass in the following one + previous = None + for event in self.tree: + if previous is not None: + for token in self.tokens(previous, event): + yield token + previous = event + + # Don't forget the final event! + if previous is not None: + for token in self.tokens(previous, None): + yield token + + def tokens(self, event, next): + kind, data, _ = event + if kind == START: + tag, attribs = data + name = tag.localname + namespace = tag.namespace + converted_attribs = {} + for k, v in attribs: + if isinstance(k, QName): + converted_attribs[(k.namespace, k.localname)] = v + else: + converted_attribs[(None, k)] = v + + if namespace == namespaces["html"] and name in voidElements: + for token in self.emptyTag(namespace, name, converted_attribs, + not next or next[0] != END or + next[1] != tag): + yield token + else: + yield self.startTag(namespace, name, converted_attribs) + + elif kind == END: + name = data.localname + namespace = data.namespace + if namespace != namespaces["html"] or name not in voidElements: + yield self.endTag(namespace, name) + + elif kind == COMMENT: + yield self.comment(data) + + elif kind == TEXT: + for token in self.text(data): + yield token + + elif kind == DOCTYPE: + yield self.doctype(*data) + + elif kind in (XML_NAMESPACE, DOCTYPE, START_NS, END_NS, + START_CDATA, END_CDATA, PI): + pass + + else: + yield self.unknown(kind) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/__init__.py new file mode 100644 index 0000000..847bf93 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/__init__.py @@ -0,0 +1,2 @@ +from .package_data import __version__ +from .core import * diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d2394593a4ec94626719848b688a0157464854fc GIT binary patch literal 283 zcmX|6!Ait15KX#^i0<C~g$m6m)dfYwo42K~;z5KEo1u-iNl3Dlp8XnssaH??3tlu? z#DVviHxFjsl*{E2-TgdY6GFZs{ws^!U4%c0B#ERQ>FE=tsn5FXfymj0<ntYkc21{b z&Ifc}8O?c=^mLuiriB&tn`n?r5rj({r+IB0eiC;O#h$)Dpfx>0ubM4(7nduj#<~@* zubg?sI{2tVYxHBaz83-C#RvoH0Xp>pcJGvI1zrU#{;qkj$`<EW?2MI#9iz>#Y0?m4 gMlFp4CA9#~l~#dsX2<F9rZ;li;ca@yr=$z|3#fZf=l}o! literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/__pycache__/core.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/__pycache__/core.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ca29b5c8ec53b9e766e771898ccf2c6cbe80281b GIT binary patch literal 9183 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/__pycache__/idnadata.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/__pycache__/idnadata.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b46fd4ea8946844f999b2d9462aebc2bfc0edb36 GIT binary patch literal 29822 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/__pycache__/intranges.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/__pycache__/intranges.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6b56ed6d487a868ee7c67b0dc7fe0957be48ea28 GIT binary patch literal 1844 zcmZuyTW{Mo6ee|XTqRk%wcC<y=!gs$A|R1-*$Qk(FW7?hrSO8b*Z`x0qKLGuSe6u$ zO5#FBAKbm|kL(BSMX!6xU)W1_4&@|WF&d=E!*k<zF5X>U_UOgstG`-={7v2&7VMwE zR9moc(j%O5E2TZkZSK4!J&U`%1z(#l@HTuMev5nXb-DF|_>0jkN{II~ITaa;Sehu! z@;*y4Ee1lW4K|LrU}b^C^<iF!ewn5dA6V5mN>i4V<0B#QHqEmElVzqnIK+9TL|kf6 z`;M+S9~Y$-AS^{8g%X*LbdqN%u7`s4b2;|b*OiW>-ris$<J<lQYtB37yyLSV2>gJ( z9HPIOIs@Y<dQu8yRIQywik-8$dN0Y$buN=Zl0~U`;Nvy$iRol4*w5=}K3M<C`0e|F zcL5lZZVZr^0az29Kf+Xhz@kY-W^_siWNLAHYM)C@wN=p>{PxLjM^mSAIQ^6~v=Ncd zDq1<K1XrZ5LUdNh$db=a?gPz6T66QewMwRLWgXkvsUS8W<8qKhj+r&16!@n0$^Bo6 z2Cf-}*tyZ?;OO%!DE}vX46uMm2|y={1;Q+&Y#`M49)mGQI@~hQhFjNIhYk24qK|NI zFjdAw05a15LDOitN);AK!NhqK>vRHKxe^eD8#xoyFkyQSfxL&Yg#!efsT|^v1fEg$ z+_=}M%Ho_0j!#fYHb`$0X`T^mZ;$QnunKj7i&?IbSC>U9RA97SU>qeb7nd-k4LiS8 zw^S~*;I(VOsO?l_bt@_g&{HpmfE3sbn>*L2^IJU^D<kYJHliV(>Q)10&r2h?JClhP zHBEZUaVaIFcBA4?BA3AIKW{rjcxY#w3`&uH^X-Gq!6Y6=a(p23V-afwX8<kx<)HgC z(&8+dbf6+nJ85#%Da_4o@Svl>#AXr2qX>f7DUxDy`@3K(*xf89a2<%j0EwLtM0qYd z3D2Sq#HaByC?@sY>r>d5`PjU}1NYP?u#k3}I`I35-k~ehqW9<*v~9@`;3mc{g9E=f zO-10tD#*}Bkl#NL$VjVu!GLC7>|3>Kf?nI;jUhG5GIF$G`4Xlwim5qYmmNmTfoY7~ zfejjYjH~m6^s#NZU3nYm5~WiND-NgGUcR|}W6yn{HI?s~h7fac6XG=xymI0$?5|(C zU^LF1cnt@veNJcA)Y9}AY96Z4n%Y>yBS&_%ZR*)tff}FDSJu>lYIZ7c$|fV4?^o`K zWR68BkzH=TAQjd*bPebcr;Y5jTnpu(N1P%bcksEdAMOh+<T%No4EpR4!WbU1K6GG( z{WWJfT+F*@6K!m9ht2jdFg0Mndij&@8nEluQ35Sm*Ne?JOhsQyL_lK4^A~y!8j+YC zy_PA1u(pd_)edq(@g#$xu4(u_ydU1A82k(9D9OGC6-|O!9$m8AkXS3!v6djsFyZ89 zXs=Z-gdxx4FqHS;Y_iTc+W3S#?^wdjlbA?#dvBccG8K=|YlYrAR@-WS+_u}!zd768 A(EtDd literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/__pycache__/package_data.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/__pycache__/package_data.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..38c8409a922140c320154e61b4ea346d2e4b8aea GIT binary patch literal 237 zcmXr!<>g|0`9DUKfq~&M5W@i@kmUfx#T-B)g&~R|g)x{xlc|c?NYBDglkpaJe0*7I zQE_H|UVQvYh9V}QDlqY@T|Xl~H&s73Grcr5$Hdf3KcF%>Be5tqpeR2pHMyi1$S=vr z&kGCib5ATuEl;e}FH6lU)6dCF(k}qZ80(qo7iX5F>J}s>XD6no7V8&e7U&vU>KW)6 z>lRc3rS($N(?NpzKqus-<QM5@rsO5+LzTy;B$g!V6;$5hu*uC&Da}c>19_zwh#3Hg C6GV*w literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/codec.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/codec.py new file mode 100644 index 0000000..98c65ea --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/codec.py @@ -0,0 +1,118 @@ +from .core import encode, decode, alabel, ulabel, IDNAError +import codecs +import re + +_unicode_dots_re = re.compile(u'[\u002e\u3002\uff0e\uff61]') + +class Codec(codecs.Codec): + + def encode(self, data, errors='strict'): + + if errors != 'strict': + raise IDNAError("Unsupported error handling \"{0}\"".format(errors)) + + if not data: + return "", 0 + + return encode(data), len(data) + + def decode(self, data, errors='strict'): + + if errors != 'strict': + raise IDNAError("Unsupported error handling \"{0}\"".format(errors)) + + if not data: + return u"", 0 + + return decode(data), len(data) + +class IncrementalEncoder(codecs.BufferedIncrementalEncoder): + def _buffer_encode(self, data, errors, final): + if errors != 'strict': + raise IDNAError("Unsupported error handling \"{0}\"".format(errors)) + + if not data: + return ("", 0) + + labels = _unicode_dots_re.split(data) + trailing_dot = u'' + if labels: + if not labels[-1]: + trailing_dot = '.' + del labels[-1] + elif not final: + # Keep potentially unfinished label until the next call + del labels[-1] + if labels: + trailing_dot = '.' + + result = [] + size = 0 + for label in labels: + result.append(alabel(label)) + if size: + size += 1 + size += len(label) + + # Join with U+002E + result = ".".join(result) + trailing_dot + size += len(trailing_dot) + return (result, size) + +class IncrementalDecoder(codecs.BufferedIncrementalDecoder): + def _buffer_decode(self, data, errors, final): + if errors != 'strict': + raise IDNAError("Unsupported error handling \"{0}\"".format(errors)) + + if not data: + return (u"", 0) + + # IDNA allows decoding to operate on Unicode strings, too. + if isinstance(data, unicode): + labels = _unicode_dots_re.split(data) + else: + # Must be ASCII string + data = str(data) + unicode(data, "ascii") + labels = data.split(".") + + trailing_dot = u'' + if labels: + if not labels[-1]: + trailing_dot = u'.' + del labels[-1] + elif not final: + # Keep potentially unfinished label until the next call + del labels[-1] + if labels: + trailing_dot = u'.' + + result = [] + size = 0 + for label in labels: + result.append(ulabel(label)) + if size: + size += 1 + size += len(label) + + result = u".".join(result) + trailing_dot + size += len(trailing_dot) + return (result, size) + + +class StreamWriter(Codec, codecs.StreamWriter): + pass + +class StreamReader(Codec, codecs.StreamReader): + pass + +def getregentry(): + return codecs.CodecInfo( + name='idna', + encode=Codec().encode, + decode=Codec().decode, + incrementalencoder=IncrementalEncoder, + incrementaldecoder=IncrementalDecoder, + streamwriter=StreamWriter, + streamreader=StreamReader, + ) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/compat.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/compat.py new file mode 100644 index 0000000..4d47f33 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/compat.py @@ -0,0 +1,12 @@ +from .core import * +from .codec import * + +def ToASCII(label): + return encode(label) + +def ToUnicode(label): + return decode(label) + +def nameprep(s): + raise NotImplementedError("IDNA 2008 does not utilise nameprep protocol") + diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/core.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/core.py new file mode 100644 index 0000000..104624a --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/core.py @@ -0,0 +1,396 @@ +from . import idnadata +import bisect +import unicodedata +import re +import sys +from .intranges import intranges_contain + +_virama_combining_class = 9 +_alabel_prefix = b'xn--' +_unicode_dots_re = re.compile(u'[\u002e\u3002\uff0e\uff61]') + +if sys.version_info[0] == 3: + unicode = str + unichr = chr + +class IDNAError(UnicodeError): + """ Base exception for all IDNA-encoding related problems """ + pass + + +class IDNABidiError(IDNAError): + """ Exception when bidirectional requirements are not satisfied """ + pass + + +class InvalidCodepoint(IDNAError): + """ Exception when a disallowed or unallocated codepoint is used """ + pass + + +class InvalidCodepointContext(IDNAError): + """ Exception when the codepoint is not valid in the context it is used """ + pass + + +def _combining_class(cp): + v = unicodedata.combining(unichr(cp)) + if v == 0: + if not unicodedata.name(unichr(cp)): + raise ValueError("Unknown character in unicodedata") + return v + +def _is_script(cp, script): + return intranges_contain(ord(cp), idnadata.scripts[script]) + +def _punycode(s): + return s.encode('punycode') + +def _unot(s): + return 'U+{0:04X}'.format(s) + + +def valid_label_length(label): + + if len(label) > 63: + return False + return True + + +def valid_string_length(label, trailing_dot): + + if len(label) > (254 if trailing_dot else 253): + return False + return True + + +def check_bidi(label, check_ltr=False): + + # Bidi rules should only be applied if string contains RTL characters + bidi_label = False + for (idx, cp) in enumerate(label, 1): + direction = unicodedata.bidirectional(cp) + if direction == '': + # String likely comes from a newer version of Unicode + raise IDNABidiError('Unknown directionality in label {0} at position {1}'.format(repr(label), idx)) + if direction in ['R', 'AL', 'AN']: + bidi_label = True + if not bidi_label and not check_ltr: + return True + + # Bidi rule 1 + direction = unicodedata.bidirectional(label[0]) + if direction in ['R', 'AL']: + rtl = True + elif direction == 'L': + rtl = False + else: + raise IDNABidiError('First codepoint in label {0} must be directionality L, R or AL'.format(repr(label))) + + valid_ending = False + number_type = False + for (idx, cp) in enumerate(label, 1): + direction = unicodedata.bidirectional(cp) + + if rtl: + # Bidi rule 2 + if not direction in ['R', 'AL', 'AN', 'EN', 'ES', 'CS', 'ET', 'ON', 'BN', 'NSM']: + raise IDNABidiError('Invalid direction for codepoint at position {0} in a right-to-left label'.format(idx)) + # Bidi rule 3 + if direction in ['R', 'AL', 'EN', 'AN']: + valid_ending = True + elif direction != 'NSM': + valid_ending = False + # Bidi rule 4 + if direction in ['AN', 'EN']: + if not number_type: + number_type = direction + else: + if number_type != direction: + raise IDNABidiError('Can not mix numeral types in a right-to-left label') + else: + # Bidi rule 5 + if not direction in ['L', 'EN', 'ES', 'CS', 'ET', 'ON', 'BN', 'NSM']: + raise IDNABidiError('Invalid direction for codepoint at position {0} in a left-to-right label'.format(idx)) + # Bidi rule 6 + if direction in ['L', 'EN']: + valid_ending = True + elif direction != 'NSM': + valid_ending = False + + if not valid_ending: + raise IDNABidiError('Label ends with illegal codepoint directionality') + + return True + + +def check_initial_combiner(label): + + if unicodedata.category(label[0])[0] == 'M': + raise IDNAError('Label begins with an illegal combining character') + return True + + +def check_hyphen_ok(label): + + if label[2:4] == '--': + raise IDNAError('Label has disallowed hyphens in 3rd and 4th position') + if label[0] == '-' or label[-1] == '-': + raise IDNAError('Label must not start or end with a hyphen') + return True + + +def check_nfc(label): + + if unicodedata.normalize('NFC', label) != label: + raise IDNAError('Label must be in Normalization Form C') + + +def valid_contextj(label, pos): + + cp_value = ord(label[pos]) + + if cp_value == 0x200c: + + if pos > 0: + if _combining_class(ord(label[pos - 1])) == _virama_combining_class: + return True + + ok = False + for i in range(pos-1, -1, -1): + joining_type = idnadata.joining_types.get(ord(label[i])) + if joining_type == ord('T'): + continue + if joining_type in [ord('L'), ord('D')]: + ok = True + break + + if not ok: + return False + + ok = False + for i in range(pos+1, len(label)): + joining_type = idnadata.joining_types.get(ord(label[i])) + if joining_type == ord('T'): + continue + if joining_type in [ord('R'), ord('D')]: + ok = True + break + return ok + + if cp_value == 0x200d: + + if pos > 0: + if _combining_class(ord(label[pos - 1])) == _virama_combining_class: + return True + return False + + else: + + return False + + +def valid_contexto(label, pos, exception=False): + + cp_value = ord(label[pos]) + + if cp_value == 0x00b7: + if 0 < pos < len(label)-1: + if ord(label[pos - 1]) == 0x006c and ord(label[pos + 1]) == 0x006c: + return True + return False + + elif cp_value == 0x0375: + if pos < len(label)-1 and len(label) > 1: + return _is_script(label[pos + 1], 'Greek') + return False + + elif cp_value == 0x05f3 or cp_value == 0x05f4: + if pos > 0: + return _is_script(label[pos - 1], 'Hebrew') + return False + + elif cp_value == 0x30fb: + for cp in label: + if cp == u'\u30fb': + continue + if _is_script(cp, 'Hiragana') or _is_script(cp, 'Katakana') or _is_script(cp, 'Han'): + return True + return False + + elif 0x660 <= cp_value <= 0x669: + for cp in label: + if 0x6f0 <= ord(cp) <= 0x06f9: + return False + return True + + elif 0x6f0 <= cp_value <= 0x6f9: + for cp in label: + if 0x660 <= ord(cp) <= 0x0669: + return False + return True + + +def check_label(label): + + if isinstance(label, (bytes, bytearray)): + label = label.decode('utf-8') + if len(label) == 0: + raise IDNAError('Empty Label') + + check_nfc(label) + check_hyphen_ok(label) + check_initial_combiner(label) + + for (pos, cp) in enumerate(label): + cp_value = ord(cp) + if intranges_contain(cp_value, idnadata.codepoint_classes['PVALID']): + continue + elif intranges_contain(cp_value, idnadata.codepoint_classes['CONTEXTJ']): + try: + if not valid_contextj(label, pos): + raise InvalidCodepointContext('Joiner {0} not allowed at position {1} in {2}'.format( + _unot(cp_value), pos+1, repr(label))) + except ValueError: + raise IDNAError('Unknown codepoint adjacent to joiner {0} at position {1} in {2}'.format( + _unot(cp_value), pos+1, repr(label))) + elif intranges_contain(cp_value, idnadata.codepoint_classes['CONTEXTO']): + if not valid_contexto(label, pos): + raise InvalidCodepointContext('Codepoint {0} not allowed at position {1} in {2}'.format(_unot(cp_value), pos+1, repr(label))) + else: + raise InvalidCodepoint('Codepoint {0} at position {1} of {2} not allowed'.format(_unot(cp_value), pos+1, repr(label))) + + check_bidi(label) + + +def alabel(label): + + try: + label = label.encode('ascii') + ulabel(label) + if not valid_label_length(label): + raise IDNAError('Label too long') + return label + except UnicodeEncodeError: + pass + + if not label: + raise IDNAError('No Input') + + label = unicode(label) + check_label(label) + label = _punycode(label) + label = _alabel_prefix + label + + if not valid_label_length(label): + raise IDNAError('Label too long') + + return label + + +def ulabel(label): + + if not isinstance(label, (bytes, bytearray)): + try: + label = label.encode('ascii') + except UnicodeEncodeError: + check_label(label) + return label + + label = label.lower() + if label.startswith(_alabel_prefix): + label = label[len(_alabel_prefix):] + else: + check_label(label) + return label.decode('ascii') + + label = label.decode('punycode') + check_label(label) + return label + + +def uts46_remap(domain, std3_rules=True, transitional=False): + """Re-map the characters in the string according to UTS46 processing.""" + from .uts46data import uts46data + output = u"" + try: + for pos, char in enumerate(domain): + code_point = ord(char) + uts46row = uts46data[code_point if code_point < 256 else + bisect.bisect_left(uts46data, (code_point, "Z")) - 1] + status = uts46row[1] + replacement = uts46row[2] if len(uts46row) == 3 else None + if (status == "V" or + (status == "D" and not transitional) or + (status == "3" and not std3_rules and replacement is None)): + output += char + elif replacement is not None and (status == "M" or + (status == "3" and not std3_rules) or + (status == "D" and transitional)): + output += replacement + elif status != "I": + raise IndexError() + return unicodedata.normalize("NFC", output) + except IndexError: + raise InvalidCodepoint( + "Codepoint {0} not allowed at position {1} in {2}".format( + _unot(code_point), pos + 1, repr(domain))) + + +def encode(s, strict=False, uts46=False, std3_rules=False, transitional=False): + + if isinstance(s, (bytes, bytearray)): + s = s.decode("ascii") + if uts46: + s = uts46_remap(s, std3_rules, transitional) + trailing_dot = False + result = [] + if strict: + labels = s.split('.') + else: + labels = _unicode_dots_re.split(s) + if not labels or labels == ['']: + raise IDNAError('Empty domain') + if labels[-1] == '': + del labels[-1] + trailing_dot = True + for label in labels: + s = alabel(label) + if s: + result.append(s) + else: + raise IDNAError('Empty label') + if trailing_dot: + result.append(b'') + s = b'.'.join(result) + if not valid_string_length(s, trailing_dot): + raise IDNAError('Domain too long') + return s + + +def decode(s, strict=False, uts46=False, std3_rules=False): + + if isinstance(s, (bytes, bytearray)): + s = s.decode("ascii") + if uts46: + s = uts46_remap(s, std3_rules, False) + trailing_dot = False + result = [] + if not strict: + labels = _unicode_dots_re.split(s) + else: + labels = s.split(u'.') + if not labels or labels == ['']: + raise IDNAError('Empty domain') + if not labels[-1]: + del labels[-1] + trailing_dot = True + for label in labels: + s = ulabel(label) + if s: + result.append(s) + else: + raise IDNAError('Empty label') + if trailing_dot: + result.append(u'') + return u'.'.join(result) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/idnadata.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/idnadata.py new file mode 100644 index 0000000..a80c959 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/idnadata.py @@ -0,0 +1,1979 @@ +# This file is automatically generated by tools/idna-data + +__version__ = "11.0.0" +scripts = { + 'Greek': ( + 0x37000000374, + 0x37500000378, + 0x37a0000037e, + 0x37f00000380, + 0x38400000385, + 0x38600000387, + 0x3880000038b, + 0x38c0000038d, + 0x38e000003a2, + 0x3a3000003e2, + 0x3f000000400, + 0x1d2600001d2b, + 0x1d5d00001d62, + 0x1d6600001d6b, + 0x1dbf00001dc0, + 0x1f0000001f16, + 0x1f1800001f1e, + 0x1f2000001f46, + 0x1f4800001f4e, + 0x1f5000001f58, + 0x1f5900001f5a, + 0x1f5b00001f5c, + 0x1f5d00001f5e, + 0x1f5f00001f7e, + 0x1f8000001fb5, + 0x1fb600001fc5, + 0x1fc600001fd4, + 0x1fd600001fdc, + 0x1fdd00001ff0, + 0x1ff200001ff5, + 0x1ff600001fff, + 0x212600002127, + 0xab650000ab66, + 0x101400001018f, + 0x101a0000101a1, + 0x1d2000001d246, + ), + 'Han': ( + 0x2e8000002e9a, + 0x2e9b00002ef4, + 0x2f0000002fd6, + 0x300500003006, + 0x300700003008, + 0x30210000302a, + 0x30380000303c, + 0x340000004db6, + 0x4e0000009ff0, + 0xf9000000fa6e, + 0xfa700000fada, + 0x200000002a6d7, + 0x2a7000002b735, + 0x2b7400002b81e, + 0x2b8200002cea2, + 0x2ceb00002ebe1, + 0x2f8000002fa1e, + ), + 'Hebrew': ( + 0x591000005c8, + 0x5d0000005eb, + 0x5ef000005f5, + 0xfb1d0000fb37, + 0xfb380000fb3d, + 0xfb3e0000fb3f, + 0xfb400000fb42, + 0xfb430000fb45, + 0xfb460000fb50, + ), + 'Hiragana': ( + 0x304100003097, + 0x309d000030a0, + 0x1b0010001b11f, + 0x1f2000001f201, + ), + 'Katakana': ( + 0x30a1000030fb, + 0x30fd00003100, + 0x31f000003200, + 0x32d0000032ff, + 0x330000003358, + 0xff660000ff70, + 0xff710000ff9e, + 0x1b0000001b001, + ), +} +joining_types = { + 0x600: 85, + 0x601: 85, + 0x602: 85, + 0x603: 85, + 0x604: 85, + 0x605: 85, + 0x608: 85, + 0x60b: 85, + 0x620: 68, + 0x621: 85, + 0x622: 82, + 0x623: 82, + 0x624: 82, + 0x625: 82, + 0x626: 68, + 0x627: 82, + 0x628: 68, + 0x629: 82, + 0x62a: 68, + 0x62b: 68, + 0x62c: 68, + 0x62d: 68, + 0x62e: 68, + 0x62f: 82, + 0x630: 82, + 0x631: 82, + 0x632: 82, + 0x633: 68, + 0x634: 68, + 0x635: 68, + 0x636: 68, + 0x637: 68, + 0x638: 68, + 0x639: 68, + 0x63a: 68, + 0x63b: 68, + 0x63c: 68, + 0x63d: 68, + 0x63e: 68, + 0x63f: 68, + 0x640: 67, + 0x641: 68, + 0x642: 68, + 0x643: 68, + 0x644: 68, + 0x645: 68, + 0x646: 68, + 0x647: 68, + 0x648: 82, + 0x649: 68, + 0x64a: 68, + 0x66e: 68, + 0x66f: 68, + 0x671: 82, + 0x672: 82, + 0x673: 82, + 0x674: 85, + 0x675: 82, + 0x676: 82, + 0x677: 82, + 0x678: 68, + 0x679: 68, + 0x67a: 68, + 0x67b: 68, + 0x67c: 68, + 0x67d: 68, + 0x67e: 68, + 0x67f: 68, + 0x680: 68, + 0x681: 68, + 0x682: 68, + 0x683: 68, + 0x684: 68, + 0x685: 68, + 0x686: 68, + 0x687: 68, + 0x688: 82, + 0x689: 82, + 0x68a: 82, + 0x68b: 82, + 0x68c: 82, + 0x68d: 82, + 0x68e: 82, + 0x68f: 82, + 0x690: 82, + 0x691: 82, + 0x692: 82, + 0x693: 82, + 0x694: 82, + 0x695: 82, + 0x696: 82, + 0x697: 82, + 0x698: 82, + 0x699: 82, + 0x69a: 68, + 0x69b: 68, + 0x69c: 68, + 0x69d: 68, + 0x69e: 68, + 0x69f: 68, + 0x6a0: 68, + 0x6a1: 68, + 0x6a2: 68, + 0x6a3: 68, + 0x6a4: 68, + 0x6a5: 68, + 0x6a6: 68, + 0x6a7: 68, + 0x6a8: 68, + 0x6a9: 68, + 0x6aa: 68, + 0x6ab: 68, + 0x6ac: 68, + 0x6ad: 68, + 0x6ae: 68, + 0x6af: 68, + 0x6b0: 68, + 0x6b1: 68, + 0x6b2: 68, + 0x6b3: 68, + 0x6b4: 68, + 0x6b5: 68, + 0x6b6: 68, + 0x6b7: 68, + 0x6b8: 68, + 0x6b9: 68, + 0x6ba: 68, + 0x6bb: 68, + 0x6bc: 68, + 0x6bd: 68, + 0x6be: 68, + 0x6bf: 68, + 0x6c0: 82, + 0x6c1: 68, + 0x6c2: 68, + 0x6c3: 82, + 0x6c4: 82, + 0x6c5: 82, + 0x6c6: 82, + 0x6c7: 82, + 0x6c8: 82, + 0x6c9: 82, + 0x6ca: 82, + 0x6cb: 82, + 0x6cc: 68, + 0x6cd: 82, + 0x6ce: 68, + 0x6cf: 82, + 0x6d0: 68, + 0x6d1: 68, + 0x6d2: 82, + 0x6d3: 82, + 0x6d5: 82, + 0x6dd: 85, + 0x6ee: 82, + 0x6ef: 82, + 0x6fa: 68, + 0x6fb: 68, + 0x6fc: 68, + 0x6ff: 68, + 0x70f: 84, + 0x710: 82, + 0x712: 68, + 0x713: 68, + 0x714: 68, + 0x715: 82, + 0x716: 82, + 0x717: 82, + 0x718: 82, + 0x719: 82, + 0x71a: 68, + 0x71b: 68, + 0x71c: 68, + 0x71d: 68, + 0x71e: 82, + 0x71f: 68, + 0x720: 68, + 0x721: 68, + 0x722: 68, + 0x723: 68, + 0x724: 68, + 0x725: 68, + 0x726: 68, + 0x727: 68, + 0x728: 82, + 0x729: 68, + 0x72a: 82, + 0x72b: 68, + 0x72c: 82, + 0x72d: 68, + 0x72e: 68, + 0x72f: 82, + 0x74d: 82, + 0x74e: 68, + 0x74f: 68, + 0x750: 68, + 0x751: 68, + 0x752: 68, + 0x753: 68, + 0x754: 68, + 0x755: 68, + 0x756: 68, + 0x757: 68, + 0x758: 68, + 0x759: 82, + 0x75a: 82, + 0x75b: 82, + 0x75c: 68, + 0x75d: 68, + 0x75e: 68, + 0x75f: 68, + 0x760: 68, + 0x761: 68, + 0x762: 68, + 0x763: 68, + 0x764: 68, + 0x765: 68, + 0x766: 68, + 0x767: 68, + 0x768: 68, + 0x769: 68, + 0x76a: 68, + 0x76b: 82, + 0x76c: 82, + 0x76d: 68, + 0x76e: 68, + 0x76f: 68, + 0x770: 68, + 0x771: 82, + 0x772: 68, + 0x773: 82, + 0x774: 82, + 0x775: 68, + 0x776: 68, + 0x777: 68, + 0x778: 82, + 0x779: 82, + 0x77a: 68, + 0x77b: 68, + 0x77c: 68, + 0x77d: 68, + 0x77e: 68, + 0x77f: 68, + 0x7ca: 68, + 0x7cb: 68, + 0x7cc: 68, + 0x7cd: 68, + 0x7ce: 68, + 0x7cf: 68, + 0x7d0: 68, + 0x7d1: 68, + 0x7d2: 68, + 0x7d3: 68, + 0x7d4: 68, + 0x7d5: 68, + 0x7d6: 68, + 0x7d7: 68, + 0x7d8: 68, + 0x7d9: 68, + 0x7da: 68, + 0x7db: 68, + 0x7dc: 68, + 0x7dd: 68, + 0x7de: 68, + 0x7df: 68, + 0x7e0: 68, + 0x7e1: 68, + 0x7e2: 68, + 0x7e3: 68, + 0x7e4: 68, + 0x7e5: 68, + 0x7e6: 68, + 0x7e7: 68, + 0x7e8: 68, + 0x7e9: 68, + 0x7ea: 68, + 0x7fa: 67, + 0x840: 82, + 0x841: 68, + 0x842: 68, + 0x843: 68, + 0x844: 68, + 0x845: 68, + 0x846: 82, + 0x847: 82, + 0x848: 68, + 0x849: 82, + 0x84a: 68, + 0x84b: 68, + 0x84c: 68, + 0x84d: 68, + 0x84e: 68, + 0x84f: 68, + 0x850: 68, + 0x851: 68, + 0x852: 68, + 0x853: 68, + 0x854: 82, + 0x855: 68, + 0x856: 85, + 0x857: 85, + 0x858: 85, + 0x860: 68, + 0x861: 85, + 0x862: 68, + 0x863: 68, + 0x864: 68, + 0x865: 68, + 0x866: 85, + 0x867: 82, + 0x868: 68, + 0x869: 82, + 0x86a: 82, + 0x8a0: 68, + 0x8a1: 68, + 0x8a2: 68, + 0x8a3: 68, + 0x8a4: 68, + 0x8a5: 68, + 0x8a6: 68, + 0x8a7: 68, + 0x8a8: 68, + 0x8a9: 68, + 0x8aa: 82, + 0x8ab: 82, + 0x8ac: 82, + 0x8ad: 85, + 0x8ae: 82, + 0x8af: 68, + 0x8b0: 68, + 0x8b1: 82, + 0x8b2: 82, + 0x8b3: 68, + 0x8b4: 68, + 0x8b6: 68, + 0x8b7: 68, + 0x8b8: 68, + 0x8b9: 82, + 0x8ba: 68, + 0x8bb: 68, + 0x8bc: 68, + 0x8bd: 68, + 0x8e2: 85, + 0x1806: 85, + 0x1807: 68, + 0x180a: 67, + 0x180e: 85, + 0x1820: 68, + 0x1821: 68, + 0x1822: 68, + 0x1823: 68, + 0x1824: 68, + 0x1825: 68, + 0x1826: 68, + 0x1827: 68, + 0x1828: 68, + 0x1829: 68, + 0x182a: 68, + 0x182b: 68, + 0x182c: 68, + 0x182d: 68, + 0x182e: 68, + 0x182f: 68, + 0x1830: 68, + 0x1831: 68, + 0x1832: 68, + 0x1833: 68, + 0x1834: 68, + 0x1835: 68, + 0x1836: 68, + 0x1837: 68, + 0x1838: 68, + 0x1839: 68, + 0x183a: 68, + 0x183b: 68, + 0x183c: 68, + 0x183d: 68, + 0x183e: 68, + 0x183f: 68, + 0x1840: 68, + 0x1841: 68, + 0x1842: 68, + 0x1843: 68, + 0x1844: 68, + 0x1845: 68, + 0x1846: 68, + 0x1847: 68, + 0x1848: 68, + 0x1849: 68, + 0x184a: 68, + 0x184b: 68, + 0x184c: 68, + 0x184d: 68, + 0x184e: 68, + 0x184f: 68, + 0x1850: 68, + 0x1851: 68, + 0x1852: 68, + 0x1853: 68, + 0x1854: 68, + 0x1855: 68, + 0x1856: 68, + 0x1857: 68, + 0x1858: 68, + 0x1859: 68, + 0x185a: 68, + 0x185b: 68, + 0x185c: 68, + 0x185d: 68, + 0x185e: 68, + 0x185f: 68, + 0x1860: 68, + 0x1861: 68, + 0x1862: 68, + 0x1863: 68, + 0x1864: 68, + 0x1865: 68, + 0x1866: 68, + 0x1867: 68, + 0x1868: 68, + 0x1869: 68, + 0x186a: 68, + 0x186b: 68, + 0x186c: 68, + 0x186d: 68, + 0x186e: 68, + 0x186f: 68, + 0x1870: 68, + 0x1871: 68, + 0x1872: 68, + 0x1873: 68, + 0x1874: 68, + 0x1875: 68, + 0x1876: 68, + 0x1877: 68, + 0x1878: 68, + 0x1880: 85, + 0x1881: 85, + 0x1882: 85, + 0x1883: 85, + 0x1884: 85, + 0x1885: 84, + 0x1886: 84, + 0x1887: 68, + 0x1888: 68, + 0x1889: 68, + 0x188a: 68, + 0x188b: 68, + 0x188c: 68, + 0x188d: 68, + 0x188e: 68, + 0x188f: 68, + 0x1890: 68, + 0x1891: 68, + 0x1892: 68, + 0x1893: 68, + 0x1894: 68, + 0x1895: 68, + 0x1896: 68, + 0x1897: 68, + 0x1898: 68, + 0x1899: 68, + 0x189a: 68, + 0x189b: 68, + 0x189c: 68, + 0x189d: 68, + 0x189e: 68, + 0x189f: 68, + 0x18a0: 68, + 0x18a1: 68, + 0x18a2: 68, + 0x18a3: 68, + 0x18a4: 68, + 0x18a5: 68, + 0x18a6: 68, + 0x18a7: 68, + 0x18a8: 68, + 0x18aa: 68, + 0x200c: 85, + 0x200d: 67, + 0x202f: 85, + 0x2066: 85, + 0x2067: 85, + 0x2068: 85, + 0x2069: 85, + 0xa840: 68, + 0xa841: 68, + 0xa842: 68, + 0xa843: 68, + 0xa844: 68, + 0xa845: 68, + 0xa846: 68, + 0xa847: 68, + 0xa848: 68, + 0xa849: 68, + 0xa84a: 68, + 0xa84b: 68, + 0xa84c: 68, + 0xa84d: 68, + 0xa84e: 68, + 0xa84f: 68, + 0xa850: 68, + 0xa851: 68, + 0xa852: 68, + 0xa853: 68, + 0xa854: 68, + 0xa855: 68, + 0xa856: 68, + 0xa857: 68, + 0xa858: 68, + 0xa859: 68, + 0xa85a: 68, + 0xa85b: 68, + 0xa85c: 68, + 0xa85d: 68, + 0xa85e: 68, + 0xa85f: 68, + 0xa860: 68, + 0xa861: 68, + 0xa862: 68, + 0xa863: 68, + 0xa864: 68, + 0xa865: 68, + 0xa866: 68, + 0xa867: 68, + 0xa868: 68, + 0xa869: 68, + 0xa86a: 68, + 0xa86b: 68, + 0xa86c: 68, + 0xa86d: 68, + 0xa86e: 68, + 0xa86f: 68, + 0xa870: 68, + 0xa871: 68, + 0xa872: 76, + 0xa873: 85, + 0x10ac0: 68, + 0x10ac1: 68, + 0x10ac2: 68, + 0x10ac3: 68, + 0x10ac4: 68, + 0x10ac5: 82, + 0x10ac6: 85, + 0x10ac7: 82, + 0x10ac8: 85, + 0x10ac9: 82, + 0x10aca: 82, + 0x10acb: 85, + 0x10acc: 85, + 0x10acd: 76, + 0x10ace: 82, + 0x10acf: 82, + 0x10ad0: 82, + 0x10ad1: 82, + 0x10ad2: 82, + 0x10ad3: 68, + 0x10ad4: 68, + 0x10ad5: 68, + 0x10ad6: 68, + 0x10ad7: 76, + 0x10ad8: 68, + 0x10ad9: 68, + 0x10ada: 68, + 0x10adb: 68, + 0x10adc: 68, + 0x10add: 82, + 0x10ade: 68, + 0x10adf: 68, + 0x10ae0: 68, + 0x10ae1: 82, + 0x10ae2: 85, + 0x10ae3: 85, + 0x10ae4: 82, + 0x10aeb: 68, + 0x10aec: 68, + 0x10aed: 68, + 0x10aee: 68, + 0x10aef: 82, + 0x10b80: 68, + 0x10b81: 82, + 0x10b82: 68, + 0x10b83: 82, + 0x10b84: 82, + 0x10b85: 82, + 0x10b86: 68, + 0x10b87: 68, + 0x10b88: 68, + 0x10b89: 82, + 0x10b8a: 68, + 0x10b8b: 68, + 0x10b8c: 82, + 0x10b8d: 68, + 0x10b8e: 82, + 0x10b8f: 82, + 0x10b90: 68, + 0x10b91: 82, + 0x10ba9: 82, + 0x10baa: 82, + 0x10bab: 82, + 0x10bac: 82, + 0x10bad: 68, + 0x10bae: 68, + 0x10baf: 85, + 0x10d00: 76, + 0x10d01: 68, + 0x10d02: 68, + 0x10d03: 68, + 0x10d04: 68, + 0x10d05: 68, + 0x10d06: 68, + 0x10d07: 68, + 0x10d08: 68, + 0x10d09: 68, + 0x10d0a: 68, + 0x10d0b: 68, + 0x10d0c: 68, + 0x10d0d: 68, + 0x10d0e: 68, + 0x10d0f: 68, + 0x10d10: 68, + 0x10d11: 68, + 0x10d12: 68, + 0x10d13: 68, + 0x10d14: 68, + 0x10d15: 68, + 0x10d16: 68, + 0x10d17: 68, + 0x10d18: 68, + 0x10d19: 68, + 0x10d1a: 68, + 0x10d1b: 68, + 0x10d1c: 68, + 0x10d1d: 68, + 0x10d1e: 68, + 0x10d1f: 68, + 0x10d20: 68, + 0x10d21: 68, + 0x10d22: 82, + 0x10d23: 68, + 0x10f30: 68, + 0x10f31: 68, + 0x10f32: 68, + 0x10f33: 82, + 0x10f34: 68, + 0x10f35: 68, + 0x10f36: 68, + 0x10f37: 68, + 0x10f38: 68, + 0x10f39: 68, + 0x10f3a: 68, + 0x10f3b: 68, + 0x10f3c: 68, + 0x10f3d: 68, + 0x10f3e: 68, + 0x10f3f: 68, + 0x10f40: 68, + 0x10f41: 68, + 0x10f42: 68, + 0x10f43: 68, + 0x10f44: 68, + 0x10f45: 85, + 0x10f51: 68, + 0x10f52: 68, + 0x10f53: 68, + 0x10f54: 82, + 0x110bd: 85, + 0x110cd: 85, + 0x1e900: 68, + 0x1e901: 68, + 0x1e902: 68, + 0x1e903: 68, + 0x1e904: 68, + 0x1e905: 68, + 0x1e906: 68, + 0x1e907: 68, + 0x1e908: 68, + 0x1e909: 68, + 0x1e90a: 68, + 0x1e90b: 68, + 0x1e90c: 68, + 0x1e90d: 68, + 0x1e90e: 68, + 0x1e90f: 68, + 0x1e910: 68, + 0x1e911: 68, + 0x1e912: 68, + 0x1e913: 68, + 0x1e914: 68, + 0x1e915: 68, + 0x1e916: 68, + 0x1e917: 68, + 0x1e918: 68, + 0x1e919: 68, + 0x1e91a: 68, + 0x1e91b: 68, + 0x1e91c: 68, + 0x1e91d: 68, + 0x1e91e: 68, + 0x1e91f: 68, + 0x1e920: 68, + 0x1e921: 68, + 0x1e922: 68, + 0x1e923: 68, + 0x1e924: 68, + 0x1e925: 68, + 0x1e926: 68, + 0x1e927: 68, + 0x1e928: 68, + 0x1e929: 68, + 0x1e92a: 68, + 0x1e92b: 68, + 0x1e92c: 68, + 0x1e92d: 68, + 0x1e92e: 68, + 0x1e92f: 68, + 0x1e930: 68, + 0x1e931: 68, + 0x1e932: 68, + 0x1e933: 68, + 0x1e934: 68, + 0x1e935: 68, + 0x1e936: 68, + 0x1e937: 68, + 0x1e938: 68, + 0x1e939: 68, + 0x1e93a: 68, + 0x1e93b: 68, + 0x1e93c: 68, + 0x1e93d: 68, + 0x1e93e: 68, + 0x1e93f: 68, + 0x1e940: 68, + 0x1e941: 68, + 0x1e942: 68, + 0x1e943: 68, +} +codepoint_classes = { + 'PVALID': ( + 0x2d0000002e, + 0x300000003a, + 0x610000007b, + 0xdf000000f7, + 0xf800000100, + 0x10100000102, + 0x10300000104, + 0x10500000106, + 0x10700000108, + 0x1090000010a, + 0x10b0000010c, + 0x10d0000010e, + 0x10f00000110, + 0x11100000112, + 0x11300000114, + 0x11500000116, + 0x11700000118, + 0x1190000011a, + 0x11b0000011c, + 0x11d0000011e, + 0x11f00000120, + 0x12100000122, + 0x12300000124, + 0x12500000126, + 0x12700000128, + 0x1290000012a, + 0x12b0000012c, + 0x12d0000012e, + 0x12f00000130, + 0x13100000132, + 0x13500000136, + 0x13700000139, + 0x13a0000013b, + 0x13c0000013d, + 0x13e0000013f, + 0x14200000143, + 0x14400000145, + 0x14600000147, + 0x14800000149, + 0x14b0000014c, + 0x14d0000014e, + 0x14f00000150, + 0x15100000152, + 0x15300000154, + 0x15500000156, + 0x15700000158, + 0x1590000015a, + 0x15b0000015c, + 0x15d0000015e, + 0x15f00000160, + 0x16100000162, + 0x16300000164, + 0x16500000166, + 0x16700000168, + 0x1690000016a, + 0x16b0000016c, + 0x16d0000016e, + 0x16f00000170, + 0x17100000172, + 0x17300000174, + 0x17500000176, + 0x17700000178, + 0x17a0000017b, + 0x17c0000017d, + 0x17e0000017f, + 0x18000000181, + 0x18300000184, + 0x18500000186, + 0x18800000189, + 0x18c0000018e, + 0x19200000193, + 0x19500000196, + 0x1990000019c, + 0x19e0000019f, + 0x1a1000001a2, + 0x1a3000001a4, + 0x1a5000001a6, + 0x1a8000001a9, + 0x1aa000001ac, + 0x1ad000001ae, + 0x1b0000001b1, + 0x1b4000001b5, + 0x1b6000001b7, + 0x1b9000001bc, + 0x1bd000001c4, + 0x1ce000001cf, + 0x1d0000001d1, + 0x1d2000001d3, + 0x1d4000001d5, + 0x1d6000001d7, + 0x1d8000001d9, + 0x1da000001db, + 0x1dc000001de, + 0x1df000001e0, + 0x1e1000001e2, + 0x1e3000001e4, + 0x1e5000001e6, + 0x1e7000001e8, + 0x1e9000001ea, + 0x1eb000001ec, + 0x1ed000001ee, + 0x1ef000001f1, + 0x1f5000001f6, + 0x1f9000001fa, + 0x1fb000001fc, + 0x1fd000001fe, + 0x1ff00000200, + 0x20100000202, + 0x20300000204, + 0x20500000206, + 0x20700000208, + 0x2090000020a, + 0x20b0000020c, + 0x20d0000020e, + 0x20f00000210, + 0x21100000212, + 0x21300000214, + 0x21500000216, + 0x21700000218, + 0x2190000021a, + 0x21b0000021c, + 0x21d0000021e, + 0x21f00000220, + 0x22100000222, + 0x22300000224, + 0x22500000226, + 0x22700000228, + 0x2290000022a, + 0x22b0000022c, + 0x22d0000022e, + 0x22f00000230, + 0x23100000232, + 0x2330000023a, + 0x23c0000023d, + 0x23f00000241, + 0x24200000243, + 0x24700000248, + 0x2490000024a, + 0x24b0000024c, + 0x24d0000024e, + 0x24f000002b0, + 0x2b9000002c2, + 0x2c6000002d2, + 0x2ec000002ed, + 0x2ee000002ef, + 0x30000000340, + 0x34200000343, + 0x3460000034f, + 0x35000000370, + 0x37100000372, + 0x37300000374, + 0x37700000378, + 0x37b0000037e, + 0x39000000391, + 0x3ac000003cf, + 0x3d7000003d8, + 0x3d9000003da, + 0x3db000003dc, + 0x3dd000003de, + 0x3df000003e0, + 0x3e1000003e2, + 0x3e3000003e4, + 0x3e5000003e6, + 0x3e7000003e8, + 0x3e9000003ea, + 0x3eb000003ec, + 0x3ed000003ee, + 0x3ef000003f0, + 0x3f3000003f4, + 0x3f8000003f9, + 0x3fb000003fd, + 0x43000000460, + 0x46100000462, + 0x46300000464, + 0x46500000466, + 0x46700000468, + 0x4690000046a, + 0x46b0000046c, + 0x46d0000046e, + 0x46f00000470, + 0x47100000472, + 0x47300000474, + 0x47500000476, + 0x47700000478, + 0x4790000047a, + 0x47b0000047c, + 0x47d0000047e, + 0x47f00000480, + 0x48100000482, + 0x48300000488, + 0x48b0000048c, + 0x48d0000048e, + 0x48f00000490, + 0x49100000492, + 0x49300000494, + 0x49500000496, + 0x49700000498, + 0x4990000049a, + 0x49b0000049c, + 0x49d0000049e, + 0x49f000004a0, + 0x4a1000004a2, + 0x4a3000004a4, + 0x4a5000004a6, + 0x4a7000004a8, + 0x4a9000004aa, + 0x4ab000004ac, + 0x4ad000004ae, + 0x4af000004b0, + 0x4b1000004b2, + 0x4b3000004b4, + 0x4b5000004b6, + 0x4b7000004b8, + 0x4b9000004ba, + 0x4bb000004bc, + 0x4bd000004be, + 0x4bf000004c0, + 0x4c2000004c3, + 0x4c4000004c5, + 0x4c6000004c7, + 0x4c8000004c9, + 0x4ca000004cb, + 0x4cc000004cd, + 0x4ce000004d0, + 0x4d1000004d2, + 0x4d3000004d4, + 0x4d5000004d6, + 0x4d7000004d8, + 0x4d9000004da, + 0x4db000004dc, + 0x4dd000004de, + 0x4df000004e0, + 0x4e1000004e2, + 0x4e3000004e4, + 0x4e5000004e6, + 0x4e7000004e8, + 0x4e9000004ea, + 0x4eb000004ec, + 0x4ed000004ee, + 0x4ef000004f0, + 0x4f1000004f2, + 0x4f3000004f4, + 0x4f5000004f6, + 0x4f7000004f8, + 0x4f9000004fa, + 0x4fb000004fc, + 0x4fd000004fe, + 0x4ff00000500, + 0x50100000502, + 0x50300000504, + 0x50500000506, + 0x50700000508, + 0x5090000050a, + 0x50b0000050c, + 0x50d0000050e, + 0x50f00000510, + 0x51100000512, + 0x51300000514, + 0x51500000516, + 0x51700000518, + 0x5190000051a, + 0x51b0000051c, + 0x51d0000051e, + 0x51f00000520, + 0x52100000522, + 0x52300000524, + 0x52500000526, + 0x52700000528, + 0x5290000052a, + 0x52b0000052c, + 0x52d0000052e, + 0x52f00000530, + 0x5590000055a, + 0x56000000587, + 0x58800000589, + 0x591000005be, + 0x5bf000005c0, + 0x5c1000005c3, + 0x5c4000005c6, + 0x5c7000005c8, + 0x5d0000005eb, + 0x5ef000005f3, + 0x6100000061b, + 0x62000000640, + 0x64100000660, + 0x66e00000675, + 0x679000006d4, + 0x6d5000006dd, + 0x6df000006e9, + 0x6ea000006f0, + 0x6fa00000700, + 0x7100000074b, + 0x74d000007b2, + 0x7c0000007f6, + 0x7fd000007fe, + 0x8000000082e, + 0x8400000085c, + 0x8600000086b, + 0x8a0000008b5, + 0x8b6000008be, + 0x8d3000008e2, + 0x8e300000958, + 0x96000000964, + 0x96600000970, + 0x97100000984, + 0x9850000098d, + 0x98f00000991, + 0x993000009a9, + 0x9aa000009b1, + 0x9b2000009b3, + 0x9b6000009ba, + 0x9bc000009c5, + 0x9c7000009c9, + 0x9cb000009cf, + 0x9d7000009d8, + 0x9e0000009e4, + 0x9e6000009f2, + 0x9fc000009fd, + 0x9fe000009ff, + 0xa0100000a04, + 0xa0500000a0b, + 0xa0f00000a11, + 0xa1300000a29, + 0xa2a00000a31, + 0xa3200000a33, + 0xa3500000a36, + 0xa3800000a3a, + 0xa3c00000a3d, + 0xa3e00000a43, + 0xa4700000a49, + 0xa4b00000a4e, + 0xa5100000a52, + 0xa5c00000a5d, + 0xa6600000a76, + 0xa8100000a84, + 0xa8500000a8e, + 0xa8f00000a92, + 0xa9300000aa9, + 0xaaa00000ab1, + 0xab200000ab4, + 0xab500000aba, + 0xabc00000ac6, + 0xac700000aca, + 0xacb00000ace, + 0xad000000ad1, + 0xae000000ae4, + 0xae600000af0, + 0xaf900000b00, + 0xb0100000b04, + 0xb0500000b0d, + 0xb0f00000b11, + 0xb1300000b29, + 0xb2a00000b31, + 0xb3200000b34, + 0xb3500000b3a, + 0xb3c00000b45, + 0xb4700000b49, + 0xb4b00000b4e, + 0xb5600000b58, + 0xb5f00000b64, + 0xb6600000b70, + 0xb7100000b72, + 0xb8200000b84, + 0xb8500000b8b, + 0xb8e00000b91, + 0xb9200000b96, + 0xb9900000b9b, + 0xb9c00000b9d, + 0xb9e00000ba0, + 0xba300000ba5, + 0xba800000bab, + 0xbae00000bba, + 0xbbe00000bc3, + 0xbc600000bc9, + 0xbca00000bce, + 0xbd000000bd1, + 0xbd700000bd8, + 0xbe600000bf0, + 0xc0000000c0d, + 0xc0e00000c11, + 0xc1200000c29, + 0xc2a00000c3a, + 0xc3d00000c45, + 0xc4600000c49, + 0xc4a00000c4e, + 0xc5500000c57, + 0xc5800000c5b, + 0xc6000000c64, + 0xc6600000c70, + 0xc8000000c84, + 0xc8500000c8d, + 0xc8e00000c91, + 0xc9200000ca9, + 0xcaa00000cb4, + 0xcb500000cba, + 0xcbc00000cc5, + 0xcc600000cc9, + 0xcca00000cce, + 0xcd500000cd7, + 0xcde00000cdf, + 0xce000000ce4, + 0xce600000cf0, + 0xcf100000cf3, + 0xd0000000d04, + 0xd0500000d0d, + 0xd0e00000d11, + 0xd1200000d45, + 0xd4600000d49, + 0xd4a00000d4f, + 0xd5400000d58, + 0xd5f00000d64, + 0xd6600000d70, + 0xd7a00000d80, + 0xd8200000d84, + 0xd8500000d97, + 0xd9a00000db2, + 0xdb300000dbc, + 0xdbd00000dbe, + 0xdc000000dc7, + 0xdca00000dcb, + 0xdcf00000dd5, + 0xdd600000dd7, + 0xdd800000de0, + 0xde600000df0, + 0xdf200000df4, + 0xe0100000e33, + 0xe3400000e3b, + 0xe4000000e4f, + 0xe5000000e5a, + 0xe8100000e83, + 0xe8400000e85, + 0xe8700000e89, + 0xe8a00000e8b, + 0xe8d00000e8e, + 0xe9400000e98, + 0xe9900000ea0, + 0xea100000ea4, + 0xea500000ea6, + 0xea700000ea8, + 0xeaa00000eac, + 0xead00000eb3, + 0xeb400000eba, + 0xebb00000ebe, + 0xec000000ec5, + 0xec600000ec7, + 0xec800000ece, + 0xed000000eda, + 0xede00000ee0, + 0xf0000000f01, + 0xf0b00000f0c, + 0xf1800000f1a, + 0xf2000000f2a, + 0xf3500000f36, + 0xf3700000f38, + 0xf3900000f3a, + 0xf3e00000f43, + 0xf4400000f48, + 0xf4900000f4d, + 0xf4e00000f52, + 0xf5300000f57, + 0xf5800000f5c, + 0xf5d00000f69, + 0xf6a00000f6d, + 0xf7100000f73, + 0xf7400000f75, + 0xf7a00000f81, + 0xf8200000f85, + 0xf8600000f93, + 0xf9400000f98, + 0xf9900000f9d, + 0xf9e00000fa2, + 0xfa300000fa7, + 0xfa800000fac, + 0xfad00000fb9, + 0xfba00000fbd, + 0xfc600000fc7, + 0x10000000104a, + 0x10500000109e, + 0x10d0000010fb, + 0x10fd00001100, + 0x120000001249, + 0x124a0000124e, + 0x125000001257, + 0x125800001259, + 0x125a0000125e, + 0x126000001289, + 0x128a0000128e, + 0x1290000012b1, + 0x12b2000012b6, + 0x12b8000012bf, + 0x12c0000012c1, + 0x12c2000012c6, + 0x12c8000012d7, + 0x12d800001311, + 0x131200001316, + 0x13180000135b, + 0x135d00001360, + 0x138000001390, + 0x13a0000013f6, + 0x14010000166d, + 0x166f00001680, + 0x16810000169b, + 0x16a0000016eb, + 0x16f1000016f9, + 0x17000000170d, + 0x170e00001715, + 0x172000001735, + 0x174000001754, + 0x17600000176d, + 0x176e00001771, + 0x177200001774, + 0x1780000017b4, + 0x17b6000017d4, + 0x17d7000017d8, + 0x17dc000017de, + 0x17e0000017ea, + 0x18100000181a, + 0x182000001879, + 0x1880000018ab, + 0x18b0000018f6, + 0x19000000191f, + 0x19200000192c, + 0x19300000193c, + 0x19460000196e, + 0x197000001975, + 0x1980000019ac, + 0x19b0000019ca, + 0x19d0000019da, + 0x1a0000001a1c, + 0x1a2000001a5f, + 0x1a6000001a7d, + 0x1a7f00001a8a, + 0x1a9000001a9a, + 0x1aa700001aa8, + 0x1ab000001abe, + 0x1b0000001b4c, + 0x1b5000001b5a, + 0x1b6b00001b74, + 0x1b8000001bf4, + 0x1c0000001c38, + 0x1c4000001c4a, + 0x1c4d00001c7e, + 0x1cd000001cd3, + 0x1cd400001cfa, + 0x1d0000001d2c, + 0x1d2f00001d30, + 0x1d3b00001d3c, + 0x1d4e00001d4f, + 0x1d6b00001d78, + 0x1d7900001d9b, + 0x1dc000001dfa, + 0x1dfb00001e00, + 0x1e0100001e02, + 0x1e0300001e04, + 0x1e0500001e06, + 0x1e0700001e08, + 0x1e0900001e0a, + 0x1e0b00001e0c, + 0x1e0d00001e0e, + 0x1e0f00001e10, + 0x1e1100001e12, + 0x1e1300001e14, + 0x1e1500001e16, + 0x1e1700001e18, + 0x1e1900001e1a, + 0x1e1b00001e1c, + 0x1e1d00001e1e, + 0x1e1f00001e20, + 0x1e2100001e22, + 0x1e2300001e24, + 0x1e2500001e26, + 0x1e2700001e28, + 0x1e2900001e2a, + 0x1e2b00001e2c, + 0x1e2d00001e2e, + 0x1e2f00001e30, + 0x1e3100001e32, + 0x1e3300001e34, + 0x1e3500001e36, + 0x1e3700001e38, + 0x1e3900001e3a, + 0x1e3b00001e3c, + 0x1e3d00001e3e, + 0x1e3f00001e40, + 0x1e4100001e42, + 0x1e4300001e44, + 0x1e4500001e46, + 0x1e4700001e48, + 0x1e4900001e4a, + 0x1e4b00001e4c, + 0x1e4d00001e4e, + 0x1e4f00001e50, + 0x1e5100001e52, + 0x1e5300001e54, + 0x1e5500001e56, + 0x1e5700001e58, + 0x1e5900001e5a, + 0x1e5b00001e5c, + 0x1e5d00001e5e, + 0x1e5f00001e60, + 0x1e6100001e62, + 0x1e6300001e64, + 0x1e6500001e66, + 0x1e6700001e68, + 0x1e6900001e6a, + 0x1e6b00001e6c, + 0x1e6d00001e6e, + 0x1e6f00001e70, + 0x1e7100001e72, + 0x1e7300001e74, + 0x1e7500001e76, + 0x1e7700001e78, + 0x1e7900001e7a, + 0x1e7b00001e7c, + 0x1e7d00001e7e, + 0x1e7f00001e80, + 0x1e8100001e82, + 0x1e8300001e84, + 0x1e8500001e86, + 0x1e8700001e88, + 0x1e8900001e8a, + 0x1e8b00001e8c, + 0x1e8d00001e8e, + 0x1e8f00001e90, + 0x1e9100001e92, + 0x1e9300001e94, + 0x1e9500001e9a, + 0x1e9c00001e9e, + 0x1e9f00001ea0, + 0x1ea100001ea2, + 0x1ea300001ea4, + 0x1ea500001ea6, + 0x1ea700001ea8, + 0x1ea900001eaa, + 0x1eab00001eac, + 0x1ead00001eae, + 0x1eaf00001eb0, + 0x1eb100001eb2, + 0x1eb300001eb4, + 0x1eb500001eb6, + 0x1eb700001eb8, + 0x1eb900001eba, + 0x1ebb00001ebc, + 0x1ebd00001ebe, + 0x1ebf00001ec0, + 0x1ec100001ec2, + 0x1ec300001ec4, + 0x1ec500001ec6, + 0x1ec700001ec8, + 0x1ec900001eca, + 0x1ecb00001ecc, + 0x1ecd00001ece, + 0x1ecf00001ed0, + 0x1ed100001ed2, + 0x1ed300001ed4, + 0x1ed500001ed6, + 0x1ed700001ed8, + 0x1ed900001eda, + 0x1edb00001edc, + 0x1edd00001ede, + 0x1edf00001ee0, + 0x1ee100001ee2, + 0x1ee300001ee4, + 0x1ee500001ee6, + 0x1ee700001ee8, + 0x1ee900001eea, + 0x1eeb00001eec, + 0x1eed00001eee, + 0x1eef00001ef0, + 0x1ef100001ef2, + 0x1ef300001ef4, + 0x1ef500001ef6, + 0x1ef700001ef8, + 0x1ef900001efa, + 0x1efb00001efc, + 0x1efd00001efe, + 0x1eff00001f08, + 0x1f1000001f16, + 0x1f2000001f28, + 0x1f3000001f38, + 0x1f4000001f46, + 0x1f5000001f58, + 0x1f6000001f68, + 0x1f7000001f71, + 0x1f7200001f73, + 0x1f7400001f75, + 0x1f7600001f77, + 0x1f7800001f79, + 0x1f7a00001f7b, + 0x1f7c00001f7d, + 0x1fb000001fb2, + 0x1fb600001fb7, + 0x1fc600001fc7, + 0x1fd000001fd3, + 0x1fd600001fd8, + 0x1fe000001fe3, + 0x1fe400001fe8, + 0x1ff600001ff7, + 0x214e0000214f, + 0x218400002185, + 0x2c3000002c5f, + 0x2c6100002c62, + 0x2c6500002c67, + 0x2c6800002c69, + 0x2c6a00002c6b, + 0x2c6c00002c6d, + 0x2c7100002c72, + 0x2c7300002c75, + 0x2c7600002c7c, + 0x2c8100002c82, + 0x2c8300002c84, + 0x2c8500002c86, + 0x2c8700002c88, + 0x2c8900002c8a, + 0x2c8b00002c8c, + 0x2c8d00002c8e, + 0x2c8f00002c90, + 0x2c9100002c92, + 0x2c9300002c94, + 0x2c9500002c96, + 0x2c9700002c98, + 0x2c9900002c9a, + 0x2c9b00002c9c, + 0x2c9d00002c9e, + 0x2c9f00002ca0, + 0x2ca100002ca2, + 0x2ca300002ca4, + 0x2ca500002ca6, + 0x2ca700002ca8, + 0x2ca900002caa, + 0x2cab00002cac, + 0x2cad00002cae, + 0x2caf00002cb0, + 0x2cb100002cb2, + 0x2cb300002cb4, + 0x2cb500002cb6, + 0x2cb700002cb8, + 0x2cb900002cba, + 0x2cbb00002cbc, + 0x2cbd00002cbe, + 0x2cbf00002cc0, + 0x2cc100002cc2, + 0x2cc300002cc4, + 0x2cc500002cc6, + 0x2cc700002cc8, + 0x2cc900002cca, + 0x2ccb00002ccc, + 0x2ccd00002cce, + 0x2ccf00002cd0, + 0x2cd100002cd2, + 0x2cd300002cd4, + 0x2cd500002cd6, + 0x2cd700002cd8, + 0x2cd900002cda, + 0x2cdb00002cdc, + 0x2cdd00002cde, + 0x2cdf00002ce0, + 0x2ce100002ce2, + 0x2ce300002ce5, + 0x2cec00002ced, + 0x2cee00002cf2, + 0x2cf300002cf4, + 0x2d0000002d26, + 0x2d2700002d28, + 0x2d2d00002d2e, + 0x2d3000002d68, + 0x2d7f00002d97, + 0x2da000002da7, + 0x2da800002daf, + 0x2db000002db7, + 0x2db800002dbf, + 0x2dc000002dc7, + 0x2dc800002dcf, + 0x2dd000002dd7, + 0x2dd800002ddf, + 0x2de000002e00, + 0x2e2f00002e30, + 0x300500003008, + 0x302a0000302e, + 0x303c0000303d, + 0x304100003097, + 0x30990000309b, + 0x309d0000309f, + 0x30a1000030fb, + 0x30fc000030ff, + 0x310500003130, + 0x31a0000031bb, + 0x31f000003200, + 0x340000004db6, + 0x4e0000009ff0, + 0xa0000000a48d, + 0xa4d00000a4fe, + 0xa5000000a60d, + 0xa6100000a62c, + 0xa6410000a642, + 0xa6430000a644, + 0xa6450000a646, + 0xa6470000a648, + 0xa6490000a64a, + 0xa64b0000a64c, + 0xa64d0000a64e, + 0xa64f0000a650, + 0xa6510000a652, + 0xa6530000a654, + 0xa6550000a656, + 0xa6570000a658, + 0xa6590000a65a, + 0xa65b0000a65c, + 0xa65d0000a65e, + 0xa65f0000a660, + 0xa6610000a662, + 0xa6630000a664, + 0xa6650000a666, + 0xa6670000a668, + 0xa6690000a66a, + 0xa66b0000a66c, + 0xa66d0000a670, + 0xa6740000a67e, + 0xa67f0000a680, + 0xa6810000a682, + 0xa6830000a684, + 0xa6850000a686, + 0xa6870000a688, + 0xa6890000a68a, + 0xa68b0000a68c, + 0xa68d0000a68e, + 0xa68f0000a690, + 0xa6910000a692, + 0xa6930000a694, + 0xa6950000a696, + 0xa6970000a698, + 0xa6990000a69a, + 0xa69b0000a69c, + 0xa69e0000a6e6, + 0xa6f00000a6f2, + 0xa7170000a720, + 0xa7230000a724, + 0xa7250000a726, + 0xa7270000a728, + 0xa7290000a72a, + 0xa72b0000a72c, + 0xa72d0000a72e, + 0xa72f0000a732, + 0xa7330000a734, + 0xa7350000a736, + 0xa7370000a738, + 0xa7390000a73a, + 0xa73b0000a73c, + 0xa73d0000a73e, + 0xa73f0000a740, + 0xa7410000a742, + 0xa7430000a744, + 0xa7450000a746, + 0xa7470000a748, + 0xa7490000a74a, + 0xa74b0000a74c, + 0xa74d0000a74e, + 0xa74f0000a750, + 0xa7510000a752, + 0xa7530000a754, + 0xa7550000a756, + 0xa7570000a758, + 0xa7590000a75a, + 0xa75b0000a75c, + 0xa75d0000a75e, + 0xa75f0000a760, + 0xa7610000a762, + 0xa7630000a764, + 0xa7650000a766, + 0xa7670000a768, + 0xa7690000a76a, + 0xa76b0000a76c, + 0xa76d0000a76e, + 0xa76f0000a770, + 0xa7710000a779, + 0xa77a0000a77b, + 0xa77c0000a77d, + 0xa77f0000a780, + 0xa7810000a782, + 0xa7830000a784, + 0xa7850000a786, + 0xa7870000a789, + 0xa78c0000a78d, + 0xa78e0000a790, + 0xa7910000a792, + 0xa7930000a796, + 0xa7970000a798, + 0xa7990000a79a, + 0xa79b0000a79c, + 0xa79d0000a79e, + 0xa79f0000a7a0, + 0xa7a10000a7a2, + 0xa7a30000a7a4, + 0xa7a50000a7a6, + 0xa7a70000a7a8, + 0xa7a90000a7aa, + 0xa7af0000a7b0, + 0xa7b50000a7b6, + 0xa7b70000a7b8, + 0xa7b90000a7ba, + 0xa7f70000a7f8, + 0xa7fa0000a828, + 0xa8400000a874, + 0xa8800000a8c6, + 0xa8d00000a8da, + 0xa8e00000a8f8, + 0xa8fb0000a8fc, + 0xa8fd0000a92e, + 0xa9300000a954, + 0xa9800000a9c1, + 0xa9cf0000a9da, + 0xa9e00000a9ff, + 0xaa000000aa37, + 0xaa400000aa4e, + 0xaa500000aa5a, + 0xaa600000aa77, + 0xaa7a0000aac3, + 0xaadb0000aade, + 0xaae00000aaf0, + 0xaaf20000aaf7, + 0xab010000ab07, + 0xab090000ab0f, + 0xab110000ab17, + 0xab200000ab27, + 0xab280000ab2f, + 0xab300000ab5b, + 0xab600000ab66, + 0xabc00000abeb, + 0xabec0000abee, + 0xabf00000abfa, + 0xac000000d7a4, + 0xfa0e0000fa10, + 0xfa110000fa12, + 0xfa130000fa15, + 0xfa1f0000fa20, + 0xfa210000fa22, + 0xfa230000fa25, + 0xfa270000fa2a, + 0xfb1e0000fb1f, + 0xfe200000fe30, + 0xfe730000fe74, + 0x100000001000c, + 0x1000d00010027, + 0x100280001003b, + 0x1003c0001003e, + 0x1003f0001004e, + 0x100500001005e, + 0x10080000100fb, + 0x101fd000101fe, + 0x102800001029d, + 0x102a0000102d1, + 0x102e0000102e1, + 0x1030000010320, + 0x1032d00010341, + 0x103420001034a, + 0x103500001037b, + 0x103800001039e, + 0x103a0000103c4, + 0x103c8000103d0, + 0x104280001049e, + 0x104a0000104aa, + 0x104d8000104fc, + 0x1050000010528, + 0x1053000010564, + 0x1060000010737, + 0x1074000010756, + 0x1076000010768, + 0x1080000010806, + 0x1080800010809, + 0x1080a00010836, + 0x1083700010839, + 0x1083c0001083d, + 0x1083f00010856, + 0x1086000010877, + 0x108800001089f, + 0x108e0000108f3, + 0x108f4000108f6, + 0x1090000010916, + 0x109200001093a, + 0x10980000109b8, + 0x109be000109c0, + 0x10a0000010a04, + 0x10a0500010a07, + 0x10a0c00010a14, + 0x10a1500010a18, + 0x10a1900010a36, + 0x10a3800010a3b, + 0x10a3f00010a40, + 0x10a6000010a7d, + 0x10a8000010a9d, + 0x10ac000010ac8, + 0x10ac900010ae7, + 0x10b0000010b36, + 0x10b4000010b56, + 0x10b6000010b73, + 0x10b8000010b92, + 0x10c0000010c49, + 0x10cc000010cf3, + 0x10d0000010d28, + 0x10d3000010d3a, + 0x10f0000010f1d, + 0x10f2700010f28, + 0x10f3000010f51, + 0x1100000011047, + 0x1106600011070, + 0x1107f000110bb, + 0x110d0000110e9, + 0x110f0000110fa, + 0x1110000011135, + 0x1113600011140, + 0x1114400011147, + 0x1115000011174, + 0x1117600011177, + 0x11180000111c5, + 0x111c9000111cd, + 0x111d0000111db, + 0x111dc000111dd, + 0x1120000011212, + 0x1121300011238, + 0x1123e0001123f, + 0x1128000011287, + 0x1128800011289, + 0x1128a0001128e, + 0x1128f0001129e, + 0x1129f000112a9, + 0x112b0000112eb, + 0x112f0000112fa, + 0x1130000011304, + 0x113050001130d, + 0x1130f00011311, + 0x1131300011329, + 0x1132a00011331, + 0x1133200011334, + 0x113350001133a, + 0x1133b00011345, + 0x1134700011349, + 0x1134b0001134e, + 0x1135000011351, + 0x1135700011358, + 0x1135d00011364, + 0x113660001136d, + 0x1137000011375, + 0x114000001144b, + 0x114500001145a, + 0x1145e0001145f, + 0x11480000114c6, + 0x114c7000114c8, + 0x114d0000114da, + 0x11580000115b6, + 0x115b8000115c1, + 0x115d8000115de, + 0x1160000011641, + 0x1164400011645, + 0x116500001165a, + 0x11680000116b8, + 0x116c0000116ca, + 0x117000001171b, + 0x1171d0001172c, + 0x117300001173a, + 0x118000001183b, + 0x118c0000118ea, + 0x118ff00011900, + 0x11a0000011a3f, + 0x11a4700011a48, + 0x11a5000011a84, + 0x11a8600011a9a, + 0x11a9d00011a9e, + 0x11ac000011af9, + 0x11c0000011c09, + 0x11c0a00011c37, + 0x11c3800011c41, + 0x11c5000011c5a, + 0x11c7200011c90, + 0x11c9200011ca8, + 0x11ca900011cb7, + 0x11d0000011d07, + 0x11d0800011d0a, + 0x11d0b00011d37, + 0x11d3a00011d3b, + 0x11d3c00011d3e, + 0x11d3f00011d48, + 0x11d5000011d5a, + 0x11d6000011d66, + 0x11d6700011d69, + 0x11d6a00011d8f, + 0x11d9000011d92, + 0x11d9300011d99, + 0x11da000011daa, + 0x11ee000011ef7, + 0x120000001239a, + 0x1248000012544, + 0x130000001342f, + 0x1440000014647, + 0x1680000016a39, + 0x16a4000016a5f, + 0x16a6000016a6a, + 0x16ad000016aee, + 0x16af000016af5, + 0x16b0000016b37, + 0x16b4000016b44, + 0x16b5000016b5a, + 0x16b6300016b78, + 0x16b7d00016b90, + 0x16e6000016e80, + 0x16f0000016f45, + 0x16f5000016f7f, + 0x16f8f00016fa0, + 0x16fe000016fe2, + 0x17000000187f2, + 0x1880000018af3, + 0x1b0000001b11f, + 0x1b1700001b2fc, + 0x1bc000001bc6b, + 0x1bc700001bc7d, + 0x1bc800001bc89, + 0x1bc900001bc9a, + 0x1bc9d0001bc9f, + 0x1da000001da37, + 0x1da3b0001da6d, + 0x1da750001da76, + 0x1da840001da85, + 0x1da9b0001daa0, + 0x1daa10001dab0, + 0x1e0000001e007, + 0x1e0080001e019, + 0x1e01b0001e022, + 0x1e0230001e025, + 0x1e0260001e02b, + 0x1e8000001e8c5, + 0x1e8d00001e8d7, + 0x1e9220001e94b, + 0x1e9500001e95a, + 0x200000002a6d7, + 0x2a7000002b735, + 0x2b7400002b81e, + 0x2b8200002cea2, + 0x2ceb00002ebe1, + ), + 'CONTEXTJ': ( + 0x200c0000200e, + ), + 'CONTEXTO': ( + 0xb7000000b8, + 0x37500000376, + 0x5f3000005f5, + 0x6600000066a, + 0x6f0000006fa, + 0x30fb000030fc, + ), +} diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/intranges.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/intranges.py new file mode 100644 index 0000000..fa8a735 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/intranges.py @@ -0,0 +1,53 @@ +""" +Given a list of integers, made up of (hopefully) a small number of long runs +of consecutive integers, compute a representation of the form +((start1, end1), (start2, end2) ...). Then answer the question "was x present +in the original list?" in time O(log(# runs)). +""" + +import bisect + +def intranges_from_list(list_): + """Represent a list of integers as a sequence of ranges: + ((start_0, end_0), (start_1, end_1), ...), such that the original + integers are exactly those x such that start_i <= x < end_i for some i. + + Ranges are encoded as single integers (start << 32 | end), not as tuples. + """ + + sorted_list = sorted(list_) + ranges = [] + last_write = -1 + for i in range(len(sorted_list)): + if i+1 < len(sorted_list): + if sorted_list[i] == sorted_list[i+1]-1: + continue + current_range = sorted_list[last_write+1:i+1] + ranges.append(_encode_range(current_range[0], current_range[-1] + 1)) + last_write = i + + return tuple(ranges) + +def _encode_range(start, end): + return (start << 32) | end + +def _decode_range(r): + return (r >> 32), (r & ((1 << 32) - 1)) + + +def intranges_contain(int_, ranges): + """Determine if `int_` falls into one of the ranges in `ranges`.""" + tuple_ = _encode_range(int_, 0) + pos = bisect.bisect_left(ranges, tuple_) + # we could be immediately ahead of a tuple (start, end) + # with start < int_ <= end + if pos > 0: + left, right = _decode_range(ranges[pos-1]) + if left <= int_ < right: + return True + # or we could be immediately behind a tuple (int_, end) + if pos < len(ranges): + left, _ = _decode_range(ranges[pos]) + if left == int_: + return True + return False diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/package_data.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/package_data.py new file mode 100644 index 0000000..257e898 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/package_data.py @@ -0,0 +1,2 @@ +__version__ = '2.8' + diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/uts46data.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/uts46data.py new file mode 100644 index 0000000..a68ed4c --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/uts46data.py @@ -0,0 +1,8205 @@ +# This file is automatically generated by tools/idna-data +# vim: set fileencoding=utf-8 : + +"""IDNA Mapping Table from UTS46.""" + + +__version__ = "11.0.0" +def _seg_0(): + return [ + (0x0, '3'), + (0x1, '3'), + (0x2, '3'), + (0x3, '3'), + (0x4, '3'), + (0x5, '3'), + (0x6, '3'), + (0x7, '3'), + (0x8, '3'), + (0x9, '3'), + (0xA, '3'), + (0xB, '3'), + (0xC, '3'), + (0xD, '3'), + (0xE, '3'), + (0xF, '3'), + (0x10, '3'), + (0x11, '3'), + (0x12, '3'), + (0x13, '3'), + (0x14, '3'), + (0x15, '3'), + (0x16, '3'), + (0x17, '3'), + (0x18, '3'), + (0x19, '3'), + (0x1A, '3'), + (0x1B, '3'), + (0x1C, '3'), + (0x1D, '3'), + (0x1E, '3'), + (0x1F, '3'), + (0x20, '3'), + (0x21, '3'), + (0x22, '3'), + (0x23, '3'), + (0x24, '3'), + (0x25, '3'), + (0x26, '3'), + (0x27, '3'), + (0x28, '3'), + (0x29, '3'), + (0x2A, '3'), + (0x2B, '3'), + (0x2C, '3'), + (0x2D, 'V'), + (0x2E, 'V'), + (0x2F, '3'), + (0x30, 'V'), + (0x31, 'V'), + (0x32, 'V'), + (0x33, 'V'), + (0x34, 'V'), + (0x35, 'V'), + (0x36, 'V'), + (0x37, 'V'), + (0x38, 'V'), + (0x39, 'V'), + (0x3A, '3'), + (0x3B, '3'), + (0x3C, '3'), + (0x3D, '3'), + (0x3E, '3'), + (0x3F, '3'), + (0x40, '3'), + (0x41, 'M', u'a'), + (0x42, 'M', u'b'), + (0x43, 'M', u'c'), + (0x44, 'M', u'd'), + (0x45, 'M', u'e'), + (0x46, 'M', u'f'), + (0x47, 'M', u'g'), + (0x48, 'M', u'h'), + (0x49, 'M', u'i'), + (0x4A, 'M', u'j'), + (0x4B, 'M', u'k'), + (0x4C, 'M', u'l'), + (0x4D, 'M', u'm'), + (0x4E, 'M', u'n'), + (0x4F, 'M', u'o'), + (0x50, 'M', u'p'), + (0x51, 'M', u'q'), + (0x52, 'M', u'r'), + (0x53, 'M', u's'), + (0x54, 'M', u't'), + (0x55, 'M', u'u'), + (0x56, 'M', u'v'), + (0x57, 'M', u'w'), + (0x58, 'M', u'x'), + (0x59, 'M', u'y'), + (0x5A, 'M', u'z'), + (0x5B, '3'), + (0x5C, '3'), + (0x5D, '3'), + (0x5E, '3'), + (0x5F, '3'), + (0x60, '3'), + (0x61, 'V'), + (0x62, 'V'), + (0x63, 'V'), + ] + +def _seg_1(): + return [ + (0x64, 'V'), + (0x65, 'V'), + (0x66, 'V'), + (0x67, 'V'), + (0x68, 'V'), + (0x69, 'V'), + (0x6A, 'V'), + (0x6B, 'V'), + (0x6C, 'V'), + (0x6D, 'V'), + (0x6E, 'V'), + (0x6F, 'V'), + (0x70, 'V'), + (0x71, 'V'), + (0x72, 'V'), + (0x73, 'V'), + (0x74, 'V'), + (0x75, 'V'), + (0x76, 'V'), + (0x77, 'V'), + (0x78, 'V'), + (0x79, 'V'), + (0x7A, 'V'), + (0x7B, '3'), + (0x7C, '3'), + (0x7D, '3'), + (0x7E, '3'), + (0x7F, '3'), + (0x80, 'X'), + (0x81, 'X'), + (0x82, 'X'), + (0x83, 'X'), + (0x84, 'X'), + (0x85, 'X'), + (0x86, 'X'), + (0x87, 'X'), + (0x88, 'X'), + (0x89, 'X'), + (0x8A, 'X'), + (0x8B, 'X'), + (0x8C, 'X'), + (0x8D, 'X'), + (0x8E, 'X'), + (0x8F, 'X'), + (0x90, 'X'), + (0x91, 'X'), + (0x92, 'X'), + (0x93, 'X'), + (0x94, 'X'), + (0x95, 'X'), + (0x96, 'X'), + (0x97, 'X'), + (0x98, 'X'), + (0x99, 'X'), + (0x9A, 'X'), + (0x9B, 'X'), + (0x9C, 'X'), + (0x9D, 'X'), + (0x9E, 'X'), + (0x9F, 'X'), + (0xA0, '3', u' '), + (0xA1, 'V'), + (0xA2, 'V'), + (0xA3, 'V'), + (0xA4, 'V'), + (0xA5, 'V'), + (0xA6, 'V'), + (0xA7, 'V'), + (0xA8, '3', u' ̈'), + (0xA9, 'V'), + (0xAA, 'M', u'a'), + (0xAB, 'V'), + (0xAC, 'V'), + (0xAD, 'I'), + (0xAE, 'V'), + (0xAF, '3', u' ̄'), + (0xB0, 'V'), + (0xB1, 'V'), + (0xB2, 'M', u'2'), + (0xB3, 'M', u'3'), + (0xB4, '3', u' ́'), + (0xB5, 'M', u'μ'), + (0xB6, 'V'), + (0xB7, 'V'), + (0xB8, '3', u' ̧'), + (0xB9, 'M', u'1'), + (0xBA, 'M', u'o'), + (0xBB, 'V'), + (0xBC, 'M', u'1⁄4'), + (0xBD, 'M', u'1⁄2'), + (0xBE, 'M', u'3⁄4'), + (0xBF, 'V'), + (0xC0, 'M', u'à'), + (0xC1, 'M', u'á'), + (0xC2, 'M', u'â'), + (0xC3, 'M', u'ã'), + (0xC4, 'M', u'ä'), + (0xC5, 'M', u'å'), + (0xC6, 'M', u'æ'), + (0xC7, 'M', u'ç'), + ] + +def _seg_2(): + return [ + (0xC8, 'M', u'è'), + (0xC9, 'M', u'é'), + (0xCA, 'M', u'ê'), + (0xCB, 'M', u'ë'), + (0xCC, 'M', u'ì'), + (0xCD, 'M', u'í'), + (0xCE, 'M', u'î'), + (0xCF, 'M', u'ï'), + (0xD0, 'M', u'ð'), + (0xD1, 'M', u'ñ'), + (0xD2, 'M', u'ò'), + (0xD3, 'M', u'ó'), + (0xD4, 'M', u'ô'), + (0xD5, 'M', u'õ'), + (0xD6, 'M', u'ö'), + (0xD7, 'V'), + (0xD8, 'M', u'ø'), + (0xD9, 'M', u'ù'), + (0xDA, 'M', u'ú'), + (0xDB, 'M', u'û'), + (0xDC, 'M', u'ü'), + (0xDD, 'M', u'ý'), + (0xDE, 'M', u'þ'), + (0xDF, 'D', u'ss'), + (0xE0, 'V'), + (0xE1, 'V'), + (0xE2, 'V'), + (0xE3, 'V'), + (0xE4, 'V'), + (0xE5, 'V'), + (0xE6, 'V'), + (0xE7, 'V'), + (0xE8, 'V'), + (0xE9, 'V'), + (0xEA, 'V'), + (0xEB, 'V'), + (0xEC, 'V'), + (0xED, 'V'), + (0xEE, 'V'), + (0xEF, 'V'), + (0xF0, 'V'), + (0xF1, 'V'), + (0xF2, 'V'), + (0xF3, 'V'), + (0xF4, 'V'), + (0xF5, 'V'), + (0xF6, 'V'), + (0xF7, 'V'), + (0xF8, 'V'), + (0xF9, 'V'), + (0xFA, 'V'), + (0xFB, 'V'), + (0xFC, 'V'), + (0xFD, 'V'), + (0xFE, 'V'), + (0xFF, 'V'), + (0x100, 'M', u'ā'), + (0x101, 'V'), + (0x102, 'M', u'ă'), + (0x103, 'V'), + (0x104, 'M', u'ą'), + (0x105, 'V'), + (0x106, 'M', u'ć'), + (0x107, 'V'), + (0x108, 'M', u'ĉ'), + (0x109, 'V'), + (0x10A, 'M', u'ċ'), + (0x10B, 'V'), + (0x10C, 'M', u'č'), + (0x10D, 'V'), + (0x10E, 'M', u'ď'), + (0x10F, 'V'), + (0x110, 'M', u'đ'), + (0x111, 'V'), + (0x112, 'M', u'ē'), + (0x113, 'V'), + (0x114, 'M', u'ĕ'), + (0x115, 'V'), + (0x116, 'M', u'ė'), + (0x117, 'V'), + (0x118, 'M', u'ę'), + (0x119, 'V'), + (0x11A, 'M', u'ě'), + (0x11B, 'V'), + (0x11C, 'M', u'ĝ'), + (0x11D, 'V'), + (0x11E, 'M', u'ğ'), + (0x11F, 'V'), + (0x120, 'M', u'ġ'), + (0x121, 'V'), + (0x122, 'M', u'ģ'), + (0x123, 'V'), + (0x124, 'M', u'ĥ'), + (0x125, 'V'), + (0x126, 'M', u'ħ'), + (0x127, 'V'), + (0x128, 'M', u'ĩ'), + (0x129, 'V'), + (0x12A, 'M', u'ī'), + (0x12B, 'V'), + ] + +def _seg_3(): + return [ + (0x12C, 'M', u'ĭ'), + (0x12D, 'V'), + (0x12E, 'M', u'į'), + (0x12F, 'V'), + (0x130, 'M', u'i̇'), + (0x131, 'V'), + (0x132, 'M', u'ij'), + (0x134, 'M', u'ĵ'), + (0x135, 'V'), + (0x136, 'M', u'ķ'), + (0x137, 'V'), + (0x139, 'M', u'ĺ'), + (0x13A, 'V'), + (0x13B, 'M', u'ļ'), + (0x13C, 'V'), + (0x13D, 'M', u'ľ'), + (0x13E, 'V'), + (0x13F, 'M', u'l·'), + (0x141, 'M', u'ł'), + (0x142, 'V'), + (0x143, 'M', u'ń'), + (0x144, 'V'), + (0x145, 'M', u'ņ'), + (0x146, 'V'), + (0x147, 'M', u'ň'), + (0x148, 'V'), + (0x149, 'M', u'ʼn'), + (0x14A, 'M', u'ŋ'), + (0x14B, 'V'), + (0x14C, 'M', u'ō'), + (0x14D, 'V'), + (0x14E, 'M', u'ŏ'), + (0x14F, 'V'), + (0x150, 'M', u'ő'), + (0x151, 'V'), + (0x152, 'M', u'œ'), + (0x153, 'V'), + (0x154, 'M', u'ŕ'), + (0x155, 'V'), + (0x156, 'M', u'ŗ'), + (0x157, 'V'), + (0x158, 'M', u'ř'), + (0x159, 'V'), + (0x15A, 'M', u'ś'), + (0x15B, 'V'), + (0x15C, 'M', u'ŝ'), + (0x15D, 'V'), + (0x15E, 'M', u'ş'), + (0x15F, 'V'), + (0x160, 'M', u'š'), + (0x161, 'V'), + (0x162, 'M', u'ţ'), + (0x163, 'V'), + (0x164, 'M', u'ť'), + (0x165, 'V'), + (0x166, 'M', u'ŧ'), + (0x167, 'V'), + (0x168, 'M', u'ũ'), + (0x169, 'V'), + (0x16A, 'M', u'ū'), + (0x16B, 'V'), + (0x16C, 'M', u'ŭ'), + (0x16D, 'V'), + (0x16E, 'M', u'ů'), + (0x16F, 'V'), + (0x170, 'M', u'ű'), + (0x171, 'V'), + (0x172, 'M', u'ų'), + (0x173, 'V'), + (0x174, 'M', u'ŵ'), + (0x175, 'V'), + (0x176, 'M', u'ŷ'), + (0x177, 'V'), + (0x178, 'M', u'ÿ'), + (0x179, 'M', u'ź'), + (0x17A, 'V'), + (0x17B, 'M', u'ż'), + (0x17C, 'V'), + (0x17D, 'M', u'ž'), + (0x17E, 'V'), + (0x17F, 'M', u's'), + (0x180, 'V'), + (0x181, 'M', u'ɓ'), + (0x182, 'M', u'ƃ'), + (0x183, 'V'), + (0x184, 'M', u'ƅ'), + (0x185, 'V'), + (0x186, 'M', u'ɔ'), + (0x187, 'M', u'ƈ'), + (0x188, 'V'), + (0x189, 'M', u'ɖ'), + (0x18A, 'M', u'ɗ'), + (0x18B, 'M', u'ƌ'), + (0x18C, 'V'), + (0x18E, 'M', u'ǝ'), + (0x18F, 'M', u'ə'), + (0x190, 'M', u'ɛ'), + (0x191, 'M', u'ƒ'), + (0x192, 'V'), + (0x193, 'M', u'ɠ'), + ] + +def _seg_4(): + return [ + (0x194, 'M', u'ɣ'), + (0x195, 'V'), + (0x196, 'M', u'ɩ'), + (0x197, 'M', u'ɨ'), + (0x198, 'M', u'ƙ'), + (0x199, 'V'), + (0x19C, 'M', u'ɯ'), + (0x19D, 'M', u'ɲ'), + (0x19E, 'V'), + (0x19F, 'M', u'ɵ'), + (0x1A0, 'M', u'ơ'), + (0x1A1, 'V'), + (0x1A2, 'M', u'ƣ'), + (0x1A3, 'V'), + (0x1A4, 'M', u'ƥ'), + (0x1A5, 'V'), + (0x1A6, 'M', u'ʀ'), + (0x1A7, 'M', u'ƨ'), + (0x1A8, 'V'), + (0x1A9, 'M', u'ʃ'), + (0x1AA, 'V'), + (0x1AC, 'M', u'ƭ'), + (0x1AD, 'V'), + (0x1AE, 'M', u'ʈ'), + (0x1AF, 'M', u'ư'), + (0x1B0, 'V'), + (0x1B1, 'M', u'ʊ'), + (0x1B2, 'M', u'ʋ'), + (0x1B3, 'M', u'ƴ'), + (0x1B4, 'V'), + (0x1B5, 'M', u'ƶ'), + (0x1B6, 'V'), + (0x1B7, 'M', u'ʒ'), + (0x1B8, 'M', u'ƹ'), + (0x1B9, 'V'), + (0x1BC, 'M', u'ƽ'), + (0x1BD, 'V'), + (0x1C4, 'M', u'dž'), + (0x1C7, 'M', u'lj'), + (0x1CA, 'M', u'nj'), + (0x1CD, 'M', u'ǎ'), + (0x1CE, 'V'), + (0x1CF, 'M', u'ǐ'), + (0x1D0, 'V'), + (0x1D1, 'M', u'ǒ'), + (0x1D2, 'V'), + (0x1D3, 'M', u'ǔ'), + (0x1D4, 'V'), + (0x1D5, 'M', u'ǖ'), + (0x1D6, 'V'), + (0x1D7, 'M', u'ǘ'), + (0x1D8, 'V'), + (0x1D9, 'M', u'ǚ'), + (0x1DA, 'V'), + (0x1DB, 'M', u'ǜ'), + (0x1DC, 'V'), + (0x1DE, 'M', u'ǟ'), + (0x1DF, 'V'), + (0x1E0, 'M', u'ǡ'), + (0x1E1, 'V'), + (0x1E2, 'M', u'ǣ'), + (0x1E3, 'V'), + (0x1E4, 'M', u'ǥ'), + (0x1E5, 'V'), + (0x1E6, 'M', u'ǧ'), + (0x1E7, 'V'), + (0x1E8, 'M', u'ǩ'), + (0x1E9, 'V'), + (0x1EA, 'M', u'ǫ'), + (0x1EB, 'V'), + (0x1EC, 'M', u'ǭ'), + (0x1ED, 'V'), + (0x1EE, 'M', u'ǯ'), + (0x1EF, 'V'), + (0x1F1, 'M', u'dz'), + (0x1F4, 'M', u'ǵ'), + (0x1F5, 'V'), + (0x1F6, 'M', u'ƕ'), + (0x1F7, 'M', u'ƿ'), + (0x1F8, 'M', u'ǹ'), + (0x1F9, 'V'), + (0x1FA, 'M', u'ǻ'), + (0x1FB, 'V'), + (0x1FC, 'M', u'ǽ'), + (0x1FD, 'V'), + (0x1FE, 'M', u'ǿ'), + (0x1FF, 'V'), + (0x200, 'M', u'ȁ'), + (0x201, 'V'), + (0x202, 'M', u'ȃ'), + (0x203, 'V'), + (0x204, 'M', u'ȅ'), + (0x205, 'V'), + (0x206, 'M', u'ȇ'), + (0x207, 'V'), + (0x208, 'M', u'ȉ'), + (0x209, 'V'), + (0x20A, 'M', u'ȋ'), + (0x20B, 'V'), + (0x20C, 'M', u'ȍ'), + ] + +def _seg_5(): + return [ + (0x20D, 'V'), + (0x20E, 'M', u'ȏ'), + (0x20F, 'V'), + (0x210, 'M', u'ȑ'), + (0x211, 'V'), + (0x212, 'M', u'ȓ'), + (0x213, 'V'), + (0x214, 'M', u'ȕ'), + (0x215, 'V'), + (0x216, 'M', u'ȗ'), + (0x217, 'V'), + (0x218, 'M', u'ș'), + (0x219, 'V'), + (0x21A, 'M', u'ț'), + (0x21B, 'V'), + (0x21C, 'M', u'ȝ'), + (0x21D, 'V'), + (0x21E, 'M', u'ȟ'), + (0x21F, 'V'), + (0x220, 'M', u'ƞ'), + (0x221, 'V'), + (0x222, 'M', u'ȣ'), + (0x223, 'V'), + (0x224, 'M', u'ȥ'), + (0x225, 'V'), + (0x226, 'M', u'ȧ'), + (0x227, 'V'), + (0x228, 'M', u'ȩ'), + (0x229, 'V'), + (0x22A, 'M', u'ȫ'), + (0x22B, 'V'), + (0x22C, 'M', u'ȭ'), + (0x22D, 'V'), + (0x22E, 'M', u'ȯ'), + (0x22F, 'V'), + (0x230, 'M', u'ȱ'), + (0x231, 'V'), + (0x232, 'M', u'ȳ'), + (0x233, 'V'), + (0x23A, 'M', u'ⱥ'), + (0x23B, 'M', u'ȼ'), + (0x23C, 'V'), + (0x23D, 'M', u'ƚ'), + (0x23E, 'M', u'ⱦ'), + (0x23F, 'V'), + (0x241, 'M', u'ɂ'), + (0x242, 'V'), + (0x243, 'M', u'ƀ'), + (0x244, 'M', u'ʉ'), + (0x245, 'M', u'ʌ'), + (0x246, 'M', u'ɇ'), + (0x247, 'V'), + (0x248, 'M', u'ɉ'), + (0x249, 'V'), + (0x24A, 'M', u'ɋ'), + (0x24B, 'V'), + (0x24C, 'M', u'ɍ'), + (0x24D, 'V'), + (0x24E, 'M', u'ɏ'), + (0x24F, 'V'), + (0x2B0, 'M', u'h'), + (0x2B1, 'M', u'ɦ'), + (0x2B2, 'M', u'j'), + (0x2B3, 'M', u'r'), + (0x2B4, 'M', u'ɹ'), + (0x2B5, 'M', u'ɻ'), + (0x2B6, 'M', u'ʁ'), + (0x2B7, 'M', u'w'), + (0x2B8, 'M', u'y'), + (0x2B9, 'V'), + (0x2D8, '3', u' ̆'), + (0x2D9, '3', u' ̇'), + (0x2DA, '3', u' ̊'), + (0x2DB, '3', u' ̨'), + (0x2DC, '3', u' ̃'), + (0x2DD, '3', u' ̋'), + (0x2DE, 'V'), + (0x2E0, 'M', u'ɣ'), + (0x2E1, 'M', u'l'), + (0x2E2, 'M', u's'), + (0x2E3, 'M', u'x'), + (0x2E4, 'M', u'ʕ'), + (0x2E5, 'V'), + (0x340, 'M', u'̀'), + (0x341, 'M', u'́'), + (0x342, 'V'), + (0x343, 'M', u'̓'), + (0x344, 'M', u'̈́'), + (0x345, 'M', u'ι'), + (0x346, 'V'), + (0x34F, 'I'), + (0x350, 'V'), + (0x370, 'M', u'ͱ'), + (0x371, 'V'), + (0x372, 'M', u'ͳ'), + (0x373, 'V'), + (0x374, 'M', u'ʹ'), + (0x375, 'V'), + (0x376, 'M', u'ͷ'), + (0x377, 'V'), + ] + +def _seg_6(): + return [ + (0x378, 'X'), + (0x37A, '3', u' ι'), + (0x37B, 'V'), + (0x37E, '3', u';'), + (0x37F, 'M', u'ϳ'), + (0x380, 'X'), + (0x384, '3', u' ́'), + (0x385, '3', u' ̈́'), + (0x386, 'M', u'ά'), + (0x387, 'M', u'·'), + (0x388, 'M', u'έ'), + (0x389, 'M', u'ή'), + (0x38A, 'M', u'ί'), + (0x38B, 'X'), + (0x38C, 'M', u'ό'), + (0x38D, 'X'), + (0x38E, 'M', u'ύ'), + (0x38F, 'M', u'ώ'), + (0x390, 'V'), + (0x391, 'M', u'α'), + (0x392, 'M', u'β'), + (0x393, 'M', u'γ'), + (0x394, 'M', u'δ'), + (0x395, 'M', u'ε'), + (0x396, 'M', u'ζ'), + (0x397, 'M', u'η'), + (0x398, 'M', u'θ'), + (0x399, 'M', u'ι'), + (0x39A, 'M', u'κ'), + (0x39B, 'M', u'λ'), + (0x39C, 'M', u'μ'), + (0x39D, 'M', u'ν'), + (0x39E, 'M', u'ξ'), + (0x39F, 'M', u'ο'), + (0x3A0, 'M', u'π'), + (0x3A1, 'M', u'ρ'), + (0x3A2, 'X'), + (0x3A3, 'M', u'σ'), + (0x3A4, 'M', u'τ'), + (0x3A5, 'M', u'υ'), + (0x3A6, 'M', u'φ'), + (0x3A7, 'M', u'χ'), + (0x3A8, 'M', u'ψ'), + (0x3A9, 'M', u'ω'), + (0x3AA, 'M', u'ϊ'), + (0x3AB, 'M', u'ϋ'), + (0x3AC, 'V'), + (0x3C2, 'D', u'σ'), + (0x3C3, 'V'), + (0x3CF, 'M', u'ϗ'), + (0x3D0, 'M', u'β'), + (0x3D1, 'M', u'θ'), + (0x3D2, 'M', u'υ'), + (0x3D3, 'M', u'ύ'), + (0x3D4, 'M', u'ϋ'), + (0x3D5, 'M', u'φ'), + (0x3D6, 'M', u'π'), + (0x3D7, 'V'), + (0x3D8, 'M', u'ϙ'), + (0x3D9, 'V'), + (0x3DA, 'M', u'ϛ'), + (0x3DB, 'V'), + (0x3DC, 'M', u'ϝ'), + (0x3DD, 'V'), + (0x3DE, 'M', u'ϟ'), + (0x3DF, 'V'), + (0x3E0, 'M', u'ϡ'), + (0x3E1, 'V'), + (0x3E2, 'M', u'ϣ'), + (0x3E3, 'V'), + (0x3E4, 'M', u'ϥ'), + (0x3E5, 'V'), + (0x3E6, 'M', u'ϧ'), + (0x3E7, 'V'), + (0x3E8, 'M', u'ϩ'), + (0x3E9, 'V'), + (0x3EA, 'M', u'ϫ'), + (0x3EB, 'V'), + (0x3EC, 'M', u'ϭ'), + (0x3ED, 'V'), + (0x3EE, 'M', u'ϯ'), + (0x3EF, 'V'), + (0x3F0, 'M', u'κ'), + (0x3F1, 'M', u'ρ'), + (0x3F2, 'M', u'σ'), + (0x3F3, 'V'), + (0x3F4, 'M', u'θ'), + (0x3F5, 'M', u'ε'), + (0x3F6, 'V'), + (0x3F7, 'M', u'ϸ'), + (0x3F8, 'V'), + (0x3F9, 'M', u'σ'), + (0x3FA, 'M', u'ϻ'), + (0x3FB, 'V'), + (0x3FD, 'M', u'ͻ'), + (0x3FE, 'M', u'ͼ'), + (0x3FF, 'M', u'ͽ'), + (0x400, 'M', u'ѐ'), + (0x401, 'M', u'ё'), + (0x402, 'M', u'ђ'), + ] + +def _seg_7(): + return [ + (0x403, 'M', u'ѓ'), + (0x404, 'M', u'є'), + (0x405, 'M', u'ѕ'), + (0x406, 'M', u'і'), + (0x407, 'M', u'ї'), + (0x408, 'M', u'ј'), + (0x409, 'M', u'љ'), + (0x40A, 'M', u'њ'), + (0x40B, 'M', u'ћ'), + (0x40C, 'M', u'ќ'), + (0x40D, 'M', u'ѝ'), + (0x40E, 'M', u'ў'), + (0x40F, 'M', u'џ'), + (0x410, 'M', u'а'), + (0x411, 'M', u'б'), + (0x412, 'M', u'в'), + (0x413, 'M', u'г'), + (0x414, 'M', u'д'), + (0x415, 'M', u'е'), + (0x416, 'M', u'ж'), + (0x417, 'M', u'з'), + (0x418, 'M', u'и'), + (0x419, 'M', u'й'), + (0x41A, 'M', u'к'), + (0x41B, 'M', u'л'), + (0x41C, 'M', u'м'), + (0x41D, 'M', u'н'), + (0x41E, 'M', u'о'), + (0x41F, 'M', u'п'), + (0x420, 'M', u'р'), + (0x421, 'M', u'с'), + (0x422, 'M', u'т'), + (0x423, 'M', u'у'), + (0x424, 'M', u'ф'), + (0x425, 'M', u'х'), + (0x426, 'M', u'ц'), + (0x427, 'M', u'ч'), + (0x428, 'M', u'ш'), + (0x429, 'M', u'щ'), + (0x42A, 'M', u'ъ'), + (0x42B, 'M', u'ы'), + (0x42C, 'M', u'ь'), + (0x42D, 'M', u'э'), + (0x42E, 'M', u'ю'), + (0x42F, 'M', u'я'), + (0x430, 'V'), + (0x460, 'M', u'ѡ'), + (0x461, 'V'), + (0x462, 'M', u'ѣ'), + (0x463, 'V'), + (0x464, 'M', u'ѥ'), + (0x465, 'V'), + (0x466, 'M', u'ѧ'), + (0x467, 'V'), + (0x468, 'M', u'ѩ'), + (0x469, 'V'), + (0x46A, 'M', u'ѫ'), + (0x46B, 'V'), + (0x46C, 'M', u'ѭ'), + (0x46D, 'V'), + (0x46E, 'M', u'ѯ'), + (0x46F, 'V'), + (0x470, 'M', u'ѱ'), + (0x471, 'V'), + (0x472, 'M', u'ѳ'), + (0x473, 'V'), + (0x474, 'M', u'ѵ'), + (0x475, 'V'), + (0x476, 'M', u'ѷ'), + (0x477, 'V'), + (0x478, 'M', u'ѹ'), + (0x479, 'V'), + (0x47A, 'M', u'ѻ'), + (0x47B, 'V'), + (0x47C, 'M', u'ѽ'), + (0x47D, 'V'), + (0x47E, 'M', u'ѿ'), + (0x47F, 'V'), + (0x480, 'M', u'ҁ'), + (0x481, 'V'), + (0x48A, 'M', u'ҋ'), + (0x48B, 'V'), + (0x48C, 'M', u'ҍ'), + (0x48D, 'V'), + (0x48E, 'M', u'ҏ'), + (0x48F, 'V'), + (0x490, 'M', u'ґ'), + (0x491, 'V'), + (0x492, 'M', u'ғ'), + (0x493, 'V'), + (0x494, 'M', u'ҕ'), + (0x495, 'V'), + (0x496, 'M', u'җ'), + (0x497, 'V'), + (0x498, 'M', u'ҙ'), + (0x499, 'V'), + (0x49A, 'M', u'қ'), + (0x49B, 'V'), + (0x49C, 'M', u'ҝ'), + (0x49D, 'V'), + ] + +def _seg_8(): + return [ + (0x49E, 'M', u'ҟ'), + (0x49F, 'V'), + (0x4A0, 'M', u'ҡ'), + (0x4A1, 'V'), + (0x4A2, 'M', u'ң'), + (0x4A3, 'V'), + (0x4A4, 'M', u'ҥ'), + (0x4A5, 'V'), + (0x4A6, 'M', u'ҧ'), + (0x4A7, 'V'), + (0x4A8, 'M', u'ҩ'), + (0x4A9, 'V'), + (0x4AA, 'M', u'ҫ'), + (0x4AB, 'V'), + (0x4AC, 'M', u'ҭ'), + (0x4AD, 'V'), + (0x4AE, 'M', u'ү'), + (0x4AF, 'V'), + (0x4B0, 'M', u'ұ'), + (0x4B1, 'V'), + (0x4B2, 'M', u'ҳ'), + (0x4B3, 'V'), + (0x4B4, 'M', u'ҵ'), + (0x4B5, 'V'), + (0x4B6, 'M', u'ҷ'), + (0x4B7, 'V'), + (0x4B8, 'M', u'ҹ'), + (0x4B9, 'V'), + (0x4BA, 'M', u'һ'), + (0x4BB, 'V'), + (0x4BC, 'M', u'ҽ'), + (0x4BD, 'V'), + (0x4BE, 'M', u'ҿ'), + (0x4BF, 'V'), + (0x4C0, 'X'), + (0x4C1, 'M', u'ӂ'), + (0x4C2, 'V'), + (0x4C3, 'M', u'ӄ'), + (0x4C4, 'V'), + (0x4C5, 'M', u'ӆ'), + (0x4C6, 'V'), + (0x4C7, 'M', u'ӈ'), + (0x4C8, 'V'), + (0x4C9, 'M', u'ӊ'), + (0x4CA, 'V'), + (0x4CB, 'M', u'ӌ'), + (0x4CC, 'V'), + (0x4CD, 'M', u'ӎ'), + (0x4CE, 'V'), + (0x4D0, 'M', u'ӑ'), + (0x4D1, 'V'), + (0x4D2, 'M', u'ӓ'), + (0x4D3, 'V'), + (0x4D4, 'M', u'ӕ'), + (0x4D5, 'V'), + (0x4D6, 'M', u'ӗ'), + (0x4D7, 'V'), + (0x4D8, 'M', u'ә'), + (0x4D9, 'V'), + (0x4DA, 'M', u'ӛ'), + (0x4DB, 'V'), + (0x4DC, 'M', u'ӝ'), + (0x4DD, 'V'), + (0x4DE, 'M', u'ӟ'), + (0x4DF, 'V'), + (0x4E0, 'M', u'ӡ'), + (0x4E1, 'V'), + (0x4E2, 'M', u'ӣ'), + (0x4E3, 'V'), + (0x4E4, 'M', u'ӥ'), + (0x4E5, 'V'), + (0x4E6, 'M', u'ӧ'), + (0x4E7, 'V'), + (0x4E8, 'M', u'ө'), + (0x4E9, 'V'), + (0x4EA, 'M', u'ӫ'), + (0x4EB, 'V'), + (0x4EC, 'M', u'ӭ'), + (0x4ED, 'V'), + (0x4EE, 'M', u'ӯ'), + (0x4EF, 'V'), + (0x4F0, 'M', u'ӱ'), + (0x4F1, 'V'), + (0x4F2, 'M', u'ӳ'), + (0x4F3, 'V'), + (0x4F4, 'M', u'ӵ'), + (0x4F5, 'V'), + (0x4F6, 'M', u'ӷ'), + (0x4F7, 'V'), + (0x4F8, 'M', u'ӹ'), + (0x4F9, 'V'), + (0x4FA, 'M', u'ӻ'), + (0x4FB, 'V'), + (0x4FC, 'M', u'ӽ'), + (0x4FD, 'V'), + (0x4FE, 'M', u'ӿ'), + (0x4FF, 'V'), + (0x500, 'M', u'ԁ'), + (0x501, 'V'), + (0x502, 'M', u'ԃ'), + ] + +def _seg_9(): + return [ + (0x503, 'V'), + (0x504, 'M', u'ԅ'), + (0x505, 'V'), + (0x506, 'M', u'ԇ'), + (0x507, 'V'), + (0x508, 'M', u'ԉ'), + (0x509, 'V'), + (0x50A, 'M', u'ԋ'), + (0x50B, 'V'), + (0x50C, 'M', u'ԍ'), + (0x50D, 'V'), + (0x50E, 'M', u'ԏ'), + (0x50F, 'V'), + (0x510, 'M', u'ԑ'), + (0x511, 'V'), + (0x512, 'M', u'ԓ'), + (0x513, 'V'), + (0x514, 'M', u'ԕ'), + (0x515, 'V'), + (0x516, 'M', u'ԗ'), + (0x517, 'V'), + (0x518, 'M', u'ԙ'), + (0x519, 'V'), + (0x51A, 'M', u'ԛ'), + (0x51B, 'V'), + (0x51C, 'M', u'ԝ'), + (0x51D, 'V'), + (0x51E, 'M', u'ԟ'), + (0x51F, 'V'), + (0x520, 'M', u'ԡ'), + (0x521, 'V'), + (0x522, 'M', u'ԣ'), + (0x523, 'V'), + (0x524, 'M', u'ԥ'), + (0x525, 'V'), + (0x526, 'M', u'ԧ'), + (0x527, 'V'), + (0x528, 'M', u'ԩ'), + (0x529, 'V'), + (0x52A, 'M', u'ԫ'), + (0x52B, 'V'), + (0x52C, 'M', u'ԭ'), + (0x52D, 'V'), + (0x52E, 'M', u'ԯ'), + (0x52F, 'V'), + (0x530, 'X'), + (0x531, 'M', u'ա'), + (0x532, 'M', u'բ'), + (0x533, 'M', u'գ'), + (0x534, 'M', u'դ'), + (0x535, 'M', u'ե'), + (0x536, 'M', u'զ'), + (0x537, 'M', u'է'), + (0x538, 'M', u'ը'), + (0x539, 'M', u'թ'), + (0x53A, 'M', u'ժ'), + (0x53B, 'M', u'ի'), + (0x53C, 'M', u'լ'), + (0x53D, 'M', u'խ'), + (0x53E, 'M', u'ծ'), + (0x53F, 'M', u'կ'), + (0x540, 'M', u'հ'), + (0x541, 'M', u'ձ'), + (0x542, 'M', u'ղ'), + (0x543, 'M', u'ճ'), + (0x544, 'M', u'մ'), + (0x545, 'M', u'յ'), + (0x546, 'M', u'ն'), + (0x547, 'M', u'շ'), + (0x548, 'M', u'ո'), + (0x549, 'M', u'չ'), + (0x54A, 'M', u'պ'), + (0x54B, 'M', u'ջ'), + (0x54C, 'M', u'ռ'), + (0x54D, 'M', u'ս'), + (0x54E, 'M', u'վ'), + (0x54F, 'M', u'տ'), + (0x550, 'M', u'ր'), + (0x551, 'M', u'ց'), + (0x552, 'M', u'ւ'), + (0x553, 'M', u'փ'), + (0x554, 'M', u'ք'), + (0x555, 'M', u'օ'), + (0x556, 'M', u'ֆ'), + (0x557, 'X'), + (0x559, 'V'), + (0x587, 'M', u'եւ'), + (0x588, 'V'), + (0x58B, 'X'), + (0x58D, 'V'), + (0x590, 'X'), + (0x591, 'V'), + (0x5C8, 'X'), + (0x5D0, 'V'), + (0x5EB, 'X'), + (0x5EF, 'V'), + (0x5F5, 'X'), + (0x606, 'V'), + (0x61C, 'X'), + (0x61E, 'V'), + ] + +def _seg_10(): + return [ + (0x675, 'M', u'اٴ'), + (0x676, 'M', u'وٴ'), + (0x677, 'M', u'ۇٴ'), + (0x678, 'M', u'يٴ'), + (0x679, 'V'), + (0x6DD, 'X'), + (0x6DE, 'V'), + (0x70E, 'X'), + (0x710, 'V'), + (0x74B, 'X'), + (0x74D, 'V'), + (0x7B2, 'X'), + (0x7C0, 'V'), + (0x7FB, 'X'), + (0x7FD, 'V'), + (0x82E, 'X'), + (0x830, 'V'), + (0x83F, 'X'), + (0x840, 'V'), + (0x85C, 'X'), + (0x85E, 'V'), + (0x85F, 'X'), + (0x860, 'V'), + (0x86B, 'X'), + (0x8A0, 'V'), + (0x8B5, 'X'), + (0x8B6, 'V'), + (0x8BE, 'X'), + (0x8D3, 'V'), + (0x8E2, 'X'), + (0x8E3, 'V'), + (0x958, 'M', u'क़'), + (0x959, 'M', u'ख़'), + (0x95A, 'M', u'ग़'), + (0x95B, 'M', u'ज़'), + (0x95C, 'M', u'ड़'), + (0x95D, 'M', u'ढ़'), + (0x95E, 'M', u'फ़'), + (0x95F, 'M', u'य़'), + (0x960, 'V'), + (0x984, 'X'), + (0x985, 'V'), + (0x98D, 'X'), + (0x98F, 'V'), + (0x991, 'X'), + (0x993, 'V'), + (0x9A9, 'X'), + (0x9AA, 'V'), + (0x9B1, 'X'), + (0x9B2, 'V'), + (0x9B3, 'X'), + (0x9B6, 'V'), + (0x9BA, 'X'), + (0x9BC, 'V'), + (0x9C5, 'X'), + (0x9C7, 'V'), + (0x9C9, 'X'), + (0x9CB, 'V'), + (0x9CF, 'X'), + (0x9D7, 'V'), + (0x9D8, 'X'), + (0x9DC, 'M', u'ড়'), + (0x9DD, 'M', u'ঢ়'), + (0x9DE, 'X'), + (0x9DF, 'M', u'য়'), + (0x9E0, 'V'), + (0x9E4, 'X'), + (0x9E6, 'V'), + (0x9FF, 'X'), + (0xA01, 'V'), + (0xA04, 'X'), + (0xA05, 'V'), + (0xA0B, 'X'), + (0xA0F, 'V'), + (0xA11, 'X'), + (0xA13, 'V'), + (0xA29, 'X'), + (0xA2A, 'V'), + (0xA31, 'X'), + (0xA32, 'V'), + (0xA33, 'M', u'ਲ਼'), + (0xA34, 'X'), + (0xA35, 'V'), + (0xA36, 'M', u'ਸ਼'), + (0xA37, 'X'), + (0xA38, 'V'), + (0xA3A, 'X'), + (0xA3C, 'V'), + (0xA3D, 'X'), + (0xA3E, 'V'), + (0xA43, 'X'), + (0xA47, 'V'), + (0xA49, 'X'), + (0xA4B, 'V'), + (0xA4E, 'X'), + (0xA51, 'V'), + (0xA52, 'X'), + (0xA59, 'M', u'ਖ਼'), + (0xA5A, 'M', u'ਗ਼'), + (0xA5B, 'M', u'ਜ਼'), + ] + +def _seg_11(): + return [ + (0xA5C, 'V'), + (0xA5D, 'X'), + (0xA5E, 'M', u'ਫ਼'), + (0xA5F, 'X'), + (0xA66, 'V'), + (0xA77, 'X'), + (0xA81, 'V'), + (0xA84, 'X'), + (0xA85, 'V'), + (0xA8E, 'X'), + (0xA8F, 'V'), + (0xA92, 'X'), + (0xA93, 'V'), + (0xAA9, 'X'), + (0xAAA, 'V'), + (0xAB1, 'X'), + (0xAB2, 'V'), + (0xAB4, 'X'), + (0xAB5, 'V'), + (0xABA, 'X'), + (0xABC, 'V'), + (0xAC6, 'X'), + (0xAC7, 'V'), + (0xACA, 'X'), + (0xACB, 'V'), + (0xACE, 'X'), + (0xAD0, 'V'), + (0xAD1, 'X'), + (0xAE0, 'V'), + (0xAE4, 'X'), + (0xAE6, 'V'), + (0xAF2, 'X'), + (0xAF9, 'V'), + (0xB00, 'X'), + (0xB01, 'V'), + (0xB04, 'X'), + (0xB05, 'V'), + (0xB0D, 'X'), + (0xB0F, 'V'), + (0xB11, 'X'), + (0xB13, 'V'), + (0xB29, 'X'), + (0xB2A, 'V'), + (0xB31, 'X'), + (0xB32, 'V'), + (0xB34, 'X'), + (0xB35, 'V'), + (0xB3A, 'X'), + (0xB3C, 'V'), + (0xB45, 'X'), + (0xB47, 'V'), + (0xB49, 'X'), + (0xB4B, 'V'), + (0xB4E, 'X'), + (0xB56, 'V'), + (0xB58, 'X'), + (0xB5C, 'M', u'ଡ଼'), + (0xB5D, 'M', u'ଢ଼'), + (0xB5E, 'X'), + (0xB5F, 'V'), + (0xB64, 'X'), + (0xB66, 'V'), + (0xB78, 'X'), + (0xB82, 'V'), + (0xB84, 'X'), + (0xB85, 'V'), + (0xB8B, 'X'), + (0xB8E, 'V'), + (0xB91, 'X'), + (0xB92, 'V'), + (0xB96, 'X'), + (0xB99, 'V'), + (0xB9B, 'X'), + (0xB9C, 'V'), + (0xB9D, 'X'), + (0xB9E, 'V'), + (0xBA0, 'X'), + (0xBA3, 'V'), + (0xBA5, 'X'), + (0xBA8, 'V'), + (0xBAB, 'X'), + (0xBAE, 'V'), + (0xBBA, 'X'), + (0xBBE, 'V'), + (0xBC3, 'X'), + (0xBC6, 'V'), + (0xBC9, 'X'), + (0xBCA, 'V'), + (0xBCE, 'X'), + (0xBD0, 'V'), + (0xBD1, 'X'), + (0xBD7, 'V'), + (0xBD8, 'X'), + (0xBE6, 'V'), + (0xBFB, 'X'), + (0xC00, 'V'), + (0xC0D, 'X'), + (0xC0E, 'V'), + (0xC11, 'X'), + (0xC12, 'V'), + ] + +def _seg_12(): + return [ + (0xC29, 'X'), + (0xC2A, 'V'), + (0xC3A, 'X'), + (0xC3D, 'V'), + (0xC45, 'X'), + (0xC46, 'V'), + (0xC49, 'X'), + (0xC4A, 'V'), + (0xC4E, 'X'), + (0xC55, 'V'), + (0xC57, 'X'), + (0xC58, 'V'), + (0xC5B, 'X'), + (0xC60, 'V'), + (0xC64, 'X'), + (0xC66, 'V'), + (0xC70, 'X'), + (0xC78, 'V'), + (0xC8D, 'X'), + (0xC8E, 'V'), + (0xC91, 'X'), + (0xC92, 'V'), + (0xCA9, 'X'), + (0xCAA, 'V'), + (0xCB4, 'X'), + (0xCB5, 'V'), + (0xCBA, 'X'), + (0xCBC, 'V'), + (0xCC5, 'X'), + (0xCC6, 'V'), + (0xCC9, 'X'), + (0xCCA, 'V'), + (0xCCE, 'X'), + (0xCD5, 'V'), + (0xCD7, 'X'), + (0xCDE, 'V'), + (0xCDF, 'X'), + (0xCE0, 'V'), + (0xCE4, 'X'), + (0xCE6, 'V'), + (0xCF0, 'X'), + (0xCF1, 'V'), + (0xCF3, 'X'), + (0xD00, 'V'), + (0xD04, 'X'), + (0xD05, 'V'), + (0xD0D, 'X'), + (0xD0E, 'V'), + (0xD11, 'X'), + (0xD12, 'V'), + (0xD45, 'X'), + (0xD46, 'V'), + (0xD49, 'X'), + (0xD4A, 'V'), + (0xD50, 'X'), + (0xD54, 'V'), + (0xD64, 'X'), + (0xD66, 'V'), + (0xD80, 'X'), + (0xD82, 'V'), + (0xD84, 'X'), + (0xD85, 'V'), + (0xD97, 'X'), + (0xD9A, 'V'), + (0xDB2, 'X'), + (0xDB3, 'V'), + (0xDBC, 'X'), + (0xDBD, 'V'), + (0xDBE, 'X'), + (0xDC0, 'V'), + (0xDC7, 'X'), + (0xDCA, 'V'), + (0xDCB, 'X'), + (0xDCF, 'V'), + (0xDD5, 'X'), + (0xDD6, 'V'), + (0xDD7, 'X'), + (0xDD8, 'V'), + (0xDE0, 'X'), + (0xDE6, 'V'), + (0xDF0, 'X'), + (0xDF2, 'V'), + (0xDF5, 'X'), + (0xE01, 'V'), + (0xE33, 'M', u'ํา'), + (0xE34, 'V'), + (0xE3B, 'X'), + (0xE3F, 'V'), + (0xE5C, 'X'), + (0xE81, 'V'), + (0xE83, 'X'), + (0xE84, 'V'), + (0xE85, 'X'), + (0xE87, 'V'), + (0xE89, 'X'), + (0xE8A, 'V'), + (0xE8B, 'X'), + (0xE8D, 'V'), + (0xE8E, 'X'), + (0xE94, 'V'), + ] + +def _seg_13(): + return [ + (0xE98, 'X'), + (0xE99, 'V'), + (0xEA0, 'X'), + (0xEA1, 'V'), + (0xEA4, 'X'), + (0xEA5, 'V'), + (0xEA6, 'X'), + (0xEA7, 'V'), + (0xEA8, 'X'), + (0xEAA, 'V'), + (0xEAC, 'X'), + (0xEAD, 'V'), + (0xEB3, 'M', u'ໍາ'), + (0xEB4, 'V'), + (0xEBA, 'X'), + (0xEBB, 'V'), + (0xEBE, 'X'), + (0xEC0, 'V'), + (0xEC5, 'X'), + (0xEC6, 'V'), + (0xEC7, 'X'), + (0xEC8, 'V'), + (0xECE, 'X'), + (0xED0, 'V'), + (0xEDA, 'X'), + (0xEDC, 'M', u'ຫນ'), + (0xEDD, 'M', u'ຫມ'), + (0xEDE, 'V'), + (0xEE0, 'X'), + (0xF00, 'V'), + (0xF0C, 'M', u'་'), + (0xF0D, 'V'), + (0xF43, 'M', u'གྷ'), + (0xF44, 'V'), + (0xF48, 'X'), + (0xF49, 'V'), + (0xF4D, 'M', u'ཌྷ'), + (0xF4E, 'V'), + (0xF52, 'M', u'དྷ'), + (0xF53, 'V'), + (0xF57, 'M', u'བྷ'), + (0xF58, 'V'), + (0xF5C, 'M', u'ཛྷ'), + (0xF5D, 'V'), + (0xF69, 'M', u'ཀྵ'), + (0xF6A, 'V'), + (0xF6D, 'X'), + (0xF71, 'V'), + (0xF73, 'M', u'ཱི'), + (0xF74, 'V'), + (0xF75, 'M', u'ཱུ'), + (0xF76, 'M', u'ྲྀ'), + (0xF77, 'M', u'ྲཱྀ'), + (0xF78, 'M', u'ླྀ'), + (0xF79, 'M', u'ླཱྀ'), + (0xF7A, 'V'), + (0xF81, 'M', u'ཱྀ'), + (0xF82, 'V'), + (0xF93, 'M', u'ྒྷ'), + (0xF94, 'V'), + (0xF98, 'X'), + (0xF99, 'V'), + (0xF9D, 'M', u'ྜྷ'), + (0xF9E, 'V'), + (0xFA2, 'M', u'ྡྷ'), + (0xFA3, 'V'), + (0xFA7, 'M', u'ྦྷ'), + (0xFA8, 'V'), + (0xFAC, 'M', u'ྫྷ'), + (0xFAD, 'V'), + (0xFB9, 'M', u'ྐྵ'), + (0xFBA, 'V'), + (0xFBD, 'X'), + (0xFBE, 'V'), + (0xFCD, 'X'), + (0xFCE, 'V'), + (0xFDB, 'X'), + (0x1000, 'V'), + (0x10A0, 'X'), + (0x10C7, 'M', u'ⴧ'), + (0x10C8, 'X'), + (0x10CD, 'M', u'ⴭ'), + (0x10CE, 'X'), + (0x10D0, 'V'), + (0x10FC, 'M', u'ნ'), + (0x10FD, 'V'), + (0x115F, 'X'), + (0x1161, 'V'), + (0x1249, 'X'), + (0x124A, 'V'), + (0x124E, 'X'), + (0x1250, 'V'), + (0x1257, 'X'), + (0x1258, 'V'), + (0x1259, 'X'), + (0x125A, 'V'), + (0x125E, 'X'), + (0x1260, 'V'), + (0x1289, 'X'), + (0x128A, 'V'), + ] + +def _seg_14(): + return [ + (0x128E, 'X'), + (0x1290, 'V'), + (0x12B1, 'X'), + (0x12B2, 'V'), + (0x12B6, 'X'), + (0x12B8, 'V'), + (0x12BF, 'X'), + (0x12C0, 'V'), + (0x12C1, 'X'), + (0x12C2, 'V'), + (0x12C6, 'X'), + (0x12C8, 'V'), + (0x12D7, 'X'), + (0x12D8, 'V'), + (0x1311, 'X'), + (0x1312, 'V'), + (0x1316, 'X'), + (0x1318, 'V'), + (0x135B, 'X'), + (0x135D, 'V'), + (0x137D, 'X'), + (0x1380, 'V'), + (0x139A, 'X'), + (0x13A0, 'V'), + (0x13F6, 'X'), + (0x13F8, 'M', u'Ᏸ'), + (0x13F9, 'M', u'Ᏹ'), + (0x13FA, 'M', u'Ᏺ'), + (0x13FB, 'M', u'Ᏻ'), + (0x13FC, 'M', u'Ᏼ'), + (0x13FD, 'M', u'Ᏽ'), + (0x13FE, 'X'), + (0x1400, 'V'), + (0x1680, 'X'), + (0x1681, 'V'), + (0x169D, 'X'), + (0x16A0, 'V'), + (0x16F9, 'X'), + (0x1700, 'V'), + (0x170D, 'X'), + (0x170E, 'V'), + (0x1715, 'X'), + (0x1720, 'V'), + (0x1737, 'X'), + (0x1740, 'V'), + (0x1754, 'X'), + (0x1760, 'V'), + (0x176D, 'X'), + (0x176E, 'V'), + (0x1771, 'X'), + (0x1772, 'V'), + (0x1774, 'X'), + (0x1780, 'V'), + (0x17B4, 'X'), + (0x17B6, 'V'), + (0x17DE, 'X'), + (0x17E0, 'V'), + (0x17EA, 'X'), + (0x17F0, 'V'), + (0x17FA, 'X'), + (0x1800, 'V'), + (0x1806, 'X'), + (0x1807, 'V'), + (0x180B, 'I'), + (0x180E, 'X'), + (0x1810, 'V'), + (0x181A, 'X'), + (0x1820, 'V'), + (0x1879, 'X'), + (0x1880, 'V'), + (0x18AB, 'X'), + (0x18B0, 'V'), + (0x18F6, 'X'), + (0x1900, 'V'), + (0x191F, 'X'), + (0x1920, 'V'), + (0x192C, 'X'), + (0x1930, 'V'), + (0x193C, 'X'), + (0x1940, 'V'), + (0x1941, 'X'), + (0x1944, 'V'), + (0x196E, 'X'), + (0x1970, 'V'), + (0x1975, 'X'), + (0x1980, 'V'), + (0x19AC, 'X'), + (0x19B0, 'V'), + (0x19CA, 'X'), + (0x19D0, 'V'), + (0x19DB, 'X'), + (0x19DE, 'V'), + (0x1A1C, 'X'), + (0x1A1E, 'V'), + (0x1A5F, 'X'), + (0x1A60, 'V'), + (0x1A7D, 'X'), + (0x1A7F, 'V'), + (0x1A8A, 'X'), + (0x1A90, 'V'), + ] + +def _seg_15(): + return [ + (0x1A9A, 'X'), + (0x1AA0, 'V'), + (0x1AAE, 'X'), + (0x1AB0, 'V'), + (0x1ABF, 'X'), + (0x1B00, 'V'), + (0x1B4C, 'X'), + (0x1B50, 'V'), + (0x1B7D, 'X'), + (0x1B80, 'V'), + (0x1BF4, 'X'), + (0x1BFC, 'V'), + (0x1C38, 'X'), + (0x1C3B, 'V'), + (0x1C4A, 'X'), + (0x1C4D, 'V'), + (0x1C80, 'M', u'в'), + (0x1C81, 'M', u'д'), + (0x1C82, 'M', u'о'), + (0x1C83, 'M', u'с'), + (0x1C84, 'M', u'т'), + (0x1C86, 'M', u'ъ'), + (0x1C87, 'M', u'ѣ'), + (0x1C88, 'M', u'ꙋ'), + (0x1C89, 'X'), + (0x1CC0, 'V'), + (0x1CC8, 'X'), + (0x1CD0, 'V'), + (0x1CFA, 'X'), + (0x1D00, 'V'), + (0x1D2C, 'M', u'a'), + (0x1D2D, 'M', u'æ'), + (0x1D2E, 'M', u'b'), + (0x1D2F, 'V'), + (0x1D30, 'M', u'd'), + (0x1D31, 'M', u'e'), + (0x1D32, 'M', u'ǝ'), + (0x1D33, 'M', u'g'), + (0x1D34, 'M', u'h'), + (0x1D35, 'M', u'i'), + (0x1D36, 'M', u'j'), + (0x1D37, 'M', u'k'), + (0x1D38, 'M', u'l'), + (0x1D39, 'M', u'm'), + (0x1D3A, 'M', u'n'), + (0x1D3B, 'V'), + (0x1D3C, 'M', u'o'), + (0x1D3D, 'M', u'ȣ'), + (0x1D3E, 'M', u'p'), + (0x1D3F, 'M', u'r'), + (0x1D40, 'M', u't'), + (0x1D41, 'M', u'u'), + (0x1D42, 'M', u'w'), + (0x1D43, 'M', u'a'), + (0x1D44, 'M', u'ɐ'), + (0x1D45, 'M', u'ɑ'), + (0x1D46, 'M', u'ᴂ'), + (0x1D47, 'M', u'b'), + (0x1D48, 'M', u'd'), + (0x1D49, 'M', u'e'), + (0x1D4A, 'M', u'ə'), + (0x1D4B, 'M', u'ɛ'), + (0x1D4C, 'M', u'ɜ'), + (0x1D4D, 'M', u'g'), + (0x1D4E, 'V'), + (0x1D4F, 'M', u'k'), + (0x1D50, 'M', u'm'), + (0x1D51, 'M', u'ŋ'), + (0x1D52, 'M', u'o'), + (0x1D53, 'M', u'ɔ'), + (0x1D54, 'M', u'ᴖ'), + (0x1D55, 'M', u'ᴗ'), + (0x1D56, 'M', u'p'), + (0x1D57, 'M', u't'), + (0x1D58, 'M', u'u'), + (0x1D59, 'M', u'ᴝ'), + (0x1D5A, 'M', u'ɯ'), + (0x1D5B, 'M', u'v'), + (0x1D5C, 'M', u'ᴥ'), + (0x1D5D, 'M', u'β'), + (0x1D5E, 'M', u'γ'), + (0x1D5F, 'M', u'δ'), + (0x1D60, 'M', u'φ'), + (0x1D61, 'M', u'χ'), + (0x1D62, 'M', u'i'), + (0x1D63, 'M', u'r'), + (0x1D64, 'M', u'u'), + (0x1D65, 'M', u'v'), + (0x1D66, 'M', u'β'), + (0x1D67, 'M', u'γ'), + (0x1D68, 'M', u'ρ'), + (0x1D69, 'M', u'φ'), + (0x1D6A, 'M', u'χ'), + (0x1D6B, 'V'), + (0x1D78, 'M', u'н'), + (0x1D79, 'V'), + (0x1D9B, 'M', u'ɒ'), + (0x1D9C, 'M', u'c'), + (0x1D9D, 'M', u'ɕ'), + (0x1D9E, 'M', u'ð'), + ] + +def _seg_16(): + return [ + (0x1D9F, 'M', u'ɜ'), + (0x1DA0, 'M', u'f'), + (0x1DA1, 'M', u'ɟ'), + (0x1DA2, 'M', u'ɡ'), + (0x1DA3, 'M', u'ɥ'), + (0x1DA4, 'M', u'ɨ'), + (0x1DA5, 'M', u'ɩ'), + (0x1DA6, 'M', u'ɪ'), + (0x1DA7, 'M', u'ᵻ'), + (0x1DA8, 'M', u'ʝ'), + (0x1DA9, 'M', u'ɭ'), + (0x1DAA, 'M', u'ᶅ'), + (0x1DAB, 'M', u'ʟ'), + (0x1DAC, 'M', u'ɱ'), + (0x1DAD, 'M', u'ɰ'), + (0x1DAE, 'M', u'ɲ'), + (0x1DAF, 'M', u'ɳ'), + (0x1DB0, 'M', u'ɴ'), + (0x1DB1, 'M', u'ɵ'), + (0x1DB2, 'M', u'ɸ'), + (0x1DB3, 'M', u'ʂ'), + (0x1DB4, 'M', u'ʃ'), + (0x1DB5, 'M', u'ƫ'), + (0x1DB6, 'M', u'ʉ'), + (0x1DB7, 'M', u'ʊ'), + (0x1DB8, 'M', u'ᴜ'), + (0x1DB9, 'M', u'ʋ'), + (0x1DBA, 'M', u'ʌ'), + (0x1DBB, 'M', u'z'), + (0x1DBC, 'M', u'ʐ'), + (0x1DBD, 'M', u'ʑ'), + (0x1DBE, 'M', u'ʒ'), + (0x1DBF, 'M', u'θ'), + (0x1DC0, 'V'), + (0x1DFA, 'X'), + (0x1DFB, 'V'), + (0x1E00, 'M', u'ḁ'), + (0x1E01, 'V'), + (0x1E02, 'M', u'ḃ'), + (0x1E03, 'V'), + (0x1E04, 'M', u'ḅ'), + (0x1E05, 'V'), + (0x1E06, 'M', u'ḇ'), + (0x1E07, 'V'), + (0x1E08, 'M', u'ḉ'), + (0x1E09, 'V'), + (0x1E0A, 'M', u'ḋ'), + (0x1E0B, 'V'), + (0x1E0C, 'M', u'ḍ'), + (0x1E0D, 'V'), + (0x1E0E, 'M', u'ḏ'), + (0x1E0F, 'V'), + (0x1E10, 'M', u'ḑ'), + (0x1E11, 'V'), + (0x1E12, 'M', u'ḓ'), + (0x1E13, 'V'), + (0x1E14, 'M', u'ḕ'), + (0x1E15, 'V'), + (0x1E16, 'M', u'ḗ'), + (0x1E17, 'V'), + (0x1E18, 'M', u'ḙ'), + (0x1E19, 'V'), + (0x1E1A, 'M', u'ḛ'), + (0x1E1B, 'V'), + (0x1E1C, 'M', u'ḝ'), + (0x1E1D, 'V'), + (0x1E1E, 'M', u'ḟ'), + (0x1E1F, 'V'), + (0x1E20, 'M', u'ḡ'), + (0x1E21, 'V'), + (0x1E22, 'M', u'ḣ'), + (0x1E23, 'V'), + (0x1E24, 'M', u'ḥ'), + (0x1E25, 'V'), + (0x1E26, 'M', u'ḧ'), + (0x1E27, 'V'), + (0x1E28, 'M', u'ḩ'), + (0x1E29, 'V'), + (0x1E2A, 'M', u'ḫ'), + (0x1E2B, 'V'), + (0x1E2C, 'M', u'ḭ'), + (0x1E2D, 'V'), + (0x1E2E, 'M', u'ḯ'), + (0x1E2F, 'V'), + (0x1E30, 'M', u'ḱ'), + (0x1E31, 'V'), + (0x1E32, 'M', u'ḳ'), + (0x1E33, 'V'), + (0x1E34, 'M', u'ḵ'), + (0x1E35, 'V'), + (0x1E36, 'M', u'ḷ'), + (0x1E37, 'V'), + (0x1E38, 'M', u'ḹ'), + (0x1E39, 'V'), + (0x1E3A, 'M', u'ḻ'), + (0x1E3B, 'V'), + (0x1E3C, 'M', u'ḽ'), + (0x1E3D, 'V'), + (0x1E3E, 'M', u'ḿ'), + (0x1E3F, 'V'), + ] + +def _seg_17(): + return [ + (0x1E40, 'M', u'ṁ'), + (0x1E41, 'V'), + (0x1E42, 'M', u'ṃ'), + (0x1E43, 'V'), + (0x1E44, 'M', u'ṅ'), + (0x1E45, 'V'), + (0x1E46, 'M', u'ṇ'), + (0x1E47, 'V'), + (0x1E48, 'M', u'ṉ'), + (0x1E49, 'V'), + (0x1E4A, 'M', u'ṋ'), + (0x1E4B, 'V'), + (0x1E4C, 'M', u'ṍ'), + (0x1E4D, 'V'), + (0x1E4E, 'M', u'ṏ'), + (0x1E4F, 'V'), + (0x1E50, 'M', u'ṑ'), + (0x1E51, 'V'), + (0x1E52, 'M', u'ṓ'), + (0x1E53, 'V'), + (0x1E54, 'M', u'ṕ'), + (0x1E55, 'V'), + (0x1E56, 'M', u'ṗ'), + (0x1E57, 'V'), + (0x1E58, 'M', u'ṙ'), + (0x1E59, 'V'), + (0x1E5A, 'M', u'ṛ'), + (0x1E5B, 'V'), + (0x1E5C, 'M', u'ṝ'), + (0x1E5D, 'V'), + (0x1E5E, 'M', u'ṟ'), + (0x1E5F, 'V'), + (0x1E60, 'M', u'ṡ'), + (0x1E61, 'V'), + (0x1E62, 'M', u'ṣ'), + (0x1E63, 'V'), + (0x1E64, 'M', u'ṥ'), + (0x1E65, 'V'), + (0x1E66, 'M', u'ṧ'), + (0x1E67, 'V'), + (0x1E68, 'M', u'ṩ'), + (0x1E69, 'V'), + (0x1E6A, 'M', u'ṫ'), + (0x1E6B, 'V'), + (0x1E6C, 'M', u'ṭ'), + (0x1E6D, 'V'), + (0x1E6E, 'M', u'ṯ'), + (0x1E6F, 'V'), + (0x1E70, 'M', u'ṱ'), + (0x1E71, 'V'), + (0x1E72, 'M', u'ṳ'), + (0x1E73, 'V'), + (0x1E74, 'M', u'ṵ'), + (0x1E75, 'V'), + (0x1E76, 'M', u'ṷ'), + (0x1E77, 'V'), + (0x1E78, 'M', u'ṹ'), + (0x1E79, 'V'), + (0x1E7A, 'M', u'ṻ'), + (0x1E7B, 'V'), + (0x1E7C, 'M', u'ṽ'), + (0x1E7D, 'V'), + (0x1E7E, 'M', u'ṿ'), + (0x1E7F, 'V'), + (0x1E80, 'M', u'ẁ'), + (0x1E81, 'V'), + (0x1E82, 'M', u'ẃ'), + (0x1E83, 'V'), + (0x1E84, 'M', u'ẅ'), + (0x1E85, 'V'), + (0x1E86, 'M', u'ẇ'), + (0x1E87, 'V'), + (0x1E88, 'M', u'ẉ'), + (0x1E89, 'V'), + (0x1E8A, 'M', u'ẋ'), + (0x1E8B, 'V'), + (0x1E8C, 'M', u'ẍ'), + (0x1E8D, 'V'), + (0x1E8E, 'M', u'ẏ'), + (0x1E8F, 'V'), + (0x1E90, 'M', u'ẑ'), + (0x1E91, 'V'), + (0x1E92, 'M', u'ẓ'), + (0x1E93, 'V'), + (0x1E94, 'M', u'ẕ'), + (0x1E95, 'V'), + (0x1E9A, 'M', u'aʾ'), + (0x1E9B, 'M', u'ṡ'), + (0x1E9C, 'V'), + (0x1E9E, 'M', u'ss'), + (0x1E9F, 'V'), + (0x1EA0, 'M', u'ạ'), + (0x1EA1, 'V'), + (0x1EA2, 'M', u'ả'), + (0x1EA3, 'V'), + (0x1EA4, 'M', u'ấ'), + (0x1EA5, 'V'), + (0x1EA6, 'M', u'ầ'), + (0x1EA7, 'V'), + (0x1EA8, 'M', u'ẩ'), + ] + +def _seg_18(): + return [ + (0x1EA9, 'V'), + (0x1EAA, 'M', u'ẫ'), + (0x1EAB, 'V'), + (0x1EAC, 'M', u'ậ'), + (0x1EAD, 'V'), + (0x1EAE, 'M', u'ắ'), + (0x1EAF, 'V'), + (0x1EB0, 'M', u'ằ'), + (0x1EB1, 'V'), + (0x1EB2, 'M', u'ẳ'), + (0x1EB3, 'V'), + (0x1EB4, 'M', u'ẵ'), + (0x1EB5, 'V'), + (0x1EB6, 'M', u'ặ'), + (0x1EB7, 'V'), + (0x1EB8, 'M', u'ẹ'), + (0x1EB9, 'V'), + (0x1EBA, 'M', u'ẻ'), + (0x1EBB, 'V'), + (0x1EBC, 'M', u'ẽ'), + (0x1EBD, 'V'), + (0x1EBE, 'M', u'ế'), + (0x1EBF, 'V'), + (0x1EC0, 'M', u'ề'), + (0x1EC1, 'V'), + (0x1EC2, 'M', u'ể'), + (0x1EC3, 'V'), + (0x1EC4, 'M', u'ễ'), + (0x1EC5, 'V'), + (0x1EC6, 'M', u'ệ'), + (0x1EC7, 'V'), + (0x1EC8, 'M', u'ỉ'), + (0x1EC9, 'V'), + (0x1ECA, 'M', u'ị'), + (0x1ECB, 'V'), + (0x1ECC, 'M', u'ọ'), + (0x1ECD, 'V'), + (0x1ECE, 'M', u'ỏ'), + (0x1ECF, 'V'), + (0x1ED0, 'M', u'ố'), + (0x1ED1, 'V'), + (0x1ED2, 'M', u'ồ'), + (0x1ED3, 'V'), + (0x1ED4, 'M', u'ổ'), + (0x1ED5, 'V'), + (0x1ED6, 'M', u'ỗ'), + (0x1ED7, 'V'), + (0x1ED8, 'M', u'ộ'), + (0x1ED9, 'V'), + (0x1EDA, 'M', u'ớ'), + (0x1EDB, 'V'), + (0x1EDC, 'M', u'ờ'), + (0x1EDD, 'V'), + (0x1EDE, 'M', u'ở'), + (0x1EDF, 'V'), + (0x1EE0, 'M', u'ỡ'), + (0x1EE1, 'V'), + (0x1EE2, 'M', u'ợ'), + (0x1EE3, 'V'), + (0x1EE4, 'M', u'ụ'), + (0x1EE5, 'V'), + (0x1EE6, 'M', u'ủ'), + (0x1EE7, 'V'), + (0x1EE8, 'M', u'ứ'), + (0x1EE9, 'V'), + (0x1EEA, 'M', u'ừ'), + (0x1EEB, 'V'), + (0x1EEC, 'M', u'ử'), + (0x1EED, 'V'), + (0x1EEE, 'M', u'ữ'), + (0x1EEF, 'V'), + (0x1EF0, 'M', u'ự'), + (0x1EF1, 'V'), + (0x1EF2, 'M', u'ỳ'), + (0x1EF3, 'V'), + (0x1EF4, 'M', u'ỵ'), + (0x1EF5, 'V'), + (0x1EF6, 'M', u'ỷ'), + (0x1EF7, 'V'), + (0x1EF8, 'M', u'ỹ'), + (0x1EF9, 'V'), + (0x1EFA, 'M', u'ỻ'), + (0x1EFB, 'V'), + (0x1EFC, 'M', u'ỽ'), + (0x1EFD, 'V'), + (0x1EFE, 'M', u'ỿ'), + (0x1EFF, 'V'), + (0x1F08, 'M', u'ἀ'), + (0x1F09, 'M', u'ἁ'), + (0x1F0A, 'M', u'ἂ'), + (0x1F0B, 'M', u'ἃ'), + (0x1F0C, 'M', u'ἄ'), + (0x1F0D, 'M', u'ἅ'), + (0x1F0E, 'M', u'ἆ'), + (0x1F0F, 'M', u'ἇ'), + (0x1F10, 'V'), + (0x1F16, 'X'), + (0x1F18, 'M', u'ἐ'), + (0x1F19, 'M', u'ἑ'), + (0x1F1A, 'M', u'ἒ'), + ] + +def _seg_19(): + return [ + (0x1F1B, 'M', u'ἓ'), + (0x1F1C, 'M', u'ἔ'), + (0x1F1D, 'M', u'ἕ'), + (0x1F1E, 'X'), + (0x1F20, 'V'), + (0x1F28, 'M', u'ἠ'), + (0x1F29, 'M', u'ἡ'), + (0x1F2A, 'M', u'ἢ'), + (0x1F2B, 'M', u'ἣ'), + (0x1F2C, 'M', u'ἤ'), + (0x1F2D, 'M', u'ἥ'), + (0x1F2E, 'M', u'ἦ'), + (0x1F2F, 'M', u'ἧ'), + (0x1F30, 'V'), + (0x1F38, 'M', u'ἰ'), + (0x1F39, 'M', u'ἱ'), + (0x1F3A, 'M', u'ἲ'), + (0x1F3B, 'M', u'ἳ'), + (0x1F3C, 'M', u'ἴ'), + (0x1F3D, 'M', u'ἵ'), + (0x1F3E, 'M', u'ἶ'), + (0x1F3F, 'M', u'ἷ'), + (0x1F40, 'V'), + (0x1F46, 'X'), + (0x1F48, 'M', u'ὀ'), + (0x1F49, 'M', u'ὁ'), + (0x1F4A, 'M', u'ὂ'), + (0x1F4B, 'M', u'ὃ'), + (0x1F4C, 'M', u'ὄ'), + (0x1F4D, 'M', u'ὅ'), + (0x1F4E, 'X'), + (0x1F50, 'V'), + (0x1F58, 'X'), + (0x1F59, 'M', u'ὑ'), + (0x1F5A, 'X'), + (0x1F5B, 'M', u'ὓ'), + (0x1F5C, 'X'), + (0x1F5D, 'M', u'ὕ'), + (0x1F5E, 'X'), + (0x1F5F, 'M', u'ὗ'), + (0x1F60, 'V'), + (0x1F68, 'M', u'ὠ'), + (0x1F69, 'M', u'ὡ'), + (0x1F6A, 'M', u'ὢ'), + (0x1F6B, 'M', u'ὣ'), + (0x1F6C, 'M', u'ὤ'), + (0x1F6D, 'M', u'ὥ'), + (0x1F6E, 'M', u'ὦ'), + (0x1F6F, 'M', u'ὧ'), + (0x1F70, 'V'), + (0x1F71, 'M', u'ά'), + (0x1F72, 'V'), + (0x1F73, 'M', u'έ'), + (0x1F74, 'V'), + (0x1F75, 'M', u'ή'), + (0x1F76, 'V'), + (0x1F77, 'M', u'ί'), + (0x1F78, 'V'), + (0x1F79, 'M', u'ό'), + (0x1F7A, 'V'), + (0x1F7B, 'M', u'ύ'), + (0x1F7C, 'V'), + (0x1F7D, 'M', u'ώ'), + (0x1F7E, 'X'), + (0x1F80, 'M', u'ἀι'), + (0x1F81, 'M', u'ἁι'), + (0x1F82, 'M', u'ἂι'), + (0x1F83, 'M', u'ἃι'), + (0x1F84, 'M', u'ἄι'), + (0x1F85, 'M', u'ἅι'), + (0x1F86, 'M', u'ἆι'), + (0x1F87, 'M', u'ἇι'), + (0x1F88, 'M', u'ἀι'), + (0x1F89, 'M', u'ἁι'), + (0x1F8A, 'M', u'ἂι'), + (0x1F8B, 'M', u'ἃι'), + (0x1F8C, 'M', u'ἄι'), + (0x1F8D, 'M', u'ἅι'), + (0x1F8E, 'M', u'ἆι'), + (0x1F8F, 'M', u'ἇι'), + (0x1F90, 'M', u'ἠι'), + (0x1F91, 'M', u'ἡι'), + (0x1F92, 'M', u'ἢι'), + (0x1F93, 'M', u'ἣι'), + (0x1F94, 'M', u'ἤι'), + (0x1F95, 'M', u'ἥι'), + (0x1F96, 'M', u'ἦι'), + (0x1F97, 'M', u'ἧι'), + (0x1F98, 'M', u'ἠι'), + (0x1F99, 'M', u'ἡι'), + (0x1F9A, 'M', u'ἢι'), + (0x1F9B, 'M', u'ἣι'), + (0x1F9C, 'M', u'ἤι'), + (0x1F9D, 'M', u'ἥι'), + (0x1F9E, 'M', u'ἦι'), + (0x1F9F, 'M', u'ἧι'), + (0x1FA0, 'M', u'ὠι'), + (0x1FA1, 'M', u'ὡι'), + (0x1FA2, 'M', u'ὢι'), + (0x1FA3, 'M', u'ὣι'), + ] + +def _seg_20(): + return [ + (0x1FA4, 'M', u'ὤι'), + (0x1FA5, 'M', u'ὥι'), + (0x1FA6, 'M', u'ὦι'), + (0x1FA7, 'M', u'ὧι'), + (0x1FA8, 'M', u'ὠι'), + (0x1FA9, 'M', u'ὡι'), + (0x1FAA, 'M', u'ὢι'), + (0x1FAB, 'M', u'ὣι'), + (0x1FAC, 'M', u'ὤι'), + (0x1FAD, 'M', u'ὥι'), + (0x1FAE, 'M', u'ὦι'), + (0x1FAF, 'M', u'ὧι'), + (0x1FB0, 'V'), + (0x1FB2, 'M', u'ὰι'), + (0x1FB3, 'M', u'αι'), + (0x1FB4, 'M', u'άι'), + (0x1FB5, 'X'), + (0x1FB6, 'V'), + (0x1FB7, 'M', u'ᾶι'), + (0x1FB8, 'M', u'ᾰ'), + (0x1FB9, 'M', u'ᾱ'), + (0x1FBA, 'M', u'ὰ'), + (0x1FBB, 'M', u'ά'), + (0x1FBC, 'M', u'αι'), + (0x1FBD, '3', u' ̓'), + (0x1FBE, 'M', u'ι'), + (0x1FBF, '3', u' ̓'), + (0x1FC0, '3', u' ͂'), + (0x1FC1, '3', u' ̈͂'), + (0x1FC2, 'M', u'ὴι'), + (0x1FC3, 'M', u'ηι'), + (0x1FC4, 'M', u'ήι'), + (0x1FC5, 'X'), + (0x1FC6, 'V'), + (0x1FC7, 'M', u'ῆι'), + (0x1FC8, 'M', u'ὲ'), + (0x1FC9, 'M', u'έ'), + (0x1FCA, 'M', u'ὴ'), + (0x1FCB, 'M', u'ή'), + (0x1FCC, 'M', u'ηι'), + (0x1FCD, '3', u' ̓̀'), + (0x1FCE, '3', u' ̓́'), + (0x1FCF, '3', u' ̓͂'), + (0x1FD0, 'V'), + (0x1FD3, 'M', u'ΐ'), + (0x1FD4, 'X'), + (0x1FD6, 'V'), + (0x1FD8, 'M', u'ῐ'), + (0x1FD9, 'M', u'ῑ'), + (0x1FDA, 'M', u'ὶ'), + (0x1FDB, 'M', u'ί'), + (0x1FDC, 'X'), + (0x1FDD, '3', u' ̔̀'), + (0x1FDE, '3', u' ̔́'), + (0x1FDF, '3', u' ̔͂'), + (0x1FE0, 'V'), + (0x1FE3, 'M', u'ΰ'), + (0x1FE4, 'V'), + (0x1FE8, 'M', u'ῠ'), + (0x1FE9, 'M', u'ῡ'), + (0x1FEA, 'M', u'ὺ'), + (0x1FEB, 'M', u'ύ'), + (0x1FEC, 'M', u'ῥ'), + (0x1FED, '3', u' ̈̀'), + (0x1FEE, '3', u' ̈́'), + (0x1FEF, '3', u'`'), + (0x1FF0, 'X'), + (0x1FF2, 'M', u'ὼι'), + (0x1FF3, 'M', u'ωι'), + (0x1FF4, 'M', u'ώι'), + (0x1FF5, 'X'), + (0x1FF6, 'V'), + (0x1FF7, 'M', u'ῶι'), + (0x1FF8, 'M', u'ὸ'), + (0x1FF9, 'M', u'ό'), + (0x1FFA, 'M', u'ὼ'), + (0x1FFB, 'M', u'ώ'), + (0x1FFC, 'M', u'ωι'), + (0x1FFD, '3', u' ́'), + (0x1FFE, '3', u' ̔'), + (0x1FFF, 'X'), + (0x2000, '3', u' '), + (0x200B, 'I'), + (0x200C, 'D', u''), + (0x200E, 'X'), + (0x2010, 'V'), + (0x2011, 'M', u'‐'), + (0x2012, 'V'), + (0x2017, '3', u' ̳'), + (0x2018, 'V'), + (0x2024, 'X'), + (0x2027, 'V'), + (0x2028, 'X'), + (0x202F, '3', u' '), + (0x2030, 'V'), + (0x2033, 'M', u'′′'), + (0x2034, 'M', u'′′′'), + (0x2035, 'V'), + (0x2036, 'M', u'‵‵'), + (0x2037, 'M', u'‵‵‵'), + ] + +def _seg_21(): + return [ + (0x2038, 'V'), + (0x203C, '3', u'!!'), + (0x203D, 'V'), + (0x203E, '3', u' ̅'), + (0x203F, 'V'), + (0x2047, '3', u'??'), + (0x2048, '3', u'?!'), + (0x2049, '3', u'!?'), + (0x204A, 'V'), + (0x2057, 'M', u'′′′′'), + (0x2058, 'V'), + (0x205F, '3', u' '), + (0x2060, 'I'), + (0x2061, 'X'), + (0x2064, 'I'), + (0x2065, 'X'), + (0x2070, 'M', u'0'), + (0x2071, 'M', u'i'), + (0x2072, 'X'), + (0x2074, 'M', u'4'), + (0x2075, 'M', u'5'), + (0x2076, 'M', u'6'), + (0x2077, 'M', u'7'), + (0x2078, 'M', u'8'), + (0x2079, 'M', u'9'), + (0x207A, '3', u'+'), + (0x207B, 'M', u'−'), + (0x207C, '3', u'='), + (0x207D, '3', u'('), + (0x207E, '3', u')'), + (0x207F, 'M', u'n'), + (0x2080, 'M', u'0'), + (0x2081, 'M', u'1'), + (0x2082, 'M', u'2'), + (0x2083, 'M', u'3'), + (0x2084, 'M', u'4'), + (0x2085, 'M', u'5'), + (0x2086, 'M', u'6'), + (0x2087, 'M', u'7'), + (0x2088, 'M', u'8'), + (0x2089, 'M', u'9'), + (0x208A, '3', u'+'), + (0x208B, 'M', u'−'), + (0x208C, '3', u'='), + (0x208D, '3', u'('), + (0x208E, '3', u')'), + (0x208F, 'X'), + (0x2090, 'M', u'a'), + (0x2091, 'M', u'e'), + (0x2092, 'M', u'o'), + (0x2093, 'M', u'x'), + (0x2094, 'M', u'ə'), + (0x2095, 'M', u'h'), + (0x2096, 'M', u'k'), + (0x2097, 'M', u'l'), + (0x2098, 'M', u'm'), + (0x2099, 'M', u'n'), + (0x209A, 'M', u'p'), + (0x209B, 'M', u's'), + (0x209C, 'M', u't'), + (0x209D, 'X'), + (0x20A0, 'V'), + (0x20A8, 'M', u'rs'), + (0x20A9, 'V'), + (0x20C0, 'X'), + (0x20D0, 'V'), + (0x20F1, 'X'), + (0x2100, '3', u'a/c'), + (0x2101, '3', u'a/s'), + (0x2102, 'M', u'c'), + (0x2103, 'M', u'°c'), + (0x2104, 'V'), + (0x2105, '3', u'c/o'), + (0x2106, '3', u'c/u'), + (0x2107, 'M', u'ɛ'), + (0x2108, 'V'), + (0x2109, 'M', u'°f'), + (0x210A, 'M', u'g'), + (0x210B, 'M', u'h'), + (0x210F, 'M', u'ħ'), + (0x2110, 'M', u'i'), + (0x2112, 'M', u'l'), + (0x2114, 'V'), + (0x2115, 'M', u'n'), + (0x2116, 'M', u'no'), + (0x2117, 'V'), + (0x2119, 'M', u'p'), + (0x211A, 'M', u'q'), + (0x211B, 'M', u'r'), + (0x211E, 'V'), + (0x2120, 'M', u'sm'), + (0x2121, 'M', u'tel'), + (0x2122, 'M', u'tm'), + (0x2123, 'V'), + (0x2124, 'M', u'z'), + (0x2125, 'V'), + (0x2126, 'M', u'ω'), + (0x2127, 'V'), + (0x2128, 'M', u'z'), + (0x2129, 'V'), + ] + +def _seg_22(): + return [ + (0x212A, 'M', u'k'), + (0x212B, 'M', u'å'), + (0x212C, 'M', u'b'), + (0x212D, 'M', u'c'), + (0x212E, 'V'), + (0x212F, 'M', u'e'), + (0x2131, 'M', u'f'), + (0x2132, 'X'), + (0x2133, 'M', u'm'), + (0x2134, 'M', u'o'), + (0x2135, 'M', u'א'), + (0x2136, 'M', u'ב'), + (0x2137, 'M', u'ג'), + (0x2138, 'M', u'ד'), + (0x2139, 'M', u'i'), + (0x213A, 'V'), + (0x213B, 'M', u'fax'), + (0x213C, 'M', u'π'), + (0x213D, 'M', u'γ'), + (0x213F, 'M', u'π'), + (0x2140, 'M', u'∑'), + (0x2141, 'V'), + (0x2145, 'M', u'd'), + (0x2147, 'M', u'e'), + (0x2148, 'M', u'i'), + (0x2149, 'M', u'j'), + (0x214A, 'V'), + (0x2150, 'M', u'1⁄7'), + (0x2151, 'M', u'1⁄9'), + (0x2152, 'M', u'1⁄10'), + (0x2153, 'M', u'1⁄3'), + (0x2154, 'M', u'2⁄3'), + (0x2155, 'M', u'1⁄5'), + (0x2156, 'M', u'2⁄5'), + (0x2157, 'M', u'3⁄5'), + (0x2158, 'M', u'4⁄5'), + (0x2159, 'M', u'1⁄6'), + (0x215A, 'M', u'5⁄6'), + (0x215B, 'M', u'1⁄8'), + (0x215C, 'M', u'3⁄8'), + (0x215D, 'M', u'5⁄8'), + (0x215E, 'M', u'7⁄8'), + (0x215F, 'M', u'1⁄'), + (0x2160, 'M', u'i'), + (0x2161, 'M', u'ii'), + (0x2162, 'M', u'iii'), + (0x2163, 'M', u'iv'), + (0x2164, 'M', u'v'), + (0x2165, 'M', u'vi'), + (0x2166, 'M', u'vii'), + (0x2167, 'M', u'viii'), + (0x2168, 'M', u'ix'), + (0x2169, 'M', u'x'), + (0x216A, 'M', u'xi'), + (0x216B, 'M', u'xii'), + (0x216C, 'M', u'l'), + (0x216D, 'M', u'c'), + (0x216E, 'M', u'd'), + (0x216F, 'M', u'm'), + (0x2170, 'M', u'i'), + (0x2171, 'M', u'ii'), + (0x2172, 'M', u'iii'), + (0x2173, 'M', u'iv'), + (0x2174, 'M', u'v'), + (0x2175, 'M', u'vi'), + (0x2176, 'M', u'vii'), + (0x2177, 'M', u'viii'), + (0x2178, 'M', u'ix'), + (0x2179, 'M', u'x'), + (0x217A, 'M', u'xi'), + (0x217B, 'M', u'xii'), + (0x217C, 'M', u'l'), + (0x217D, 'M', u'c'), + (0x217E, 'M', u'd'), + (0x217F, 'M', u'm'), + (0x2180, 'V'), + (0x2183, 'X'), + (0x2184, 'V'), + (0x2189, 'M', u'0⁄3'), + (0x218A, 'V'), + (0x218C, 'X'), + (0x2190, 'V'), + (0x222C, 'M', u'∫∫'), + (0x222D, 'M', u'∫∫∫'), + (0x222E, 'V'), + (0x222F, 'M', u'∮∮'), + (0x2230, 'M', u'∮∮∮'), + (0x2231, 'V'), + (0x2260, '3'), + (0x2261, 'V'), + (0x226E, '3'), + (0x2270, 'V'), + (0x2329, 'M', u'〈'), + (0x232A, 'M', u'〉'), + (0x232B, 'V'), + (0x2427, 'X'), + (0x2440, 'V'), + (0x244B, 'X'), + (0x2460, 'M', u'1'), + (0x2461, 'M', u'2'), + ] + +def _seg_23(): + return [ + (0x2462, 'M', u'3'), + (0x2463, 'M', u'4'), + (0x2464, 'M', u'5'), + (0x2465, 'M', u'6'), + (0x2466, 'M', u'7'), + (0x2467, 'M', u'8'), + (0x2468, 'M', u'9'), + (0x2469, 'M', u'10'), + (0x246A, 'M', u'11'), + (0x246B, 'M', u'12'), + (0x246C, 'M', u'13'), + (0x246D, 'M', u'14'), + (0x246E, 'M', u'15'), + (0x246F, 'M', u'16'), + (0x2470, 'M', u'17'), + (0x2471, 'M', u'18'), + (0x2472, 'M', u'19'), + (0x2473, 'M', u'20'), + (0x2474, '3', u'(1)'), + (0x2475, '3', u'(2)'), + (0x2476, '3', u'(3)'), + (0x2477, '3', u'(4)'), + (0x2478, '3', u'(5)'), + (0x2479, '3', u'(6)'), + (0x247A, '3', u'(7)'), + (0x247B, '3', u'(8)'), + (0x247C, '3', u'(9)'), + (0x247D, '3', u'(10)'), + (0x247E, '3', u'(11)'), + (0x247F, '3', u'(12)'), + (0x2480, '3', u'(13)'), + (0x2481, '3', u'(14)'), + (0x2482, '3', u'(15)'), + (0x2483, '3', u'(16)'), + (0x2484, '3', u'(17)'), + (0x2485, '3', u'(18)'), + (0x2486, '3', u'(19)'), + (0x2487, '3', u'(20)'), + (0x2488, 'X'), + (0x249C, '3', u'(a)'), + (0x249D, '3', u'(b)'), + (0x249E, '3', u'(c)'), + (0x249F, '3', u'(d)'), + (0x24A0, '3', u'(e)'), + (0x24A1, '3', u'(f)'), + (0x24A2, '3', u'(g)'), + (0x24A3, '3', u'(h)'), + (0x24A4, '3', u'(i)'), + (0x24A5, '3', u'(j)'), + (0x24A6, '3', u'(k)'), + (0x24A7, '3', u'(l)'), + (0x24A8, '3', u'(m)'), + (0x24A9, '3', u'(n)'), + (0x24AA, '3', u'(o)'), + (0x24AB, '3', u'(p)'), + (0x24AC, '3', u'(q)'), + (0x24AD, '3', u'(r)'), + (0x24AE, '3', u'(s)'), + (0x24AF, '3', u'(t)'), + (0x24B0, '3', u'(u)'), + (0x24B1, '3', u'(v)'), + (0x24B2, '3', u'(w)'), + (0x24B3, '3', u'(x)'), + (0x24B4, '3', u'(y)'), + (0x24B5, '3', u'(z)'), + (0x24B6, 'M', u'a'), + (0x24B7, 'M', u'b'), + (0x24B8, 'M', u'c'), + (0x24B9, 'M', u'd'), + (0x24BA, 'M', u'e'), + (0x24BB, 'M', u'f'), + (0x24BC, 'M', u'g'), + (0x24BD, 'M', u'h'), + (0x24BE, 'M', u'i'), + (0x24BF, 'M', u'j'), + (0x24C0, 'M', u'k'), + (0x24C1, 'M', u'l'), + (0x24C2, 'M', u'm'), + (0x24C3, 'M', u'n'), + (0x24C4, 'M', u'o'), + (0x24C5, 'M', u'p'), + (0x24C6, 'M', u'q'), + (0x24C7, 'M', u'r'), + (0x24C8, 'M', u's'), + (0x24C9, 'M', u't'), + (0x24CA, 'M', u'u'), + (0x24CB, 'M', u'v'), + (0x24CC, 'M', u'w'), + (0x24CD, 'M', u'x'), + (0x24CE, 'M', u'y'), + (0x24CF, 'M', u'z'), + (0x24D0, 'M', u'a'), + (0x24D1, 'M', u'b'), + (0x24D2, 'M', u'c'), + (0x24D3, 'M', u'd'), + (0x24D4, 'M', u'e'), + (0x24D5, 'M', u'f'), + (0x24D6, 'M', u'g'), + (0x24D7, 'M', u'h'), + (0x24D8, 'M', u'i'), + ] + +def _seg_24(): + return [ + (0x24D9, 'M', u'j'), + (0x24DA, 'M', u'k'), + (0x24DB, 'M', u'l'), + (0x24DC, 'M', u'm'), + (0x24DD, 'M', u'n'), + (0x24DE, 'M', u'o'), + (0x24DF, 'M', u'p'), + (0x24E0, 'M', u'q'), + (0x24E1, 'M', u'r'), + (0x24E2, 'M', u's'), + (0x24E3, 'M', u't'), + (0x24E4, 'M', u'u'), + (0x24E5, 'M', u'v'), + (0x24E6, 'M', u'w'), + (0x24E7, 'M', u'x'), + (0x24E8, 'M', u'y'), + (0x24E9, 'M', u'z'), + (0x24EA, 'M', u'0'), + (0x24EB, 'V'), + (0x2A0C, 'M', u'∫∫∫∫'), + (0x2A0D, 'V'), + (0x2A74, '3', u'::='), + (0x2A75, '3', u'=='), + (0x2A76, '3', u'==='), + (0x2A77, 'V'), + (0x2ADC, 'M', u'⫝̸'), + (0x2ADD, 'V'), + (0x2B74, 'X'), + (0x2B76, 'V'), + (0x2B96, 'X'), + (0x2B98, 'V'), + (0x2BC9, 'X'), + (0x2BCA, 'V'), + (0x2BFF, 'X'), + (0x2C00, 'M', u'ⰰ'), + (0x2C01, 'M', u'ⰱ'), + (0x2C02, 'M', u'ⰲ'), + (0x2C03, 'M', u'ⰳ'), + (0x2C04, 'M', u'ⰴ'), + (0x2C05, 'M', u'ⰵ'), + (0x2C06, 'M', u'ⰶ'), + (0x2C07, 'M', u'ⰷ'), + (0x2C08, 'M', u'ⰸ'), + (0x2C09, 'M', u'ⰹ'), + (0x2C0A, 'M', u'ⰺ'), + (0x2C0B, 'M', u'ⰻ'), + (0x2C0C, 'M', u'ⰼ'), + (0x2C0D, 'M', u'ⰽ'), + (0x2C0E, 'M', u'ⰾ'), + (0x2C0F, 'M', u'ⰿ'), + (0x2C10, 'M', u'ⱀ'), + (0x2C11, 'M', u'ⱁ'), + (0x2C12, 'M', u'ⱂ'), + (0x2C13, 'M', u'ⱃ'), + (0x2C14, 'M', u'ⱄ'), + (0x2C15, 'M', u'ⱅ'), + (0x2C16, 'M', u'ⱆ'), + (0x2C17, 'M', u'ⱇ'), + (0x2C18, 'M', u'ⱈ'), + (0x2C19, 'M', u'ⱉ'), + (0x2C1A, 'M', u'ⱊ'), + (0x2C1B, 'M', u'ⱋ'), + (0x2C1C, 'M', u'ⱌ'), + (0x2C1D, 'M', u'ⱍ'), + (0x2C1E, 'M', u'ⱎ'), + (0x2C1F, 'M', u'ⱏ'), + (0x2C20, 'M', u'ⱐ'), + (0x2C21, 'M', u'ⱑ'), + (0x2C22, 'M', u'ⱒ'), + (0x2C23, 'M', u'ⱓ'), + (0x2C24, 'M', u'ⱔ'), + (0x2C25, 'M', u'ⱕ'), + (0x2C26, 'M', u'ⱖ'), + (0x2C27, 'M', u'ⱗ'), + (0x2C28, 'M', u'ⱘ'), + (0x2C29, 'M', u'ⱙ'), + (0x2C2A, 'M', u'ⱚ'), + (0x2C2B, 'M', u'ⱛ'), + (0x2C2C, 'M', u'ⱜ'), + (0x2C2D, 'M', u'ⱝ'), + (0x2C2E, 'M', u'ⱞ'), + (0x2C2F, 'X'), + (0x2C30, 'V'), + (0x2C5F, 'X'), + (0x2C60, 'M', u'ⱡ'), + (0x2C61, 'V'), + (0x2C62, 'M', u'ɫ'), + (0x2C63, 'M', u'ᵽ'), + (0x2C64, 'M', u'ɽ'), + (0x2C65, 'V'), + (0x2C67, 'M', u'ⱨ'), + (0x2C68, 'V'), + (0x2C69, 'M', u'ⱪ'), + (0x2C6A, 'V'), + (0x2C6B, 'M', u'ⱬ'), + (0x2C6C, 'V'), + (0x2C6D, 'M', u'ɑ'), + (0x2C6E, 'M', u'ɱ'), + (0x2C6F, 'M', u'ɐ'), + (0x2C70, 'M', u'ɒ'), + ] + +def _seg_25(): + return [ + (0x2C71, 'V'), + (0x2C72, 'M', u'ⱳ'), + (0x2C73, 'V'), + (0x2C75, 'M', u'ⱶ'), + (0x2C76, 'V'), + (0x2C7C, 'M', u'j'), + (0x2C7D, 'M', u'v'), + (0x2C7E, 'M', u'ȿ'), + (0x2C7F, 'M', u'ɀ'), + (0x2C80, 'M', u'ⲁ'), + (0x2C81, 'V'), + (0x2C82, 'M', u'ⲃ'), + (0x2C83, 'V'), + (0x2C84, 'M', u'ⲅ'), + (0x2C85, 'V'), + (0x2C86, 'M', u'ⲇ'), + (0x2C87, 'V'), + (0x2C88, 'M', u'ⲉ'), + (0x2C89, 'V'), + (0x2C8A, 'M', u'ⲋ'), + (0x2C8B, 'V'), + (0x2C8C, 'M', u'ⲍ'), + (0x2C8D, 'V'), + (0x2C8E, 'M', u'ⲏ'), + (0x2C8F, 'V'), + (0x2C90, 'M', u'ⲑ'), + (0x2C91, 'V'), + (0x2C92, 'M', u'ⲓ'), + (0x2C93, 'V'), + (0x2C94, 'M', u'ⲕ'), + (0x2C95, 'V'), + (0x2C96, 'M', u'ⲗ'), + (0x2C97, 'V'), + (0x2C98, 'M', u'ⲙ'), + (0x2C99, 'V'), + (0x2C9A, 'M', u'ⲛ'), + (0x2C9B, 'V'), + (0x2C9C, 'M', u'ⲝ'), + (0x2C9D, 'V'), + (0x2C9E, 'M', u'ⲟ'), + (0x2C9F, 'V'), + (0x2CA0, 'M', u'ⲡ'), + (0x2CA1, 'V'), + (0x2CA2, 'M', u'ⲣ'), + (0x2CA3, 'V'), + (0x2CA4, 'M', u'ⲥ'), + (0x2CA5, 'V'), + (0x2CA6, 'M', u'ⲧ'), + (0x2CA7, 'V'), + (0x2CA8, 'M', u'ⲩ'), + (0x2CA9, 'V'), + (0x2CAA, 'M', u'ⲫ'), + (0x2CAB, 'V'), + (0x2CAC, 'M', u'ⲭ'), + (0x2CAD, 'V'), + (0x2CAE, 'M', u'ⲯ'), + (0x2CAF, 'V'), + (0x2CB0, 'M', u'ⲱ'), + (0x2CB1, 'V'), + (0x2CB2, 'M', u'ⲳ'), + (0x2CB3, 'V'), + (0x2CB4, 'M', u'ⲵ'), + (0x2CB5, 'V'), + (0x2CB6, 'M', u'ⲷ'), + (0x2CB7, 'V'), + (0x2CB8, 'M', u'ⲹ'), + (0x2CB9, 'V'), + (0x2CBA, 'M', u'ⲻ'), + (0x2CBB, 'V'), + (0x2CBC, 'M', u'ⲽ'), + (0x2CBD, 'V'), + (0x2CBE, 'M', u'ⲿ'), + (0x2CBF, 'V'), + (0x2CC0, 'M', u'ⳁ'), + (0x2CC1, 'V'), + (0x2CC2, 'M', u'ⳃ'), + (0x2CC3, 'V'), + (0x2CC4, 'M', u'ⳅ'), + (0x2CC5, 'V'), + (0x2CC6, 'M', u'ⳇ'), + (0x2CC7, 'V'), + (0x2CC8, 'M', u'ⳉ'), + (0x2CC9, 'V'), + (0x2CCA, 'M', u'ⳋ'), + (0x2CCB, 'V'), + (0x2CCC, 'M', u'ⳍ'), + (0x2CCD, 'V'), + (0x2CCE, 'M', u'ⳏ'), + (0x2CCF, 'V'), + (0x2CD0, 'M', u'ⳑ'), + (0x2CD1, 'V'), + (0x2CD2, 'M', u'ⳓ'), + (0x2CD3, 'V'), + (0x2CD4, 'M', u'ⳕ'), + (0x2CD5, 'V'), + (0x2CD6, 'M', u'ⳗ'), + (0x2CD7, 'V'), + (0x2CD8, 'M', u'ⳙ'), + (0x2CD9, 'V'), + (0x2CDA, 'M', u'ⳛ'), + ] + +def _seg_26(): + return [ + (0x2CDB, 'V'), + (0x2CDC, 'M', u'ⳝ'), + (0x2CDD, 'V'), + (0x2CDE, 'M', u'ⳟ'), + (0x2CDF, 'V'), + (0x2CE0, 'M', u'ⳡ'), + (0x2CE1, 'V'), + (0x2CE2, 'M', u'ⳣ'), + (0x2CE3, 'V'), + (0x2CEB, 'M', u'ⳬ'), + (0x2CEC, 'V'), + (0x2CED, 'M', u'ⳮ'), + (0x2CEE, 'V'), + (0x2CF2, 'M', u'ⳳ'), + (0x2CF3, 'V'), + (0x2CF4, 'X'), + (0x2CF9, 'V'), + (0x2D26, 'X'), + (0x2D27, 'V'), + (0x2D28, 'X'), + (0x2D2D, 'V'), + (0x2D2E, 'X'), + (0x2D30, 'V'), + (0x2D68, 'X'), + (0x2D6F, 'M', u'ⵡ'), + (0x2D70, 'V'), + (0x2D71, 'X'), + (0x2D7F, 'V'), + (0x2D97, 'X'), + (0x2DA0, 'V'), + (0x2DA7, 'X'), + (0x2DA8, 'V'), + (0x2DAF, 'X'), + (0x2DB0, 'V'), + (0x2DB7, 'X'), + (0x2DB8, 'V'), + (0x2DBF, 'X'), + (0x2DC0, 'V'), + (0x2DC7, 'X'), + (0x2DC8, 'V'), + (0x2DCF, 'X'), + (0x2DD0, 'V'), + (0x2DD7, 'X'), + (0x2DD8, 'V'), + (0x2DDF, 'X'), + (0x2DE0, 'V'), + (0x2E4F, 'X'), + (0x2E80, 'V'), + (0x2E9A, 'X'), + (0x2E9B, 'V'), + (0x2E9F, 'M', u'母'), + (0x2EA0, 'V'), + (0x2EF3, 'M', u'龟'), + (0x2EF4, 'X'), + (0x2F00, 'M', u'一'), + (0x2F01, 'M', u'丨'), + (0x2F02, 'M', u'丶'), + (0x2F03, 'M', u'丿'), + (0x2F04, 'M', u'乙'), + (0x2F05, 'M', u'亅'), + (0x2F06, 'M', u'二'), + (0x2F07, 'M', u'亠'), + (0x2F08, 'M', u'人'), + (0x2F09, 'M', u'儿'), + (0x2F0A, 'M', u'入'), + (0x2F0B, 'M', u'八'), + (0x2F0C, 'M', u'冂'), + (0x2F0D, 'M', u'冖'), + (0x2F0E, 'M', u'冫'), + (0x2F0F, 'M', u'几'), + (0x2F10, 'M', u'凵'), + (0x2F11, 'M', u'刀'), + (0x2F12, 'M', u'力'), + (0x2F13, 'M', u'勹'), + (0x2F14, 'M', u'匕'), + (0x2F15, 'M', u'匚'), + (0x2F16, 'M', u'匸'), + (0x2F17, 'M', u'十'), + (0x2F18, 'M', u'卜'), + (0x2F19, 'M', u'卩'), + (0x2F1A, 'M', u'厂'), + (0x2F1B, 'M', u'厶'), + (0x2F1C, 'M', u'又'), + (0x2F1D, 'M', u'口'), + (0x2F1E, 'M', u'囗'), + (0x2F1F, 'M', u'土'), + (0x2F20, 'M', u'士'), + (0x2F21, 'M', u'夂'), + (0x2F22, 'M', u'夊'), + (0x2F23, 'M', u'夕'), + (0x2F24, 'M', u'大'), + (0x2F25, 'M', u'女'), + (0x2F26, 'M', u'子'), + (0x2F27, 'M', u'宀'), + (0x2F28, 'M', u'寸'), + (0x2F29, 'M', u'小'), + (0x2F2A, 'M', u'尢'), + (0x2F2B, 'M', u'尸'), + (0x2F2C, 'M', u'屮'), + (0x2F2D, 'M', u'山'), + ] + +def _seg_27(): + return [ + (0x2F2E, 'M', u'巛'), + (0x2F2F, 'M', u'工'), + (0x2F30, 'M', u'己'), + (0x2F31, 'M', u'巾'), + (0x2F32, 'M', u'干'), + (0x2F33, 'M', u'幺'), + (0x2F34, 'M', u'广'), + (0x2F35, 'M', u'廴'), + (0x2F36, 'M', u'廾'), + (0x2F37, 'M', u'弋'), + (0x2F38, 'M', u'弓'), + (0x2F39, 'M', u'彐'), + (0x2F3A, 'M', u'彡'), + (0x2F3B, 'M', u'彳'), + (0x2F3C, 'M', u'心'), + (0x2F3D, 'M', u'戈'), + (0x2F3E, 'M', u'戶'), + (0x2F3F, 'M', u'手'), + (0x2F40, 'M', u'支'), + (0x2F41, 'M', u'攴'), + (0x2F42, 'M', u'文'), + (0x2F43, 'M', u'斗'), + (0x2F44, 'M', u'斤'), + (0x2F45, 'M', u'方'), + (0x2F46, 'M', u'无'), + (0x2F47, 'M', u'日'), + (0x2F48, 'M', u'曰'), + (0x2F49, 'M', u'月'), + (0x2F4A, 'M', u'木'), + (0x2F4B, 'M', u'欠'), + (0x2F4C, 'M', u'止'), + (0x2F4D, 'M', u'歹'), + (0x2F4E, 'M', u'殳'), + (0x2F4F, 'M', u'毋'), + (0x2F50, 'M', u'比'), + (0x2F51, 'M', u'毛'), + (0x2F52, 'M', u'氏'), + (0x2F53, 'M', u'气'), + (0x2F54, 'M', u'水'), + (0x2F55, 'M', u'火'), + (0x2F56, 'M', u'爪'), + (0x2F57, 'M', u'父'), + (0x2F58, 'M', u'爻'), + (0x2F59, 'M', u'爿'), + (0x2F5A, 'M', u'片'), + (0x2F5B, 'M', u'牙'), + (0x2F5C, 'M', u'牛'), + (0x2F5D, 'M', u'犬'), + (0x2F5E, 'M', u'玄'), + (0x2F5F, 'M', u'玉'), + (0x2F60, 'M', u'瓜'), + (0x2F61, 'M', u'瓦'), + (0x2F62, 'M', u'甘'), + (0x2F63, 'M', u'生'), + (0x2F64, 'M', u'用'), + (0x2F65, 'M', u'田'), + (0x2F66, 'M', u'疋'), + (0x2F67, 'M', u'疒'), + (0x2F68, 'M', u'癶'), + (0x2F69, 'M', u'白'), + (0x2F6A, 'M', u'皮'), + (0x2F6B, 'M', u'皿'), + (0x2F6C, 'M', u'目'), + (0x2F6D, 'M', u'矛'), + (0x2F6E, 'M', u'矢'), + (0x2F6F, 'M', u'石'), + (0x2F70, 'M', u'示'), + (0x2F71, 'M', u'禸'), + (0x2F72, 'M', u'禾'), + (0x2F73, 'M', u'穴'), + (0x2F74, 'M', u'立'), + (0x2F75, 'M', u'竹'), + (0x2F76, 'M', u'米'), + (0x2F77, 'M', u'糸'), + (0x2F78, 'M', u'缶'), + (0x2F79, 'M', u'网'), + (0x2F7A, 'M', u'羊'), + (0x2F7B, 'M', u'羽'), + (0x2F7C, 'M', u'老'), + (0x2F7D, 'M', u'而'), + (0x2F7E, 'M', u'耒'), + (0x2F7F, 'M', u'耳'), + (0x2F80, 'M', u'聿'), + (0x2F81, 'M', u'肉'), + (0x2F82, 'M', u'臣'), + (0x2F83, 'M', u'自'), + (0x2F84, 'M', u'至'), + (0x2F85, 'M', u'臼'), + (0x2F86, 'M', u'舌'), + (0x2F87, 'M', u'舛'), + (0x2F88, 'M', u'舟'), + (0x2F89, 'M', u'艮'), + (0x2F8A, 'M', u'色'), + (0x2F8B, 'M', u'艸'), + (0x2F8C, 'M', u'虍'), + (0x2F8D, 'M', u'虫'), + (0x2F8E, 'M', u'血'), + (0x2F8F, 'M', u'行'), + (0x2F90, 'M', u'衣'), + (0x2F91, 'M', u'襾'), + ] + +def _seg_28(): + return [ + (0x2F92, 'M', u'見'), + (0x2F93, 'M', u'角'), + (0x2F94, 'M', u'言'), + (0x2F95, 'M', u'谷'), + (0x2F96, 'M', u'豆'), + (0x2F97, 'M', u'豕'), + (0x2F98, 'M', u'豸'), + (0x2F99, 'M', u'貝'), + (0x2F9A, 'M', u'赤'), + (0x2F9B, 'M', u'走'), + (0x2F9C, 'M', u'足'), + (0x2F9D, 'M', u'身'), + (0x2F9E, 'M', u'車'), + (0x2F9F, 'M', u'辛'), + (0x2FA0, 'M', u'辰'), + (0x2FA1, 'M', u'辵'), + (0x2FA2, 'M', u'邑'), + (0x2FA3, 'M', u'酉'), + (0x2FA4, 'M', u'釆'), + (0x2FA5, 'M', u'里'), + (0x2FA6, 'M', u'金'), + (0x2FA7, 'M', u'長'), + (0x2FA8, 'M', u'門'), + (0x2FA9, 'M', u'阜'), + (0x2FAA, 'M', u'隶'), + (0x2FAB, 'M', u'隹'), + (0x2FAC, 'M', u'雨'), + (0x2FAD, 'M', u'靑'), + (0x2FAE, 'M', u'非'), + (0x2FAF, 'M', u'面'), + (0x2FB0, 'M', u'革'), + (0x2FB1, 'M', u'韋'), + (0x2FB2, 'M', u'韭'), + (0x2FB3, 'M', u'音'), + (0x2FB4, 'M', u'頁'), + (0x2FB5, 'M', u'風'), + (0x2FB6, 'M', u'飛'), + (0x2FB7, 'M', u'食'), + (0x2FB8, 'M', u'首'), + (0x2FB9, 'M', u'香'), + (0x2FBA, 'M', u'馬'), + (0x2FBB, 'M', u'骨'), + (0x2FBC, 'M', u'高'), + (0x2FBD, 'M', u'髟'), + (0x2FBE, 'M', u'鬥'), + (0x2FBF, 'M', u'鬯'), + (0x2FC0, 'M', u'鬲'), + (0x2FC1, 'M', u'鬼'), + (0x2FC2, 'M', u'魚'), + (0x2FC3, 'M', u'鳥'), + (0x2FC4, 'M', u'鹵'), + (0x2FC5, 'M', u'鹿'), + (0x2FC6, 'M', u'麥'), + (0x2FC7, 'M', u'麻'), + (0x2FC8, 'M', u'黃'), + (0x2FC9, 'M', u'黍'), + (0x2FCA, 'M', u'黑'), + (0x2FCB, 'M', u'黹'), + (0x2FCC, 'M', u'黽'), + (0x2FCD, 'M', u'鼎'), + (0x2FCE, 'M', u'鼓'), + (0x2FCF, 'M', u'鼠'), + (0x2FD0, 'M', u'鼻'), + (0x2FD1, 'M', u'齊'), + (0x2FD2, 'M', u'齒'), + (0x2FD3, 'M', u'龍'), + (0x2FD4, 'M', u'龜'), + (0x2FD5, 'M', u'龠'), + (0x2FD6, 'X'), + (0x3000, '3', u' '), + (0x3001, 'V'), + (0x3002, 'M', u'.'), + (0x3003, 'V'), + (0x3036, 'M', u'〒'), + (0x3037, 'V'), + (0x3038, 'M', u'十'), + (0x3039, 'M', u'卄'), + (0x303A, 'M', u'卅'), + (0x303B, 'V'), + (0x3040, 'X'), + (0x3041, 'V'), + (0x3097, 'X'), + (0x3099, 'V'), + (0x309B, '3', u' ゙'), + (0x309C, '3', u' ゚'), + (0x309D, 'V'), + (0x309F, 'M', u'より'), + (0x30A0, 'V'), + (0x30FF, 'M', u'コト'), + (0x3100, 'X'), + (0x3105, 'V'), + (0x3130, 'X'), + (0x3131, 'M', u'ᄀ'), + (0x3132, 'M', u'ᄁ'), + (0x3133, 'M', u'ᆪ'), + (0x3134, 'M', u'ᄂ'), + (0x3135, 'M', u'ᆬ'), + (0x3136, 'M', u'ᆭ'), + (0x3137, 'M', u'ᄃ'), + (0x3138, 'M', u'ᄄ'), + ] + +def _seg_29(): + return [ + (0x3139, 'M', u'ᄅ'), + (0x313A, 'M', u'ᆰ'), + (0x313B, 'M', u'ᆱ'), + (0x313C, 'M', u'ᆲ'), + (0x313D, 'M', u'ᆳ'), + (0x313E, 'M', u'ᆴ'), + (0x313F, 'M', u'ᆵ'), + (0x3140, 'M', u'ᄚ'), + (0x3141, 'M', u'ᄆ'), + (0x3142, 'M', u'ᄇ'), + (0x3143, 'M', u'ᄈ'), + (0x3144, 'M', u'ᄡ'), + (0x3145, 'M', u'ᄉ'), + (0x3146, 'M', u'ᄊ'), + (0x3147, 'M', u'ᄋ'), + (0x3148, 'M', u'ᄌ'), + (0x3149, 'M', u'ᄍ'), + (0x314A, 'M', u'ᄎ'), + (0x314B, 'M', u'ᄏ'), + (0x314C, 'M', u'ᄐ'), + (0x314D, 'M', u'ᄑ'), + (0x314E, 'M', u'ᄒ'), + (0x314F, 'M', u'ᅡ'), + (0x3150, 'M', u'ᅢ'), + (0x3151, 'M', u'ᅣ'), + (0x3152, 'M', u'ᅤ'), + (0x3153, 'M', u'ᅥ'), + (0x3154, 'M', u'ᅦ'), + (0x3155, 'M', u'ᅧ'), + (0x3156, 'M', u'ᅨ'), + (0x3157, 'M', u'ᅩ'), + (0x3158, 'M', u'ᅪ'), + (0x3159, 'M', u'ᅫ'), + (0x315A, 'M', u'ᅬ'), + (0x315B, 'M', u'ᅭ'), + (0x315C, 'M', u'ᅮ'), + (0x315D, 'M', u'ᅯ'), + (0x315E, 'M', u'ᅰ'), + (0x315F, 'M', u'ᅱ'), + (0x3160, 'M', u'ᅲ'), + (0x3161, 'M', u'ᅳ'), + (0x3162, 'M', u'ᅴ'), + (0x3163, 'M', u'ᅵ'), + (0x3164, 'X'), + (0x3165, 'M', u'ᄔ'), + (0x3166, 'M', u'ᄕ'), + (0x3167, 'M', u'ᇇ'), + (0x3168, 'M', u'ᇈ'), + (0x3169, 'M', u'ᇌ'), + (0x316A, 'M', u'ᇎ'), + (0x316B, 'M', u'ᇓ'), + (0x316C, 'M', u'ᇗ'), + (0x316D, 'M', u'ᇙ'), + (0x316E, 'M', u'ᄜ'), + (0x316F, 'M', u'ᇝ'), + (0x3170, 'M', u'ᇟ'), + (0x3171, 'M', u'ᄝ'), + (0x3172, 'M', u'ᄞ'), + (0x3173, 'M', u'ᄠ'), + (0x3174, 'M', u'ᄢ'), + (0x3175, 'M', u'ᄣ'), + (0x3176, 'M', u'ᄧ'), + (0x3177, 'M', u'ᄩ'), + (0x3178, 'M', u'ᄫ'), + (0x3179, 'M', u'ᄬ'), + (0x317A, 'M', u'ᄭ'), + (0x317B, 'M', u'ᄮ'), + (0x317C, 'M', u'ᄯ'), + (0x317D, 'M', u'ᄲ'), + (0x317E, 'M', u'ᄶ'), + (0x317F, 'M', u'ᅀ'), + (0x3180, 'M', u'ᅇ'), + (0x3181, 'M', u'ᅌ'), + (0x3182, 'M', u'ᇱ'), + (0x3183, 'M', u'ᇲ'), + (0x3184, 'M', u'ᅗ'), + (0x3185, 'M', u'ᅘ'), + (0x3186, 'M', u'ᅙ'), + (0x3187, 'M', u'ᆄ'), + (0x3188, 'M', u'ᆅ'), + (0x3189, 'M', u'ᆈ'), + (0x318A, 'M', u'ᆑ'), + (0x318B, 'M', u'ᆒ'), + (0x318C, 'M', u'ᆔ'), + (0x318D, 'M', u'ᆞ'), + (0x318E, 'M', u'ᆡ'), + (0x318F, 'X'), + (0x3190, 'V'), + (0x3192, 'M', u'一'), + (0x3193, 'M', u'二'), + (0x3194, 'M', u'三'), + (0x3195, 'M', u'四'), + (0x3196, 'M', u'上'), + (0x3197, 'M', u'中'), + (0x3198, 'M', u'下'), + (0x3199, 'M', u'甲'), + (0x319A, 'M', u'乙'), + (0x319B, 'M', u'丙'), + (0x319C, 'M', u'丁'), + (0x319D, 'M', u'天'), + ] + +def _seg_30(): + return [ + (0x319E, 'M', u'地'), + (0x319F, 'M', u'人'), + (0x31A0, 'V'), + (0x31BB, 'X'), + (0x31C0, 'V'), + (0x31E4, 'X'), + (0x31F0, 'V'), + (0x3200, '3', u'(ᄀ)'), + (0x3201, '3', u'(ᄂ)'), + (0x3202, '3', u'(ᄃ)'), + (0x3203, '3', u'(ᄅ)'), + (0x3204, '3', u'(ᄆ)'), + (0x3205, '3', u'(ᄇ)'), + (0x3206, '3', u'(ᄉ)'), + (0x3207, '3', u'(ᄋ)'), + (0x3208, '3', u'(ᄌ)'), + (0x3209, '3', u'(ᄎ)'), + (0x320A, '3', u'(ᄏ)'), + (0x320B, '3', u'(ᄐ)'), + (0x320C, '3', u'(ᄑ)'), + (0x320D, '3', u'(ᄒ)'), + (0x320E, '3', u'(가)'), + (0x320F, '3', u'(나)'), + (0x3210, '3', u'(다)'), + (0x3211, '3', u'(라)'), + (0x3212, '3', u'(마)'), + (0x3213, '3', u'(바)'), + (0x3214, '3', u'(사)'), + (0x3215, '3', u'(아)'), + (0x3216, '3', u'(자)'), + (0x3217, '3', u'(차)'), + (0x3218, '3', u'(카)'), + (0x3219, '3', u'(타)'), + (0x321A, '3', u'(파)'), + (0x321B, '3', u'(하)'), + (0x321C, '3', u'(주)'), + (0x321D, '3', u'(오전)'), + (0x321E, '3', u'(오후)'), + (0x321F, 'X'), + (0x3220, '3', u'(一)'), + (0x3221, '3', u'(二)'), + (0x3222, '3', u'(三)'), + (0x3223, '3', u'(四)'), + (0x3224, '3', u'(五)'), + (0x3225, '3', u'(六)'), + (0x3226, '3', u'(七)'), + (0x3227, '3', u'(八)'), + (0x3228, '3', u'(九)'), + (0x3229, '3', u'(十)'), + (0x322A, '3', u'(月)'), + (0x322B, '3', u'(火)'), + (0x322C, '3', u'(水)'), + (0x322D, '3', u'(木)'), + (0x322E, '3', u'(金)'), + (0x322F, '3', u'(土)'), + (0x3230, '3', u'(日)'), + (0x3231, '3', u'(株)'), + (0x3232, '3', u'(有)'), + (0x3233, '3', u'(社)'), + (0x3234, '3', u'(名)'), + (0x3235, '3', u'(特)'), + (0x3236, '3', u'(財)'), + (0x3237, '3', u'(祝)'), + (0x3238, '3', u'(労)'), + (0x3239, '3', u'(代)'), + (0x323A, '3', u'(呼)'), + (0x323B, '3', u'(学)'), + (0x323C, '3', u'(監)'), + (0x323D, '3', u'(企)'), + (0x323E, '3', u'(資)'), + (0x323F, '3', u'(協)'), + (0x3240, '3', u'(祭)'), + (0x3241, '3', u'(休)'), + (0x3242, '3', u'(自)'), + (0x3243, '3', u'(至)'), + (0x3244, 'M', u'問'), + (0x3245, 'M', u'幼'), + (0x3246, 'M', u'文'), + (0x3247, 'M', u'箏'), + (0x3248, 'V'), + (0x3250, 'M', u'pte'), + (0x3251, 'M', u'21'), + (0x3252, 'M', u'22'), + (0x3253, 'M', u'23'), + (0x3254, 'M', u'24'), + (0x3255, 'M', u'25'), + (0x3256, 'M', u'26'), + (0x3257, 'M', u'27'), + (0x3258, 'M', u'28'), + (0x3259, 'M', u'29'), + (0x325A, 'M', u'30'), + (0x325B, 'M', u'31'), + (0x325C, 'M', u'32'), + (0x325D, 'M', u'33'), + (0x325E, 'M', u'34'), + (0x325F, 'M', u'35'), + (0x3260, 'M', u'ᄀ'), + (0x3261, 'M', u'ᄂ'), + (0x3262, 'M', u'ᄃ'), + (0x3263, 'M', u'ᄅ'), + ] + +def _seg_31(): + return [ + (0x3264, 'M', u'ᄆ'), + (0x3265, 'M', u'ᄇ'), + (0x3266, 'M', u'ᄉ'), + (0x3267, 'M', u'ᄋ'), + (0x3268, 'M', u'ᄌ'), + (0x3269, 'M', u'ᄎ'), + (0x326A, 'M', u'ᄏ'), + (0x326B, 'M', u'ᄐ'), + (0x326C, 'M', u'ᄑ'), + (0x326D, 'M', u'ᄒ'), + (0x326E, 'M', u'가'), + (0x326F, 'M', u'나'), + (0x3270, 'M', u'다'), + (0x3271, 'M', u'라'), + (0x3272, 'M', u'마'), + (0x3273, 'M', u'바'), + (0x3274, 'M', u'사'), + (0x3275, 'M', u'아'), + (0x3276, 'M', u'자'), + (0x3277, 'M', u'차'), + (0x3278, 'M', u'카'), + (0x3279, 'M', u'타'), + (0x327A, 'M', u'파'), + (0x327B, 'M', u'하'), + (0x327C, 'M', u'참고'), + (0x327D, 'M', u'주의'), + (0x327E, 'M', u'우'), + (0x327F, 'V'), + (0x3280, 'M', u'一'), + (0x3281, 'M', u'二'), + (0x3282, 'M', u'三'), + (0x3283, 'M', u'四'), + (0x3284, 'M', u'五'), + (0x3285, 'M', u'六'), + (0x3286, 'M', u'七'), + (0x3287, 'M', u'八'), + (0x3288, 'M', u'九'), + (0x3289, 'M', u'十'), + (0x328A, 'M', u'月'), + (0x328B, 'M', u'火'), + (0x328C, 'M', u'水'), + (0x328D, 'M', u'木'), + (0x328E, 'M', u'金'), + (0x328F, 'M', u'土'), + (0x3290, 'M', u'日'), + (0x3291, 'M', u'株'), + (0x3292, 'M', u'有'), + (0x3293, 'M', u'社'), + (0x3294, 'M', u'名'), + (0x3295, 'M', u'特'), + (0x3296, 'M', u'財'), + (0x3297, 'M', u'祝'), + (0x3298, 'M', u'労'), + (0x3299, 'M', u'秘'), + (0x329A, 'M', u'男'), + (0x329B, 'M', u'女'), + (0x329C, 'M', u'適'), + (0x329D, 'M', u'優'), + (0x329E, 'M', u'印'), + (0x329F, 'M', u'注'), + (0x32A0, 'M', u'項'), + (0x32A1, 'M', u'休'), + (0x32A2, 'M', u'写'), + (0x32A3, 'M', u'正'), + (0x32A4, 'M', u'上'), + (0x32A5, 'M', u'中'), + (0x32A6, 'M', u'下'), + (0x32A7, 'M', u'左'), + (0x32A8, 'M', u'右'), + (0x32A9, 'M', u'医'), + (0x32AA, 'M', u'宗'), + (0x32AB, 'M', u'学'), + (0x32AC, 'M', u'監'), + (0x32AD, 'M', u'企'), + (0x32AE, 'M', u'資'), + (0x32AF, 'M', u'協'), + (0x32B0, 'M', u'夜'), + (0x32B1, 'M', u'36'), + (0x32B2, 'M', u'37'), + (0x32B3, 'M', u'38'), + (0x32B4, 'M', u'39'), + (0x32B5, 'M', u'40'), + (0x32B6, 'M', u'41'), + (0x32B7, 'M', u'42'), + (0x32B8, 'M', u'43'), + (0x32B9, 'M', u'44'), + (0x32BA, 'M', u'45'), + (0x32BB, 'M', u'46'), + (0x32BC, 'M', u'47'), + (0x32BD, 'M', u'48'), + (0x32BE, 'M', u'49'), + (0x32BF, 'M', u'50'), + (0x32C0, 'M', u'1月'), + (0x32C1, 'M', u'2月'), + (0x32C2, 'M', u'3月'), + (0x32C3, 'M', u'4月'), + (0x32C4, 'M', u'5月'), + (0x32C5, 'M', u'6月'), + (0x32C6, 'M', u'7月'), + (0x32C7, 'M', u'8月'), + ] + +def _seg_32(): + return [ + (0x32C8, 'M', u'9月'), + (0x32C9, 'M', u'10月'), + (0x32CA, 'M', u'11月'), + (0x32CB, 'M', u'12月'), + (0x32CC, 'M', u'hg'), + (0x32CD, 'M', u'erg'), + (0x32CE, 'M', u'ev'), + (0x32CF, 'M', u'ltd'), + (0x32D0, 'M', u'ア'), + (0x32D1, 'M', u'イ'), + (0x32D2, 'M', u'ウ'), + (0x32D3, 'M', u'エ'), + (0x32D4, 'M', u'オ'), + (0x32D5, 'M', u'カ'), + (0x32D6, 'M', u'キ'), + (0x32D7, 'M', u'ク'), + (0x32D8, 'M', u'ケ'), + (0x32D9, 'M', u'コ'), + (0x32DA, 'M', u'サ'), + (0x32DB, 'M', u'シ'), + (0x32DC, 'M', u'ス'), + (0x32DD, 'M', u'セ'), + (0x32DE, 'M', u'ソ'), + (0x32DF, 'M', u'タ'), + (0x32E0, 'M', u'チ'), + (0x32E1, 'M', u'ツ'), + (0x32E2, 'M', u'テ'), + (0x32E3, 'M', u'ト'), + (0x32E4, 'M', u'ナ'), + (0x32E5, 'M', u'ニ'), + (0x32E6, 'M', u'ヌ'), + (0x32E7, 'M', u'ネ'), + (0x32E8, 'M', u'ノ'), + (0x32E9, 'M', u'ハ'), + (0x32EA, 'M', u'ヒ'), + (0x32EB, 'M', u'フ'), + (0x32EC, 'M', u'ヘ'), + (0x32ED, 'M', u'ホ'), + (0x32EE, 'M', u'マ'), + (0x32EF, 'M', u'ミ'), + (0x32F0, 'M', u'ム'), + (0x32F1, 'M', u'メ'), + (0x32F2, 'M', u'モ'), + (0x32F3, 'M', u'ヤ'), + (0x32F4, 'M', u'ユ'), + (0x32F5, 'M', u'ヨ'), + (0x32F6, 'M', u'ラ'), + (0x32F7, 'M', u'リ'), + (0x32F8, 'M', u'ル'), + (0x32F9, 'M', u'レ'), + (0x32FA, 'M', u'ロ'), + (0x32FB, 'M', u'ワ'), + (0x32FC, 'M', u'ヰ'), + (0x32FD, 'M', u'ヱ'), + (0x32FE, 'M', u'ヲ'), + (0x32FF, 'X'), + (0x3300, 'M', u'アパート'), + (0x3301, 'M', u'アルファ'), + (0x3302, 'M', u'アンペア'), + (0x3303, 'M', u'アール'), + (0x3304, 'M', u'イニング'), + (0x3305, 'M', u'インチ'), + (0x3306, 'M', u'ウォン'), + (0x3307, 'M', u'エスクード'), + (0x3308, 'M', u'エーカー'), + (0x3309, 'M', u'オンス'), + (0x330A, 'M', u'オーム'), + (0x330B, 'M', u'カイリ'), + (0x330C, 'M', u'カラット'), + (0x330D, 'M', u'カロリー'), + (0x330E, 'M', u'ガロン'), + (0x330F, 'M', u'ガンマ'), + (0x3310, 'M', u'ギガ'), + (0x3311, 'M', u'ギニー'), + (0x3312, 'M', u'キュリー'), + (0x3313, 'M', u'ギルダー'), + (0x3314, 'M', u'キロ'), + (0x3315, 'M', u'キログラム'), + (0x3316, 'M', u'キロメートル'), + (0x3317, 'M', u'キロワット'), + (0x3318, 'M', u'グラム'), + (0x3319, 'M', u'グラムトン'), + (0x331A, 'M', u'クルゼイロ'), + (0x331B, 'M', u'クローネ'), + (0x331C, 'M', u'ケース'), + (0x331D, 'M', u'コルナ'), + (0x331E, 'M', u'コーポ'), + (0x331F, 'M', u'サイクル'), + (0x3320, 'M', u'サンチーム'), + (0x3321, 'M', u'シリング'), + (0x3322, 'M', u'センチ'), + (0x3323, 'M', u'セント'), + (0x3324, 'M', u'ダース'), + (0x3325, 'M', u'デシ'), + (0x3326, 'M', u'ドル'), + (0x3327, 'M', u'トン'), + (0x3328, 'M', u'ナノ'), + (0x3329, 'M', u'ノット'), + (0x332A, 'M', u'ハイツ'), + (0x332B, 'M', u'パーセント'), + ] + +def _seg_33(): + return [ + (0x332C, 'M', u'パーツ'), + (0x332D, 'M', u'バーレル'), + (0x332E, 'M', u'ピアストル'), + (0x332F, 'M', u'ピクル'), + (0x3330, 'M', u'ピコ'), + (0x3331, 'M', u'ビル'), + (0x3332, 'M', u'ファラッド'), + (0x3333, 'M', u'フィート'), + (0x3334, 'M', u'ブッシェル'), + (0x3335, 'M', u'フラン'), + (0x3336, 'M', u'ヘクタール'), + (0x3337, 'M', u'ペソ'), + (0x3338, 'M', u'ペニヒ'), + (0x3339, 'M', u'ヘルツ'), + (0x333A, 'M', u'ペンス'), + (0x333B, 'M', u'ページ'), + (0x333C, 'M', u'ベータ'), + (0x333D, 'M', u'ポイント'), + (0x333E, 'M', u'ボルト'), + (0x333F, 'M', u'ホン'), + (0x3340, 'M', u'ポンド'), + (0x3341, 'M', u'ホール'), + (0x3342, 'M', u'ホーン'), + (0x3343, 'M', u'マイクロ'), + (0x3344, 'M', u'マイル'), + (0x3345, 'M', u'マッハ'), + (0x3346, 'M', u'マルク'), + (0x3347, 'M', u'マンション'), + (0x3348, 'M', u'ミクロン'), + (0x3349, 'M', u'ミリ'), + (0x334A, 'M', u'ミリバール'), + (0x334B, 'M', u'メガ'), + (0x334C, 'M', u'メガトン'), + (0x334D, 'M', u'メートル'), + (0x334E, 'M', u'ヤード'), + (0x334F, 'M', u'ヤール'), + (0x3350, 'M', u'ユアン'), + (0x3351, 'M', u'リットル'), + (0x3352, 'M', u'リラ'), + (0x3353, 'M', u'ルピー'), + (0x3354, 'M', u'ルーブル'), + (0x3355, 'M', u'レム'), + (0x3356, 'M', u'レントゲン'), + (0x3357, 'M', u'ワット'), + (0x3358, 'M', u'0点'), + (0x3359, 'M', u'1点'), + (0x335A, 'M', u'2点'), + (0x335B, 'M', u'3点'), + (0x335C, 'M', u'4点'), + (0x335D, 'M', u'5点'), + (0x335E, 'M', u'6点'), + (0x335F, 'M', u'7点'), + (0x3360, 'M', u'8点'), + (0x3361, 'M', u'9点'), + (0x3362, 'M', u'10点'), + (0x3363, 'M', u'11点'), + (0x3364, 'M', u'12点'), + (0x3365, 'M', u'13点'), + (0x3366, 'M', u'14点'), + (0x3367, 'M', u'15点'), + (0x3368, 'M', u'16点'), + (0x3369, 'M', u'17点'), + (0x336A, 'M', u'18点'), + (0x336B, 'M', u'19点'), + (0x336C, 'M', u'20点'), + (0x336D, 'M', u'21点'), + (0x336E, 'M', u'22点'), + (0x336F, 'M', u'23点'), + (0x3370, 'M', u'24点'), + (0x3371, 'M', u'hpa'), + (0x3372, 'M', u'da'), + (0x3373, 'M', u'au'), + (0x3374, 'M', u'bar'), + (0x3375, 'M', u'ov'), + (0x3376, 'M', u'pc'), + (0x3377, 'M', u'dm'), + (0x3378, 'M', u'dm2'), + (0x3379, 'M', u'dm3'), + (0x337A, 'M', u'iu'), + (0x337B, 'M', u'平成'), + (0x337C, 'M', u'昭和'), + (0x337D, 'M', u'大正'), + (0x337E, 'M', u'明治'), + (0x337F, 'M', u'株式会社'), + (0x3380, 'M', u'pa'), + (0x3381, 'M', u'na'), + (0x3382, 'M', u'μa'), + (0x3383, 'M', u'ma'), + (0x3384, 'M', u'ka'), + (0x3385, 'M', u'kb'), + (0x3386, 'M', u'mb'), + (0x3387, 'M', u'gb'), + (0x3388, 'M', u'cal'), + (0x3389, 'M', u'kcal'), + (0x338A, 'M', u'pf'), + (0x338B, 'M', u'nf'), + (0x338C, 'M', u'μf'), + (0x338D, 'M', u'μg'), + (0x338E, 'M', u'mg'), + (0x338F, 'M', u'kg'), + ] + +def _seg_34(): + return [ + (0x3390, 'M', u'hz'), + (0x3391, 'M', u'khz'), + (0x3392, 'M', u'mhz'), + (0x3393, 'M', u'ghz'), + (0x3394, 'M', u'thz'), + (0x3395, 'M', u'μl'), + (0x3396, 'M', u'ml'), + (0x3397, 'M', u'dl'), + (0x3398, 'M', u'kl'), + (0x3399, 'M', u'fm'), + (0x339A, 'M', u'nm'), + (0x339B, 'M', u'μm'), + (0x339C, 'M', u'mm'), + (0x339D, 'M', u'cm'), + (0x339E, 'M', u'km'), + (0x339F, 'M', u'mm2'), + (0x33A0, 'M', u'cm2'), + (0x33A1, 'M', u'm2'), + (0x33A2, 'M', u'km2'), + (0x33A3, 'M', u'mm3'), + (0x33A4, 'M', u'cm3'), + (0x33A5, 'M', u'm3'), + (0x33A6, 'M', u'km3'), + (0x33A7, 'M', u'm∕s'), + (0x33A8, 'M', u'm∕s2'), + (0x33A9, 'M', u'pa'), + (0x33AA, 'M', u'kpa'), + (0x33AB, 'M', u'mpa'), + (0x33AC, 'M', u'gpa'), + (0x33AD, 'M', u'rad'), + (0x33AE, 'M', u'rad∕s'), + (0x33AF, 'M', u'rad∕s2'), + (0x33B0, 'M', u'ps'), + (0x33B1, 'M', u'ns'), + (0x33B2, 'M', u'μs'), + (0x33B3, 'M', u'ms'), + (0x33B4, 'M', u'pv'), + (0x33B5, 'M', u'nv'), + (0x33B6, 'M', u'μv'), + (0x33B7, 'M', u'mv'), + (0x33B8, 'M', u'kv'), + (0x33B9, 'M', u'mv'), + (0x33BA, 'M', u'pw'), + (0x33BB, 'M', u'nw'), + (0x33BC, 'M', u'μw'), + (0x33BD, 'M', u'mw'), + (0x33BE, 'M', u'kw'), + (0x33BF, 'M', u'mw'), + (0x33C0, 'M', u'kω'), + (0x33C1, 'M', u'mω'), + (0x33C2, 'X'), + (0x33C3, 'M', u'bq'), + (0x33C4, 'M', u'cc'), + (0x33C5, 'M', u'cd'), + (0x33C6, 'M', u'c∕kg'), + (0x33C7, 'X'), + (0x33C8, 'M', u'db'), + (0x33C9, 'M', u'gy'), + (0x33CA, 'M', u'ha'), + (0x33CB, 'M', u'hp'), + (0x33CC, 'M', u'in'), + (0x33CD, 'M', u'kk'), + (0x33CE, 'M', u'km'), + (0x33CF, 'M', u'kt'), + (0x33D0, 'M', u'lm'), + (0x33D1, 'M', u'ln'), + (0x33D2, 'M', u'log'), + (0x33D3, 'M', u'lx'), + (0x33D4, 'M', u'mb'), + (0x33D5, 'M', u'mil'), + (0x33D6, 'M', u'mol'), + (0x33D7, 'M', u'ph'), + (0x33D8, 'X'), + (0x33D9, 'M', u'ppm'), + (0x33DA, 'M', u'pr'), + (0x33DB, 'M', u'sr'), + (0x33DC, 'M', u'sv'), + (0x33DD, 'M', u'wb'), + (0x33DE, 'M', u'v∕m'), + (0x33DF, 'M', u'a∕m'), + (0x33E0, 'M', u'1日'), + (0x33E1, 'M', u'2日'), + (0x33E2, 'M', u'3日'), + (0x33E3, 'M', u'4日'), + (0x33E4, 'M', u'5日'), + (0x33E5, 'M', u'6日'), + (0x33E6, 'M', u'7日'), + (0x33E7, 'M', u'8日'), + (0x33E8, 'M', u'9日'), + (0x33E9, 'M', u'10日'), + (0x33EA, 'M', u'11日'), + (0x33EB, 'M', u'12日'), + (0x33EC, 'M', u'13日'), + (0x33ED, 'M', u'14日'), + (0x33EE, 'M', u'15日'), + (0x33EF, 'M', u'16日'), + (0x33F0, 'M', u'17日'), + (0x33F1, 'M', u'18日'), + (0x33F2, 'M', u'19日'), + (0x33F3, 'M', u'20日'), + ] + +def _seg_35(): + return [ + (0x33F4, 'M', u'21日'), + (0x33F5, 'M', u'22日'), + (0x33F6, 'M', u'23日'), + (0x33F7, 'M', u'24日'), + (0x33F8, 'M', u'25日'), + (0x33F9, 'M', u'26日'), + (0x33FA, 'M', u'27日'), + (0x33FB, 'M', u'28日'), + (0x33FC, 'M', u'29日'), + (0x33FD, 'M', u'30日'), + (0x33FE, 'M', u'31日'), + (0x33FF, 'M', u'gal'), + (0x3400, 'V'), + (0x4DB6, 'X'), + (0x4DC0, 'V'), + (0x9FF0, 'X'), + (0xA000, 'V'), + (0xA48D, 'X'), + (0xA490, 'V'), + (0xA4C7, 'X'), + (0xA4D0, 'V'), + (0xA62C, 'X'), + (0xA640, 'M', u'ꙁ'), + (0xA641, 'V'), + (0xA642, 'M', u'ꙃ'), + (0xA643, 'V'), + (0xA644, 'M', u'ꙅ'), + (0xA645, 'V'), + (0xA646, 'M', u'ꙇ'), + (0xA647, 'V'), + (0xA648, 'M', u'ꙉ'), + (0xA649, 'V'), + (0xA64A, 'M', u'ꙋ'), + (0xA64B, 'V'), + (0xA64C, 'M', u'ꙍ'), + (0xA64D, 'V'), + (0xA64E, 'M', u'ꙏ'), + (0xA64F, 'V'), + (0xA650, 'M', u'ꙑ'), + (0xA651, 'V'), + (0xA652, 'M', u'ꙓ'), + (0xA653, 'V'), + (0xA654, 'M', u'ꙕ'), + (0xA655, 'V'), + (0xA656, 'M', u'ꙗ'), + (0xA657, 'V'), + (0xA658, 'M', u'ꙙ'), + (0xA659, 'V'), + (0xA65A, 'M', u'ꙛ'), + (0xA65B, 'V'), + (0xA65C, 'M', u'ꙝ'), + (0xA65D, 'V'), + (0xA65E, 'M', u'ꙟ'), + (0xA65F, 'V'), + (0xA660, 'M', u'ꙡ'), + (0xA661, 'V'), + (0xA662, 'M', u'ꙣ'), + (0xA663, 'V'), + (0xA664, 'M', u'ꙥ'), + (0xA665, 'V'), + (0xA666, 'M', u'ꙧ'), + (0xA667, 'V'), + (0xA668, 'M', u'ꙩ'), + (0xA669, 'V'), + (0xA66A, 'M', u'ꙫ'), + (0xA66B, 'V'), + (0xA66C, 'M', u'ꙭ'), + (0xA66D, 'V'), + (0xA680, 'M', u'ꚁ'), + (0xA681, 'V'), + (0xA682, 'M', u'ꚃ'), + (0xA683, 'V'), + (0xA684, 'M', u'ꚅ'), + (0xA685, 'V'), + (0xA686, 'M', u'ꚇ'), + (0xA687, 'V'), + (0xA688, 'M', u'ꚉ'), + (0xA689, 'V'), + (0xA68A, 'M', u'ꚋ'), + (0xA68B, 'V'), + (0xA68C, 'M', u'ꚍ'), + (0xA68D, 'V'), + (0xA68E, 'M', u'ꚏ'), + (0xA68F, 'V'), + (0xA690, 'M', u'ꚑ'), + (0xA691, 'V'), + (0xA692, 'M', u'ꚓ'), + (0xA693, 'V'), + (0xA694, 'M', u'ꚕ'), + (0xA695, 'V'), + (0xA696, 'M', u'ꚗ'), + (0xA697, 'V'), + (0xA698, 'M', u'ꚙ'), + (0xA699, 'V'), + (0xA69A, 'M', u'ꚛ'), + (0xA69B, 'V'), + (0xA69C, 'M', u'ъ'), + (0xA69D, 'M', u'ь'), + (0xA69E, 'V'), + (0xA6F8, 'X'), + ] + +def _seg_36(): + return [ + (0xA700, 'V'), + (0xA722, 'M', u'ꜣ'), + (0xA723, 'V'), + (0xA724, 'M', u'ꜥ'), + (0xA725, 'V'), + (0xA726, 'M', u'ꜧ'), + (0xA727, 'V'), + (0xA728, 'M', u'ꜩ'), + (0xA729, 'V'), + (0xA72A, 'M', u'ꜫ'), + (0xA72B, 'V'), + (0xA72C, 'M', u'ꜭ'), + (0xA72D, 'V'), + (0xA72E, 'M', u'ꜯ'), + (0xA72F, 'V'), + (0xA732, 'M', u'ꜳ'), + (0xA733, 'V'), + (0xA734, 'M', u'ꜵ'), + (0xA735, 'V'), + (0xA736, 'M', u'ꜷ'), + (0xA737, 'V'), + (0xA738, 'M', u'ꜹ'), + (0xA739, 'V'), + (0xA73A, 'M', u'ꜻ'), + (0xA73B, 'V'), + (0xA73C, 'M', u'ꜽ'), + (0xA73D, 'V'), + (0xA73E, 'M', u'ꜿ'), + (0xA73F, 'V'), + (0xA740, 'M', u'ꝁ'), + (0xA741, 'V'), + (0xA742, 'M', u'ꝃ'), + (0xA743, 'V'), + (0xA744, 'M', u'ꝅ'), + (0xA745, 'V'), + (0xA746, 'M', u'ꝇ'), + (0xA747, 'V'), + (0xA748, 'M', u'ꝉ'), + (0xA749, 'V'), + (0xA74A, 'M', u'ꝋ'), + (0xA74B, 'V'), + (0xA74C, 'M', u'ꝍ'), + (0xA74D, 'V'), + (0xA74E, 'M', u'ꝏ'), + (0xA74F, 'V'), + (0xA750, 'M', u'ꝑ'), + (0xA751, 'V'), + (0xA752, 'M', u'ꝓ'), + (0xA753, 'V'), + (0xA754, 'M', u'ꝕ'), + (0xA755, 'V'), + (0xA756, 'M', u'ꝗ'), + (0xA757, 'V'), + (0xA758, 'M', u'ꝙ'), + (0xA759, 'V'), + (0xA75A, 'M', u'ꝛ'), + (0xA75B, 'V'), + (0xA75C, 'M', u'ꝝ'), + (0xA75D, 'V'), + (0xA75E, 'M', u'ꝟ'), + (0xA75F, 'V'), + (0xA760, 'M', u'ꝡ'), + (0xA761, 'V'), + (0xA762, 'M', u'ꝣ'), + (0xA763, 'V'), + (0xA764, 'M', u'ꝥ'), + (0xA765, 'V'), + (0xA766, 'M', u'ꝧ'), + (0xA767, 'V'), + (0xA768, 'M', u'ꝩ'), + (0xA769, 'V'), + (0xA76A, 'M', u'ꝫ'), + (0xA76B, 'V'), + (0xA76C, 'M', u'ꝭ'), + (0xA76D, 'V'), + (0xA76E, 'M', u'ꝯ'), + (0xA76F, 'V'), + (0xA770, 'M', u'ꝯ'), + (0xA771, 'V'), + (0xA779, 'M', u'ꝺ'), + (0xA77A, 'V'), + (0xA77B, 'M', u'ꝼ'), + (0xA77C, 'V'), + (0xA77D, 'M', u'ᵹ'), + (0xA77E, 'M', u'ꝿ'), + (0xA77F, 'V'), + (0xA780, 'M', u'ꞁ'), + (0xA781, 'V'), + (0xA782, 'M', u'ꞃ'), + (0xA783, 'V'), + (0xA784, 'M', u'ꞅ'), + (0xA785, 'V'), + (0xA786, 'M', u'ꞇ'), + (0xA787, 'V'), + (0xA78B, 'M', u'ꞌ'), + (0xA78C, 'V'), + (0xA78D, 'M', u'ɥ'), + (0xA78E, 'V'), + (0xA790, 'M', u'ꞑ'), + (0xA791, 'V'), + ] + +def _seg_37(): + return [ + (0xA792, 'M', u'ꞓ'), + (0xA793, 'V'), + (0xA796, 'M', u'ꞗ'), + (0xA797, 'V'), + (0xA798, 'M', u'ꞙ'), + (0xA799, 'V'), + (0xA79A, 'M', u'ꞛ'), + (0xA79B, 'V'), + (0xA79C, 'M', u'ꞝ'), + (0xA79D, 'V'), + (0xA79E, 'M', u'ꞟ'), + (0xA79F, 'V'), + (0xA7A0, 'M', u'ꞡ'), + (0xA7A1, 'V'), + (0xA7A2, 'M', u'ꞣ'), + (0xA7A3, 'V'), + (0xA7A4, 'M', u'ꞥ'), + (0xA7A5, 'V'), + (0xA7A6, 'M', u'ꞧ'), + (0xA7A7, 'V'), + (0xA7A8, 'M', u'ꞩ'), + (0xA7A9, 'V'), + (0xA7AA, 'M', u'ɦ'), + (0xA7AB, 'M', u'ɜ'), + (0xA7AC, 'M', u'ɡ'), + (0xA7AD, 'M', u'ɬ'), + (0xA7AE, 'M', u'ɪ'), + (0xA7AF, 'V'), + (0xA7B0, 'M', u'ʞ'), + (0xA7B1, 'M', u'ʇ'), + (0xA7B2, 'M', u'ʝ'), + (0xA7B3, 'M', u'ꭓ'), + (0xA7B4, 'M', u'ꞵ'), + (0xA7B5, 'V'), + (0xA7B6, 'M', u'ꞷ'), + (0xA7B7, 'V'), + (0xA7B8, 'X'), + (0xA7B9, 'V'), + (0xA7BA, 'X'), + (0xA7F7, 'V'), + (0xA7F8, 'M', u'ħ'), + (0xA7F9, 'M', u'œ'), + (0xA7FA, 'V'), + (0xA82C, 'X'), + (0xA830, 'V'), + (0xA83A, 'X'), + (0xA840, 'V'), + (0xA878, 'X'), + (0xA880, 'V'), + (0xA8C6, 'X'), + (0xA8CE, 'V'), + (0xA8DA, 'X'), + (0xA8E0, 'V'), + (0xA954, 'X'), + (0xA95F, 'V'), + (0xA97D, 'X'), + (0xA980, 'V'), + (0xA9CE, 'X'), + (0xA9CF, 'V'), + (0xA9DA, 'X'), + (0xA9DE, 'V'), + (0xA9FF, 'X'), + (0xAA00, 'V'), + (0xAA37, 'X'), + (0xAA40, 'V'), + (0xAA4E, 'X'), + (0xAA50, 'V'), + (0xAA5A, 'X'), + (0xAA5C, 'V'), + (0xAAC3, 'X'), + (0xAADB, 'V'), + (0xAAF7, 'X'), + (0xAB01, 'V'), + (0xAB07, 'X'), + (0xAB09, 'V'), + (0xAB0F, 'X'), + (0xAB11, 'V'), + (0xAB17, 'X'), + (0xAB20, 'V'), + (0xAB27, 'X'), + (0xAB28, 'V'), + (0xAB2F, 'X'), + (0xAB30, 'V'), + (0xAB5C, 'M', u'ꜧ'), + (0xAB5D, 'M', u'ꬷ'), + (0xAB5E, 'M', u'ɫ'), + (0xAB5F, 'M', u'ꭒ'), + (0xAB60, 'V'), + (0xAB66, 'X'), + (0xAB70, 'M', u'Ꭰ'), + (0xAB71, 'M', u'Ꭱ'), + (0xAB72, 'M', u'Ꭲ'), + (0xAB73, 'M', u'Ꭳ'), + (0xAB74, 'M', u'Ꭴ'), + (0xAB75, 'M', u'Ꭵ'), + (0xAB76, 'M', u'Ꭶ'), + (0xAB77, 'M', u'Ꭷ'), + (0xAB78, 'M', u'Ꭸ'), + (0xAB79, 'M', u'Ꭹ'), + (0xAB7A, 'M', u'Ꭺ'), + ] + +def _seg_38(): + return [ + (0xAB7B, 'M', u'Ꭻ'), + (0xAB7C, 'M', u'Ꭼ'), + (0xAB7D, 'M', u'Ꭽ'), + (0xAB7E, 'M', u'Ꭾ'), + (0xAB7F, 'M', u'Ꭿ'), + (0xAB80, 'M', u'Ꮀ'), + (0xAB81, 'M', u'Ꮁ'), + (0xAB82, 'M', u'Ꮂ'), + (0xAB83, 'M', u'Ꮃ'), + (0xAB84, 'M', u'Ꮄ'), + (0xAB85, 'M', u'Ꮅ'), + (0xAB86, 'M', u'Ꮆ'), + (0xAB87, 'M', u'Ꮇ'), + (0xAB88, 'M', u'Ꮈ'), + (0xAB89, 'M', u'Ꮉ'), + (0xAB8A, 'M', u'Ꮊ'), + (0xAB8B, 'M', u'Ꮋ'), + (0xAB8C, 'M', u'Ꮌ'), + (0xAB8D, 'M', u'Ꮍ'), + (0xAB8E, 'M', u'Ꮎ'), + (0xAB8F, 'M', u'Ꮏ'), + (0xAB90, 'M', u'Ꮐ'), + (0xAB91, 'M', u'Ꮑ'), + (0xAB92, 'M', u'Ꮒ'), + (0xAB93, 'M', u'Ꮓ'), + (0xAB94, 'M', u'Ꮔ'), + (0xAB95, 'M', u'Ꮕ'), + (0xAB96, 'M', u'Ꮖ'), + (0xAB97, 'M', u'Ꮗ'), + (0xAB98, 'M', u'Ꮘ'), + (0xAB99, 'M', u'Ꮙ'), + (0xAB9A, 'M', u'Ꮚ'), + (0xAB9B, 'M', u'Ꮛ'), + (0xAB9C, 'M', u'Ꮜ'), + (0xAB9D, 'M', u'Ꮝ'), + (0xAB9E, 'M', u'Ꮞ'), + (0xAB9F, 'M', u'Ꮟ'), + (0xABA0, 'M', u'Ꮠ'), + (0xABA1, 'M', u'Ꮡ'), + (0xABA2, 'M', u'Ꮢ'), + (0xABA3, 'M', u'Ꮣ'), + (0xABA4, 'M', u'Ꮤ'), + (0xABA5, 'M', u'Ꮥ'), + (0xABA6, 'M', u'Ꮦ'), + (0xABA7, 'M', u'Ꮧ'), + (0xABA8, 'M', u'Ꮨ'), + (0xABA9, 'M', u'Ꮩ'), + (0xABAA, 'M', u'Ꮪ'), + (0xABAB, 'M', u'Ꮫ'), + (0xABAC, 'M', u'Ꮬ'), + (0xABAD, 'M', u'Ꮭ'), + (0xABAE, 'M', u'Ꮮ'), + (0xABAF, 'M', u'Ꮯ'), + (0xABB0, 'M', u'Ꮰ'), + (0xABB1, 'M', u'Ꮱ'), + (0xABB2, 'M', u'Ꮲ'), + (0xABB3, 'M', u'Ꮳ'), + (0xABB4, 'M', u'Ꮴ'), + (0xABB5, 'M', u'Ꮵ'), + (0xABB6, 'M', u'Ꮶ'), + (0xABB7, 'M', u'Ꮷ'), + (0xABB8, 'M', u'Ꮸ'), + (0xABB9, 'M', u'Ꮹ'), + (0xABBA, 'M', u'Ꮺ'), + (0xABBB, 'M', u'Ꮻ'), + (0xABBC, 'M', u'Ꮼ'), + (0xABBD, 'M', u'Ꮽ'), + (0xABBE, 'M', u'Ꮾ'), + (0xABBF, 'M', u'Ꮿ'), + (0xABC0, 'V'), + (0xABEE, 'X'), + (0xABF0, 'V'), + (0xABFA, 'X'), + (0xAC00, 'V'), + (0xD7A4, 'X'), + (0xD7B0, 'V'), + (0xD7C7, 'X'), + (0xD7CB, 'V'), + (0xD7FC, 'X'), + (0xF900, 'M', u'豈'), + (0xF901, 'M', u'更'), + (0xF902, 'M', u'車'), + (0xF903, 'M', u'賈'), + (0xF904, 'M', u'滑'), + (0xF905, 'M', u'串'), + (0xF906, 'M', u'句'), + (0xF907, 'M', u'龜'), + (0xF909, 'M', u'契'), + (0xF90A, 'M', u'金'), + (0xF90B, 'M', u'喇'), + (0xF90C, 'M', u'奈'), + (0xF90D, 'M', u'懶'), + (0xF90E, 'M', u'癩'), + (0xF90F, 'M', u'羅'), + (0xF910, 'M', u'蘿'), + (0xF911, 'M', u'螺'), + (0xF912, 'M', u'裸'), + (0xF913, 'M', u'邏'), + (0xF914, 'M', u'樂'), + (0xF915, 'M', u'洛'), + ] + +def _seg_39(): + return [ + (0xF916, 'M', u'烙'), + (0xF917, 'M', u'珞'), + (0xF918, 'M', u'落'), + (0xF919, 'M', u'酪'), + (0xF91A, 'M', u'駱'), + (0xF91B, 'M', u'亂'), + (0xF91C, 'M', u'卵'), + (0xF91D, 'M', u'欄'), + (0xF91E, 'M', u'爛'), + (0xF91F, 'M', u'蘭'), + (0xF920, 'M', u'鸞'), + (0xF921, 'M', u'嵐'), + (0xF922, 'M', u'濫'), + (0xF923, 'M', u'藍'), + (0xF924, 'M', u'襤'), + (0xF925, 'M', u'拉'), + (0xF926, 'M', u'臘'), + (0xF927, 'M', u'蠟'), + (0xF928, 'M', u'廊'), + (0xF929, 'M', u'朗'), + (0xF92A, 'M', u'浪'), + (0xF92B, 'M', u'狼'), + (0xF92C, 'M', u'郎'), + (0xF92D, 'M', u'來'), + (0xF92E, 'M', u'冷'), + (0xF92F, 'M', u'勞'), + (0xF930, 'M', u'擄'), + (0xF931, 'M', u'櫓'), + (0xF932, 'M', u'爐'), + (0xF933, 'M', u'盧'), + (0xF934, 'M', u'老'), + (0xF935, 'M', u'蘆'), + (0xF936, 'M', u'虜'), + (0xF937, 'M', u'路'), + (0xF938, 'M', u'露'), + (0xF939, 'M', u'魯'), + (0xF93A, 'M', u'鷺'), + (0xF93B, 'M', u'碌'), + (0xF93C, 'M', u'祿'), + (0xF93D, 'M', u'綠'), + (0xF93E, 'M', u'菉'), + (0xF93F, 'M', u'錄'), + (0xF940, 'M', u'鹿'), + (0xF941, 'M', u'論'), + (0xF942, 'M', u'壟'), + (0xF943, 'M', u'弄'), + (0xF944, 'M', u'籠'), + (0xF945, 'M', u'聾'), + (0xF946, 'M', u'牢'), + (0xF947, 'M', u'磊'), + (0xF948, 'M', u'賂'), + (0xF949, 'M', u'雷'), + (0xF94A, 'M', u'壘'), + (0xF94B, 'M', u'屢'), + (0xF94C, 'M', u'樓'), + (0xF94D, 'M', u'淚'), + (0xF94E, 'M', u'漏'), + (0xF94F, 'M', u'累'), + (0xF950, 'M', u'縷'), + (0xF951, 'M', u'陋'), + (0xF952, 'M', u'勒'), + (0xF953, 'M', u'肋'), + (0xF954, 'M', u'凜'), + (0xF955, 'M', u'凌'), + (0xF956, 'M', u'稜'), + (0xF957, 'M', u'綾'), + (0xF958, 'M', u'菱'), + (0xF959, 'M', u'陵'), + (0xF95A, 'M', u'讀'), + (0xF95B, 'M', u'拏'), + (0xF95C, 'M', u'樂'), + (0xF95D, 'M', u'諾'), + (0xF95E, 'M', u'丹'), + (0xF95F, 'M', u'寧'), + (0xF960, 'M', u'怒'), + (0xF961, 'M', u'率'), + (0xF962, 'M', u'異'), + (0xF963, 'M', u'北'), + (0xF964, 'M', u'磻'), + (0xF965, 'M', u'便'), + (0xF966, 'M', u'復'), + (0xF967, 'M', u'不'), + (0xF968, 'M', u'泌'), + (0xF969, 'M', u'數'), + (0xF96A, 'M', u'索'), + (0xF96B, 'M', u'參'), + (0xF96C, 'M', u'塞'), + (0xF96D, 'M', u'省'), + (0xF96E, 'M', u'葉'), + (0xF96F, 'M', u'說'), + (0xF970, 'M', u'殺'), + (0xF971, 'M', u'辰'), + (0xF972, 'M', u'沈'), + (0xF973, 'M', u'拾'), + (0xF974, 'M', u'若'), + (0xF975, 'M', u'掠'), + (0xF976, 'M', u'略'), + (0xF977, 'M', u'亮'), + (0xF978, 'M', u'兩'), + (0xF979, 'M', u'凉'), + ] + +def _seg_40(): + return [ + (0xF97A, 'M', u'梁'), + (0xF97B, 'M', u'糧'), + (0xF97C, 'M', u'良'), + (0xF97D, 'M', u'諒'), + (0xF97E, 'M', u'量'), + (0xF97F, 'M', u'勵'), + (0xF980, 'M', u'呂'), + (0xF981, 'M', u'女'), + (0xF982, 'M', u'廬'), + (0xF983, 'M', u'旅'), + (0xF984, 'M', u'濾'), + (0xF985, 'M', u'礪'), + (0xF986, 'M', u'閭'), + (0xF987, 'M', u'驪'), + (0xF988, 'M', u'麗'), + (0xF989, 'M', u'黎'), + (0xF98A, 'M', u'力'), + (0xF98B, 'M', u'曆'), + (0xF98C, 'M', u'歷'), + (0xF98D, 'M', u'轢'), + (0xF98E, 'M', u'年'), + (0xF98F, 'M', u'憐'), + (0xF990, 'M', u'戀'), + (0xF991, 'M', u'撚'), + (0xF992, 'M', u'漣'), + (0xF993, 'M', u'煉'), + (0xF994, 'M', u'璉'), + (0xF995, 'M', u'秊'), + (0xF996, 'M', u'練'), + (0xF997, 'M', u'聯'), + (0xF998, 'M', u'輦'), + (0xF999, 'M', u'蓮'), + (0xF99A, 'M', u'連'), + (0xF99B, 'M', u'鍊'), + (0xF99C, 'M', u'列'), + (0xF99D, 'M', u'劣'), + (0xF99E, 'M', u'咽'), + (0xF99F, 'M', u'烈'), + (0xF9A0, 'M', u'裂'), + (0xF9A1, 'M', u'說'), + (0xF9A2, 'M', u'廉'), + (0xF9A3, 'M', u'念'), + (0xF9A4, 'M', u'捻'), + (0xF9A5, 'M', u'殮'), + (0xF9A6, 'M', u'簾'), + (0xF9A7, 'M', u'獵'), + (0xF9A8, 'M', u'令'), + (0xF9A9, 'M', u'囹'), + (0xF9AA, 'M', u'寧'), + (0xF9AB, 'M', u'嶺'), + (0xF9AC, 'M', u'怜'), + (0xF9AD, 'M', u'玲'), + (0xF9AE, 'M', u'瑩'), + (0xF9AF, 'M', u'羚'), + (0xF9B0, 'M', u'聆'), + (0xF9B1, 'M', u'鈴'), + (0xF9B2, 'M', u'零'), + (0xF9B3, 'M', u'靈'), + (0xF9B4, 'M', u'領'), + (0xF9B5, 'M', u'例'), + (0xF9B6, 'M', u'禮'), + (0xF9B7, 'M', u'醴'), + (0xF9B8, 'M', u'隸'), + (0xF9B9, 'M', u'惡'), + (0xF9BA, 'M', u'了'), + (0xF9BB, 'M', u'僚'), + (0xF9BC, 'M', u'寮'), + (0xF9BD, 'M', u'尿'), + (0xF9BE, 'M', u'料'), + (0xF9BF, 'M', u'樂'), + (0xF9C0, 'M', u'燎'), + (0xF9C1, 'M', u'療'), + (0xF9C2, 'M', u'蓼'), + (0xF9C3, 'M', u'遼'), + (0xF9C4, 'M', u'龍'), + (0xF9C5, 'M', u'暈'), + (0xF9C6, 'M', u'阮'), + (0xF9C7, 'M', u'劉'), + (0xF9C8, 'M', u'杻'), + (0xF9C9, 'M', u'柳'), + (0xF9CA, 'M', u'流'), + (0xF9CB, 'M', u'溜'), + (0xF9CC, 'M', u'琉'), + (0xF9CD, 'M', u'留'), + (0xF9CE, 'M', u'硫'), + (0xF9CF, 'M', u'紐'), + (0xF9D0, 'M', u'類'), + (0xF9D1, 'M', u'六'), + (0xF9D2, 'M', u'戮'), + (0xF9D3, 'M', u'陸'), + (0xF9D4, 'M', u'倫'), + (0xF9D5, 'M', u'崙'), + (0xF9D6, 'M', u'淪'), + (0xF9D7, 'M', u'輪'), + (0xF9D8, 'M', u'律'), + (0xF9D9, 'M', u'慄'), + (0xF9DA, 'M', u'栗'), + (0xF9DB, 'M', u'率'), + (0xF9DC, 'M', u'隆'), + (0xF9DD, 'M', u'利'), + ] + +def _seg_41(): + return [ + (0xF9DE, 'M', u'吏'), + (0xF9DF, 'M', u'履'), + (0xF9E0, 'M', u'易'), + (0xF9E1, 'M', u'李'), + (0xF9E2, 'M', u'梨'), + (0xF9E3, 'M', u'泥'), + (0xF9E4, 'M', u'理'), + (0xF9E5, 'M', u'痢'), + (0xF9E6, 'M', u'罹'), + (0xF9E7, 'M', u'裏'), + (0xF9E8, 'M', u'裡'), + (0xF9E9, 'M', u'里'), + (0xF9EA, 'M', u'離'), + (0xF9EB, 'M', u'匿'), + (0xF9EC, 'M', u'溺'), + (0xF9ED, 'M', u'吝'), + (0xF9EE, 'M', u'燐'), + (0xF9EF, 'M', u'璘'), + (0xF9F0, 'M', u'藺'), + (0xF9F1, 'M', u'隣'), + (0xF9F2, 'M', u'鱗'), + (0xF9F3, 'M', u'麟'), + (0xF9F4, 'M', u'林'), + (0xF9F5, 'M', u'淋'), + (0xF9F6, 'M', u'臨'), + (0xF9F7, 'M', u'立'), + (0xF9F8, 'M', u'笠'), + (0xF9F9, 'M', u'粒'), + (0xF9FA, 'M', u'狀'), + (0xF9FB, 'M', u'炙'), + (0xF9FC, 'M', u'識'), + (0xF9FD, 'M', u'什'), + (0xF9FE, 'M', u'茶'), + (0xF9FF, 'M', u'刺'), + (0xFA00, 'M', u'切'), + (0xFA01, 'M', u'度'), + (0xFA02, 'M', u'拓'), + (0xFA03, 'M', u'糖'), + (0xFA04, 'M', u'宅'), + (0xFA05, 'M', u'洞'), + (0xFA06, 'M', u'暴'), + (0xFA07, 'M', u'輻'), + (0xFA08, 'M', u'行'), + (0xFA09, 'M', u'降'), + (0xFA0A, 'M', u'見'), + (0xFA0B, 'M', u'廓'), + (0xFA0C, 'M', u'兀'), + (0xFA0D, 'M', u'嗀'), + (0xFA0E, 'V'), + (0xFA10, 'M', u'塚'), + (0xFA11, 'V'), + (0xFA12, 'M', u'晴'), + (0xFA13, 'V'), + (0xFA15, 'M', u'凞'), + (0xFA16, 'M', u'猪'), + (0xFA17, 'M', u'益'), + (0xFA18, 'M', u'礼'), + (0xFA19, 'M', u'神'), + (0xFA1A, 'M', u'祥'), + (0xFA1B, 'M', u'福'), + (0xFA1C, 'M', u'靖'), + (0xFA1D, 'M', u'精'), + (0xFA1E, 'M', u'羽'), + (0xFA1F, 'V'), + (0xFA20, 'M', u'蘒'), + (0xFA21, 'V'), + (0xFA22, 'M', u'諸'), + (0xFA23, 'V'), + (0xFA25, 'M', u'逸'), + (0xFA26, 'M', u'都'), + (0xFA27, 'V'), + (0xFA2A, 'M', u'飯'), + (0xFA2B, 'M', u'飼'), + (0xFA2C, 'M', u'館'), + (0xFA2D, 'M', u'鶴'), + (0xFA2E, 'M', u'郞'), + (0xFA2F, 'M', u'隷'), + (0xFA30, 'M', u'侮'), + (0xFA31, 'M', u'僧'), + (0xFA32, 'M', u'免'), + (0xFA33, 'M', u'勉'), + (0xFA34, 'M', u'勤'), + (0xFA35, 'M', u'卑'), + (0xFA36, 'M', u'喝'), + (0xFA37, 'M', u'嘆'), + (0xFA38, 'M', u'器'), + (0xFA39, 'M', u'塀'), + (0xFA3A, 'M', u'墨'), + (0xFA3B, 'M', u'層'), + (0xFA3C, 'M', u'屮'), + (0xFA3D, 'M', u'悔'), + (0xFA3E, 'M', u'慨'), + (0xFA3F, 'M', u'憎'), + (0xFA40, 'M', u'懲'), + (0xFA41, 'M', u'敏'), + (0xFA42, 'M', u'既'), + (0xFA43, 'M', u'暑'), + (0xFA44, 'M', u'梅'), + (0xFA45, 'M', u'海'), + (0xFA46, 'M', u'渚'), + ] + +def _seg_42(): + return [ + (0xFA47, 'M', u'漢'), + (0xFA48, 'M', u'煮'), + (0xFA49, 'M', u'爫'), + (0xFA4A, 'M', u'琢'), + (0xFA4B, 'M', u'碑'), + (0xFA4C, 'M', u'社'), + (0xFA4D, 'M', u'祉'), + (0xFA4E, 'M', u'祈'), + (0xFA4F, 'M', u'祐'), + (0xFA50, 'M', u'祖'), + (0xFA51, 'M', u'祝'), + (0xFA52, 'M', u'禍'), + (0xFA53, 'M', u'禎'), + (0xFA54, 'M', u'穀'), + (0xFA55, 'M', u'突'), + (0xFA56, 'M', u'節'), + (0xFA57, 'M', u'練'), + (0xFA58, 'M', u'縉'), + (0xFA59, 'M', u'繁'), + (0xFA5A, 'M', u'署'), + (0xFA5B, 'M', u'者'), + (0xFA5C, 'M', u'臭'), + (0xFA5D, 'M', u'艹'), + (0xFA5F, 'M', u'著'), + (0xFA60, 'M', u'褐'), + (0xFA61, 'M', u'視'), + (0xFA62, 'M', u'謁'), + (0xFA63, 'M', u'謹'), + (0xFA64, 'M', u'賓'), + (0xFA65, 'M', u'贈'), + (0xFA66, 'M', u'辶'), + (0xFA67, 'M', u'逸'), + (0xFA68, 'M', u'難'), + (0xFA69, 'M', u'響'), + (0xFA6A, 'M', u'頻'), + (0xFA6B, 'M', u'恵'), + (0xFA6C, 'M', u'𤋮'), + (0xFA6D, 'M', u'舘'), + (0xFA6E, 'X'), + (0xFA70, 'M', u'並'), + (0xFA71, 'M', u'况'), + (0xFA72, 'M', u'全'), + (0xFA73, 'M', u'侀'), + (0xFA74, 'M', u'充'), + (0xFA75, 'M', u'冀'), + (0xFA76, 'M', u'勇'), + (0xFA77, 'M', u'勺'), + (0xFA78, 'M', u'喝'), + (0xFA79, 'M', u'啕'), + (0xFA7A, 'M', u'喙'), + (0xFA7B, 'M', u'嗢'), + (0xFA7C, 'M', u'塚'), + (0xFA7D, 'M', u'墳'), + (0xFA7E, 'M', u'奄'), + (0xFA7F, 'M', u'奔'), + (0xFA80, 'M', u'婢'), + (0xFA81, 'M', u'嬨'), + (0xFA82, 'M', u'廒'), + (0xFA83, 'M', u'廙'), + (0xFA84, 'M', u'彩'), + (0xFA85, 'M', u'徭'), + (0xFA86, 'M', u'惘'), + (0xFA87, 'M', u'慎'), + (0xFA88, 'M', u'愈'), + (0xFA89, 'M', u'憎'), + (0xFA8A, 'M', u'慠'), + (0xFA8B, 'M', u'懲'), + (0xFA8C, 'M', u'戴'), + (0xFA8D, 'M', u'揄'), + (0xFA8E, 'M', u'搜'), + (0xFA8F, 'M', u'摒'), + (0xFA90, 'M', u'敖'), + (0xFA91, 'M', u'晴'), + (0xFA92, 'M', u'朗'), + (0xFA93, 'M', u'望'), + (0xFA94, 'M', u'杖'), + (0xFA95, 'M', u'歹'), + (0xFA96, 'M', u'殺'), + (0xFA97, 'M', u'流'), + (0xFA98, 'M', u'滛'), + (0xFA99, 'M', u'滋'), + (0xFA9A, 'M', u'漢'), + (0xFA9B, 'M', u'瀞'), + (0xFA9C, 'M', u'煮'), + (0xFA9D, 'M', u'瞧'), + (0xFA9E, 'M', u'爵'), + (0xFA9F, 'M', u'犯'), + (0xFAA0, 'M', u'猪'), + (0xFAA1, 'M', u'瑱'), + (0xFAA2, 'M', u'甆'), + (0xFAA3, 'M', u'画'), + (0xFAA4, 'M', u'瘝'), + (0xFAA5, 'M', u'瘟'), + (0xFAA6, 'M', u'益'), + (0xFAA7, 'M', u'盛'), + (0xFAA8, 'M', u'直'), + (0xFAA9, 'M', u'睊'), + (0xFAAA, 'M', u'着'), + (0xFAAB, 'M', u'磌'), + (0xFAAC, 'M', u'窱'), + ] + +def _seg_43(): + return [ + (0xFAAD, 'M', u'節'), + (0xFAAE, 'M', u'类'), + (0xFAAF, 'M', u'絛'), + (0xFAB0, 'M', u'練'), + (0xFAB1, 'M', u'缾'), + (0xFAB2, 'M', u'者'), + (0xFAB3, 'M', u'荒'), + (0xFAB4, 'M', u'華'), + (0xFAB5, 'M', u'蝹'), + (0xFAB6, 'M', u'襁'), + (0xFAB7, 'M', u'覆'), + (0xFAB8, 'M', u'視'), + (0xFAB9, 'M', u'調'), + (0xFABA, 'M', u'諸'), + (0xFABB, 'M', u'請'), + (0xFABC, 'M', u'謁'), + (0xFABD, 'M', u'諾'), + (0xFABE, 'M', u'諭'), + (0xFABF, 'M', u'謹'), + (0xFAC0, 'M', u'變'), + (0xFAC1, 'M', u'贈'), + (0xFAC2, 'M', u'輸'), + (0xFAC3, 'M', u'遲'), + (0xFAC4, 'M', u'醙'), + (0xFAC5, 'M', u'鉶'), + (0xFAC6, 'M', u'陼'), + (0xFAC7, 'M', u'難'), + (0xFAC8, 'M', u'靖'), + (0xFAC9, 'M', u'韛'), + (0xFACA, 'M', u'響'), + (0xFACB, 'M', u'頋'), + (0xFACC, 'M', u'頻'), + (0xFACD, 'M', u'鬒'), + (0xFACE, 'M', u'龜'), + (0xFACF, 'M', u'𢡊'), + (0xFAD0, 'M', u'𢡄'), + (0xFAD1, 'M', u'𣏕'), + (0xFAD2, 'M', u'㮝'), + (0xFAD3, 'M', u'䀘'), + (0xFAD4, 'M', u'䀹'), + (0xFAD5, 'M', u'𥉉'), + (0xFAD6, 'M', u'𥳐'), + (0xFAD7, 'M', u'𧻓'), + (0xFAD8, 'M', u'齃'), + (0xFAD9, 'M', u'龎'), + (0xFADA, 'X'), + (0xFB00, 'M', u'ff'), + (0xFB01, 'M', u'fi'), + (0xFB02, 'M', u'fl'), + (0xFB03, 'M', u'ffi'), + (0xFB04, 'M', u'ffl'), + (0xFB05, 'M', u'st'), + (0xFB07, 'X'), + (0xFB13, 'M', u'մն'), + (0xFB14, 'M', u'մե'), + (0xFB15, 'M', u'մի'), + (0xFB16, 'M', u'վն'), + (0xFB17, 'M', u'մխ'), + (0xFB18, 'X'), + (0xFB1D, 'M', u'יִ'), + (0xFB1E, 'V'), + (0xFB1F, 'M', u'ײַ'), + (0xFB20, 'M', u'ע'), + (0xFB21, 'M', u'א'), + (0xFB22, 'M', u'ד'), + (0xFB23, 'M', u'ה'), + (0xFB24, 'M', u'כ'), + (0xFB25, 'M', u'ל'), + (0xFB26, 'M', u'ם'), + (0xFB27, 'M', u'ר'), + (0xFB28, 'M', u'ת'), + (0xFB29, '3', u'+'), + (0xFB2A, 'M', u'שׁ'), + (0xFB2B, 'M', u'שׂ'), + (0xFB2C, 'M', u'שּׁ'), + (0xFB2D, 'M', u'שּׂ'), + (0xFB2E, 'M', u'אַ'), + (0xFB2F, 'M', u'אָ'), + (0xFB30, 'M', u'אּ'), + (0xFB31, 'M', u'בּ'), + (0xFB32, 'M', u'גּ'), + (0xFB33, 'M', u'דּ'), + (0xFB34, 'M', u'הּ'), + (0xFB35, 'M', u'וּ'), + (0xFB36, 'M', u'זּ'), + (0xFB37, 'X'), + (0xFB38, 'M', u'טּ'), + (0xFB39, 'M', u'יּ'), + (0xFB3A, 'M', u'ךּ'), + (0xFB3B, 'M', u'כּ'), + (0xFB3C, 'M', u'לּ'), + (0xFB3D, 'X'), + (0xFB3E, 'M', u'מּ'), + (0xFB3F, 'X'), + (0xFB40, 'M', u'נּ'), + (0xFB41, 'M', u'סּ'), + (0xFB42, 'X'), + (0xFB43, 'M', u'ףּ'), + (0xFB44, 'M', u'פּ'), + (0xFB45, 'X'), + ] + +def _seg_44(): + return [ + (0xFB46, 'M', u'צּ'), + (0xFB47, 'M', u'קּ'), + (0xFB48, 'M', u'רּ'), + (0xFB49, 'M', u'שּ'), + (0xFB4A, 'M', u'תּ'), + (0xFB4B, 'M', u'וֹ'), + (0xFB4C, 'M', u'בֿ'), + (0xFB4D, 'M', u'כֿ'), + (0xFB4E, 'M', u'פֿ'), + (0xFB4F, 'M', u'אל'), + (0xFB50, 'M', u'ٱ'), + (0xFB52, 'M', u'ٻ'), + (0xFB56, 'M', u'پ'), + (0xFB5A, 'M', u'ڀ'), + (0xFB5E, 'M', u'ٺ'), + (0xFB62, 'M', u'ٿ'), + (0xFB66, 'M', u'ٹ'), + (0xFB6A, 'M', u'ڤ'), + (0xFB6E, 'M', u'ڦ'), + (0xFB72, 'M', u'ڄ'), + (0xFB76, 'M', u'ڃ'), + (0xFB7A, 'M', u'چ'), + (0xFB7E, 'M', u'ڇ'), + (0xFB82, 'M', u'ڍ'), + (0xFB84, 'M', u'ڌ'), + (0xFB86, 'M', u'ڎ'), + (0xFB88, 'M', u'ڈ'), + (0xFB8A, 'M', u'ژ'), + (0xFB8C, 'M', u'ڑ'), + (0xFB8E, 'M', u'ک'), + (0xFB92, 'M', u'گ'), + (0xFB96, 'M', u'ڳ'), + (0xFB9A, 'M', u'ڱ'), + (0xFB9E, 'M', u'ں'), + (0xFBA0, 'M', u'ڻ'), + (0xFBA4, 'M', u'ۀ'), + (0xFBA6, 'M', u'ہ'), + (0xFBAA, 'M', u'ھ'), + (0xFBAE, 'M', u'ے'), + (0xFBB0, 'M', u'ۓ'), + (0xFBB2, 'V'), + (0xFBC2, 'X'), + (0xFBD3, 'M', u'ڭ'), + (0xFBD7, 'M', u'ۇ'), + (0xFBD9, 'M', u'ۆ'), + (0xFBDB, 'M', u'ۈ'), + (0xFBDD, 'M', u'ۇٴ'), + (0xFBDE, 'M', u'ۋ'), + (0xFBE0, 'M', u'ۅ'), + (0xFBE2, 'M', u'ۉ'), + (0xFBE4, 'M', u'ې'), + (0xFBE8, 'M', u'ى'), + (0xFBEA, 'M', u'ئا'), + (0xFBEC, 'M', u'ئە'), + (0xFBEE, 'M', u'ئو'), + (0xFBF0, 'M', u'ئۇ'), + (0xFBF2, 'M', u'ئۆ'), + (0xFBF4, 'M', u'ئۈ'), + (0xFBF6, 'M', u'ئې'), + (0xFBF9, 'M', u'ئى'), + (0xFBFC, 'M', u'ی'), + (0xFC00, 'M', u'ئج'), + (0xFC01, 'M', u'ئح'), + (0xFC02, 'M', u'ئم'), + (0xFC03, 'M', u'ئى'), + (0xFC04, 'M', u'ئي'), + (0xFC05, 'M', u'بج'), + (0xFC06, 'M', u'بح'), + (0xFC07, 'M', u'بخ'), + (0xFC08, 'M', u'بم'), + (0xFC09, 'M', u'بى'), + (0xFC0A, 'M', u'بي'), + (0xFC0B, 'M', u'تج'), + (0xFC0C, 'M', u'تح'), + (0xFC0D, 'M', u'تخ'), + (0xFC0E, 'M', u'تم'), + (0xFC0F, 'M', u'تى'), + (0xFC10, 'M', u'تي'), + (0xFC11, 'M', u'ثج'), + (0xFC12, 'M', u'ثم'), + (0xFC13, 'M', u'ثى'), + (0xFC14, 'M', u'ثي'), + (0xFC15, 'M', u'جح'), + (0xFC16, 'M', u'جم'), + (0xFC17, 'M', u'حج'), + (0xFC18, 'M', u'حم'), + (0xFC19, 'M', u'خج'), + (0xFC1A, 'M', u'خح'), + (0xFC1B, 'M', u'خم'), + (0xFC1C, 'M', u'سج'), + (0xFC1D, 'M', u'سح'), + (0xFC1E, 'M', u'سخ'), + (0xFC1F, 'M', u'سم'), + (0xFC20, 'M', u'صح'), + (0xFC21, 'M', u'صم'), + (0xFC22, 'M', u'ضج'), + (0xFC23, 'M', u'ضح'), + (0xFC24, 'M', u'ضخ'), + (0xFC25, 'M', u'ضم'), + (0xFC26, 'M', u'طح'), + ] + +def _seg_45(): + return [ + (0xFC27, 'M', u'طم'), + (0xFC28, 'M', u'ظم'), + (0xFC29, 'M', u'عج'), + (0xFC2A, 'M', u'عم'), + (0xFC2B, 'M', u'غج'), + (0xFC2C, 'M', u'غم'), + (0xFC2D, 'M', u'فج'), + (0xFC2E, 'M', u'فح'), + (0xFC2F, 'M', u'فخ'), + (0xFC30, 'M', u'فم'), + (0xFC31, 'M', u'فى'), + (0xFC32, 'M', u'في'), + (0xFC33, 'M', u'قح'), + (0xFC34, 'M', u'قم'), + (0xFC35, 'M', u'قى'), + (0xFC36, 'M', u'قي'), + (0xFC37, 'M', u'كا'), + (0xFC38, 'M', u'كج'), + (0xFC39, 'M', u'كح'), + (0xFC3A, 'M', u'كخ'), + (0xFC3B, 'M', u'كل'), + (0xFC3C, 'M', u'كم'), + (0xFC3D, 'M', u'كى'), + (0xFC3E, 'M', u'كي'), + (0xFC3F, 'M', u'لج'), + (0xFC40, 'M', u'لح'), + (0xFC41, 'M', u'لخ'), + (0xFC42, 'M', u'لم'), + (0xFC43, 'M', u'لى'), + (0xFC44, 'M', u'لي'), + (0xFC45, 'M', u'مج'), + (0xFC46, 'M', u'مح'), + (0xFC47, 'M', u'مخ'), + (0xFC48, 'M', u'مم'), + (0xFC49, 'M', u'مى'), + (0xFC4A, 'M', u'مي'), + (0xFC4B, 'M', u'نج'), + (0xFC4C, 'M', u'نح'), + (0xFC4D, 'M', u'نخ'), + (0xFC4E, 'M', u'نم'), + (0xFC4F, 'M', u'نى'), + (0xFC50, 'M', u'ني'), + (0xFC51, 'M', u'هج'), + (0xFC52, 'M', u'هم'), + (0xFC53, 'M', u'هى'), + (0xFC54, 'M', u'هي'), + (0xFC55, 'M', u'يج'), + (0xFC56, 'M', u'يح'), + (0xFC57, 'M', u'يخ'), + (0xFC58, 'M', u'يم'), + (0xFC59, 'M', u'يى'), + (0xFC5A, 'M', u'يي'), + (0xFC5B, 'M', u'ذٰ'), + (0xFC5C, 'M', u'رٰ'), + (0xFC5D, 'M', u'ىٰ'), + (0xFC5E, '3', u' ٌّ'), + (0xFC5F, '3', u' ٍّ'), + (0xFC60, '3', u' َّ'), + (0xFC61, '3', u' ُّ'), + (0xFC62, '3', u' ِّ'), + (0xFC63, '3', u' ّٰ'), + (0xFC64, 'M', u'ئر'), + (0xFC65, 'M', u'ئز'), + (0xFC66, 'M', u'ئم'), + (0xFC67, 'M', u'ئن'), + (0xFC68, 'M', u'ئى'), + (0xFC69, 'M', u'ئي'), + (0xFC6A, 'M', u'بر'), + (0xFC6B, 'M', u'بز'), + (0xFC6C, 'M', u'بم'), + (0xFC6D, 'M', u'بن'), + (0xFC6E, 'M', u'بى'), + (0xFC6F, 'M', u'بي'), + (0xFC70, 'M', u'تر'), + (0xFC71, 'M', u'تز'), + (0xFC72, 'M', u'تم'), + (0xFC73, 'M', u'تن'), + (0xFC74, 'M', u'تى'), + (0xFC75, 'M', u'تي'), + (0xFC76, 'M', u'ثر'), + (0xFC77, 'M', u'ثز'), + (0xFC78, 'M', u'ثم'), + (0xFC79, 'M', u'ثن'), + (0xFC7A, 'M', u'ثى'), + (0xFC7B, 'M', u'ثي'), + (0xFC7C, 'M', u'فى'), + (0xFC7D, 'M', u'في'), + (0xFC7E, 'M', u'قى'), + (0xFC7F, 'M', u'قي'), + (0xFC80, 'M', u'كا'), + (0xFC81, 'M', u'كل'), + (0xFC82, 'M', u'كم'), + (0xFC83, 'M', u'كى'), + (0xFC84, 'M', u'كي'), + (0xFC85, 'M', u'لم'), + (0xFC86, 'M', u'لى'), + (0xFC87, 'M', u'لي'), + (0xFC88, 'M', u'ما'), + (0xFC89, 'M', u'مم'), + (0xFC8A, 'M', u'نر'), + ] + +def _seg_46(): + return [ + (0xFC8B, 'M', u'نز'), + (0xFC8C, 'M', u'نم'), + (0xFC8D, 'M', u'نن'), + (0xFC8E, 'M', u'نى'), + (0xFC8F, 'M', u'ني'), + (0xFC90, 'M', u'ىٰ'), + (0xFC91, 'M', u'ير'), + (0xFC92, 'M', u'يز'), + (0xFC93, 'M', u'يم'), + (0xFC94, 'M', u'ين'), + (0xFC95, 'M', u'يى'), + (0xFC96, 'M', u'يي'), + (0xFC97, 'M', u'ئج'), + (0xFC98, 'M', u'ئح'), + (0xFC99, 'M', u'ئخ'), + (0xFC9A, 'M', u'ئم'), + (0xFC9B, 'M', u'ئه'), + (0xFC9C, 'M', u'بج'), + (0xFC9D, 'M', u'بح'), + (0xFC9E, 'M', u'بخ'), + (0xFC9F, 'M', u'بم'), + (0xFCA0, 'M', u'به'), + (0xFCA1, 'M', u'تج'), + (0xFCA2, 'M', u'تح'), + (0xFCA3, 'M', u'تخ'), + (0xFCA4, 'M', u'تم'), + (0xFCA5, 'M', u'ته'), + (0xFCA6, 'M', u'ثم'), + (0xFCA7, 'M', u'جح'), + (0xFCA8, 'M', u'جم'), + (0xFCA9, 'M', u'حج'), + (0xFCAA, 'M', u'حم'), + (0xFCAB, 'M', u'خج'), + (0xFCAC, 'M', u'خم'), + (0xFCAD, 'M', u'سج'), + (0xFCAE, 'M', u'سح'), + (0xFCAF, 'M', u'سخ'), + (0xFCB0, 'M', u'سم'), + (0xFCB1, 'M', u'صح'), + (0xFCB2, 'M', u'صخ'), + (0xFCB3, 'M', u'صم'), + (0xFCB4, 'M', u'ضج'), + (0xFCB5, 'M', u'ضح'), + (0xFCB6, 'M', u'ضخ'), + (0xFCB7, 'M', u'ضم'), + (0xFCB8, 'M', u'طح'), + (0xFCB9, 'M', u'ظم'), + (0xFCBA, 'M', u'عج'), + (0xFCBB, 'M', u'عم'), + (0xFCBC, 'M', u'غج'), + (0xFCBD, 'M', u'غم'), + (0xFCBE, 'M', u'فج'), + (0xFCBF, 'M', u'فح'), + (0xFCC0, 'M', u'فخ'), + (0xFCC1, 'M', u'فم'), + (0xFCC2, 'M', u'قح'), + (0xFCC3, 'M', u'قم'), + (0xFCC4, 'M', u'كج'), + (0xFCC5, 'M', u'كح'), + (0xFCC6, 'M', u'كخ'), + (0xFCC7, 'M', u'كل'), + (0xFCC8, 'M', u'كم'), + (0xFCC9, 'M', u'لج'), + (0xFCCA, 'M', u'لح'), + (0xFCCB, 'M', u'لخ'), + (0xFCCC, 'M', u'لم'), + (0xFCCD, 'M', u'له'), + (0xFCCE, 'M', u'مج'), + (0xFCCF, 'M', u'مح'), + (0xFCD0, 'M', u'مخ'), + (0xFCD1, 'M', u'مم'), + (0xFCD2, 'M', u'نج'), + (0xFCD3, 'M', u'نح'), + (0xFCD4, 'M', u'نخ'), + (0xFCD5, 'M', u'نم'), + (0xFCD6, 'M', u'نه'), + (0xFCD7, 'M', u'هج'), + (0xFCD8, 'M', u'هم'), + (0xFCD9, 'M', u'هٰ'), + (0xFCDA, 'M', u'يج'), + (0xFCDB, 'M', u'يح'), + (0xFCDC, 'M', u'يخ'), + (0xFCDD, 'M', u'يم'), + (0xFCDE, 'M', u'يه'), + (0xFCDF, 'M', u'ئم'), + (0xFCE0, 'M', u'ئه'), + (0xFCE1, 'M', u'بم'), + (0xFCE2, 'M', u'به'), + (0xFCE3, 'M', u'تم'), + (0xFCE4, 'M', u'ته'), + (0xFCE5, 'M', u'ثم'), + (0xFCE6, 'M', u'ثه'), + (0xFCE7, 'M', u'سم'), + (0xFCE8, 'M', u'سه'), + (0xFCE9, 'M', u'شم'), + (0xFCEA, 'M', u'شه'), + (0xFCEB, 'M', u'كل'), + (0xFCEC, 'M', u'كم'), + (0xFCED, 'M', u'لم'), + (0xFCEE, 'M', u'نم'), + ] + +def _seg_47(): + return [ + (0xFCEF, 'M', u'نه'), + (0xFCF0, 'M', u'يم'), + (0xFCF1, 'M', u'يه'), + (0xFCF2, 'M', u'ـَّ'), + (0xFCF3, 'M', u'ـُّ'), + (0xFCF4, 'M', u'ـِّ'), + (0xFCF5, 'M', u'طى'), + (0xFCF6, 'M', u'طي'), + (0xFCF7, 'M', u'عى'), + (0xFCF8, 'M', u'عي'), + (0xFCF9, 'M', u'غى'), + (0xFCFA, 'M', u'غي'), + (0xFCFB, 'M', u'سى'), + (0xFCFC, 'M', u'سي'), + (0xFCFD, 'M', u'شى'), + (0xFCFE, 'M', u'شي'), + (0xFCFF, 'M', u'حى'), + (0xFD00, 'M', u'حي'), + (0xFD01, 'M', u'جى'), + (0xFD02, 'M', u'جي'), + (0xFD03, 'M', u'خى'), + (0xFD04, 'M', u'خي'), + (0xFD05, 'M', u'صى'), + (0xFD06, 'M', u'صي'), + (0xFD07, 'M', u'ضى'), + (0xFD08, 'M', u'ضي'), + (0xFD09, 'M', u'شج'), + (0xFD0A, 'M', u'شح'), + (0xFD0B, 'M', u'شخ'), + (0xFD0C, 'M', u'شم'), + (0xFD0D, 'M', u'شر'), + (0xFD0E, 'M', u'سر'), + (0xFD0F, 'M', u'صر'), + (0xFD10, 'M', u'ضر'), + (0xFD11, 'M', u'طى'), + (0xFD12, 'M', u'طي'), + (0xFD13, 'M', u'عى'), + (0xFD14, 'M', u'عي'), + (0xFD15, 'M', u'غى'), + (0xFD16, 'M', u'غي'), + (0xFD17, 'M', u'سى'), + (0xFD18, 'M', u'سي'), + (0xFD19, 'M', u'شى'), + (0xFD1A, 'M', u'شي'), + (0xFD1B, 'M', u'حى'), + (0xFD1C, 'M', u'حي'), + (0xFD1D, 'M', u'جى'), + (0xFD1E, 'M', u'جي'), + (0xFD1F, 'M', u'خى'), + (0xFD20, 'M', u'خي'), + (0xFD21, 'M', u'صى'), + (0xFD22, 'M', u'صي'), + (0xFD23, 'M', u'ضى'), + (0xFD24, 'M', u'ضي'), + (0xFD25, 'M', u'شج'), + (0xFD26, 'M', u'شح'), + (0xFD27, 'M', u'شخ'), + (0xFD28, 'M', u'شم'), + (0xFD29, 'M', u'شر'), + (0xFD2A, 'M', u'سر'), + (0xFD2B, 'M', u'صر'), + (0xFD2C, 'M', u'ضر'), + (0xFD2D, 'M', u'شج'), + (0xFD2E, 'M', u'شح'), + (0xFD2F, 'M', u'شخ'), + (0xFD30, 'M', u'شم'), + (0xFD31, 'M', u'سه'), + (0xFD32, 'M', u'شه'), + (0xFD33, 'M', u'طم'), + (0xFD34, 'M', u'سج'), + (0xFD35, 'M', u'سح'), + (0xFD36, 'M', u'سخ'), + (0xFD37, 'M', u'شج'), + (0xFD38, 'M', u'شح'), + (0xFD39, 'M', u'شخ'), + (0xFD3A, 'M', u'طم'), + (0xFD3B, 'M', u'ظم'), + (0xFD3C, 'M', u'اً'), + (0xFD3E, 'V'), + (0xFD40, 'X'), + (0xFD50, 'M', u'تجم'), + (0xFD51, 'M', u'تحج'), + (0xFD53, 'M', u'تحم'), + (0xFD54, 'M', u'تخم'), + (0xFD55, 'M', u'تمج'), + (0xFD56, 'M', u'تمح'), + (0xFD57, 'M', u'تمخ'), + (0xFD58, 'M', u'جمح'), + (0xFD5A, 'M', u'حمي'), + (0xFD5B, 'M', u'حمى'), + (0xFD5C, 'M', u'سحج'), + (0xFD5D, 'M', u'سجح'), + (0xFD5E, 'M', u'سجى'), + (0xFD5F, 'M', u'سمح'), + (0xFD61, 'M', u'سمج'), + (0xFD62, 'M', u'سمم'), + (0xFD64, 'M', u'صحح'), + (0xFD66, 'M', u'صمم'), + (0xFD67, 'M', u'شحم'), + (0xFD69, 'M', u'شجي'), + ] + +def _seg_48(): + return [ + (0xFD6A, 'M', u'شمخ'), + (0xFD6C, 'M', u'شمم'), + (0xFD6E, 'M', u'ضحى'), + (0xFD6F, 'M', u'ضخم'), + (0xFD71, 'M', u'طمح'), + (0xFD73, 'M', u'طمم'), + (0xFD74, 'M', u'طمي'), + (0xFD75, 'M', u'عجم'), + (0xFD76, 'M', u'عمم'), + (0xFD78, 'M', u'عمى'), + (0xFD79, 'M', u'غمم'), + (0xFD7A, 'M', u'غمي'), + (0xFD7B, 'M', u'غمى'), + (0xFD7C, 'M', u'فخم'), + (0xFD7E, 'M', u'قمح'), + (0xFD7F, 'M', u'قمم'), + (0xFD80, 'M', u'لحم'), + (0xFD81, 'M', u'لحي'), + (0xFD82, 'M', u'لحى'), + (0xFD83, 'M', u'لجج'), + (0xFD85, 'M', u'لخم'), + (0xFD87, 'M', u'لمح'), + (0xFD89, 'M', u'محج'), + (0xFD8A, 'M', u'محم'), + (0xFD8B, 'M', u'محي'), + (0xFD8C, 'M', u'مجح'), + (0xFD8D, 'M', u'مجم'), + (0xFD8E, 'M', u'مخج'), + (0xFD8F, 'M', u'مخم'), + (0xFD90, 'X'), + (0xFD92, 'M', u'مجخ'), + (0xFD93, 'M', u'همج'), + (0xFD94, 'M', u'همم'), + (0xFD95, 'M', u'نحم'), + (0xFD96, 'M', u'نحى'), + (0xFD97, 'M', u'نجم'), + (0xFD99, 'M', u'نجى'), + (0xFD9A, 'M', u'نمي'), + (0xFD9B, 'M', u'نمى'), + (0xFD9C, 'M', u'يمم'), + (0xFD9E, 'M', u'بخي'), + (0xFD9F, 'M', u'تجي'), + (0xFDA0, 'M', u'تجى'), + (0xFDA1, 'M', u'تخي'), + (0xFDA2, 'M', u'تخى'), + (0xFDA3, 'M', u'تمي'), + (0xFDA4, 'M', u'تمى'), + (0xFDA5, 'M', u'جمي'), + (0xFDA6, 'M', u'جحى'), + (0xFDA7, 'M', u'جمى'), + (0xFDA8, 'M', u'سخى'), + (0xFDA9, 'M', u'صحي'), + (0xFDAA, 'M', u'شحي'), + (0xFDAB, 'M', u'ضحي'), + (0xFDAC, 'M', u'لجي'), + (0xFDAD, 'M', u'لمي'), + (0xFDAE, 'M', u'يحي'), + (0xFDAF, 'M', u'يجي'), + (0xFDB0, 'M', u'يمي'), + (0xFDB1, 'M', u'ممي'), + (0xFDB2, 'M', u'قمي'), + (0xFDB3, 'M', u'نحي'), + (0xFDB4, 'M', u'قمح'), + (0xFDB5, 'M', u'لحم'), + (0xFDB6, 'M', u'عمي'), + (0xFDB7, 'M', u'كمي'), + (0xFDB8, 'M', u'نجح'), + (0xFDB9, 'M', u'مخي'), + (0xFDBA, 'M', u'لجم'), + (0xFDBB, 'M', u'كمم'), + (0xFDBC, 'M', u'لجم'), + (0xFDBD, 'M', u'نجح'), + (0xFDBE, 'M', u'جحي'), + (0xFDBF, 'M', u'حجي'), + (0xFDC0, 'M', u'مجي'), + (0xFDC1, 'M', u'فمي'), + (0xFDC2, 'M', u'بحي'), + (0xFDC3, 'M', u'كمم'), + (0xFDC4, 'M', u'عجم'), + (0xFDC5, 'M', u'صمم'), + (0xFDC6, 'M', u'سخي'), + (0xFDC7, 'M', u'نجي'), + (0xFDC8, 'X'), + (0xFDF0, 'M', u'صلے'), + (0xFDF1, 'M', u'قلے'), + (0xFDF2, 'M', u'الله'), + (0xFDF3, 'M', u'اكبر'), + (0xFDF4, 'M', u'محمد'), + (0xFDF5, 'M', u'صلعم'), + (0xFDF6, 'M', u'رسول'), + (0xFDF7, 'M', u'عليه'), + (0xFDF8, 'M', u'وسلم'), + (0xFDF9, 'M', u'صلى'), + (0xFDFA, '3', u'صلى الله عليه وسلم'), + (0xFDFB, '3', u'جل جلاله'), + (0xFDFC, 'M', u'ریال'), + (0xFDFD, 'V'), + (0xFDFE, 'X'), + (0xFE00, 'I'), + (0xFE10, '3', u','), + ] + +def _seg_49(): + return [ + (0xFE11, 'M', u'、'), + (0xFE12, 'X'), + (0xFE13, '3', u':'), + (0xFE14, '3', u';'), + (0xFE15, '3', u'!'), + (0xFE16, '3', u'?'), + (0xFE17, 'M', u'〖'), + (0xFE18, 'M', u'〗'), + (0xFE19, 'X'), + (0xFE20, 'V'), + (0xFE30, 'X'), + (0xFE31, 'M', u'—'), + (0xFE32, 'M', u'–'), + (0xFE33, '3', u'_'), + (0xFE35, '3', u'('), + (0xFE36, '3', u')'), + (0xFE37, '3', u'{'), + (0xFE38, '3', u'}'), + (0xFE39, 'M', u'〔'), + (0xFE3A, 'M', u'〕'), + (0xFE3B, 'M', u'【'), + (0xFE3C, 'M', u'】'), + (0xFE3D, 'M', u'《'), + (0xFE3E, 'M', u'》'), + (0xFE3F, 'M', u'〈'), + (0xFE40, 'M', u'〉'), + (0xFE41, 'M', u'「'), + (0xFE42, 'M', u'」'), + (0xFE43, 'M', u'『'), + (0xFE44, 'M', u'』'), + (0xFE45, 'V'), + (0xFE47, '3', u'['), + (0xFE48, '3', u']'), + (0xFE49, '3', u' ̅'), + (0xFE4D, '3', u'_'), + (0xFE50, '3', u','), + (0xFE51, 'M', u'、'), + (0xFE52, 'X'), + (0xFE54, '3', u';'), + (0xFE55, '3', u':'), + (0xFE56, '3', u'?'), + (0xFE57, '3', u'!'), + (0xFE58, 'M', u'—'), + (0xFE59, '3', u'('), + (0xFE5A, '3', u')'), + (0xFE5B, '3', u'{'), + (0xFE5C, '3', u'}'), + (0xFE5D, 'M', u'〔'), + (0xFE5E, 'M', u'〕'), + (0xFE5F, '3', u'#'), + (0xFE60, '3', u'&'), + (0xFE61, '3', u'*'), + (0xFE62, '3', u'+'), + (0xFE63, 'M', u'-'), + (0xFE64, '3', u'<'), + (0xFE65, '3', u'>'), + (0xFE66, '3', u'='), + (0xFE67, 'X'), + (0xFE68, '3', u'\\'), + (0xFE69, '3', u'$'), + (0xFE6A, '3', u'%'), + (0xFE6B, '3', u'@'), + (0xFE6C, 'X'), + (0xFE70, '3', u' ً'), + (0xFE71, 'M', u'ـً'), + (0xFE72, '3', u' ٌ'), + (0xFE73, 'V'), + (0xFE74, '3', u' ٍ'), + (0xFE75, 'X'), + (0xFE76, '3', u' َ'), + (0xFE77, 'M', u'ـَ'), + (0xFE78, '3', u' ُ'), + (0xFE79, 'M', u'ـُ'), + (0xFE7A, '3', u' ِ'), + (0xFE7B, 'M', u'ـِ'), + (0xFE7C, '3', u' ّ'), + (0xFE7D, 'M', u'ـّ'), + (0xFE7E, '3', u' ْ'), + (0xFE7F, 'M', u'ـْ'), + (0xFE80, 'M', u'ء'), + (0xFE81, 'M', u'آ'), + (0xFE83, 'M', u'أ'), + (0xFE85, 'M', u'ؤ'), + (0xFE87, 'M', u'إ'), + (0xFE89, 'M', u'ئ'), + (0xFE8D, 'M', u'ا'), + (0xFE8F, 'M', u'ب'), + (0xFE93, 'M', u'ة'), + (0xFE95, 'M', u'ت'), + (0xFE99, 'M', u'ث'), + (0xFE9D, 'M', u'ج'), + (0xFEA1, 'M', u'ح'), + (0xFEA5, 'M', u'خ'), + (0xFEA9, 'M', u'د'), + (0xFEAB, 'M', u'ذ'), + (0xFEAD, 'M', u'ر'), + (0xFEAF, 'M', u'ز'), + (0xFEB1, 'M', u'س'), + (0xFEB5, 'M', u'ش'), + (0xFEB9, 'M', u'ص'), + ] + +def _seg_50(): + return [ + (0xFEBD, 'M', u'ض'), + (0xFEC1, 'M', u'ط'), + (0xFEC5, 'M', u'ظ'), + (0xFEC9, 'M', u'ع'), + (0xFECD, 'M', u'غ'), + (0xFED1, 'M', u'ف'), + (0xFED5, 'M', u'ق'), + (0xFED9, 'M', u'ك'), + (0xFEDD, 'M', u'ل'), + (0xFEE1, 'M', u'م'), + (0xFEE5, 'M', u'ن'), + (0xFEE9, 'M', u'ه'), + (0xFEED, 'M', u'و'), + (0xFEEF, 'M', u'ى'), + (0xFEF1, 'M', u'ي'), + (0xFEF5, 'M', u'لآ'), + (0xFEF7, 'M', u'لأ'), + (0xFEF9, 'M', u'لإ'), + (0xFEFB, 'M', u'لا'), + (0xFEFD, 'X'), + (0xFEFF, 'I'), + (0xFF00, 'X'), + (0xFF01, '3', u'!'), + (0xFF02, '3', u'"'), + (0xFF03, '3', u'#'), + (0xFF04, '3', u'$'), + (0xFF05, '3', u'%'), + (0xFF06, '3', u'&'), + (0xFF07, '3', u'\''), + (0xFF08, '3', u'('), + (0xFF09, '3', u')'), + (0xFF0A, '3', u'*'), + (0xFF0B, '3', u'+'), + (0xFF0C, '3', u','), + (0xFF0D, 'M', u'-'), + (0xFF0E, 'M', u'.'), + (0xFF0F, '3', u'/'), + (0xFF10, 'M', u'0'), + (0xFF11, 'M', u'1'), + (0xFF12, 'M', u'2'), + (0xFF13, 'M', u'3'), + (0xFF14, 'M', u'4'), + (0xFF15, 'M', u'5'), + (0xFF16, 'M', u'6'), + (0xFF17, 'M', u'7'), + (0xFF18, 'M', u'8'), + (0xFF19, 'M', u'9'), + (0xFF1A, '3', u':'), + (0xFF1B, '3', u';'), + (0xFF1C, '3', u'<'), + (0xFF1D, '3', u'='), + (0xFF1E, '3', u'>'), + (0xFF1F, '3', u'?'), + (0xFF20, '3', u'@'), + (0xFF21, 'M', u'a'), + (0xFF22, 'M', u'b'), + (0xFF23, 'M', u'c'), + (0xFF24, 'M', u'd'), + (0xFF25, 'M', u'e'), + (0xFF26, 'M', u'f'), + (0xFF27, 'M', u'g'), + (0xFF28, 'M', u'h'), + (0xFF29, 'M', u'i'), + (0xFF2A, 'M', u'j'), + (0xFF2B, 'M', u'k'), + (0xFF2C, 'M', u'l'), + (0xFF2D, 'M', u'm'), + (0xFF2E, 'M', u'n'), + (0xFF2F, 'M', u'o'), + (0xFF30, 'M', u'p'), + (0xFF31, 'M', u'q'), + (0xFF32, 'M', u'r'), + (0xFF33, 'M', u's'), + (0xFF34, 'M', u't'), + (0xFF35, 'M', u'u'), + (0xFF36, 'M', u'v'), + (0xFF37, 'M', u'w'), + (0xFF38, 'M', u'x'), + (0xFF39, 'M', u'y'), + (0xFF3A, 'M', u'z'), + (0xFF3B, '3', u'['), + (0xFF3C, '3', u'\\'), + (0xFF3D, '3', u']'), + (0xFF3E, '3', u'^'), + (0xFF3F, '3', u'_'), + (0xFF40, '3', u'`'), + (0xFF41, 'M', u'a'), + (0xFF42, 'M', u'b'), + (0xFF43, 'M', u'c'), + (0xFF44, 'M', u'd'), + (0xFF45, 'M', u'e'), + (0xFF46, 'M', u'f'), + (0xFF47, 'M', u'g'), + (0xFF48, 'M', u'h'), + (0xFF49, 'M', u'i'), + (0xFF4A, 'M', u'j'), + (0xFF4B, 'M', u'k'), + (0xFF4C, 'M', u'l'), + (0xFF4D, 'M', u'm'), + (0xFF4E, 'M', u'n'), + ] + +def _seg_51(): + return [ + (0xFF4F, 'M', u'o'), + (0xFF50, 'M', u'p'), + (0xFF51, 'M', u'q'), + (0xFF52, 'M', u'r'), + (0xFF53, 'M', u's'), + (0xFF54, 'M', u't'), + (0xFF55, 'M', u'u'), + (0xFF56, 'M', u'v'), + (0xFF57, 'M', u'w'), + (0xFF58, 'M', u'x'), + (0xFF59, 'M', u'y'), + (0xFF5A, 'M', u'z'), + (0xFF5B, '3', u'{'), + (0xFF5C, '3', u'|'), + (0xFF5D, '3', u'}'), + (0xFF5E, '3', u'~'), + (0xFF5F, 'M', u'⦅'), + (0xFF60, 'M', u'⦆'), + (0xFF61, 'M', u'.'), + (0xFF62, 'M', u'「'), + (0xFF63, 'M', u'」'), + (0xFF64, 'M', u'、'), + (0xFF65, 'M', u'・'), + (0xFF66, 'M', u'ヲ'), + (0xFF67, 'M', u'ァ'), + (0xFF68, 'M', u'ィ'), + (0xFF69, 'M', u'ゥ'), + (0xFF6A, 'M', u'ェ'), + (0xFF6B, 'M', u'ォ'), + (0xFF6C, 'M', u'ャ'), + (0xFF6D, 'M', u'ュ'), + (0xFF6E, 'M', u'ョ'), + (0xFF6F, 'M', u'ッ'), + (0xFF70, 'M', u'ー'), + (0xFF71, 'M', u'ア'), + (0xFF72, 'M', u'イ'), + (0xFF73, 'M', u'ウ'), + (0xFF74, 'M', u'エ'), + (0xFF75, 'M', u'オ'), + (0xFF76, 'M', u'カ'), + (0xFF77, 'M', u'キ'), + (0xFF78, 'M', u'ク'), + (0xFF79, 'M', u'ケ'), + (0xFF7A, 'M', u'コ'), + (0xFF7B, 'M', u'サ'), + (0xFF7C, 'M', u'シ'), + (0xFF7D, 'M', u'ス'), + (0xFF7E, 'M', u'セ'), + (0xFF7F, 'M', u'ソ'), + (0xFF80, 'M', u'タ'), + (0xFF81, 'M', u'チ'), + (0xFF82, 'M', u'ツ'), + (0xFF83, 'M', u'テ'), + (0xFF84, 'M', u'ト'), + (0xFF85, 'M', u'ナ'), + (0xFF86, 'M', u'ニ'), + (0xFF87, 'M', u'ヌ'), + (0xFF88, 'M', u'ネ'), + (0xFF89, 'M', u'ノ'), + (0xFF8A, 'M', u'ハ'), + (0xFF8B, 'M', u'ヒ'), + (0xFF8C, 'M', u'フ'), + (0xFF8D, 'M', u'ヘ'), + (0xFF8E, 'M', u'ホ'), + (0xFF8F, 'M', u'マ'), + (0xFF90, 'M', u'ミ'), + (0xFF91, 'M', u'ム'), + (0xFF92, 'M', u'メ'), + (0xFF93, 'M', u'モ'), + (0xFF94, 'M', u'ヤ'), + (0xFF95, 'M', u'ユ'), + (0xFF96, 'M', u'ヨ'), + (0xFF97, 'M', u'ラ'), + (0xFF98, 'M', u'リ'), + (0xFF99, 'M', u'ル'), + (0xFF9A, 'M', u'レ'), + (0xFF9B, 'M', u'ロ'), + (0xFF9C, 'M', u'ワ'), + (0xFF9D, 'M', u'ン'), + (0xFF9E, 'M', u'゙'), + (0xFF9F, 'M', u'゚'), + (0xFFA0, 'X'), + (0xFFA1, 'M', u'ᄀ'), + (0xFFA2, 'M', u'ᄁ'), + (0xFFA3, 'M', u'ᆪ'), + (0xFFA4, 'M', u'ᄂ'), + (0xFFA5, 'M', u'ᆬ'), + (0xFFA6, 'M', u'ᆭ'), + (0xFFA7, 'M', u'ᄃ'), + (0xFFA8, 'M', u'ᄄ'), + (0xFFA9, 'M', u'ᄅ'), + (0xFFAA, 'M', u'ᆰ'), + (0xFFAB, 'M', u'ᆱ'), + (0xFFAC, 'M', u'ᆲ'), + (0xFFAD, 'M', u'ᆳ'), + (0xFFAE, 'M', u'ᆴ'), + (0xFFAF, 'M', u'ᆵ'), + (0xFFB0, 'M', u'ᄚ'), + (0xFFB1, 'M', u'ᄆ'), + (0xFFB2, 'M', u'ᄇ'), + ] + +def _seg_52(): + return [ + (0xFFB3, 'M', u'ᄈ'), + (0xFFB4, 'M', u'ᄡ'), + (0xFFB5, 'M', u'ᄉ'), + (0xFFB6, 'M', u'ᄊ'), + (0xFFB7, 'M', u'ᄋ'), + (0xFFB8, 'M', u'ᄌ'), + (0xFFB9, 'M', u'ᄍ'), + (0xFFBA, 'M', u'ᄎ'), + (0xFFBB, 'M', u'ᄏ'), + (0xFFBC, 'M', u'ᄐ'), + (0xFFBD, 'M', u'ᄑ'), + (0xFFBE, 'M', u'ᄒ'), + (0xFFBF, 'X'), + (0xFFC2, 'M', u'ᅡ'), + (0xFFC3, 'M', u'ᅢ'), + (0xFFC4, 'M', u'ᅣ'), + (0xFFC5, 'M', u'ᅤ'), + (0xFFC6, 'M', u'ᅥ'), + (0xFFC7, 'M', u'ᅦ'), + (0xFFC8, 'X'), + (0xFFCA, 'M', u'ᅧ'), + (0xFFCB, 'M', u'ᅨ'), + (0xFFCC, 'M', u'ᅩ'), + (0xFFCD, 'M', u'ᅪ'), + (0xFFCE, 'M', u'ᅫ'), + (0xFFCF, 'M', u'ᅬ'), + (0xFFD0, 'X'), + (0xFFD2, 'M', u'ᅭ'), + (0xFFD3, 'M', u'ᅮ'), + (0xFFD4, 'M', u'ᅯ'), + (0xFFD5, 'M', u'ᅰ'), + (0xFFD6, 'M', u'ᅱ'), + (0xFFD7, 'M', u'ᅲ'), + (0xFFD8, 'X'), + (0xFFDA, 'M', u'ᅳ'), + (0xFFDB, 'M', u'ᅴ'), + (0xFFDC, 'M', u'ᅵ'), + (0xFFDD, 'X'), + (0xFFE0, 'M', u'¢'), + (0xFFE1, 'M', u'£'), + (0xFFE2, 'M', u'¬'), + (0xFFE3, '3', u' ̄'), + (0xFFE4, 'M', u'¦'), + (0xFFE5, 'M', u'¥'), + (0xFFE6, 'M', u'₩'), + (0xFFE7, 'X'), + (0xFFE8, 'M', u'│'), + (0xFFE9, 'M', u'←'), + (0xFFEA, 'M', u'↑'), + (0xFFEB, 'M', u'→'), + (0xFFEC, 'M', u'↓'), + (0xFFED, 'M', u'■'), + (0xFFEE, 'M', u'○'), + (0xFFEF, 'X'), + (0x10000, 'V'), + (0x1000C, 'X'), + (0x1000D, 'V'), + (0x10027, 'X'), + (0x10028, 'V'), + (0x1003B, 'X'), + (0x1003C, 'V'), + (0x1003E, 'X'), + (0x1003F, 'V'), + (0x1004E, 'X'), + (0x10050, 'V'), + (0x1005E, 'X'), + (0x10080, 'V'), + (0x100FB, 'X'), + (0x10100, 'V'), + (0x10103, 'X'), + (0x10107, 'V'), + (0x10134, 'X'), + (0x10137, 'V'), + (0x1018F, 'X'), + (0x10190, 'V'), + (0x1019C, 'X'), + (0x101A0, 'V'), + (0x101A1, 'X'), + (0x101D0, 'V'), + (0x101FE, 'X'), + (0x10280, 'V'), + (0x1029D, 'X'), + (0x102A0, 'V'), + (0x102D1, 'X'), + (0x102E0, 'V'), + (0x102FC, 'X'), + (0x10300, 'V'), + (0x10324, 'X'), + (0x1032D, 'V'), + (0x1034B, 'X'), + (0x10350, 'V'), + (0x1037B, 'X'), + (0x10380, 'V'), + (0x1039E, 'X'), + (0x1039F, 'V'), + (0x103C4, 'X'), + (0x103C8, 'V'), + (0x103D6, 'X'), + (0x10400, 'M', u'𐐨'), + (0x10401, 'M', u'𐐩'), + ] + +def _seg_53(): + return [ + (0x10402, 'M', u'𐐪'), + (0x10403, 'M', u'𐐫'), + (0x10404, 'M', u'𐐬'), + (0x10405, 'M', u'𐐭'), + (0x10406, 'M', u'𐐮'), + (0x10407, 'M', u'𐐯'), + (0x10408, 'M', u'𐐰'), + (0x10409, 'M', u'𐐱'), + (0x1040A, 'M', u'𐐲'), + (0x1040B, 'M', u'𐐳'), + (0x1040C, 'M', u'𐐴'), + (0x1040D, 'M', u'𐐵'), + (0x1040E, 'M', u'𐐶'), + (0x1040F, 'M', u'𐐷'), + (0x10410, 'M', u'𐐸'), + (0x10411, 'M', u'𐐹'), + (0x10412, 'M', u'𐐺'), + (0x10413, 'M', u'𐐻'), + (0x10414, 'M', u'𐐼'), + (0x10415, 'M', u'𐐽'), + (0x10416, 'M', u'𐐾'), + (0x10417, 'M', u'𐐿'), + (0x10418, 'M', u'𐑀'), + (0x10419, 'M', u'𐑁'), + (0x1041A, 'M', u'𐑂'), + (0x1041B, 'M', u'𐑃'), + (0x1041C, 'M', u'𐑄'), + (0x1041D, 'M', u'𐑅'), + (0x1041E, 'M', u'𐑆'), + (0x1041F, 'M', u'𐑇'), + (0x10420, 'M', u'𐑈'), + (0x10421, 'M', u'𐑉'), + (0x10422, 'M', u'𐑊'), + (0x10423, 'M', u'𐑋'), + (0x10424, 'M', u'𐑌'), + (0x10425, 'M', u'𐑍'), + (0x10426, 'M', u'𐑎'), + (0x10427, 'M', u'𐑏'), + (0x10428, 'V'), + (0x1049E, 'X'), + (0x104A0, 'V'), + (0x104AA, 'X'), + (0x104B0, 'M', u'𐓘'), + (0x104B1, 'M', u'𐓙'), + (0x104B2, 'M', u'𐓚'), + (0x104B3, 'M', u'𐓛'), + (0x104B4, 'M', u'𐓜'), + (0x104B5, 'M', u'𐓝'), + (0x104B6, 'M', u'𐓞'), + (0x104B7, 'M', u'𐓟'), + (0x104B8, 'M', u'𐓠'), + (0x104B9, 'M', u'𐓡'), + (0x104BA, 'M', u'𐓢'), + (0x104BB, 'M', u'𐓣'), + (0x104BC, 'M', u'𐓤'), + (0x104BD, 'M', u'𐓥'), + (0x104BE, 'M', u'𐓦'), + (0x104BF, 'M', u'𐓧'), + (0x104C0, 'M', u'𐓨'), + (0x104C1, 'M', u'𐓩'), + (0x104C2, 'M', u'𐓪'), + (0x104C3, 'M', u'𐓫'), + (0x104C4, 'M', u'𐓬'), + (0x104C5, 'M', u'𐓭'), + (0x104C6, 'M', u'𐓮'), + (0x104C7, 'M', u'𐓯'), + (0x104C8, 'M', u'𐓰'), + (0x104C9, 'M', u'𐓱'), + (0x104CA, 'M', u'𐓲'), + (0x104CB, 'M', u'𐓳'), + (0x104CC, 'M', u'𐓴'), + (0x104CD, 'M', u'𐓵'), + (0x104CE, 'M', u'𐓶'), + (0x104CF, 'M', u'𐓷'), + (0x104D0, 'M', u'𐓸'), + (0x104D1, 'M', u'𐓹'), + (0x104D2, 'M', u'𐓺'), + (0x104D3, 'M', u'𐓻'), + (0x104D4, 'X'), + (0x104D8, 'V'), + (0x104FC, 'X'), + (0x10500, 'V'), + (0x10528, 'X'), + (0x10530, 'V'), + (0x10564, 'X'), + (0x1056F, 'V'), + (0x10570, 'X'), + (0x10600, 'V'), + (0x10737, 'X'), + (0x10740, 'V'), + (0x10756, 'X'), + (0x10760, 'V'), + (0x10768, 'X'), + (0x10800, 'V'), + (0x10806, 'X'), + (0x10808, 'V'), + (0x10809, 'X'), + (0x1080A, 'V'), + (0x10836, 'X'), + (0x10837, 'V'), + ] + +def _seg_54(): + return [ + (0x10839, 'X'), + (0x1083C, 'V'), + (0x1083D, 'X'), + (0x1083F, 'V'), + (0x10856, 'X'), + (0x10857, 'V'), + (0x1089F, 'X'), + (0x108A7, 'V'), + (0x108B0, 'X'), + (0x108E0, 'V'), + (0x108F3, 'X'), + (0x108F4, 'V'), + (0x108F6, 'X'), + (0x108FB, 'V'), + (0x1091C, 'X'), + (0x1091F, 'V'), + (0x1093A, 'X'), + (0x1093F, 'V'), + (0x10940, 'X'), + (0x10980, 'V'), + (0x109B8, 'X'), + (0x109BC, 'V'), + (0x109D0, 'X'), + (0x109D2, 'V'), + (0x10A04, 'X'), + (0x10A05, 'V'), + (0x10A07, 'X'), + (0x10A0C, 'V'), + (0x10A14, 'X'), + (0x10A15, 'V'), + (0x10A18, 'X'), + (0x10A19, 'V'), + (0x10A36, 'X'), + (0x10A38, 'V'), + (0x10A3B, 'X'), + (0x10A3F, 'V'), + (0x10A49, 'X'), + (0x10A50, 'V'), + (0x10A59, 'X'), + (0x10A60, 'V'), + (0x10AA0, 'X'), + (0x10AC0, 'V'), + (0x10AE7, 'X'), + (0x10AEB, 'V'), + (0x10AF7, 'X'), + (0x10B00, 'V'), + (0x10B36, 'X'), + (0x10B39, 'V'), + (0x10B56, 'X'), + (0x10B58, 'V'), + (0x10B73, 'X'), + (0x10B78, 'V'), + (0x10B92, 'X'), + (0x10B99, 'V'), + (0x10B9D, 'X'), + (0x10BA9, 'V'), + (0x10BB0, 'X'), + (0x10C00, 'V'), + (0x10C49, 'X'), + (0x10C80, 'M', u'𐳀'), + (0x10C81, 'M', u'𐳁'), + (0x10C82, 'M', u'𐳂'), + (0x10C83, 'M', u'𐳃'), + (0x10C84, 'M', u'𐳄'), + (0x10C85, 'M', u'𐳅'), + (0x10C86, 'M', u'𐳆'), + (0x10C87, 'M', u'𐳇'), + (0x10C88, 'M', u'𐳈'), + (0x10C89, 'M', u'𐳉'), + (0x10C8A, 'M', u'𐳊'), + (0x10C8B, 'M', u'𐳋'), + (0x10C8C, 'M', u'𐳌'), + (0x10C8D, 'M', u'𐳍'), + (0x10C8E, 'M', u'𐳎'), + (0x10C8F, 'M', u'𐳏'), + (0x10C90, 'M', u'𐳐'), + (0x10C91, 'M', u'𐳑'), + (0x10C92, 'M', u'𐳒'), + (0x10C93, 'M', u'𐳓'), + (0x10C94, 'M', u'𐳔'), + (0x10C95, 'M', u'𐳕'), + (0x10C96, 'M', u'𐳖'), + (0x10C97, 'M', u'𐳗'), + (0x10C98, 'M', u'𐳘'), + (0x10C99, 'M', u'𐳙'), + (0x10C9A, 'M', u'𐳚'), + (0x10C9B, 'M', u'𐳛'), + (0x10C9C, 'M', u'𐳜'), + (0x10C9D, 'M', u'𐳝'), + (0x10C9E, 'M', u'𐳞'), + (0x10C9F, 'M', u'𐳟'), + (0x10CA0, 'M', u'𐳠'), + (0x10CA1, 'M', u'𐳡'), + (0x10CA2, 'M', u'𐳢'), + (0x10CA3, 'M', u'𐳣'), + (0x10CA4, 'M', u'𐳤'), + (0x10CA5, 'M', u'𐳥'), + (0x10CA6, 'M', u'𐳦'), + (0x10CA7, 'M', u'𐳧'), + (0x10CA8, 'M', u'𐳨'), + ] + +def _seg_55(): + return [ + (0x10CA9, 'M', u'𐳩'), + (0x10CAA, 'M', u'𐳪'), + (0x10CAB, 'M', u'𐳫'), + (0x10CAC, 'M', u'𐳬'), + (0x10CAD, 'M', u'𐳭'), + (0x10CAE, 'M', u'𐳮'), + (0x10CAF, 'M', u'𐳯'), + (0x10CB0, 'M', u'𐳰'), + (0x10CB1, 'M', u'𐳱'), + (0x10CB2, 'M', u'𐳲'), + (0x10CB3, 'X'), + (0x10CC0, 'V'), + (0x10CF3, 'X'), + (0x10CFA, 'V'), + (0x10D28, 'X'), + (0x10D30, 'V'), + (0x10D3A, 'X'), + (0x10E60, 'V'), + (0x10E7F, 'X'), + (0x10F00, 'V'), + (0x10F28, 'X'), + (0x10F30, 'V'), + (0x10F5A, 'X'), + (0x11000, 'V'), + (0x1104E, 'X'), + (0x11052, 'V'), + (0x11070, 'X'), + (0x1107F, 'V'), + (0x110BD, 'X'), + (0x110BE, 'V'), + (0x110C2, 'X'), + (0x110D0, 'V'), + (0x110E9, 'X'), + (0x110F0, 'V'), + (0x110FA, 'X'), + (0x11100, 'V'), + (0x11135, 'X'), + (0x11136, 'V'), + (0x11147, 'X'), + (0x11150, 'V'), + (0x11177, 'X'), + (0x11180, 'V'), + (0x111CE, 'X'), + (0x111D0, 'V'), + (0x111E0, 'X'), + (0x111E1, 'V'), + (0x111F5, 'X'), + (0x11200, 'V'), + (0x11212, 'X'), + (0x11213, 'V'), + (0x1123F, 'X'), + (0x11280, 'V'), + (0x11287, 'X'), + (0x11288, 'V'), + (0x11289, 'X'), + (0x1128A, 'V'), + (0x1128E, 'X'), + (0x1128F, 'V'), + (0x1129E, 'X'), + (0x1129F, 'V'), + (0x112AA, 'X'), + (0x112B0, 'V'), + (0x112EB, 'X'), + (0x112F0, 'V'), + (0x112FA, 'X'), + (0x11300, 'V'), + (0x11304, 'X'), + (0x11305, 'V'), + (0x1130D, 'X'), + (0x1130F, 'V'), + (0x11311, 'X'), + (0x11313, 'V'), + (0x11329, 'X'), + (0x1132A, 'V'), + (0x11331, 'X'), + (0x11332, 'V'), + (0x11334, 'X'), + (0x11335, 'V'), + (0x1133A, 'X'), + (0x1133B, 'V'), + (0x11345, 'X'), + (0x11347, 'V'), + (0x11349, 'X'), + (0x1134B, 'V'), + (0x1134E, 'X'), + (0x11350, 'V'), + (0x11351, 'X'), + (0x11357, 'V'), + (0x11358, 'X'), + (0x1135D, 'V'), + (0x11364, 'X'), + (0x11366, 'V'), + (0x1136D, 'X'), + (0x11370, 'V'), + (0x11375, 'X'), + (0x11400, 'V'), + (0x1145A, 'X'), + (0x1145B, 'V'), + (0x1145C, 'X'), + (0x1145D, 'V'), + ] + +def _seg_56(): + return [ + (0x1145F, 'X'), + (0x11480, 'V'), + (0x114C8, 'X'), + (0x114D0, 'V'), + (0x114DA, 'X'), + (0x11580, 'V'), + (0x115B6, 'X'), + (0x115B8, 'V'), + (0x115DE, 'X'), + (0x11600, 'V'), + (0x11645, 'X'), + (0x11650, 'V'), + (0x1165A, 'X'), + (0x11660, 'V'), + (0x1166D, 'X'), + (0x11680, 'V'), + (0x116B8, 'X'), + (0x116C0, 'V'), + (0x116CA, 'X'), + (0x11700, 'V'), + (0x1171B, 'X'), + (0x1171D, 'V'), + (0x1172C, 'X'), + (0x11730, 'V'), + (0x11740, 'X'), + (0x11800, 'V'), + (0x1183C, 'X'), + (0x118A0, 'M', u'𑣀'), + (0x118A1, 'M', u'𑣁'), + (0x118A2, 'M', u'𑣂'), + (0x118A3, 'M', u'𑣃'), + (0x118A4, 'M', u'𑣄'), + (0x118A5, 'M', u'𑣅'), + (0x118A6, 'M', u'𑣆'), + (0x118A7, 'M', u'𑣇'), + (0x118A8, 'M', u'𑣈'), + (0x118A9, 'M', u'𑣉'), + (0x118AA, 'M', u'𑣊'), + (0x118AB, 'M', u'𑣋'), + (0x118AC, 'M', u'𑣌'), + (0x118AD, 'M', u'𑣍'), + (0x118AE, 'M', u'𑣎'), + (0x118AF, 'M', u'𑣏'), + (0x118B0, 'M', u'𑣐'), + (0x118B1, 'M', u'𑣑'), + (0x118B2, 'M', u'𑣒'), + (0x118B3, 'M', u'𑣓'), + (0x118B4, 'M', u'𑣔'), + (0x118B5, 'M', u'𑣕'), + (0x118B6, 'M', u'𑣖'), + (0x118B7, 'M', u'𑣗'), + (0x118B8, 'M', u'𑣘'), + (0x118B9, 'M', u'𑣙'), + (0x118BA, 'M', u'𑣚'), + (0x118BB, 'M', u'𑣛'), + (0x118BC, 'M', u'𑣜'), + (0x118BD, 'M', u'𑣝'), + (0x118BE, 'M', u'𑣞'), + (0x118BF, 'M', u'𑣟'), + (0x118C0, 'V'), + (0x118F3, 'X'), + (0x118FF, 'V'), + (0x11900, 'X'), + (0x11A00, 'V'), + (0x11A48, 'X'), + (0x11A50, 'V'), + (0x11A84, 'X'), + (0x11A86, 'V'), + (0x11AA3, 'X'), + (0x11AC0, 'V'), + (0x11AF9, 'X'), + (0x11C00, 'V'), + (0x11C09, 'X'), + (0x11C0A, 'V'), + (0x11C37, 'X'), + (0x11C38, 'V'), + (0x11C46, 'X'), + (0x11C50, 'V'), + (0x11C6D, 'X'), + (0x11C70, 'V'), + (0x11C90, 'X'), + (0x11C92, 'V'), + (0x11CA8, 'X'), + (0x11CA9, 'V'), + (0x11CB7, 'X'), + (0x11D00, 'V'), + (0x11D07, 'X'), + (0x11D08, 'V'), + (0x11D0A, 'X'), + (0x11D0B, 'V'), + (0x11D37, 'X'), + (0x11D3A, 'V'), + (0x11D3B, 'X'), + (0x11D3C, 'V'), + (0x11D3E, 'X'), + (0x11D3F, 'V'), + (0x11D48, 'X'), + (0x11D50, 'V'), + (0x11D5A, 'X'), + (0x11D60, 'V'), + ] + +def _seg_57(): + return [ + (0x11D66, 'X'), + (0x11D67, 'V'), + (0x11D69, 'X'), + (0x11D6A, 'V'), + (0x11D8F, 'X'), + (0x11D90, 'V'), + (0x11D92, 'X'), + (0x11D93, 'V'), + (0x11D99, 'X'), + (0x11DA0, 'V'), + (0x11DAA, 'X'), + (0x11EE0, 'V'), + (0x11EF9, 'X'), + (0x12000, 'V'), + (0x1239A, 'X'), + (0x12400, 'V'), + (0x1246F, 'X'), + (0x12470, 'V'), + (0x12475, 'X'), + (0x12480, 'V'), + (0x12544, 'X'), + (0x13000, 'V'), + (0x1342F, 'X'), + (0x14400, 'V'), + (0x14647, 'X'), + (0x16800, 'V'), + (0x16A39, 'X'), + (0x16A40, 'V'), + (0x16A5F, 'X'), + (0x16A60, 'V'), + (0x16A6A, 'X'), + (0x16A6E, 'V'), + (0x16A70, 'X'), + (0x16AD0, 'V'), + (0x16AEE, 'X'), + (0x16AF0, 'V'), + (0x16AF6, 'X'), + (0x16B00, 'V'), + (0x16B46, 'X'), + (0x16B50, 'V'), + (0x16B5A, 'X'), + (0x16B5B, 'V'), + (0x16B62, 'X'), + (0x16B63, 'V'), + (0x16B78, 'X'), + (0x16B7D, 'V'), + (0x16B90, 'X'), + (0x16E60, 'V'), + (0x16E9B, 'X'), + (0x16F00, 'V'), + (0x16F45, 'X'), + (0x16F50, 'V'), + (0x16F7F, 'X'), + (0x16F8F, 'V'), + (0x16FA0, 'X'), + (0x16FE0, 'V'), + (0x16FE2, 'X'), + (0x17000, 'V'), + (0x187F2, 'X'), + (0x18800, 'V'), + (0x18AF3, 'X'), + (0x1B000, 'V'), + (0x1B11F, 'X'), + (0x1B170, 'V'), + (0x1B2FC, 'X'), + (0x1BC00, 'V'), + (0x1BC6B, 'X'), + (0x1BC70, 'V'), + (0x1BC7D, 'X'), + (0x1BC80, 'V'), + (0x1BC89, 'X'), + (0x1BC90, 'V'), + (0x1BC9A, 'X'), + (0x1BC9C, 'V'), + (0x1BCA0, 'I'), + (0x1BCA4, 'X'), + (0x1D000, 'V'), + (0x1D0F6, 'X'), + (0x1D100, 'V'), + (0x1D127, 'X'), + (0x1D129, 'V'), + (0x1D15E, 'M', u'𝅗𝅥'), + (0x1D15F, 'M', u'𝅘𝅥'), + (0x1D160, 'M', u'𝅘𝅥𝅮'), + (0x1D161, 'M', u'𝅘𝅥𝅯'), + (0x1D162, 'M', u'𝅘𝅥𝅰'), + (0x1D163, 'M', u'𝅘𝅥𝅱'), + (0x1D164, 'M', u'𝅘𝅥𝅲'), + (0x1D165, 'V'), + (0x1D173, 'X'), + (0x1D17B, 'V'), + (0x1D1BB, 'M', u'𝆹𝅥'), + (0x1D1BC, 'M', u'𝆺𝅥'), + (0x1D1BD, 'M', u'𝆹𝅥𝅮'), + (0x1D1BE, 'M', u'𝆺𝅥𝅮'), + (0x1D1BF, 'M', u'𝆹𝅥𝅯'), + (0x1D1C0, 'M', u'𝆺𝅥𝅯'), + (0x1D1C1, 'V'), + (0x1D1E9, 'X'), + (0x1D200, 'V'), + ] + +def _seg_58(): + return [ + (0x1D246, 'X'), + (0x1D2E0, 'V'), + (0x1D2F4, 'X'), + (0x1D300, 'V'), + (0x1D357, 'X'), + (0x1D360, 'V'), + (0x1D379, 'X'), + (0x1D400, 'M', u'a'), + (0x1D401, 'M', u'b'), + (0x1D402, 'M', u'c'), + (0x1D403, 'M', u'd'), + (0x1D404, 'M', u'e'), + (0x1D405, 'M', u'f'), + (0x1D406, 'M', u'g'), + (0x1D407, 'M', u'h'), + (0x1D408, 'M', u'i'), + (0x1D409, 'M', u'j'), + (0x1D40A, 'M', u'k'), + (0x1D40B, 'M', u'l'), + (0x1D40C, 'M', u'm'), + (0x1D40D, 'M', u'n'), + (0x1D40E, 'M', u'o'), + (0x1D40F, 'M', u'p'), + (0x1D410, 'M', u'q'), + (0x1D411, 'M', u'r'), + (0x1D412, 'M', u's'), + (0x1D413, 'M', u't'), + (0x1D414, 'M', u'u'), + (0x1D415, 'M', u'v'), + (0x1D416, 'M', u'w'), + (0x1D417, 'M', u'x'), + (0x1D418, 'M', u'y'), + (0x1D419, 'M', u'z'), + (0x1D41A, 'M', u'a'), + (0x1D41B, 'M', u'b'), + (0x1D41C, 'M', u'c'), + (0x1D41D, 'M', u'd'), + (0x1D41E, 'M', u'e'), + (0x1D41F, 'M', u'f'), + (0x1D420, 'M', u'g'), + (0x1D421, 'M', u'h'), + (0x1D422, 'M', u'i'), + (0x1D423, 'M', u'j'), + (0x1D424, 'M', u'k'), + (0x1D425, 'M', u'l'), + (0x1D426, 'M', u'm'), + (0x1D427, 'M', u'n'), + (0x1D428, 'M', u'o'), + (0x1D429, 'M', u'p'), + (0x1D42A, 'M', u'q'), + (0x1D42B, 'M', u'r'), + (0x1D42C, 'M', u's'), + (0x1D42D, 'M', u't'), + (0x1D42E, 'M', u'u'), + (0x1D42F, 'M', u'v'), + (0x1D430, 'M', u'w'), + (0x1D431, 'M', u'x'), + (0x1D432, 'M', u'y'), + (0x1D433, 'M', u'z'), + (0x1D434, 'M', u'a'), + (0x1D435, 'M', u'b'), + (0x1D436, 'M', u'c'), + (0x1D437, 'M', u'd'), + (0x1D438, 'M', u'e'), + (0x1D439, 'M', u'f'), + (0x1D43A, 'M', u'g'), + (0x1D43B, 'M', u'h'), + (0x1D43C, 'M', u'i'), + (0x1D43D, 'M', u'j'), + (0x1D43E, 'M', u'k'), + (0x1D43F, 'M', u'l'), + (0x1D440, 'M', u'm'), + (0x1D441, 'M', u'n'), + (0x1D442, 'M', u'o'), + (0x1D443, 'M', u'p'), + (0x1D444, 'M', u'q'), + (0x1D445, 'M', u'r'), + (0x1D446, 'M', u's'), + (0x1D447, 'M', u't'), + (0x1D448, 'M', u'u'), + (0x1D449, 'M', u'v'), + (0x1D44A, 'M', u'w'), + (0x1D44B, 'M', u'x'), + (0x1D44C, 'M', u'y'), + (0x1D44D, 'M', u'z'), + (0x1D44E, 'M', u'a'), + (0x1D44F, 'M', u'b'), + (0x1D450, 'M', u'c'), + (0x1D451, 'M', u'd'), + (0x1D452, 'M', u'e'), + (0x1D453, 'M', u'f'), + (0x1D454, 'M', u'g'), + (0x1D455, 'X'), + (0x1D456, 'M', u'i'), + (0x1D457, 'M', u'j'), + (0x1D458, 'M', u'k'), + (0x1D459, 'M', u'l'), + (0x1D45A, 'M', u'm'), + (0x1D45B, 'M', u'n'), + (0x1D45C, 'M', u'o'), + ] + +def _seg_59(): + return [ + (0x1D45D, 'M', u'p'), + (0x1D45E, 'M', u'q'), + (0x1D45F, 'M', u'r'), + (0x1D460, 'M', u's'), + (0x1D461, 'M', u't'), + (0x1D462, 'M', u'u'), + (0x1D463, 'M', u'v'), + (0x1D464, 'M', u'w'), + (0x1D465, 'M', u'x'), + (0x1D466, 'M', u'y'), + (0x1D467, 'M', u'z'), + (0x1D468, 'M', u'a'), + (0x1D469, 'M', u'b'), + (0x1D46A, 'M', u'c'), + (0x1D46B, 'M', u'd'), + (0x1D46C, 'M', u'e'), + (0x1D46D, 'M', u'f'), + (0x1D46E, 'M', u'g'), + (0x1D46F, 'M', u'h'), + (0x1D470, 'M', u'i'), + (0x1D471, 'M', u'j'), + (0x1D472, 'M', u'k'), + (0x1D473, 'M', u'l'), + (0x1D474, 'M', u'm'), + (0x1D475, 'M', u'n'), + (0x1D476, 'M', u'o'), + (0x1D477, 'M', u'p'), + (0x1D478, 'M', u'q'), + (0x1D479, 'M', u'r'), + (0x1D47A, 'M', u's'), + (0x1D47B, 'M', u't'), + (0x1D47C, 'M', u'u'), + (0x1D47D, 'M', u'v'), + (0x1D47E, 'M', u'w'), + (0x1D47F, 'M', u'x'), + (0x1D480, 'M', u'y'), + (0x1D481, 'M', u'z'), + (0x1D482, 'M', u'a'), + (0x1D483, 'M', u'b'), + (0x1D484, 'M', u'c'), + (0x1D485, 'M', u'd'), + (0x1D486, 'M', u'e'), + (0x1D487, 'M', u'f'), + (0x1D488, 'M', u'g'), + (0x1D489, 'M', u'h'), + (0x1D48A, 'M', u'i'), + (0x1D48B, 'M', u'j'), + (0x1D48C, 'M', u'k'), + (0x1D48D, 'M', u'l'), + (0x1D48E, 'M', u'm'), + (0x1D48F, 'M', u'n'), + (0x1D490, 'M', u'o'), + (0x1D491, 'M', u'p'), + (0x1D492, 'M', u'q'), + (0x1D493, 'M', u'r'), + (0x1D494, 'M', u's'), + (0x1D495, 'M', u't'), + (0x1D496, 'M', u'u'), + (0x1D497, 'M', u'v'), + (0x1D498, 'M', u'w'), + (0x1D499, 'M', u'x'), + (0x1D49A, 'M', u'y'), + (0x1D49B, 'M', u'z'), + (0x1D49C, 'M', u'a'), + (0x1D49D, 'X'), + (0x1D49E, 'M', u'c'), + (0x1D49F, 'M', u'd'), + (0x1D4A0, 'X'), + (0x1D4A2, 'M', u'g'), + (0x1D4A3, 'X'), + (0x1D4A5, 'M', u'j'), + (0x1D4A6, 'M', u'k'), + (0x1D4A7, 'X'), + (0x1D4A9, 'M', u'n'), + (0x1D4AA, 'M', u'o'), + (0x1D4AB, 'M', u'p'), + (0x1D4AC, 'M', u'q'), + (0x1D4AD, 'X'), + (0x1D4AE, 'M', u's'), + (0x1D4AF, 'M', u't'), + (0x1D4B0, 'M', u'u'), + (0x1D4B1, 'M', u'v'), + (0x1D4B2, 'M', u'w'), + (0x1D4B3, 'M', u'x'), + (0x1D4B4, 'M', u'y'), + (0x1D4B5, 'M', u'z'), + (0x1D4B6, 'M', u'a'), + (0x1D4B7, 'M', u'b'), + (0x1D4B8, 'M', u'c'), + (0x1D4B9, 'M', u'd'), + (0x1D4BA, 'X'), + (0x1D4BB, 'M', u'f'), + (0x1D4BC, 'X'), + (0x1D4BD, 'M', u'h'), + (0x1D4BE, 'M', u'i'), + (0x1D4BF, 'M', u'j'), + (0x1D4C0, 'M', u'k'), + (0x1D4C1, 'M', u'l'), + (0x1D4C2, 'M', u'm'), + (0x1D4C3, 'M', u'n'), + ] + +def _seg_60(): + return [ + (0x1D4C4, 'X'), + (0x1D4C5, 'M', u'p'), + (0x1D4C6, 'M', u'q'), + (0x1D4C7, 'M', u'r'), + (0x1D4C8, 'M', u's'), + (0x1D4C9, 'M', u't'), + (0x1D4CA, 'M', u'u'), + (0x1D4CB, 'M', u'v'), + (0x1D4CC, 'M', u'w'), + (0x1D4CD, 'M', u'x'), + (0x1D4CE, 'M', u'y'), + (0x1D4CF, 'M', u'z'), + (0x1D4D0, 'M', u'a'), + (0x1D4D1, 'M', u'b'), + (0x1D4D2, 'M', u'c'), + (0x1D4D3, 'M', u'd'), + (0x1D4D4, 'M', u'e'), + (0x1D4D5, 'M', u'f'), + (0x1D4D6, 'M', u'g'), + (0x1D4D7, 'M', u'h'), + (0x1D4D8, 'M', u'i'), + (0x1D4D9, 'M', u'j'), + (0x1D4DA, 'M', u'k'), + (0x1D4DB, 'M', u'l'), + (0x1D4DC, 'M', u'm'), + (0x1D4DD, 'M', u'n'), + (0x1D4DE, 'M', u'o'), + (0x1D4DF, 'M', u'p'), + (0x1D4E0, 'M', u'q'), + (0x1D4E1, 'M', u'r'), + (0x1D4E2, 'M', u's'), + (0x1D4E3, 'M', u't'), + (0x1D4E4, 'M', u'u'), + (0x1D4E5, 'M', u'v'), + (0x1D4E6, 'M', u'w'), + (0x1D4E7, 'M', u'x'), + (0x1D4E8, 'M', u'y'), + (0x1D4E9, 'M', u'z'), + (0x1D4EA, 'M', u'a'), + (0x1D4EB, 'M', u'b'), + (0x1D4EC, 'M', u'c'), + (0x1D4ED, 'M', u'd'), + (0x1D4EE, 'M', u'e'), + (0x1D4EF, 'M', u'f'), + (0x1D4F0, 'M', u'g'), + (0x1D4F1, 'M', u'h'), + (0x1D4F2, 'M', u'i'), + (0x1D4F3, 'M', u'j'), + (0x1D4F4, 'M', u'k'), + (0x1D4F5, 'M', u'l'), + (0x1D4F6, 'M', u'm'), + (0x1D4F7, 'M', u'n'), + (0x1D4F8, 'M', u'o'), + (0x1D4F9, 'M', u'p'), + (0x1D4FA, 'M', u'q'), + (0x1D4FB, 'M', u'r'), + (0x1D4FC, 'M', u's'), + (0x1D4FD, 'M', u't'), + (0x1D4FE, 'M', u'u'), + (0x1D4FF, 'M', u'v'), + (0x1D500, 'M', u'w'), + (0x1D501, 'M', u'x'), + (0x1D502, 'M', u'y'), + (0x1D503, 'M', u'z'), + (0x1D504, 'M', u'a'), + (0x1D505, 'M', u'b'), + (0x1D506, 'X'), + (0x1D507, 'M', u'd'), + (0x1D508, 'M', u'e'), + (0x1D509, 'M', u'f'), + (0x1D50A, 'M', u'g'), + (0x1D50B, 'X'), + (0x1D50D, 'M', u'j'), + (0x1D50E, 'M', u'k'), + (0x1D50F, 'M', u'l'), + (0x1D510, 'M', u'm'), + (0x1D511, 'M', u'n'), + (0x1D512, 'M', u'o'), + (0x1D513, 'M', u'p'), + (0x1D514, 'M', u'q'), + (0x1D515, 'X'), + (0x1D516, 'M', u's'), + (0x1D517, 'M', u't'), + (0x1D518, 'M', u'u'), + (0x1D519, 'M', u'v'), + (0x1D51A, 'M', u'w'), + (0x1D51B, 'M', u'x'), + (0x1D51C, 'M', u'y'), + (0x1D51D, 'X'), + (0x1D51E, 'M', u'a'), + (0x1D51F, 'M', u'b'), + (0x1D520, 'M', u'c'), + (0x1D521, 'M', u'd'), + (0x1D522, 'M', u'e'), + (0x1D523, 'M', u'f'), + (0x1D524, 'M', u'g'), + (0x1D525, 'M', u'h'), + (0x1D526, 'M', u'i'), + (0x1D527, 'M', u'j'), + (0x1D528, 'M', u'k'), + ] + +def _seg_61(): + return [ + (0x1D529, 'M', u'l'), + (0x1D52A, 'M', u'm'), + (0x1D52B, 'M', u'n'), + (0x1D52C, 'M', u'o'), + (0x1D52D, 'M', u'p'), + (0x1D52E, 'M', u'q'), + (0x1D52F, 'M', u'r'), + (0x1D530, 'M', u's'), + (0x1D531, 'M', u't'), + (0x1D532, 'M', u'u'), + (0x1D533, 'M', u'v'), + (0x1D534, 'M', u'w'), + (0x1D535, 'M', u'x'), + (0x1D536, 'M', u'y'), + (0x1D537, 'M', u'z'), + (0x1D538, 'M', u'a'), + (0x1D539, 'M', u'b'), + (0x1D53A, 'X'), + (0x1D53B, 'M', u'd'), + (0x1D53C, 'M', u'e'), + (0x1D53D, 'M', u'f'), + (0x1D53E, 'M', u'g'), + (0x1D53F, 'X'), + (0x1D540, 'M', u'i'), + (0x1D541, 'M', u'j'), + (0x1D542, 'M', u'k'), + (0x1D543, 'M', u'l'), + (0x1D544, 'M', u'm'), + (0x1D545, 'X'), + (0x1D546, 'M', u'o'), + (0x1D547, 'X'), + (0x1D54A, 'M', u's'), + (0x1D54B, 'M', u't'), + (0x1D54C, 'M', u'u'), + (0x1D54D, 'M', u'v'), + (0x1D54E, 'M', u'w'), + (0x1D54F, 'M', u'x'), + (0x1D550, 'M', u'y'), + (0x1D551, 'X'), + (0x1D552, 'M', u'a'), + (0x1D553, 'M', u'b'), + (0x1D554, 'M', u'c'), + (0x1D555, 'M', u'd'), + (0x1D556, 'M', u'e'), + (0x1D557, 'M', u'f'), + (0x1D558, 'M', u'g'), + (0x1D559, 'M', u'h'), + (0x1D55A, 'M', u'i'), + (0x1D55B, 'M', u'j'), + (0x1D55C, 'M', u'k'), + (0x1D55D, 'M', u'l'), + (0x1D55E, 'M', u'm'), + (0x1D55F, 'M', u'n'), + (0x1D560, 'M', u'o'), + (0x1D561, 'M', u'p'), + (0x1D562, 'M', u'q'), + (0x1D563, 'M', u'r'), + (0x1D564, 'M', u's'), + (0x1D565, 'M', u't'), + (0x1D566, 'M', u'u'), + (0x1D567, 'M', u'v'), + (0x1D568, 'M', u'w'), + (0x1D569, 'M', u'x'), + (0x1D56A, 'M', u'y'), + (0x1D56B, 'M', u'z'), + (0x1D56C, 'M', u'a'), + (0x1D56D, 'M', u'b'), + (0x1D56E, 'M', u'c'), + (0x1D56F, 'M', u'd'), + (0x1D570, 'M', u'e'), + (0x1D571, 'M', u'f'), + (0x1D572, 'M', u'g'), + (0x1D573, 'M', u'h'), + (0x1D574, 'M', u'i'), + (0x1D575, 'M', u'j'), + (0x1D576, 'M', u'k'), + (0x1D577, 'M', u'l'), + (0x1D578, 'M', u'm'), + (0x1D579, 'M', u'n'), + (0x1D57A, 'M', u'o'), + (0x1D57B, 'M', u'p'), + (0x1D57C, 'M', u'q'), + (0x1D57D, 'M', u'r'), + (0x1D57E, 'M', u's'), + (0x1D57F, 'M', u't'), + (0x1D580, 'M', u'u'), + (0x1D581, 'M', u'v'), + (0x1D582, 'M', u'w'), + (0x1D583, 'M', u'x'), + (0x1D584, 'M', u'y'), + (0x1D585, 'M', u'z'), + (0x1D586, 'M', u'a'), + (0x1D587, 'M', u'b'), + (0x1D588, 'M', u'c'), + (0x1D589, 'M', u'd'), + (0x1D58A, 'M', u'e'), + (0x1D58B, 'M', u'f'), + (0x1D58C, 'M', u'g'), + (0x1D58D, 'M', u'h'), + (0x1D58E, 'M', u'i'), + ] + +def _seg_62(): + return [ + (0x1D58F, 'M', u'j'), + (0x1D590, 'M', u'k'), + (0x1D591, 'M', u'l'), + (0x1D592, 'M', u'm'), + (0x1D593, 'M', u'n'), + (0x1D594, 'M', u'o'), + (0x1D595, 'M', u'p'), + (0x1D596, 'M', u'q'), + (0x1D597, 'M', u'r'), + (0x1D598, 'M', u's'), + (0x1D599, 'M', u't'), + (0x1D59A, 'M', u'u'), + (0x1D59B, 'M', u'v'), + (0x1D59C, 'M', u'w'), + (0x1D59D, 'M', u'x'), + (0x1D59E, 'M', u'y'), + (0x1D59F, 'M', u'z'), + (0x1D5A0, 'M', u'a'), + (0x1D5A1, 'M', u'b'), + (0x1D5A2, 'M', u'c'), + (0x1D5A3, 'M', u'd'), + (0x1D5A4, 'M', u'e'), + (0x1D5A5, 'M', u'f'), + (0x1D5A6, 'M', u'g'), + (0x1D5A7, 'M', u'h'), + (0x1D5A8, 'M', u'i'), + (0x1D5A9, 'M', u'j'), + (0x1D5AA, 'M', u'k'), + (0x1D5AB, 'M', u'l'), + (0x1D5AC, 'M', u'm'), + (0x1D5AD, 'M', u'n'), + (0x1D5AE, 'M', u'o'), + (0x1D5AF, 'M', u'p'), + (0x1D5B0, 'M', u'q'), + (0x1D5B1, 'M', u'r'), + (0x1D5B2, 'M', u's'), + (0x1D5B3, 'M', u't'), + (0x1D5B4, 'M', u'u'), + (0x1D5B5, 'M', u'v'), + (0x1D5B6, 'M', u'w'), + (0x1D5B7, 'M', u'x'), + (0x1D5B8, 'M', u'y'), + (0x1D5B9, 'M', u'z'), + (0x1D5BA, 'M', u'a'), + (0x1D5BB, 'M', u'b'), + (0x1D5BC, 'M', u'c'), + (0x1D5BD, 'M', u'd'), + (0x1D5BE, 'M', u'e'), + (0x1D5BF, 'M', u'f'), + (0x1D5C0, 'M', u'g'), + (0x1D5C1, 'M', u'h'), + (0x1D5C2, 'M', u'i'), + (0x1D5C3, 'M', u'j'), + (0x1D5C4, 'M', u'k'), + (0x1D5C5, 'M', u'l'), + (0x1D5C6, 'M', u'm'), + (0x1D5C7, 'M', u'n'), + (0x1D5C8, 'M', u'o'), + (0x1D5C9, 'M', u'p'), + (0x1D5CA, 'M', u'q'), + (0x1D5CB, 'M', u'r'), + (0x1D5CC, 'M', u's'), + (0x1D5CD, 'M', u't'), + (0x1D5CE, 'M', u'u'), + (0x1D5CF, 'M', u'v'), + (0x1D5D0, 'M', u'w'), + (0x1D5D1, 'M', u'x'), + (0x1D5D2, 'M', u'y'), + (0x1D5D3, 'M', u'z'), + (0x1D5D4, 'M', u'a'), + (0x1D5D5, 'M', u'b'), + (0x1D5D6, 'M', u'c'), + (0x1D5D7, 'M', u'd'), + (0x1D5D8, 'M', u'e'), + (0x1D5D9, 'M', u'f'), + (0x1D5DA, 'M', u'g'), + (0x1D5DB, 'M', u'h'), + (0x1D5DC, 'M', u'i'), + (0x1D5DD, 'M', u'j'), + (0x1D5DE, 'M', u'k'), + (0x1D5DF, 'M', u'l'), + (0x1D5E0, 'M', u'm'), + (0x1D5E1, 'M', u'n'), + (0x1D5E2, 'M', u'o'), + (0x1D5E3, 'M', u'p'), + (0x1D5E4, 'M', u'q'), + (0x1D5E5, 'M', u'r'), + (0x1D5E6, 'M', u's'), + (0x1D5E7, 'M', u't'), + (0x1D5E8, 'M', u'u'), + (0x1D5E9, 'M', u'v'), + (0x1D5EA, 'M', u'w'), + (0x1D5EB, 'M', u'x'), + (0x1D5EC, 'M', u'y'), + (0x1D5ED, 'M', u'z'), + (0x1D5EE, 'M', u'a'), + (0x1D5EF, 'M', u'b'), + (0x1D5F0, 'M', u'c'), + (0x1D5F1, 'M', u'd'), + (0x1D5F2, 'M', u'e'), + ] + +def _seg_63(): + return [ + (0x1D5F3, 'M', u'f'), + (0x1D5F4, 'M', u'g'), + (0x1D5F5, 'M', u'h'), + (0x1D5F6, 'M', u'i'), + (0x1D5F7, 'M', u'j'), + (0x1D5F8, 'M', u'k'), + (0x1D5F9, 'M', u'l'), + (0x1D5FA, 'M', u'm'), + (0x1D5FB, 'M', u'n'), + (0x1D5FC, 'M', u'o'), + (0x1D5FD, 'M', u'p'), + (0x1D5FE, 'M', u'q'), + (0x1D5FF, 'M', u'r'), + (0x1D600, 'M', u's'), + (0x1D601, 'M', u't'), + (0x1D602, 'M', u'u'), + (0x1D603, 'M', u'v'), + (0x1D604, 'M', u'w'), + (0x1D605, 'M', u'x'), + (0x1D606, 'M', u'y'), + (0x1D607, 'M', u'z'), + (0x1D608, 'M', u'a'), + (0x1D609, 'M', u'b'), + (0x1D60A, 'M', u'c'), + (0x1D60B, 'M', u'd'), + (0x1D60C, 'M', u'e'), + (0x1D60D, 'M', u'f'), + (0x1D60E, 'M', u'g'), + (0x1D60F, 'M', u'h'), + (0x1D610, 'M', u'i'), + (0x1D611, 'M', u'j'), + (0x1D612, 'M', u'k'), + (0x1D613, 'M', u'l'), + (0x1D614, 'M', u'm'), + (0x1D615, 'M', u'n'), + (0x1D616, 'M', u'o'), + (0x1D617, 'M', u'p'), + (0x1D618, 'M', u'q'), + (0x1D619, 'M', u'r'), + (0x1D61A, 'M', u's'), + (0x1D61B, 'M', u't'), + (0x1D61C, 'M', u'u'), + (0x1D61D, 'M', u'v'), + (0x1D61E, 'M', u'w'), + (0x1D61F, 'M', u'x'), + (0x1D620, 'M', u'y'), + (0x1D621, 'M', u'z'), + (0x1D622, 'M', u'a'), + (0x1D623, 'M', u'b'), + (0x1D624, 'M', u'c'), + (0x1D625, 'M', u'd'), + (0x1D626, 'M', u'e'), + (0x1D627, 'M', u'f'), + (0x1D628, 'M', u'g'), + (0x1D629, 'M', u'h'), + (0x1D62A, 'M', u'i'), + (0x1D62B, 'M', u'j'), + (0x1D62C, 'M', u'k'), + (0x1D62D, 'M', u'l'), + (0x1D62E, 'M', u'm'), + (0x1D62F, 'M', u'n'), + (0x1D630, 'M', u'o'), + (0x1D631, 'M', u'p'), + (0x1D632, 'M', u'q'), + (0x1D633, 'M', u'r'), + (0x1D634, 'M', u's'), + (0x1D635, 'M', u't'), + (0x1D636, 'M', u'u'), + (0x1D637, 'M', u'v'), + (0x1D638, 'M', u'w'), + (0x1D639, 'M', u'x'), + (0x1D63A, 'M', u'y'), + (0x1D63B, 'M', u'z'), + (0x1D63C, 'M', u'a'), + (0x1D63D, 'M', u'b'), + (0x1D63E, 'M', u'c'), + (0x1D63F, 'M', u'd'), + (0x1D640, 'M', u'e'), + (0x1D641, 'M', u'f'), + (0x1D642, 'M', u'g'), + (0x1D643, 'M', u'h'), + (0x1D644, 'M', u'i'), + (0x1D645, 'M', u'j'), + (0x1D646, 'M', u'k'), + (0x1D647, 'M', u'l'), + (0x1D648, 'M', u'm'), + (0x1D649, 'M', u'n'), + (0x1D64A, 'M', u'o'), + (0x1D64B, 'M', u'p'), + (0x1D64C, 'M', u'q'), + (0x1D64D, 'M', u'r'), + (0x1D64E, 'M', u's'), + (0x1D64F, 'M', u't'), + (0x1D650, 'M', u'u'), + (0x1D651, 'M', u'v'), + (0x1D652, 'M', u'w'), + (0x1D653, 'M', u'x'), + (0x1D654, 'M', u'y'), + (0x1D655, 'M', u'z'), + (0x1D656, 'M', u'a'), + ] + +def _seg_64(): + return [ + (0x1D657, 'M', u'b'), + (0x1D658, 'M', u'c'), + (0x1D659, 'M', u'd'), + (0x1D65A, 'M', u'e'), + (0x1D65B, 'M', u'f'), + (0x1D65C, 'M', u'g'), + (0x1D65D, 'M', u'h'), + (0x1D65E, 'M', u'i'), + (0x1D65F, 'M', u'j'), + (0x1D660, 'M', u'k'), + (0x1D661, 'M', u'l'), + (0x1D662, 'M', u'm'), + (0x1D663, 'M', u'n'), + (0x1D664, 'M', u'o'), + (0x1D665, 'M', u'p'), + (0x1D666, 'M', u'q'), + (0x1D667, 'M', u'r'), + (0x1D668, 'M', u's'), + (0x1D669, 'M', u't'), + (0x1D66A, 'M', u'u'), + (0x1D66B, 'M', u'v'), + (0x1D66C, 'M', u'w'), + (0x1D66D, 'M', u'x'), + (0x1D66E, 'M', u'y'), + (0x1D66F, 'M', u'z'), + (0x1D670, 'M', u'a'), + (0x1D671, 'M', u'b'), + (0x1D672, 'M', u'c'), + (0x1D673, 'M', u'd'), + (0x1D674, 'M', u'e'), + (0x1D675, 'M', u'f'), + (0x1D676, 'M', u'g'), + (0x1D677, 'M', u'h'), + (0x1D678, 'M', u'i'), + (0x1D679, 'M', u'j'), + (0x1D67A, 'M', u'k'), + (0x1D67B, 'M', u'l'), + (0x1D67C, 'M', u'm'), + (0x1D67D, 'M', u'n'), + (0x1D67E, 'M', u'o'), + (0x1D67F, 'M', u'p'), + (0x1D680, 'M', u'q'), + (0x1D681, 'M', u'r'), + (0x1D682, 'M', u's'), + (0x1D683, 'M', u't'), + (0x1D684, 'M', u'u'), + (0x1D685, 'M', u'v'), + (0x1D686, 'M', u'w'), + (0x1D687, 'M', u'x'), + (0x1D688, 'M', u'y'), + (0x1D689, 'M', u'z'), + (0x1D68A, 'M', u'a'), + (0x1D68B, 'M', u'b'), + (0x1D68C, 'M', u'c'), + (0x1D68D, 'M', u'd'), + (0x1D68E, 'M', u'e'), + (0x1D68F, 'M', u'f'), + (0x1D690, 'M', u'g'), + (0x1D691, 'M', u'h'), + (0x1D692, 'M', u'i'), + (0x1D693, 'M', u'j'), + (0x1D694, 'M', u'k'), + (0x1D695, 'M', u'l'), + (0x1D696, 'M', u'm'), + (0x1D697, 'M', u'n'), + (0x1D698, 'M', u'o'), + (0x1D699, 'M', u'p'), + (0x1D69A, 'M', u'q'), + (0x1D69B, 'M', u'r'), + (0x1D69C, 'M', u's'), + (0x1D69D, 'M', u't'), + (0x1D69E, 'M', u'u'), + (0x1D69F, 'M', u'v'), + (0x1D6A0, 'M', u'w'), + (0x1D6A1, 'M', u'x'), + (0x1D6A2, 'M', u'y'), + (0x1D6A3, 'M', u'z'), + (0x1D6A4, 'M', u'ı'), + (0x1D6A5, 'M', u'ȷ'), + (0x1D6A6, 'X'), + (0x1D6A8, 'M', u'α'), + (0x1D6A9, 'M', u'β'), + (0x1D6AA, 'M', u'γ'), + (0x1D6AB, 'M', u'δ'), + (0x1D6AC, 'M', u'ε'), + (0x1D6AD, 'M', u'ζ'), + (0x1D6AE, 'M', u'η'), + (0x1D6AF, 'M', u'θ'), + (0x1D6B0, 'M', u'ι'), + (0x1D6B1, 'M', u'κ'), + (0x1D6B2, 'M', u'λ'), + (0x1D6B3, 'M', u'μ'), + (0x1D6B4, 'M', u'ν'), + (0x1D6B5, 'M', u'ξ'), + (0x1D6B6, 'M', u'ο'), + (0x1D6B7, 'M', u'π'), + (0x1D6B8, 'M', u'ρ'), + (0x1D6B9, 'M', u'θ'), + (0x1D6BA, 'M', u'σ'), + (0x1D6BB, 'M', u'τ'), + ] + +def _seg_65(): + return [ + (0x1D6BC, 'M', u'υ'), + (0x1D6BD, 'M', u'φ'), + (0x1D6BE, 'M', u'χ'), + (0x1D6BF, 'M', u'ψ'), + (0x1D6C0, 'M', u'ω'), + (0x1D6C1, 'M', u'∇'), + (0x1D6C2, 'M', u'α'), + (0x1D6C3, 'M', u'β'), + (0x1D6C4, 'M', u'γ'), + (0x1D6C5, 'M', u'δ'), + (0x1D6C6, 'M', u'ε'), + (0x1D6C7, 'M', u'ζ'), + (0x1D6C8, 'M', u'η'), + (0x1D6C9, 'M', u'θ'), + (0x1D6CA, 'M', u'ι'), + (0x1D6CB, 'M', u'κ'), + (0x1D6CC, 'M', u'λ'), + (0x1D6CD, 'M', u'μ'), + (0x1D6CE, 'M', u'ν'), + (0x1D6CF, 'M', u'ξ'), + (0x1D6D0, 'M', u'ο'), + (0x1D6D1, 'M', u'π'), + (0x1D6D2, 'M', u'ρ'), + (0x1D6D3, 'M', u'σ'), + (0x1D6D5, 'M', u'τ'), + (0x1D6D6, 'M', u'υ'), + (0x1D6D7, 'M', u'φ'), + (0x1D6D8, 'M', u'χ'), + (0x1D6D9, 'M', u'ψ'), + (0x1D6DA, 'M', u'ω'), + (0x1D6DB, 'M', u'∂'), + (0x1D6DC, 'M', u'ε'), + (0x1D6DD, 'M', u'θ'), + (0x1D6DE, 'M', u'κ'), + (0x1D6DF, 'M', u'φ'), + (0x1D6E0, 'M', u'ρ'), + (0x1D6E1, 'M', u'π'), + (0x1D6E2, 'M', u'α'), + (0x1D6E3, 'M', u'β'), + (0x1D6E4, 'M', u'γ'), + (0x1D6E5, 'M', u'δ'), + (0x1D6E6, 'M', u'ε'), + (0x1D6E7, 'M', u'ζ'), + (0x1D6E8, 'M', u'η'), + (0x1D6E9, 'M', u'θ'), + (0x1D6EA, 'M', u'ι'), + (0x1D6EB, 'M', u'κ'), + (0x1D6EC, 'M', u'λ'), + (0x1D6ED, 'M', u'μ'), + (0x1D6EE, 'M', u'ν'), + (0x1D6EF, 'M', u'ξ'), + (0x1D6F0, 'M', u'ο'), + (0x1D6F1, 'M', u'π'), + (0x1D6F2, 'M', u'ρ'), + (0x1D6F3, 'M', u'θ'), + (0x1D6F4, 'M', u'σ'), + (0x1D6F5, 'M', u'τ'), + (0x1D6F6, 'M', u'υ'), + (0x1D6F7, 'M', u'φ'), + (0x1D6F8, 'M', u'χ'), + (0x1D6F9, 'M', u'ψ'), + (0x1D6FA, 'M', u'ω'), + (0x1D6FB, 'M', u'∇'), + (0x1D6FC, 'M', u'α'), + (0x1D6FD, 'M', u'β'), + (0x1D6FE, 'M', u'γ'), + (0x1D6FF, 'M', u'δ'), + (0x1D700, 'M', u'ε'), + (0x1D701, 'M', u'ζ'), + (0x1D702, 'M', u'η'), + (0x1D703, 'M', u'θ'), + (0x1D704, 'M', u'ι'), + (0x1D705, 'M', u'κ'), + (0x1D706, 'M', u'λ'), + (0x1D707, 'M', u'μ'), + (0x1D708, 'M', u'ν'), + (0x1D709, 'M', u'ξ'), + (0x1D70A, 'M', u'ο'), + (0x1D70B, 'M', u'π'), + (0x1D70C, 'M', u'ρ'), + (0x1D70D, 'M', u'σ'), + (0x1D70F, 'M', u'τ'), + (0x1D710, 'M', u'υ'), + (0x1D711, 'M', u'φ'), + (0x1D712, 'M', u'χ'), + (0x1D713, 'M', u'ψ'), + (0x1D714, 'M', u'ω'), + (0x1D715, 'M', u'∂'), + (0x1D716, 'M', u'ε'), + (0x1D717, 'M', u'θ'), + (0x1D718, 'M', u'κ'), + (0x1D719, 'M', u'φ'), + (0x1D71A, 'M', u'ρ'), + (0x1D71B, 'M', u'π'), + (0x1D71C, 'M', u'α'), + (0x1D71D, 'M', u'β'), + (0x1D71E, 'M', u'γ'), + (0x1D71F, 'M', u'δ'), + (0x1D720, 'M', u'ε'), + (0x1D721, 'M', u'ζ'), + ] + +def _seg_66(): + return [ + (0x1D722, 'M', u'η'), + (0x1D723, 'M', u'θ'), + (0x1D724, 'M', u'ι'), + (0x1D725, 'M', u'κ'), + (0x1D726, 'M', u'λ'), + (0x1D727, 'M', u'μ'), + (0x1D728, 'M', u'ν'), + (0x1D729, 'M', u'ξ'), + (0x1D72A, 'M', u'ο'), + (0x1D72B, 'M', u'π'), + (0x1D72C, 'M', u'ρ'), + (0x1D72D, 'M', u'θ'), + (0x1D72E, 'M', u'σ'), + (0x1D72F, 'M', u'τ'), + (0x1D730, 'M', u'υ'), + (0x1D731, 'M', u'φ'), + (0x1D732, 'M', u'χ'), + (0x1D733, 'M', u'ψ'), + (0x1D734, 'M', u'ω'), + (0x1D735, 'M', u'∇'), + (0x1D736, 'M', u'α'), + (0x1D737, 'M', u'β'), + (0x1D738, 'M', u'γ'), + (0x1D739, 'M', u'δ'), + (0x1D73A, 'M', u'ε'), + (0x1D73B, 'M', u'ζ'), + (0x1D73C, 'M', u'η'), + (0x1D73D, 'M', u'θ'), + (0x1D73E, 'M', u'ι'), + (0x1D73F, 'M', u'κ'), + (0x1D740, 'M', u'λ'), + (0x1D741, 'M', u'μ'), + (0x1D742, 'M', u'ν'), + (0x1D743, 'M', u'ξ'), + (0x1D744, 'M', u'ο'), + (0x1D745, 'M', u'π'), + (0x1D746, 'M', u'ρ'), + (0x1D747, 'M', u'σ'), + (0x1D749, 'M', u'τ'), + (0x1D74A, 'M', u'υ'), + (0x1D74B, 'M', u'φ'), + (0x1D74C, 'M', u'χ'), + (0x1D74D, 'M', u'ψ'), + (0x1D74E, 'M', u'ω'), + (0x1D74F, 'M', u'∂'), + (0x1D750, 'M', u'ε'), + (0x1D751, 'M', u'θ'), + (0x1D752, 'M', u'κ'), + (0x1D753, 'M', u'φ'), + (0x1D754, 'M', u'ρ'), + (0x1D755, 'M', u'π'), + (0x1D756, 'M', u'α'), + (0x1D757, 'M', u'β'), + (0x1D758, 'M', u'γ'), + (0x1D759, 'M', u'δ'), + (0x1D75A, 'M', u'ε'), + (0x1D75B, 'M', u'ζ'), + (0x1D75C, 'M', u'η'), + (0x1D75D, 'M', u'θ'), + (0x1D75E, 'M', u'ι'), + (0x1D75F, 'M', u'κ'), + (0x1D760, 'M', u'λ'), + (0x1D761, 'M', u'μ'), + (0x1D762, 'M', u'ν'), + (0x1D763, 'M', u'ξ'), + (0x1D764, 'M', u'ο'), + (0x1D765, 'M', u'π'), + (0x1D766, 'M', u'ρ'), + (0x1D767, 'M', u'θ'), + (0x1D768, 'M', u'σ'), + (0x1D769, 'M', u'τ'), + (0x1D76A, 'M', u'υ'), + (0x1D76B, 'M', u'φ'), + (0x1D76C, 'M', u'χ'), + (0x1D76D, 'M', u'ψ'), + (0x1D76E, 'M', u'ω'), + (0x1D76F, 'M', u'∇'), + (0x1D770, 'M', u'α'), + (0x1D771, 'M', u'β'), + (0x1D772, 'M', u'γ'), + (0x1D773, 'M', u'δ'), + (0x1D774, 'M', u'ε'), + (0x1D775, 'M', u'ζ'), + (0x1D776, 'M', u'η'), + (0x1D777, 'M', u'θ'), + (0x1D778, 'M', u'ι'), + (0x1D779, 'M', u'κ'), + (0x1D77A, 'M', u'λ'), + (0x1D77B, 'M', u'μ'), + (0x1D77C, 'M', u'ν'), + (0x1D77D, 'M', u'ξ'), + (0x1D77E, 'M', u'ο'), + (0x1D77F, 'M', u'π'), + (0x1D780, 'M', u'ρ'), + (0x1D781, 'M', u'σ'), + (0x1D783, 'M', u'τ'), + (0x1D784, 'M', u'υ'), + (0x1D785, 'M', u'φ'), + (0x1D786, 'M', u'χ'), + (0x1D787, 'M', u'ψ'), + ] + +def _seg_67(): + return [ + (0x1D788, 'M', u'ω'), + (0x1D789, 'M', u'∂'), + (0x1D78A, 'M', u'ε'), + (0x1D78B, 'M', u'θ'), + (0x1D78C, 'M', u'κ'), + (0x1D78D, 'M', u'φ'), + (0x1D78E, 'M', u'ρ'), + (0x1D78F, 'M', u'π'), + (0x1D790, 'M', u'α'), + (0x1D791, 'M', u'β'), + (0x1D792, 'M', u'γ'), + (0x1D793, 'M', u'δ'), + (0x1D794, 'M', u'ε'), + (0x1D795, 'M', u'ζ'), + (0x1D796, 'M', u'η'), + (0x1D797, 'M', u'θ'), + (0x1D798, 'M', u'ι'), + (0x1D799, 'M', u'κ'), + (0x1D79A, 'M', u'λ'), + (0x1D79B, 'M', u'μ'), + (0x1D79C, 'M', u'ν'), + (0x1D79D, 'M', u'ξ'), + (0x1D79E, 'M', u'ο'), + (0x1D79F, 'M', u'π'), + (0x1D7A0, 'M', u'ρ'), + (0x1D7A1, 'M', u'θ'), + (0x1D7A2, 'M', u'σ'), + (0x1D7A3, 'M', u'τ'), + (0x1D7A4, 'M', u'υ'), + (0x1D7A5, 'M', u'φ'), + (0x1D7A6, 'M', u'χ'), + (0x1D7A7, 'M', u'ψ'), + (0x1D7A8, 'M', u'ω'), + (0x1D7A9, 'M', u'∇'), + (0x1D7AA, 'M', u'α'), + (0x1D7AB, 'M', u'β'), + (0x1D7AC, 'M', u'γ'), + (0x1D7AD, 'M', u'δ'), + (0x1D7AE, 'M', u'ε'), + (0x1D7AF, 'M', u'ζ'), + (0x1D7B0, 'M', u'η'), + (0x1D7B1, 'M', u'θ'), + (0x1D7B2, 'M', u'ι'), + (0x1D7B3, 'M', u'κ'), + (0x1D7B4, 'M', u'λ'), + (0x1D7B5, 'M', u'μ'), + (0x1D7B6, 'M', u'ν'), + (0x1D7B7, 'M', u'ξ'), + (0x1D7B8, 'M', u'ο'), + (0x1D7B9, 'M', u'π'), + (0x1D7BA, 'M', u'ρ'), + (0x1D7BB, 'M', u'σ'), + (0x1D7BD, 'M', u'τ'), + (0x1D7BE, 'M', u'υ'), + (0x1D7BF, 'M', u'φ'), + (0x1D7C0, 'M', u'χ'), + (0x1D7C1, 'M', u'ψ'), + (0x1D7C2, 'M', u'ω'), + (0x1D7C3, 'M', u'∂'), + (0x1D7C4, 'M', u'ε'), + (0x1D7C5, 'M', u'θ'), + (0x1D7C6, 'M', u'κ'), + (0x1D7C7, 'M', u'φ'), + (0x1D7C8, 'M', u'ρ'), + (0x1D7C9, 'M', u'π'), + (0x1D7CA, 'M', u'ϝ'), + (0x1D7CC, 'X'), + (0x1D7CE, 'M', u'0'), + (0x1D7CF, 'M', u'1'), + (0x1D7D0, 'M', u'2'), + (0x1D7D1, 'M', u'3'), + (0x1D7D2, 'M', u'4'), + (0x1D7D3, 'M', u'5'), + (0x1D7D4, 'M', u'6'), + (0x1D7D5, 'M', u'7'), + (0x1D7D6, 'M', u'8'), + (0x1D7D7, 'M', u'9'), + (0x1D7D8, 'M', u'0'), + (0x1D7D9, 'M', u'1'), + (0x1D7DA, 'M', u'2'), + (0x1D7DB, 'M', u'3'), + (0x1D7DC, 'M', u'4'), + (0x1D7DD, 'M', u'5'), + (0x1D7DE, 'M', u'6'), + (0x1D7DF, 'M', u'7'), + (0x1D7E0, 'M', u'8'), + (0x1D7E1, 'M', u'9'), + (0x1D7E2, 'M', u'0'), + (0x1D7E3, 'M', u'1'), + (0x1D7E4, 'M', u'2'), + (0x1D7E5, 'M', u'3'), + (0x1D7E6, 'M', u'4'), + (0x1D7E7, 'M', u'5'), + (0x1D7E8, 'M', u'6'), + (0x1D7E9, 'M', u'7'), + (0x1D7EA, 'M', u'8'), + (0x1D7EB, 'M', u'9'), + (0x1D7EC, 'M', u'0'), + (0x1D7ED, 'M', u'1'), + (0x1D7EE, 'M', u'2'), + ] + +def _seg_68(): + return [ + (0x1D7EF, 'M', u'3'), + (0x1D7F0, 'M', u'4'), + (0x1D7F1, 'M', u'5'), + (0x1D7F2, 'M', u'6'), + (0x1D7F3, 'M', u'7'), + (0x1D7F4, 'M', u'8'), + (0x1D7F5, 'M', u'9'), + (0x1D7F6, 'M', u'0'), + (0x1D7F7, 'M', u'1'), + (0x1D7F8, 'M', u'2'), + (0x1D7F9, 'M', u'3'), + (0x1D7FA, 'M', u'4'), + (0x1D7FB, 'M', u'5'), + (0x1D7FC, 'M', u'6'), + (0x1D7FD, 'M', u'7'), + (0x1D7FE, 'M', u'8'), + (0x1D7FF, 'M', u'9'), + (0x1D800, 'V'), + (0x1DA8C, 'X'), + (0x1DA9B, 'V'), + (0x1DAA0, 'X'), + (0x1DAA1, 'V'), + (0x1DAB0, 'X'), + (0x1E000, 'V'), + (0x1E007, 'X'), + (0x1E008, 'V'), + (0x1E019, 'X'), + (0x1E01B, 'V'), + (0x1E022, 'X'), + (0x1E023, 'V'), + (0x1E025, 'X'), + (0x1E026, 'V'), + (0x1E02B, 'X'), + (0x1E800, 'V'), + (0x1E8C5, 'X'), + (0x1E8C7, 'V'), + (0x1E8D7, 'X'), + (0x1E900, 'M', u'𞤢'), + (0x1E901, 'M', u'𞤣'), + (0x1E902, 'M', u'𞤤'), + (0x1E903, 'M', u'𞤥'), + (0x1E904, 'M', u'𞤦'), + (0x1E905, 'M', u'𞤧'), + (0x1E906, 'M', u'𞤨'), + (0x1E907, 'M', u'𞤩'), + (0x1E908, 'M', u'𞤪'), + (0x1E909, 'M', u'𞤫'), + (0x1E90A, 'M', u'𞤬'), + (0x1E90B, 'M', u'𞤭'), + (0x1E90C, 'M', u'𞤮'), + (0x1E90D, 'M', u'𞤯'), + (0x1E90E, 'M', u'𞤰'), + (0x1E90F, 'M', u'𞤱'), + (0x1E910, 'M', u'𞤲'), + (0x1E911, 'M', u'𞤳'), + (0x1E912, 'M', u'𞤴'), + (0x1E913, 'M', u'𞤵'), + (0x1E914, 'M', u'𞤶'), + (0x1E915, 'M', u'𞤷'), + (0x1E916, 'M', u'𞤸'), + (0x1E917, 'M', u'𞤹'), + (0x1E918, 'M', u'𞤺'), + (0x1E919, 'M', u'𞤻'), + (0x1E91A, 'M', u'𞤼'), + (0x1E91B, 'M', u'𞤽'), + (0x1E91C, 'M', u'𞤾'), + (0x1E91D, 'M', u'𞤿'), + (0x1E91E, 'M', u'𞥀'), + (0x1E91F, 'M', u'𞥁'), + (0x1E920, 'M', u'𞥂'), + (0x1E921, 'M', u'𞥃'), + (0x1E922, 'V'), + (0x1E94B, 'X'), + (0x1E950, 'V'), + (0x1E95A, 'X'), + (0x1E95E, 'V'), + (0x1E960, 'X'), + (0x1EC71, 'V'), + (0x1ECB5, 'X'), + (0x1EE00, 'M', u'ا'), + (0x1EE01, 'M', u'ب'), + (0x1EE02, 'M', u'ج'), + (0x1EE03, 'M', u'د'), + (0x1EE04, 'X'), + (0x1EE05, 'M', u'و'), + (0x1EE06, 'M', u'ز'), + (0x1EE07, 'M', u'ح'), + (0x1EE08, 'M', u'ط'), + (0x1EE09, 'M', u'ي'), + (0x1EE0A, 'M', u'ك'), + (0x1EE0B, 'M', u'ل'), + (0x1EE0C, 'M', u'م'), + (0x1EE0D, 'M', u'ن'), + (0x1EE0E, 'M', u'س'), + (0x1EE0F, 'M', u'ع'), + (0x1EE10, 'M', u'ف'), + (0x1EE11, 'M', u'ص'), + (0x1EE12, 'M', u'ق'), + (0x1EE13, 'M', u'ر'), + (0x1EE14, 'M', u'ش'), + ] + +def _seg_69(): + return [ + (0x1EE15, 'M', u'ت'), + (0x1EE16, 'M', u'ث'), + (0x1EE17, 'M', u'خ'), + (0x1EE18, 'M', u'ذ'), + (0x1EE19, 'M', u'ض'), + (0x1EE1A, 'M', u'ظ'), + (0x1EE1B, 'M', u'غ'), + (0x1EE1C, 'M', u'ٮ'), + (0x1EE1D, 'M', u'ں'), + (0x1EE1E, 'M', u'ڡ'), + (0x1EE1F, 'M', u'ٯ'), + (0x1EE20, 'X'), + (0x1EE21, 'M', u'ب'), + (0x1EE22, 'M', u'ج'), + (0x1EE23, 'X'), + (0x1EE24, 'M', u'ه'), + (0x1EE25, 'X'), + (0x1EE27, 'M', u'ح'), + (0x1EE28, 'X'), + (0x1EE29, 'M', u'ي'), + (0x1EE2A, 'M', u'ك'), + (0x1EE2B, 'M', u'ل'), + (0x1EE2C, 'M', u'م'), + (0x1EE2D, 'M', u'ن'), + (0x1EE2E, 'M', u'س'), + (0x1EE2F, 'M', u'ع'), + (0x1EE30, 'M', u'ف'), + (0x1EE31, 'M', u'ص'), + (0x1EE32, 'M', u'ق'), + (0x1EE33, 'X'), + (0x1EE34, 'M', u'ش'), + (0x1EE35, 'M', u'ت'), + (0x1EE36, 'M', u'ث'), + (0x1EE37, 'M', u'خ'), + (0x1EE38, 'X'), + (0x1EE39, 'M', u'ض'), + (0x1EE3A, 'X'), + (0x1EE3B, 'M', u'غ'), + (0x1EE3C, 'X'), + (0x1EE42, 'M', u'ج'), + (0x1EE43, 'X'), + (0x1EE47, 'M', u'ح'), + (0x1EE48, 'X'), + (0x1EE49, 'M', u'ي'), + (0x1EE4A, 'X'), + (0x1EE4B, 'M', u'ل'), + (0x1EE4C, 'X'), + (0x1EE4D, 'M', u'ن'), + (0x1EE4E, 'M', u'س'), + (0x1EE4F, 'M', u'ع'), + (0x1EE50, 'X'), + (0x1EE51, 'M', u'ص'), + (0x1EE52, 'M', u'ق'), + (0x1EE53, 'X'), + (0x1EE54, 'M', u'ش'), + (0x1EE55, 'X'), + (0x1EE57, 'M', u'خ'), + (0x1EE58, 'X'), + (0x1EE59, 'M', u'ض'), + (0x1EE5A, 'X'), + (0x1EE5B, 'M', u'غ'), + (0x1EE5C, 'X'), + (0x1EE5D, 'M', u'ں'), + (0x1EE5E, 'X'), + (0x1EE5F, 'M', u'ٯ'), + (0x1EE60, 'X'), + (0x1EE61, 'M', u'ب'), + (0x1EE62, 'M', u'ج'), + (0x1EE63, 'X'), + (0x1EE64, 'M', u'ه'), + (0x1EE65, 'X'), + (0x1EE67, 'M', u'ح'), + (0x1EE68, 'M', u'ط'), + (0x1EE69, 'M', u'ي'), + (0x1EE6A, 'M', u'ك'), + (0x1EE6B, 'X'), + (0x1EE6C, 'M', u'م'), + (0x1EE6D, 'M', u'ن'), + (0x1EE6E, 'M', u'س'), + (0x1EE6F, 'M', u'ع'), + (0x1EE70, 'M', u'ف'), + (0x1EE71, 'M', u'ص'), + (0x1EE72, 'M', u'ق'), + (0x1EE73, 'X'), + (0x1EE74, 'M', u'ش'), + (0x1EE75, 'M', u'ت'), + (0x1EE76, 'M', u'ث'), + (0x1EE77, 'M', u'خ'), + (0x1EE78, 'X'), + (0x1EE79, 'M', u'ض'), + (0x1EE7A, 'M', u'ظ'), + (0x1EE7B, 'M', u'غ'), + (0x1EE7C, 'M', u'ٮ'), + (0x1EE7D, 'X'), + (0x1EE7E, 'M', u'ڡ'), + (0x1EE7F, 'X'), + (0x1EE80, 'M', u'ا'), + (0x1EE81, 'M', u'ب'), + (0x1EE82, 'M', u'ج'), + (0x1EE83, 'M', u'د'), + ] + +def _seg_70(): + return [ + (0x1EE84, 'M', u'ه'), + (0x1EE85, 'M', u'و'), + (0x1EE86, 'M', u'ز'), + (0x1EE87, 'M', u'ح'), + (0x1EE88, 'M', u'ط'), + (0x1EE89, 'M', u'ي'), + (0x1EE8A, 'X'), + (0x1EE8B, 'M', u'ل'), + (0x1EE8C, 'M', u'م'), + (0x1EE8D, 'M', u'ن'), + (0x1EE8E, 'M', u'س'), + (0x1EE8F, 'M', u'ع'), + (0x1EE90, 'M', u'ف'), + (0x1EE91, 'M', u'ص'), + (0x1EE92, 'M', u'ق'), + (0x1EE93, 'M', u'ر'), + (0x1EE94, 'M', u'ش'), + (0x1EE95, 'M', u'ت'), + (0x1EE96, 'M', u'ث'), + (0x1EE97, 'M', u'خ'), + (0x1EE98, 'M', u'ذ'), + (0x1EE99, 'M', u'ض'), + (0x1EE9A, 'M', u'ظ'), + (0x1EE9B, 'M', u'غ'), + (0x1EE9C, 'X'), + (0x1EEA1, 'M', u'ب'), + (0x1EEA2, 'M', u'ج'), + (0x1EEA3, 'M', u'د'), + (0x1EEA4, 'X'), + (0x1EEA5, 'M', u'و'), + (0x1EEA6, 'M', u'ز'), + (0x1EEA7, 'M', u'ح'), + (0x1EEA8, 'M', u'ط'), + (0x1EEA9, 'M', u'ي'), + (0x1EEAA, 'X'), + (0x1EEAB, 'M', u'ل'), + (0x1EEAC, 'M', u'م'), + (0x1EEAD, 'M', u'ن'), + (0x1EEAE, 'M', u'س'), + (0x1EEAF, 'M', u'ع'), + (0x1EEB0, 'M', u'ف'), + (0x1EEB1, 'M', u'ص'), + (0x1EEB2, 'M', u'ق'), + (0x1EEB3, 'M', u'ر'), + (0x1EEB4, 'M', u'ش'), + (0x1EEB5, 'M', u'ت'), + (0x1EEB6, 'M', u'ث'), + (0x1EEB7, 'M', u'خ'), + (0x1EEB8, 'M', u'ذ'), + (0x1EEB9, 'M', u'ض'), + (0x1EEBA, 'M', u'ظ'), + (0x1EEBB, 'M', u'غ'), + (0x1EEBC, 'X'), + (0x1EEF0, 'V'), + (0x1EEF2, 'X'), + (0x1F000, 'V'), + (0x1F02C, 'X'), + (0x1F030, 'V'), + (0x1F094, 'X'), + (0x1F0A0, 'V'), + (0x1F0AF, 'X'), + (0x1F0B1, 'V'), + (0x1F0C0, 'X'), + (0x1F0C1, 'V'), + (0x1F0D0, 'X'), + (0x1F0D1, 'V'), + (0x1F0F6, 'X'), + (0x1F101, '3', u'0,'), + (0x1F102, '3', u'1,'), + (0x1F103, '3', u'2,'), + (0x1F104, '3', u'3,'), + (0x1F105, '3', u'4,'), + (0x1F106, '3', u'5,'), + (0x1F107, '3', u'6,'), + (0x1F108, '3', u'7,'), + (0x1F109, '3', u'8,'), + (0x1F10A, '3', u'9,'), + (0x1F10B, 'V'), + (0x1F10D, 'X'), + (0x1F110, '3', u'(a)'), + (0x1F111, '3', u'(b)'), + (0x1F112, '3', u'(c)'), + (0x1F113, '3', u'(d)'), + (0x1F114, '3', u'(e)'), + (0x1F115, '3', u'(f)'), + (0x1F116, '3', u'(g)'), + (0x1F117, '3', u'(h)'), + (0x1F118, '3', u'(i)'), + (0x1F119, '3', u'(j)'), + (0x1F11A, '3', u'(k)'), + (0x1F11B, '3', u'(l)'), + (0x1F11C, '3', u'(m)'), + (0x1F11D, '3', u'(n)'), + (0x1F11E, '3', u'(o)'), + (0x1F11F, '3', u'(p)'), + (0x1F120, '3', u'(q)'), + (0x1F121, '3', u'(r)'), + (0x1F122, '3', u'(s)'), + (0x1F123, '3', u'(t)'), + (0x1F124, '3', u'(u)'), + ] + +def _seg_71(): + return [ + (0x1F125, '3', u'(v)'), + (0x1F126, '3', u'(w)'), + (0x1F127, '3', u'(x)'), + (0x1F128, '3', u'(y)'), + (0x1F129, '3', u'(z)'), + (0x1F12A, 'M', u'〔s〕'), + (0x1F12B, 'M', u'c'), + (0x1F12C, 'M', u'r'), + (0x1F12D, 'M', u'cd'), + (0x1F12E, 'M', u'wz'), + (0x1F12F, 'V'), + (0x1F130, 'M', u'a'), + (0x1F131, 'M', u'b'), + (0x1F132, 'M', u'c'), + (0x1F133, 'M', u'd'), + (0x1F134, 'M', u'e'), + (0x1F135, 'M', u'f'), + (0x1F136, 'M', u'g'), + (0x1F137, 'M', u'h'), + (0x1F138, 'M', u'i'), + (0x1F139, 'M', u'j'), + (0x1F13A, 'M', u'k'), + (0x1F13B, 'M', u'l'), + (0x1F13C, 'M', u'm'), + (0x1F13D, 'M', u'n'), + (0x1F13E, 'M', u'o'), + (0x1F13F, 'M', u'p'), + (0x1F140, 'M', u'q'), + (0x1F141, 'M', u'r'), + (0x1F142, 'M', u's'), + (0x1F143, 'M', u't'), + (0x1F144, 'M', u'u'), + (0x1F145, 'M', u'v'), + (0x1F146, 'M', u'w'), + (0x1F147, 'M', u'x'), + (0x1F148, 'M', u'y'), + (0x1F149, 'M', u'z'), + (0x1F14A, 'M', u'hv'), + (0x1F14B, 'M', u'mv'), + (0x1F14C, 'M', u'sd'), + (0x1F14D, 'M', u'ss'), + (0x1F14E, 'M', u'ppv'), + (0x1F14F, 'M', u'wc'), + (0x1F150, 'V'), + (0x1F16A, 'M', u'mc'), + (0x1F16B, 'M', u'md'), + (0x1F16C, 'X'), + (0x1F170, 'V'), + (0x1F190, 'M', u'dj'), + (0x1F191, 'V'), + (0x1F1AD, 'X'), + (0x1F1E6, 'V'), + (0x1F200, 'M', u'ほか'), + (0x1F201, 'M', u'ココ'), + (0x1F202, 'M', u'サ'), + (0x1F203, 'X'), + (0x1F210, 'M', u'手'), + (0x1F211, 'M', u'字'), + (0x1F212, 'M', u'双'), + (0x1F213, 'M', u'デ'), + (0x1F214, 'M', u'二'), + (0x1F215, 'M', u'多'), + (0x1F216, 'M', u'解'), + (0x1F217, 'M', u'天'), + (0x1F218, 'M', u'交'), + (0x1F219, 'M', u'映'), + (0x1F21A, 'M', u'無'), + (0x1F21B, 'M', u'料'), + (0x1F21C, 'M', u'前'), + (0x1F21D, 'M', u'後'), + (0x1F21E, 'M', u'再'), + (0x1F21F, 'M', u'新'), + (0x1F220, 'M', u'初'), + (0x1F221, 'M', u'終'), + (0x1F222, 'M', u'生'), + (0x1F223, 'M', u'販'), + (0x1F224, 'M', u'声'), + (0x1F225, 'M', u'吹'), + (0x1F226, 'M', u'演'), + (0x1F227, 'M', u'投'), + (0x1F228, 'M', u'捕'), + (0x1F229, 'M', u'一'), + (0x1F22A, 'M', u'三'), + (0x1F22B, 'M', u'遊'), + (0x1F22C, 'M', u'左'), + (0x1F22D, 'M', u'中'), + (0x1F22E, 'M', u'右'), + (0x1F22F, 'M', u'指'), + (0x1F230, 'M', u'走'), + (0x1F231, 'M', u'打'), + (0x1F232, 'M', u'禁'), + (0x1F233, 'M', u'空'), + (0x1F234, 'M', u'合'), + (0x1F235, 'M', u'満'), + (0x1F236, 'M', u'有'), + (0x1F237, 'M', u'月'), + (0x1F238, 'M', u'申'), + (0x1F239, 'M', u'割'), + (0x1F23A, 'M', u'営'), + (0x1F23B, 'M', u'配'), + ] + +def _seg_72(): + return [ + (0x1F23C, 'X'), + (0x1F240, 'M', u'〔本〕'), + (0x1F241, 'M', u'〔三〕'), + (0x1F242, 'M', u'〔二〕'), + (0x1F243, 'M', u'〔安〕'), + (0x1F244, 'M', u'〔点〕'), + (0x1F245, 'M', u'〔打〕'), + (0x1F246, 'M', u'〔盗〕'), + (0x1F247, 'M', u'〔勝〕'), + (0x1F248, 'M', u'〔敗〕'), + (0x1F249, 'X'), + (0x1F250, 'M', u'得'), + (0x1F251, 'M', u'可'), + (0x1F252, 'X'), + (0x1F260, 'V'), + (0x1F266, 'X'), + (0x1F300, 'V'), + (0x1F6D5, 'X'), + (0x1F6E0, 'V'), + (0x1F6ED, 'X'), + (0x1F6F0, 'V'), + (0x1F6FA, 'X'), + (0x1F700, 'V'), + (0x1F774, 'X'), + (0x1F780, 'V'), + (0x1F7D9, 'X'), + (0x1F800, 'V'), + (0x1F80C, 'X'), + (0x1F810, 'V'), + (0x1F848, 'X'), + (0x1F850, 'V'), + (0x1F85A, 'X'), + (0x1F860, 'V'), + (0x1F888, 'X'), + (0x1F890, 'V'), + (0x1F8AE, 'X'), + (0x1F900, 'V'), + (0x1F90C, 'X'), + (0x1F910, 'V'), + (0x1F93F, 'X'), + (0x1F940, 'V'), + (0x1F971, 'X'), + (0x1F973, 'V'), + (0x1F977, 'X'), + (0x1F97A, 'V'), + (0x1F97B, 'X'), + (0x1F97C, 'V'), + (0x1F9A3, 'X'), + (0x1F9B0, 'V'), + (0x1F9BA, 'X'), + (0x1F9C0, 'V'), + (0x1F9C3, 'X'), + (0x1F9D0, 'V'), + (0x1FA00, 'X'), + (0x1FA60, 'V'), + (0x1FA6E, 'X'), + (0x20000, 'V'), + (0x2A6D7, 'X'), + (0x2A700, 'V'), + (0x2B735, 'X'), + (0x2B740, 'V'), + (0x2B81E, 'X'), + (0x2B820, 'V'), + (0x2CEA2, 'X'), + (0x2CEB0, 'V'), + (0x2EBE1, 'X'), + (0x2F800, 'M', u'丽'), + (0x2F801, 'M', u'丸'), + (0x2F802, 'M', u'乁'), + (0x2F803, 'M', u'𠄢'), + (0x2F804, 'M', u'你'), + (0x2F805, 'M', u'侮'), + (0x2F806, 'M', u'侻'), + (0x2F807, 'M', u'倂'), + (0x2F808, 'M', u'偺'), + (0x2F809, 'M', u'備'), + (0x2F80A, 'M', u'僧'), + (0x2F80B, 'M', u'像'), + (0x2F80C, 'M', u'㒞'), + (0x2F80D, 'M', u'𠘺'), + (0x2F80E, 'M', u'免'), + (0x2F80F, 'M', u'兔'), + (0x2F810, 'M', u'兤'), + (0x2F811, 'M', u'具'), + (0x2F812, 'M', u'𠔜'), + (0x2F813, 'M', u'㒹'), + (0x2F814, 'M', u'內'), + (0x2F815, 'M', u'再'), + (0x2F816, 'M', u'𠕋'), + (0x2F817, 'M', u'冗'), + (0x2F818, 'M', u'冤'), + (0x2F819, 'M', u'仌'), + (0x2F81A, 'M', u'冬'), + (0x2F81B, 'M', u'况'), + (0x2F81C, 'M', u'𩇟'), + (0x2F81D, 'M', u'凵'), + (0x2F81E, 'M', u'刃'), + (0x2F81F, 'M', u'㓟'), + (0x2F820, 'M', u'刻'), + (0x2F821, 'M', u'剆'), + ] + +def _seg_73(): + return [ + (0x2F822, 'M', u'割'), + (0x2F823, 'M', u'剷'), + (0x2F824, 'M', u'㔕'), + (0x2F825, 'M', u'勇'), + (0x2F826, 'M', u'勉'), + (0x2F827, 'M', u'勤'), + (0x2F828, 'M', u'勺'), + (0x2F829, 'M', u'包'), + (0x2F82A, 'M', u'匆'), + (0x2F82B, 'M', u'北'), + (0x2F82C, 'M', u'卉'), + (0x2F82D, 'M', u'卑'), + (0x2F82E, 'M', u'博'), + (0x2F82F, 'M', u'即'), + (0x2F830, 'M', u'卽'), + (0x2F831, 'M', u'卿'), + (0x2F834, 'M', u'𠨬'), + (0x2F835, 'M', u'灰'), + (0x2F836, 'M', u'及'), + (0x2F837, 'M', u'叟'), + (0x2F838, 'M', u'𠭣'), + (0x2F839, 'M', u'叫'), + (0x2F83A, 'M', u'叱'), + (0x2F83B, 'M', u'吆'), + (0x2F83C, 'M', u'咞'), + (0x2F83D, 'M', u'吸'), + (0x2F83E, 'M', u'呈'), + (0x2F83F, 'M', u'周'), + (0x2F840, 'M', u'咢'), + (0x2F841, 'M', u'哶'), + (0x2F842, 'M', u'唐'), + (0x2F843, 'M', u'啓'), + (0x2F844, 'M', u'啣'), + (0x2F845, 'M', u'善'), + (0x2F847, 'M', u'喙'), + (0x2F848, 'M', u'喫'), + (0x2F849, 'M', u'喳'), + (0x2F84A, 'M', u'嗂'), + (0x2F84B, 'M', u'圖'), + (0x2F84C, 'M', u'嘆'), + (0x2F84D, 'M', u'圗'), + (0x2F84E, 'M', u'噑'), + (0x2F84F, 'M', u'噴'), + (0x2F850, 'M', u'切'), + (0x2F851, 'M', u'壮'), + (0x2F852, 'M', u'城'), + (0x2F853, 'M', u'埴'), + (0x2F854, 'M', u'堍'), + (0x2F855, 'M', u'型'), + (0x2F856, 'M', u'堲'), + (0x2F857, 'M', u'報'), + (0x2F858, 'M', u'墬'), + (0x2F859, 'M', u'𡓤'), + (0x2F85A, 'M', u'売'), + (0x2F85B, 'M', u'壷'), + (0x2F85C, 'M', u'夆'), + (0x2F85D, 'M', u'多'), + (0x2F85E, 'M', u'夢'), + (0x2F85F, 'M', u'奢'), + (0x2F860, 'M', u'𡚨'), + (0x2F861, 'M', u'𡛪'), + (0x2F862, 'M', u'姬'), + (0x2F863, 'M', u'娛'), + (0x2F864, 'M', u'娧'), + (0x2F865, 'M', u'姘'), + (0x2F866, 'M', u'婦'), + (0x2F867, 'M', u'㛮'), + (0x2F868, 'X'), + (0x2F869, 'M', u'嬈'), + (0x2F86A, 'M', u'嬾'), + (0x2F86C, 'M', u'𡧈'), + (0x2F86D, 'M', u'寃'), + (0x2F86E, 'M', u'寘'), + (0x2F86F, 'M', u'寧'), + (0x2F870, 'M', u'寳'), + (0x2F871, 'M', u'𡬘'), + (0x2F872, 'M', u'寿'), + (0x2F873, 'M', u'将'), + (0x2F874, 'X'), + (0x2F875, 'M', u'尢'), + (0x2F876, 'M', u'㞁'), + (0x2F877, 'M', u'屠'), + (0x2F878, 'M', u'屮'), + (0x2F879, 'M', u'峀'), + (0x2F87A, 'M', u'岍'), + (0x2F87B, 'M', u'𡷤'), + (0x2F87C, 'M', u'嵃'), + (0x2F87D, 'M', u'𡷦'), + (0x2F87E, 'M', u'嵮'), + (0x2F87F, 'M', u'嵫'), + (0x2F880, 'M', u'嵼'), + (0x2F881, 'M', u'巡'), + (0x2F882, 'M', u'巢'), + (0x2F883, 'M', u'㠯'), + (0x2F884, 'M', u'巽'), + (0x2F885, 'M', u'帨'), + (0x2F886, 'M', u'帽'), + (0x2F887, 'M', u'幩'), + (0x2F888, 'M', u'㡢'), + (0x2F889, 'M', u'𢆃'), + ] + +def _seg_74(): + return [ + (0x2F88A, 'M', u'㡼'), + (0x2F88B, 'M', u'庰'), + (0x2F88C, 'M', u'庳'), + (0x2F88D, 'M', u'庶'), + (0x2F88E, 'M', u'廊'), + (0x2F88F, 'M', u'𪎒'), + (0x2F890, 'M', u'廾'), + (0x2F891, 'M', u'𢌱'), + (0x2F893, 'M', u'舁'), + (0x2F894, 'M', u'弢'), + (0x2F896, 'M', u'㣇'), + (0x2F897, 'M', u'𣊸'), + (0x2F898, 'M', u'𦇚'), + (0x2F899, 'M', u'形'), + (0x2F89A, 'M', u'彫'), + (0x2F89B, 'M', u'㣣'), + (0x2F89C, 'M', u'徚'), + (0x2F89D, 'M', u'忍'), + (0x2F89E, 'M', u'志'), + (0x2F89F, 'M', u'忹'), + (0x2F8A0, 'M', u'悁'), + (0x2F8A1, 'M', u'㤺'), + (0x2F8A2, 'M', u'㤜'), + (0x2F8A3, 'M', u'悔'), + (0x2F8A4, 'M', u'𢛔'), + (0x2F8A5, 'M', u'惇'), + (0x2F8A6, 'M', u'慈'), + (0x2F8A7, 'M', u'慌'), + (0x2F8A8, 'M', u'慎'), + (0x2F8A9, 'M', u'慌'), + (0x2F8AA, 'M', u'慺'), + (0x2F8AB, 'M', u'憎'), + (0x2F8AC, 'M', u'憲'), + (0x2F8AD, 'M', u'憤'), + (0x2F8AE, 'M', u'憯'), + (0x2F8AF, 'M', u'懞'), + (0x2F8B0, 'M', u'懲'), + (0x2F8B1, 'M', u'懶'), + (0x2F8B2, 'M', u'成'), + (0x2F8B3, 'M', u'戛'), + (0x2F8B4, 'M', u'扝'), + (0x2F8B5, 'M', u'抱'), + (0x2F8B6, 'M', u'拔'), + (0x2F8B7, 'M', u'捐'), + (0x2F8B8, 'M', u'𢬌'), + (0x2F8B9, 'M', u'挽'), + (0x2F8BA, 'M', u'拼'), + (0x2F8BB, 'M', u'捨'), + (0x2F8BC, 'M', u'掃'), + (0x2F8BD, 'M', u'揤'), + (0x2F8BE, 'M', u'𢯱'), + (0x2F8BF, 'M', u'搢'), + (0x2F8C0, 'M', u'揅'), + (0x2F8C1, 'M', u'掩'), + (0x2F8C2, 'M', u'㨮'), + (0x2F8C3, 'M', u'摩'), + (0x2F8C4, 'M', u'摾'), + (0x2F8C5, 'M', u'撝'), + (0x2F8C6, 'M', u'摷'), + (0x2F8C7, 'M', u'㩬'), + (0x2F8C8, 'M', u'敏'), + (0x2F8C9, 'M', u'敬'), + (0x2F8CA, 'M', u'𣀊'), + (0x2F8CB, 'M', u'旣'), + (0x2F8CC, 'M', u'書'), + (0x2F8CD, 'M', u'晉'), + (0x2F8CE, 'M', u'㬙'), + (0x2F8CF, 'M', u'暑'), + (0x2F8D0, 'M', u'㬈'), + (0x2F8D1, 'M', u'㫤'), + (0x2F8D2, 'M', u'冒'), + (0x2F8D3, 'M', u'冕'), + (0x2F8D4, 'M', u'最'), + (0x2F8D5, 'M', u'暜'), + (0x2F8D6, 'M', u'肭'), + (0x2F8D7, 'M', u'䏙'), + (0x2F8D8, 'M', u'朗'), + (0x2F8D9, 'M', u'望'), + (0x2F8DA, 'M', u'朡'), + (0x2F8DB, 'M', u'杞'), + (0x2F8DC, 'M', u'杓'), + (0x2F8DD, 'M', u'𣏃'), + (0x2F8DE, 'M', u'㭉'), + (0x2F8DF, 'M', u'柺'), + (0x2F8E0, 'M', u'枅'), + (0x2F8E1, 'M', u'桒'), + (0x2F8E2, 'M', u'梅'), + (0x2F8E3, 'M', u'𣑭'), + (0x2F8E4, 'M', u'梎'), + (0x2F8E5, 'M', u'栟'), + (0x2F8E6, 'M', u'椔'), + (0x2F8E7, 'M', u'㮝'), + (0x2F8E8, 'M', u'楂'), + (0x2F8E9, 'M', u'榣'), + (0x2F8EA, 'M', u'槪'), + (0x2F8EB, 'M', u'檨'), + (0x2F8EC, 'M', u'𣚣'), + (0x2F8ED, 'M', u'櫛'), + (0x2F8EE, 'M', u'㰘'), + (0x2F8EF, 'M', u'次'), + ] + +def _seg_75(): + return [ + (0x2F8F0, 'M', u'𣢧'), + (0x2F8F1, 'M', u'歔'), + (0x2F8F2, 'M', u'㱎'), + (0x2F8F3, 'M', u'歲'), + (0x2F8F4, 'M', u'殟'), + (0x2F8F5, 'M', u'殺'), + (0x2F8F6, 'M', u'殻'), + (0x2F8F7, 'M', u'𣪍'), + (0x2F8F8, 'M', u'𡴋'), + (0x2F8F9, 'M', u'𣫺'), + (0x2F8FA, 'M', u'汎'), + (0x2F8FB, 'M', u'𣲼'), + (0x2F8FC, 'M', u'沿'), + (0x2F8FD, 'M', u'泍'), + (0x2F8FE, 'M', u'汧'), + (0x2F8FF, 'M', u'洖'), + (0x2F900, 'M', u'派'), + (0x2F901, 'M', u'海'), + (0x2F902, 'M', u'流'), + (0x2F903, 'M', u'浩'), + (0x2F904, 'M', u'浸'), + (0x2F905, 'M', u'涅'), + (0x2F906, 'M', u'𣴞'), + (0x2F907, 'M', u'洴'), + (0x2F908, 'M', u'港'), + (0x2F909, 'M', u'湮'), + (0x2F90A, 'M', u'㴳'), + (0x2F90B, 'M', u'滋'), + (0x2F90C, 'M', u'滇'), + (0x2F90D, 'M', u'𣻑'), + (0x2F90E, 'M', u'淹'), + (0x2F90F, 'M', u'潮'), + (0x2F910, 'M', u'𣽞'), + (0x2F911, 'M', u'𣾎'), + (0x2F912, 'M', u'濆'), + (0x2F913, 'M', u'瀹'), + (0x2F914, 'M', u'瀞'), + (0x2F915, 'M', u'瀛'), + (0x2F916, 'M', u'㶖'), + (0x2F917, 'M', u'灊'), + (0x2F918, 'M', u'災'), + (0x2F919, 'M', u'灷'), + (0x2F91A, 'M', u'炭'), + (0x2F91B, 'M', u'𠔥'), + (0x2F91C, 'M', u'煅'), + (0x2F91D, 'M', u'𤉣'), + (0x2F91E, 'M', u'熜'), + (0x2F91F, 'X'), + (0x2F920, 'M', u'爨'), + (0x2F921, 'M', u'爵'), + (0x2F922, 'M', u'牐'), + (0x2F923, 'M', u'𤘈'), + (0x2F924, 'M', u'犀'), + (0x2F925, 'M', u'犕'), + (0x2F926, 'M', u'𤜵'), + (0x2F927, 'M', u'𤠔'), + (0x2F928, 'M', u'獺'), + (0x2F929, 'M', u'王'), + (0x2F92A, 'M', u'㺬'), + (0x2F92B, 'M', u'玥'), + (0x2F92C, 'M', u'㺸'), + (0x2F92E, 'M', u'瑇'), + (0x2F92F, 'M', u'瑜'), + (0x2F930, 'M', u'瑱'), + (0x2F931, 'M', u'璅'), + (0x2F932, 'M', u'瓊'), + (0x2F933, 'M', u'㼛'), + (0x2F934, 'M', u'甤'), + (0x2F935, 'M', u'𤰶'), + (0x2F936, 'M', u'甾'), + (0x2F937, 'M', u'𤲒'), + (0x2F938, 'M', u'異'), + (0x2F939, 'M', u'𢆟'), + (0x2F93A, 'M', u'瘐'), + (0x2F93B, 'M', u'𤾡'), + (0x2F93C, 'M', u'𤾸'), + (0x2F93D, 'M', u'𥁄'), + (0x2F93E, 'M', u'㿼'), + (0x2F93F, 'M', u'䀈'), + (0x2F940, 'M', u'直'), + (0x2F941, 'M', u'𥃳'), + (0x2F942, 'M', u'𥃲'), + (0x2F943, 'M', u'𥄙'), + (0x2F944, 'M', u'𥄳'), + (0x2F945, 'M', u'眞'), + (0x2F946, 'M', u'真'), + (0x2F948, 'M', u'睊'), + (0x2F949, 'M', u'䀹'), + (0x2F94A, 'M', u'瞋'), + (0x2F94B, 'M', u'䁆'), + (0x2F94C, 'M', u'䂖'), + (0x2F94D, 'M', u'𥐝'), + (0x2F94E, 'M', u'硎'), + (0x2F94F, 'M', u'碌'), + (0x2F950, 'M', u'磌'), + (0x2F951, 'M', u'䃣'), + (0x2F952, 'M', u'𥘦'), + (0x2F953, 'M', u'祖'), + (0x2F954, 'M', u'𥚚'), + (0x2F955, 'M', u'𥛅'), + ] + +def _seg_76(): + return [ + (0x2F956, 'M', u'福'), + (0x2F957, 'M', u'秫'), + (0x2F958, 'M', u'䄯'), + (0x2F959, 'M', u'穀'), + (0x2F95A, 'M', u'穊'), + (0x2F95B, 'M', u'穏'), + (0x2F95C, 'M', u'𥥼'), + (0x2F95D, 'M', u'𥪧'), + (0x2F95F, 'X'), + (0x2F960, 'M', u'䈂'), + (0x2F961, 'M', u'𥮫'), + (0x2F962, 'M', u'篆'), + (0x2F963, 'M', u'築'), + (0x2F964, 'M', u'䈧'), + (0x2F965, 'M', u'𥲀'), + (0x2F966, 'M', u'糒'), + (0x2F967, 'M', u'䊠'), + (0x2F968, 'M', u'糨'), + (0x2F969, 'M', u'糣'), + (0x2F96A, 'M', u'紀'), + (0x2F96B, 'M', u'𥾆'), + (0x2F96C, 'M', u'絣'), + (0x2F96D, 'M', u'䌁'), + (0x2F96E, 'M', u'緇'), + (0x2F96F, 'M', u'縂'), + (0x2F970, 'M', u'繅'), + (0x2F971, 'M', u'䌴'), + (0x2F972, 'M', u'𦈨'), + (0x2F973, 'M', u'𦉇'), + (0x2F974, 'M', u'䍙'), + (0x2F975, 'M', u'𦋙'), + (0x2F976, 'M', u'罺'), + (0x2F977, 'M', u'𦌾'), + (0x2F978, 'M', u'羕'), + (0x2F979, 'M', u'翺'), + (0x2F97A, 'M', u'者'), + (0x2F97B, 'M', u'𦓚'), + (0x2F97C, 'M', u'𦔣'), + (0x2F97D, 'M', u'聠'), + (0x2F97E, 'M', u'𦖨'), + (0x2F97F, 'M', u'聰'), + (0x2F980, 'M', u'𣍟'), + (0x2F981, 'M', u'䏕'), + (0x2F982, 'M', u'育'), + (0x2F983, 'M', u'脃'), + (0x2F984, 'M', u'䐋'), + (0x2F985, 'M', u'脾'), + (0x2F986, 'M', u'媵'), + (0x2F987, 'M', u'𦞧'), + (0x2F988, 'M', u'𦞵'), + (0x2F989, 'M', u'𣎓'), + (0x2F98A, 'M', u'𣎜'), + (0x2F98B, 'M', u'舁'), + (0x2F98C, 'M', u'舄'), + (0x2F98D, 'M', u'辞'), + (0x2F98E, 'M', u'䑫'), + (0x2F98F, 'M', u'芑'), + (0x2F990, 'M', u'芋'), + (0x2F991, 'M', u'芝'), + (0x2F992, 'M', u'劳'), + (0x2F993, 'M', u'花'), + (0x2F994, 'M', u'芳'), + (0x2F995, 'M', u'芽'), + (0x2F996, 'M', u'苦'), + (0x2F997, 'M', u'𦬼'), + (0x2F998, 'M', u'若'), + (0x2F999, 'M', u'茝'), + (0x2F99A, 'M', u'荣'), + (0x2F99B, 'M', u'莭'), + (0x2F99C, 'M', u'茣'), + (0x2F99D, 'M', u'莽'), + (0x2F99E, 'M', u'菧'), + (0x2F99F, 'M', u'著'), + (0x2F9A0, 'M', u'荓'), + (0x2F9A1, 'M', u'菊'), + (0x2F9A2, 'M', u'菌'), + (0x2F9A3, 'M', u'菜'), + (0x2F9A4, 'M', u'𦰶'), + (0x2F9A5, 'M', u'𦵫'), + (0x2F9A6, 'M', u'𦳕'), + (0x2F9A7, 'M', u'䔫'), + (0x2F9A8, 'M', u'蓱'), + (0x2F9A9, 'M', u'蓳'), + (0x2F9AA, 'M', u'蔖'), + (0x2F9AB, 'M', u'𧏊'), + (0x2F9AC, 'M', u'蕤'), + (0x2F9AD, 'M', u'𦼬'), + (0x2F9AE, 'M', u'䕝'), + (0x2F9AF, 'M', u'䕡'), + (0x2F9B0, 'M', u'𦾱'), + (0x2F9B1, 'M', u'𧃒'), + (0x2F9B2, 'M', u'䕫'), + (0x2F9B3, 'M', u'虐'), + (0x2F9B4, 'M', u'虜'), + (0x2F9B5, 'M', u'虧'), + (0x2F9B6, 'M', u'虩'), + (0x2F9B7, 'M', u'蚩'), + (0x2F9B8, 'M', u'蚈'), + (0x2F9B9, 'M', u'蜎'), + (0x2F9BA, 'M', u'蛢'), + ] + +def _seg_77(): + return [ + (0x2F9BB, 'M', u'蝹'), + (0x2F9BC, 'M', u'蜨'), + (0x2F9BD, 'M', u'蝫'), + (0x2F9BE, 'M', u'螆'), + (0x2F9BF, 'X'), + (0x2F9C0, 'M', u'蟡'), + (0x2F9C1, 'M', u'蠁'), + (0x2F9C2, 'M', u'䗹'), + (0x2F9C3, 'M', u'衠'), + (0x2F9C4, 'M', u'衣'), + (0x2F9C5, 'M', u'𧙧'), + (0x2F9C6, 'M', u'裗'), + (0x2F9C7, 'M', u'裞'), + (0x2F9C8, 'M', u'䘵'), + (0x2F9C9, 'M', u'裺'), + (0x2F9CA, 'M', u'㒻'), + (0x2F9CB, 'M', u'𧢮'), + (0x2F9CC, 'M', u'𧥦'), + (0x2F9CD, 'M', u'䚾'), + (0x2F9CE, 'M', u'䛇'), + (0x2F9CF, 'M', u'誠'), + (0x2F9D0, 'M', u'諭'), + (0x2F9D1, 'M', u'變'), + (0x2F9D2, 'M', u'豕'), + (0x2F9D3, 'M', u'𧲨'), + (0x2F9D4, 'M', u'貫'), + (0x2F9D5, 'M', u'賁'), + (0x2F9D6, 'M', u'贛'), + (0x2F9D7, 'M', u'起'), + (0x2F9D8, 'M', u'𧼯'), + (0x2F9D9, 'M', u'𠠄'), + (0x2F9DA, 'M', u'跋'), + (0x2F9DB, 'M', u'趼'), + (0x2F9DC, 'M', u'跰'), + (0x2F9DD, 'M', u'𠣞'), + (0x2F9DE, 'M', u'軔'), + (0x2F9DF, 'M', u'輸'), + (0x2F9E0, 'M', u'𨗒'), + (0x2F9E1, 'M', u'𨗭'), + (0x2F9E2, 'M', u'邔'), + (0x2F9E3, 'M', u'郱'), + (0x2F9E4, 'M', u'鄑'), + (0x2F9E5, 'M', u'𨜮'), + (0x2F9E6, 'M', u'鄛'), + (0x2F9E7, 'M', u'鈸'), + (0x2F9E8, 'M', u'鋗'), + (0x2F9E9, 'M', u'鋘'), + (0x2F9EA, 'M', u'鉼'), + (0x2F9EB, 'M', u'鏹'), + (0x2F9EC, 'M', u'鐕'), + (0x2F9ED, 'M', u'𨯺'), + (0x2F9EE, 'M', u'開'), + (0x2F9EF, 'M', u'䦕'), + (0x2F9F0, 'M', u'閷'), + (0x2F9F1, 'M', u'𨵷'), + (0x2F9F2, 'M', u'䧦'), + (0x2F9F3, 'M', u'雃'), + (0x2F9F4, 'M', u'嶲'), + (0x2F9F5, 'M', u'霣'), + (0x2F9F6, 'M', u'𩅅'), + (0x2F9F7, 'M', u'𩈚'), + (0x2F9F8, 'M', u'䩮'), + (0x2F9F9, 'M', u'䩶'), + (0x2F9FA, 'M', u'韠'), + (0x2F9FB, 'M', u'𩐊'), + (0x2F9FC, 'M', u'䪲'), + (0x2F9FD, 'M', u'𩒖'), + (0x2F9FE, 'M', u'頋'), + (0x2FA00, 'M', u'頩'), + (0x2FA01, 'M', u'𩖶'), + (0x2FA02, 'M', u'飢'), + (0x2FA03, 'M', u'䬳'), + (0x2FA04, 'M', u'餩'), + (0x2FA05, 'M', u'馧'), + (0x2FA06, 'M', u'駂'), + (0x2FA07, 'M', u'駾'), + (0x2FA08, 'M', u'䯎'), + (0x2FA09, 'M', u'𩬰'), + (0x2FA0A, 'M', u'鬒'), + (0x2FA0B, 'M', u'鱀'), + (0x2FA0C, 'M', u'鳽'), + (0x2FA0D, 'M', u'䳎'), + (0x2FA0E, 'M', u'䳭'), + (0x2FA0F, 'M', u'鵧'), + (0x2FA10, 'M', u'𪃎'), + (0x2FA11, 'M', u'䳸'), + (0x2FA12, 'M', u'𪄅'), + (0x2FA13, 'M', u'𪈎'), + (0x2FA14, 'M', u'𪊑'), + (0x2FA15, 'M', u'麻'), + (0x2FA16, 'M', u'䵖'), + (0x2FA17, 'M', u'黹'), + (0x2FA18, 'M', u'黾'), + (0x2FA19, 'M', u'鼅'), + (0x2FA1A, 'M', u'鼏'), + (0x2FA1B, 'M', u'鼖'), + (0x2FA1C, 'M', u'鼻'), + (0x2FA1D, 'M', u'𪘀'), + (0x2FA1E, 'X'), + (0xE0100, 'I'), + ] + +def _seg_78(): + return [ + (0xE01F0, 'X'), + ] + +uts46data = tuple( + _seg_0() + + _seg_1() + + _seg_2() + + _seg_3() + + _seg_4() + + _seg_5() + + _seg_6() + + _seg_7() + + _seg_8() + + _seg_9() + + _seg_10() + + _seg_11() + + _seg_12() + + _seg_13() + + _seg_14() + + _seg_15() + + _seg_16() + + _seg_17() + + _seg_18() + + _seg_19() + + _seg_20() + + _seg_21() + + _seg_22() + + _seg_23() + + _seg_24() + + _seg_25() + + _seg_26() + + _seg_27() + + _seg_28() + + _seg_29() + + _seg_30() + + _seg_31() + + _seg_32() + + _seg_33() + + _seg_34() + + _seg_35() + + _seg_36() + + _seg_37() + + _seg_38() + + _seg_39() + + _seg_40() + + _seg_41() + + _seg_42() + + _seg_43() + + _seg_44() + + _seg_45() + + _seg_46() + + _seg_47() + + _seg_48() + + _seg_49() + + _seg_50() + + _seg_51() + + _seg_52() + + _seg_53() + + _seg_54() + + _seg_55() + + _seg_56() + + _seg_57() + + _seg_58() + + _seg_59() + + _seg_60() + + _seg_61() + + _seg_62() + + _seg_63() + + _seg_64() + + _seg_65() + + _seg_66() + + _seg_67() + + _seg_68() + + _seg_69() + + _seg_70() + + _seg_71() + + _seg_72() + + _seg_73() + + _seg_74() + + _seg_75() + + _seg_76() + + _seg_77() + + _seg_78() +) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/ipaddress.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/ipaddress.py new file mode 100644 index 0000000..f2d0766 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/ipaddress.py @@ -0,0 +1,2419 @@ +# Copyright 2007 Google Inc. +# Licensed to PSF under a Contributor Agreement. + +"""A fast, lightweight IPv4/IPv6 manipulation library in Python. + +This library is used to create/poke/manipulate IPv4 and IPv6 addresses +and networks. + +""" + +from __future__ import unicode_literals + + +import itertools +import struct + +__version__ = '1.0.22' + +# Compatibility functions +_compat_int_types = (int,) +try: + _compat_int_types = (int, long) +except NameError: + pass +try: + _compat_str = unicode +except NameError: + _compat_str = str + assert bytes != str +if b'\0'[0] == 0: # Python 3 semantics + def _compat_bytes_to_byte_vals(byt): + return byt +else: + def _compat_bytes_to_byte_vals(byt): + return [struct.unpack(b'!B', b)[0] for b in byt] +try: + _compat_int_from_byte_vals = int.from_bytes +except AttributeError: + def _compat_int_from_byte_vals(bytvals, endianess): + assert endianess == 'big' + res = 0 + for bv in bytvals: + assert isinstance(bv, _compat_int_types) + res = (res << 8) + bv + return res + + +def _compat_to_bytes(intval, length, endianess): + assert isinstance(intval, _compat_int_types) + assert endianess == 'big' + if length == 4: + if intval < 0 or intval >= 2 ** 32: + raise struct.error("integer out of range for 'I' format code") + return struct.pack(b'!I', intval) + elif length == 16: + if intval < 0 or intval >= 2 ** 128: + raise struct.error("integer out of range for 'QQ' format code") + return struct.pack(b'!QQ', intval >> 64, intval & 0xffffffffffffffff) + else: + raise NotImplementedError() + + +if hasattr(int, 'bit_length'): + # Not int.bit_length , since that won't work in 2.7 where long exists + def _compat_bit_length(i): + return i.bit_length() +else: + def _compat_bit_length(i): + for res in itertools.count(): + if i >> res == 0: + return res + + +def _compat_range(start, end, step=1): + assert step > 0 + i = start + while i < end: + yield i + i += step + + +class _TotalOrderingMixin(object): + __slots__ = () + + # Helper that derives the other comparison operations from + # __lt__ and __eq__ + # We avoid functools.total_ordering because it doesn't handle + # NotImplemented correctly yet (http://bugs.python.org/issue10042) + def __eq__(self, other): + raise NotImplementedError + + def __ne__(self, other): + equal = self.__eq__(other) + if equal is NotImplemented: + return NotImplemented + return not equal + + def __lt__(self, other): + raise NotImplementedError + + def __le__(self, other): + less = self.__lt__(other) + if less is NotImplemented or not less: + return self.__eq__(other) + return less + + def __gt__(self, other): + less = self.__lt__(other) + if less is NotImplemented: + return NotImplemented + equal = self.__eq__(other) + if equal is NotImplemented: + return NotImplemented + return not (less or equal) + + def __ge__(self, other): + less = self.__lt__(other) + if less is NotImplemented: + return NotImplemented + return not less + + +IPV4LENGTH = 32 +IPV6LENGTH = 128 + + +class AddressValueError(ValueError): + """A Value Error related to the address.""" + + +class NetmaskValueError(ValueError): + """A Value Error related to the netmask.""" + + +def ip_address(address): + """Take an IP string/int and return an object of the correct type. + + Args: + address: A string or integer, the IP address. Either IPv4 or + IPv6 addresses may be supplied; integers less than 2**32 will + be considered to be IPv4 by default. + + Returns: + An IPv4Address or IPv6Address object. + + Raises: + ValueError: if the *address* passed isn't either a v4 or a v6 + address + + """ + try: + return IPv4Address(address) + except (AddressValueError, NetmaskValueError): + pass + + try: + return IPv6Address(address) + except (AddressValueError, NetmaskValueError): + pass + + if isinstance(address, bytes): + raise AddressValueError( + '%r does not appear to be an IPv4 or IPv6 address. ' + 'Did you pass in a bytes (str in Python 2) instead of' + ' a unicode object?' % address) + + raise ValueError('%r does not appear to be an IPv4 or IPv6 address' % + address) + + +def ip_network(address, strict=True): + """Take an IP string/int and return an object of the correct type. + + Args: + address: A string or integer, the IP network. Either IPv4 or + IPv6 networks may be supplied; integers less than 2**32 will + be considered to be IPv4 by default. + + Returns: + An IPv4Network or IPv6Network object. + + Raises: + ValueError: if the string passed isn't either a v4 or a v6 + address. Or if the network has host bits set. + + """ + try: + return IPv4Network(address, strict) + except (AddressValueError, NetmaskValueError): + pass + + try: + return IPv6Network(address, strict) + except (AddressValueError, NetmaskValueError): + pass + + if isinstance(address, bytes): + raise AddressValueError( + '%r does not appear to be an IPv4 or IPv6 network. ' + 'Did you pass in a bytes (str in Python 2) instead of' + ' a unicode object?' % address) + + raise ValueError('%r does not appear to be an IPv4 or IPv6 network' % + address) + + +def ip_interface(address): + """Take an IP string/int and return an object of the correct type. + + Args: + address: A string or integer, the IP address. Either IPv4 or + IPv6 addresses may be supplied; integers less than 2**32 will + be considered to be IPv4 by default. + + Returns: + An IPv4Interface or IPv6Interface object. + + Raises: + ValueError: if the string passed isn't either a v4 or a v6 + address. + + Notes: + The IPv?Interface classes describe an Address on a particular + Network, so they're basically a combination of both the Address + and Network classes. + + """ + try: + return IPv4Interface(address) + except (AddressValueError, NetmaskValueError): + pass + + try: + return IPv6Interface(address) + except (AddressValueError, NetmaskValueError): + pass + + raise ValueError('%r does not appear to be an IPv4 or IPv6 interface' % + address) + + +def v4_int_to_packed(address): + """Represent an address as 4 packed bytes in network (big-endian) order. + + Args: + address: An integer representation of an IPv4 IP address. + + Returns: + The integer address packed as 4 bytes in network (big-endian) order. + + Raises: + ValueError: If the integer is negative or too large to be an + IPv4 IP address. + + """ + try: + return _compat_to_bytes(address, 4, 'big') + except (struct.error, OverflowError): + raise ValueError("Address negative or too large for IPv4") + + +def v6_int_to_packed(address): + """Represent an address as 16 packed bytes in network (big-endian) order. + + Args: + address: An integer representation of an IPv6 IP address. + + Returns: + The integer address packed as 16 bytes in network (big-endian) order. + + """ + try: + return _compat_to_bytes(address, 16, 'big') + except (struct.error, OverflowError): + raise ValueError("Address negative or too large for IPv6") + + +def _split_optional_netmask(address): + """Helper to split the netmask and raise AddressValueError if needed""" + addr = _compat_str(address).split('/') + if len(addr) > 2: + raise AddressValueError("Only one '/' permitted in %r" % address) + return addr + + +def _find_address_range(addresses): + """Find a sequence of sorted deduplicated IPv#Address. + + Args: + addresses: a list of IPv#Address objects. + + Yields: + A tuple containing the first and last IP addresses in the sequence. + + """ + it = iter(addresses) + first = last = next(it) + for ip in it: + if ip._ip != last._ip + 1: + yield first, last + first = ip + last = ip + yield first, last + + +def _count_righthand_zero_bits(number, bits): + """Count the number of zero bits on the right hand side. + + Args: + number: an integer. + bits: maximum number of bits to count. + + Returns: + The number of zero bits on the right hand side of the number. + + """ + if number == 0: + return bits + return min(bits, _compat_bit_length(~number & (number - 1))) + + +def summarize_address_range(first, last): + """Summarize a network range given the first and last IP addresses. + + Example: + >>> list(summarize_address_range(IPv4Address('192.0.2.0'), + ... IPv4Address('192.0.2.130'))) + ... #doctest: +NORMALIZE_WHITESPACE + [IPv4Network('192.0.2.0/25'), IPv4Network('192.0.2.128/31'), + IPv4Network('192.0.2.130/32')] + + Args: + first: the first IPv4Address or IPv6Address in the range. + last: the last IPv4Address or IPv6Address in the range. + + Returns: + An iterator of the summarized IPv(4|6) network objects. + + Raise: + TypeError: + If the first and last objects are not IP addresses. + If the first and last objects are not the same version. + ValueError: + If the last object is not greater than the first. + If the version of the first address is not 4 or 6. + + """ + if (not (isinstance(first, _BaseAddress) and + isinstance(last, _BaseAddress))): + raise TypeError('first and last must be IP addresses, not networks') + if first.version != last.version: + raise TypeError("%s and %s are not of the same version" % ( + first, last)) + if first > last: + raise ValueError('last IP address must be greater than first') + + if first.version == 4: + ip = IPv4Network + elif first.version == 6: + ip = IPv6Network + else: + raise ValueError('unknown IP version') + + ip_bits = first._max_prefixlen + first_int = first._ip + last_int = last._ip + while first_int <= last_int: + nbits = min(_count_righthand_zero_bits(first_int, ip_bits), + _compat_bit_length(last_int - first_int + 1) - 1) + net = ip((first_int, ip_bits - nbits)) + yield net + first_int += 1 << nbits + if first_int - 1 == ip._ALL_ONES: + break + + +def _collapse_addresses_internal(addresses): + """Loops through the addresses, collapsing concurrent netblocks. + + Example: + + ip1 = IPv4Network('192.0.2.0/26') + ip2 = IPv4Network('192.0.2.64/26') + ip3 = IPv4Network('192.0.2.128/26') + ip4 = IPv4Network('192.0.2.192/26') + + _collapse_addresses_internal([ip1, ip2, ip3, ip4]) -> + [IPv4Network('192.0.2.0/24')] + + This shouldn't be called directly; it is called via + collapse_addresses([]). + + Args: + addresses: A list of IPv4Network's or IPv6Network's + + Returns: + A list of IPv4Network's or IPv6Network's depending on what we were + passed. + + """ + # First merge + to_merge = list(addresses) + subnets = {} + while to_merge: + net = to_merge.pop() + supernet = net.supernet() + existing = subnets.get(supernet) + if existing is None: + subnets[supernet] = net + elif existing != net: + # Merge consecutive subnets + del subnets[supernet] + to_merge.append(supernet) + # Then iterate over resulting networks, skipping subsumed subnets + last = None + for net in sorted(subnets.values()): + if last is not None: + # Since they are sorted, + # last.network_address <= net.network_address is a given. + if last.broadcast_address >= net.broadcast_address: + continue + yield net + last = net + + +def collapse_addresses(addresses): + """Collapse a list of IP objects. + + Example: + collapse_addresses([IPv4Network('192.0.2.0/25'), + IPv4Network('192.0.2.128/25')]) -> + [IPv4Network('192.0.2.0/24')] + + Args: + addresses: An iterator of IPv4Network or IPv6Network objects. + + Returns: + An iterator of the collapsed IPv(4|6)Network objects. + + Raises: + TypeError: If passed a list of mixed version objects. + + """ + addrs = [] + ips = [] + nets = [] + + # split IP addresses and networks + for ip in addresses: + if isinstance(ip, _BaseAddress): + if ips and ips[-1]._version != ip._version: + raise TypeError("%s and %s are not of the same version" % ( + ip, ips[-1])) + ips.append(ip) + elif ip._prefixlen == ip._max_prefixlen: + if ips and ips[-1]._version != ip._version: + raise TypeError("%s and %s are not of the same version" % ( + ip, ips[-1])) + try: + ips.append(ip.ip) + except AttributeError: + ips.append(ip.network_address) + else: + if nets and nets[-1]._version != ip._version: + raise TypeError("%s and %s are not of the same version" % ( + ip, nets[-1])) + nets.append(ip) + + # sort and dedup + ips = sorted(set(ips)) + + # find consecutive address ranges in the sorted sequence and summarize them + if ips: + for first, last in _find_address_range(ips): + addrs.extend(summarize_address_range(first, last)) + + return _collapse_addresses_internal(addrs + nets) + + +def get_mixed_type_key(obj): + """Return a key suitable for sorting between networks and addresses. + + Address and Network objects are not sortable by default; they're + fundamentally different so the expression + + IPv4Address('192.0.2.0') <= IPv4Network('192.0.2.0/24') + + doesn't make any sense. There are some times however, where you may wish + to have ipaddress sort these for you anyway. If you need to do this, you + can use this function as the key= argument to sorted(). + + Args: + obj: either a Network or Address object. + Returns: + appropriate key. + + """ + if isinstance(obj, _BaseNetwork): + return obj._get_networks_key() + elif isinstance(obj, _BaseAddress): + return obj._get_address_key() + return NotImplemented + + +class _IPAddressBase(_TotalOrderingMixin): + + """The mother class.""" + + __slots__ = () + + @property + def exploded(self): + """Return the longhand version of the IP address as a string.""" + return self._explode_shorthand_ip_string() + + @property + def compressed(self): + """Return the shorthand version of the IP address as a string.""" + return _compat_str(self) + + @property + def reverse_pointer(self): + """The name of the reverse DNS pointer for the IP address, e.g.: + >>> ipaddress.ip_address("127.0.0.1").reverse_pointer + '1.0.0.127.in-addr.arpa' + >>> ipaddress.ip_address("2001:db8::1").reverse_pointer + '1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa' + + """ + return self._reverse_pointer() + + @property + def version(self): + msg = '%200s has no version specified' % (type(self),) + raise NotImplementedError(msg) + + def _check_int_address(self, address): + if address < 0: + msg = "%d (< 0) is not permitted as an IPv%d address" + raise AddressValueError(msg % (address, self._version)) + if address > self._ALL_ONES: + msg = "%d (>= 2**%d) is not permitted as an IPv%d address" + raise AddressValueError(msg % (address, self._max_prefixlen, + self._version)) + + def _check_packed_address(self, address, expected_len): + address_len = len(address) + if address_len != expected_len: + msg = ( + '%r (len %d != %d) is not permitted as an IPv%d address. ' + 'Did you pass in a bytes (str in Python 2) instead of' + ' a unicode object?') + raise AddressValueError(msg % (address, address_len, + expected_len, self._version)) + + @classmethod + def _ip_int_from_prefix(cls, prefixlen): + """Turn the prefix length into a bitwise netmask + + Args: + prefixlen: An integer, the prefix length. + + Returns: + An integer. + + """ + return cls._ALL_ONES ^ (cls._ALL_ONES >> prefixlen) + + @classmethod + def _prefix_from_ip_int(cls, ip_int): + """Return prefix length from the bitwise netmask. + + Args: + ip_int: An integer, the netmask in expanded bitwise format + + Returns: + An integer, the prefix length. + + Raises: + ValueError: If the input intermingles zeroes & ones + """ + trailing_zeroes = _count_righthand_zero_bits(ip_int, + cls._max_prefixlen) + prefixlen = cls._max_prefixlen - trailing_zeroes + leading_ones = ip_int >> trailing_zeroes + all_ones = (1 << prefixlen) - 1 + if leading_ones != all_ones: + byteslen = cls._max_prefixlen // 8 + details = _compat_to_bytes(ip_int, byteslen, 'big') + msg = 'Netmask pattern %r mixes zeroes & ones' + raise ValueError(msg % details) + return prefixlen + + @classmethod + def _report_invalid_netmask(cls, netmask_str): + msg = '%r is not a valid netmask' % netmask_str + raise NetmaskValueError(msg) + + @classmethod + def _prefix_from_prefix_string(cls, prefixlen_str): + """Return prefix length from a numeric string + + Args: + prefixlen_str: The string to be converted + + Returns: + An integer, the prefix length. + + Raises: + NetmaskValueError: If the input is not a valid netmask + """ + # int allows a leading +/- as well as surrounding whitespace, + # so we ensure that isn't the case + if not _BaseV4._DECIMAL_DIGITS.issuperset(prefixlen_str): + cls._report_invalid_netmask(prefixlen_str) + try: + prefixlen = int(prefixlen_str) + except ValueError: + cls._report_invalid_netmask(prefixlen_str) + if not (0 <= prefixlen <= cls._max_prefixlen): + cls._report_invalid_netmask(prefixlen_str) + return prefixlen + + @classmethod + def _prefix_from_ip_string(cls, ip_str): + """Turn a netmask/hostmask string into a prefix length + + Args: + ip_str: The netmask/hostmask to be converted + + Returns: + An integer, the prefix length. + + Raises: + NetmaskValueError: If the input is not a valid netmask/hostmask + """ + # Parse the netmask/hostmask like an IP address. + try: + ip_int = cls._ip_int_from_string(ip_str) + except AddressValueError: + cls._report_invalid_netmask(ip_str) + + # Try matching a netmask (this would be /1*0*/ as a bitwise regexp). + # Note that the two ambiguous cases (all-ones and all-zeroes) are + # treated as netmasks. + try: + return cls._prefix_from_ip_int(ip_int) + except ValueError: + pass + + # Invert the bits, and try matching a /0+1+/ hostmask instead. + ip_int ^= cls._ALL_ONES + try: + return cls._prefix_from_ip_int(ip_int) + except ValueError: + cls._report_invalid_netmask(ip_str) + + def __reduce__(self): + return self.__class__, (_compat_str(self),) + + +class _BaseAddress(_IPAddressBase): + + """A generic IP object. + + This IP class contains the version independent methods which are + used by single IP addresses. + """ + + __slots__ = () + + def __int__(self): + return self._ip + + def __eq__(self, other): + try: + return (self._ip == other._ip and + self._version == other._version) + except AttributeError: + return NotImplemented + + def __lt__(self, other): + if not isinstance(other, _IPAddressBase): + return NotImplemented + if not isinstance(other, _BaseAddress): + raise TypeError('%s and %s are not of the same type' % ( + self, other)) + if self._version != other._version: + raise TypeError('%s and %s are not of the same version' % ( + self, other)) + if self._ip != other._ip: + return self._ip < other._ip + return False + + # Shorthand for Integer addition and subtraction. This is not + # meant to ever support addition/subtraction of addresses. + def __add__(self, other): + if not isinstance(other, _compat_int_types): + return NotImplemented + return self.__class__(int(self) + other) + + def __sub__(self, other): + if not isinstance(other, _compat_int_types): + return NotImplemented + return self.__class__(int(self) - other) + + def __repr__(self): + return '%s(%r)' % (self.__class__.__name__, _compat_str(self)) + + def __str__(self): + return _compat_str(self._string_from_ip_int(self._ip)) + + def __hash__(self): + return hash(hex(int(self._ip))) + + def _get_address_key(self): + return (self._version, self) + + def __reduce__(self): + return self.__class__, (self._ip,) + + +class _BaseNetwork(_IPAddressBase): + + """A generic IP network object. + + This IP class contains the version independent methods which are + used by networks. + + """ + def __init__(self, address): + self._cache = {} + + def __repr__(self): + return '%s(%r)' % (self.__class__.__name__, _compat_str(self)) + + def __str__(self): + return '%s/%d' % (self.network_address, self.prefixlen) + + def hosts(self): + """Generate Iterator over usable hosts in a network. + + This is like __iter__ except it doesn't return the network + or broadcast addresses. + + """ + network = int(self.network_address) + broadcast = int(self.broadcast_address) + for x in _compat_range(network + 1, broadcast): + yield self._address_class(x) + + def __iter__(self): + network = int(self.network_address) + broadcast = int(self.broadcast_address) + for x in _compat_range(network, broadcast + 1): + yield self._address_class(x) + + def __getitem__(self, n): + network = int(self.network_address) + broadcast = int(self.broadcast_address) + if n >= 0: + if network + n > broadcast: + raise IndexError('address out of range') + return self._address_class(network + n) + else: + n += 1 + if broadcast + n < network: + raise IndexError('address out of range') + return self._address_class(broadcast + n) + + def __lt__(self, other): + if not isinstance(other, _IPAddressBase): + return NotImplemented + if not isinstance(other, _BaseNetwork): + raise TypeError('%s and %s are not of the same type' % ( + self, other)) + if self._version != other._version: + raise TypeError('%s and %s are not of the same version' % ( + self, other)) + if self.network_address != other.network_address: + return self.network_address < other.network_address + if self.netmask != other.netmask: + return self.netmask < other.netmask + return False + + def __eq__(self, other): + try: + return (self._version == other._version and + self.network_address == other.network_address and + int(self.netmask) == int(other.netmask)) + except AttributeError: + return NotImplemented + + def __hash__(self): + return hash(int(self.network_address) ^ int(self.netmask)) + + def __contains__(self, other): + # always false if one is v4 and the other is v6. + if self._version != other._version: + return False + # dealing with another network. + if isinstance(other, _BaseNetwork): + return False + # dealing with another address + else: + # address + return (int(self.network_address) <= int(other._ip) <= + int(self.broadcast_address)) + + def overlaps(self, other): + """Tell if self is partly contained in other.""" + return self.network_address in other or ( + self.broadcast_address in other or ( + other.network_address in self or ( + other.broadcast_address in self))) + + @property + def broadcast_address(self): + x = self._cache.get('broadcast_address') + if x is None: + x = self._address_class(int(self.network_address) | + int(self.hostmask)) + self._cache['broadcast_address'] = x + return x + + @property + def hostmask(self): + x = self._cache.get('hostmask') + if x is None: + x = self._address_class(int(self.netmask) ^ self._ALL_ONES) + self._cache['hostmask'] = x + return x + + @property + def with_prefixlen(self): + return '%s/%d' % (self.network_address, self._prefixlen) + + @property + def with_netmask(self): + return '%s/%s' % (self.network_address, self.netmask) + + @property + def with_hostmask(self): + return '%s/%s' % (self.network_address, self.hostmask) + + @property + def num_addresses(self): + """Number of hosts in the current subnet.""" + return int(self.broadcast_address) - int(self.network_address) + 1 + + @property + def _address_class(self): + # Returning bare address objects (rather than interfaces) allows for + # more consistent behaviour across the network address, broadcast + # address and individual host addresses. + msg = '%200s has no associated address class' % (type(self),) + raise NotImplementedError(msg) + + @property + def prefixlen(self): + return self._prefixlen + + def address_exclude(self, other): + """Remove an address from a larger block. + + For example: + + addr1 = ip_network('192.0.2.0/28') + addr2 = ip_network('192.0.2.1/32') + list(addr1.address_exclude(addr2)) = + [IPv4Network('192.0.2.0/32'), IPv4Network('192.0.2.2/31'), + IPv4Network('192.0.2.4/30'), IPv4Network('192.0.2.8/29')] + + or IPv6: + + addr1 = ip_network('2001:db8::1/32') + addr2 = ip_network('2001:db8::1/128') + list(addr1.address_exclude(addr2)) = + [ip_network('2001:db8::1/128'), + ip_network('2001:db8::2/127'), + ip_network('2001:db8::4/126'), + ip_network('2001:db8::8/125'), + ... + ip_network('2001:db8:8000::/33')] + + Args: + other: An IPv4Network or IPv6Network object of the same type. + + Returns: + An iterator of the IPv(4|6)Network objects which is self + minus other. + + Raises: + TypeError: If self and other are of differing address + versions, or if other is not a network object. + ValueError: If other is not completely contained by self. + + """ + if not self._version == other._version: + raise TypeError("%s and %s are not of the same version" % ( + self, other)) + + if not isinstance(other, _BaseNetwork): + raise TypeError("%s is not a network object" % other) + + if not other.subnet_of(self): + raise ValueError('%s not contained in %s' % (other, self)) + if other == self: + return + + # Make sure we're comparing the network of other. + other = other.__class__('%s/%s' % (other.network_address, + other.prefixlen)) + + s1, s2 = self.subnets() + while s1 != other and s2 != other: + if other.subnet_of(s1): + yield s2 + s1, s2 = s1.subnets() + elif other.subnet_of(s2): + yield s1 + s1, s2 = s2.subnets() + else: + # If we got here, there's a bug somewhere. + raise AssertionError('Error performing exclusion: ' + 's1: %s s2: %s other: %s' % + (s1, s2, other)) + if s1 == other: + yield s2 + elif s2 == other: + yield s1 + else: + # If we got here, there's a bug somewhere. + raise AssertionError('Error performing exclusion: ' + 's1: %s s2: %s other: %s' % + (s1, s2, other)) + + def compare_networks(self, other): + """Compare two IP objects. + + This is only concerned about the comparison of the integer + representation of the network addresses. This means that the + host bits aren't considered at all in this method. If you want + to compare host bits, you can easily enough do a + 'HostA._ip < HostB._ip' + + Args: + other: An IP object. + + Returns: + If the IP versions of self and other are the same, returns: + + -1 if self < other: + eg: IPv4Network('192.0.2.0/25') < IPv4Network('192.0.2.128/25') + IPv6Network('2001:db8::1000/124') < + IPv6Network('2001:db8::2000/124') + 0 if self == other + eg: IPv4Network('192.0.2.0/24') == IPv4Network('192.0.2.0/24') + IPv6Network('2001:db8::1000/124') == + IPv6Network('2001:db8::1000/124') + 1 if self > other + eg: IPv4Network('192.0.2.128/25') > IPv4Network('192.0.2.0/25') + IPv6Network('2001:db8::2000/124') > + IPv6Network('2001:db8::1000/124') + + Raises: + TypeError if the IP versions are different. + + """ + # does this need to raise a ValueError? + if self._version != other._version: + raise TypeError('%s and %s are not of the same type' % ( + self, other)) + # self._version == other._version below here: + if self.network_address < other.network_address: + return -1 + if self.network_address > other.network_address: + return 1 + # self.network_address == other.network_address below here: + if self.netmask < other.netmask: + return -1 + if self.netmask > other.netmask: + return 1 + return 0 + + def _get_networks_key(self): + """Network-only key function. + + Returns an object that identifies this address' network and + netmask. This function is a suitable "key" argument for sorted() + and list.sort(). + + """ + return (self._version, self.network_address, self.netmask) + + def subnets(self, prefixlen_diff=1, new_prefix=None): + """The subnets which join to make the current subnet. + + In the case that self contains only one IP + (self._prefixlen == 32 for IPv4 or self._prefixlen == 128 + for IPv6), yield an iterator with just ourself. + + Args: + prefixlen_diff: An integer, the amount the prefix length + should be increased by. This should not be set if + new_prefix is also set. + new_prefix: The desired new prefix length. This must be a + larger number (smaller prefix) than the existing prefix. + This should not be set if prefixlen_diff is also set. + + Returns: + An iterator of IPv(4|6) objects. + + Raises: + ValueError: The prefixlen_diff is too small or too large. + OR + prefixlen_diff and new_prefix are both set or new_prefix + is a smaller number than the current prefix (smaller + number means a larger network) + + """ + if self._prefixlen == self._max_prefixlen: + yield self + return + + if new_prefix is not None: + if new_prefix < self._prefixlen: + raise ValueError('new prefix must be longer') + if prefixlen_diff != 1: + raise ValueError('cannot set prefixlen_diff and new_prefix') + prefixlen_diff = new_prefix - self._prefixlen + + if prefixlen_diff < 0: + raise ValueError('prefix length diff must be > 0') + new_prefixlen = self._prefixlen + prefixlen_diff + + if new_prefixlen > self._max_prefixlen: + raise ValueError( + 'prefix length diff %d is invalid for netblock %s' % ( + new_prefixlen, self)) + + start = int(self.network_address) + end = int(self.broadcast_address) + 1 + step = (int(self.hostmask) + 1) >> prefixlen_diff + for new_addr in _compat_range(start, end, step): + current = self.__class__((new_addr, new_prefixlen)) + yield current + + def supernet(self, prefixlen_diff=1, new_prefix=None): + """The supernet containing the current network. + + Args: + prefixlen_diff: An integer, the amount the prefix length of + the network should be decreased by. For example, given a + /24 network and a prefixlen_diff of 3, a supernet with a + /21 netmask is returned. + + Returns: + An IPv4 network object. + + Raises: + ValueError: If self.prefixlen - prefixlen_diff < 0. I.e., you have + a negative prefix length. + OR + If prefixlen_diff and new_prefix are both set or new_prefix is a + larger number than the current prefix (larger number means a + smaller network) + + """ + if self._prefixlen == 0: + return self + + if new_prefix is not None: + if new_prefix > self._prefixlen: + raise ValueError('new prefix must be shorter') + if prefixlen_diff != 1: + raise ValueError('cannot set prefixlen_diff and new_prefix') + prefixlen_diff = self._prefixlen - new_prefix + + new_prefixlen = self.prefixlen - prefixlen_diff + if new_prefixlen < 0: + raise ValueError( + 'current prefixlen is %d, cannot have a prefixlen_diff of %d' % + (self.prefixlen, prefixlen_diff)) + return self.__class__(( + int(self.network_address) & (int(self.netmask) << prefixlen_diff), + new_prefixlen)) + + @property + def is_multicast(self): + """Test if the address is reserved for multicast use. + + Returns: + A boolean, True if the address is a multicast address. + See RFC 2373 2.7 for details. + + """ + return (self.network_address.is_multicast and + self.broadcast_address.is_multicast) + + @staticmethod + def _is_subnet_of(a, b): + try: + # Always false if one is v4 and the other is v6. + if a._version != b._version: + raise TypeError("%s and %s are not of the same version" (a, b)) + return (b.network_address <= a.network_address and + b.broadcast_address >= a.broadcast_address) + except AttributeError: + raise TypeError("Unable to test subnet containment " + "between %s and %s" % (a, b)) + + def subnet_of(self, other): + """Return True if this network is a subnet of other.""" + return self._is_subnet_of(self, other) + + def supernet_of(self, other): + """Return True if this network is a supernet of other.""" + return self._is_subnet_of(other, self) + + @property + def is_reserved(self): + """Test if the address is otherwise IETF reserved. + + Returns: + A boolean, True if the address is within one of the + reserved IPv6 Network ranges. + + """ + return (self.network_address.is_reserved and + self.broadcast_address.is_reserved) + + @property + def is_link_local(self): + """Test if the address is reserved for link-local. + + Returns: + A boolean, True if the address is reserved per RFC 4291. + + """ + return (self.network_address.is_link_local and + self.broadcast_address.is_link_local) + + @property + def is_private(self): + """Test if this address is allocated for private networks. + + Returns: + A boolean, True if the address is reserved per + iana-ipv4-special-registry or iana-ipv6-special-registry. + + """ + return (self.network_address.is_private and + self.broadcast_address.is_private) + + @property + def is_global(self): + """Test if this address is allocated for public networks. + + Returns: + A boolean, True if the address is not reserved per + iana-ipv4-special-registry or iana-ipv6-special-registry. + + """ + return not self.is_private + + @property + def is_unspecified(self): + """Test if the address is unspecified. + + Returns: + A boolean, True if this is the unspecified address as defined in + RFC 2373 2.5.2. + + """ + return (self.network_address.is_unspecified and + self.broadcast_address.is_unspecified) + + @property + def is_loopback(self): + """Test if the address is a loopback address. + + Returns: + A boolean, True if the address is a loopback address as defined in + RFC 2373 2.5.3. + + """ + return (self.network_address.is_loopback and + self.broadcast_address.is_loopback) + + +class _BaseV4(object): + + """Base IPv4 object. + + The following methods are used by IPv4 objects in both single IP + addresses and networks. + + """ + + __slots__ = () + _version = 4 + # Equivalent to 255.255.255.255 or 32 bits of 1's. + _ALL_ONES = (2 ** IPV4LENGTH) - 1 + _DECIMAL_DIGITS = frozenset('0123456789') + + # the valid octets for host and netmasks. only useful for IPv4. + _valid_mask_octets = frozenset([255, 254, 252, 248, 240, 224, 192, 128, 0]) + + _max_prefixlen = IPV4LENGTH + # There are only a handful of valid v4 netmasks, so we cache them all + # when constructed (see _make_netmask()). + _netmask_cache = {} + + def _explode_shorthand_ip_string(self): + return _compat_str(self) + + @classmethod + def _make_netmask(cls, arg): + """Make a (netmask, prefix_len) tuple from the given argument. + + Argument can be: + - an integer (the prefix length) + - a string representing the prefix length (e.g. "24") + - a string representing the prefix netmask (e.g. "255.255.255.0") + """ + if arg not in cls._netmask_cache: + if isinstance(arg, _compat_int_types): + prefixlen = arg + else: + try: + # Check for a netmask in prefix length form + prefixlen = cls._prefix_from_prefix_string(arg) + except NetmaskValueError: + # Check for a netmask or hostmask in dotted-quad form. + # This may raise NetmaskValueError. + prefixlen = cls._prefix_from_ip_string(arg) + netmask = IPv4Address(cls._ip_int_from_prefix(prefixlen)) + cls._netmask_cache[arg] = netmask, prefixlen + return cls._netmask_cache[arg] + + @classmethod + def _ip_int_from_string(cls, ip_str): + """Turn the given IP string into an integer for comparison. + + Args: + ip_str: A string, the IP ip_str. + + Returns: + The IP ip_str as an integer. + + Raises: + AddressValueError: if ip_str isn't a valid IPv4 Address. + + """ + if not ip_str: + raise AddressValueError('Address cannot be empty') + + octets = ip_str.split('.') + if len(octets) != 4: + raise AddressValueError("Expected 4 octets in %r" % ip_str) + + try: + return _compat_int_from_byte_vals( + map(cls._parse_octet, octets), 'big') + except ValueError as exc: + raise AddressValueError("%s in %r" % (exc, ip_str)) + + @classmethod + def _parse_octet(cls, octet_str): + """Convert a decimal octet into an integer. + + Args: + octet_str: A string, the number to parse. + + Returns: + The octet as an integer. + + Raises: + ValueError: if the octet isn't strictly a decimal from [0..255]. + + """ + if not octet_str: + raise ValueError("Empty octet not permitted") + # Whitelist the characters, since int() allows a lot of bizarre stuff. + if not cls._DECIMAL_DIGITS.issuperset(octet_str): + msg = "Only decimal digits permitted in %r" + raise ValueError(msg % octet_str) + # We do the length check second, since the invalid character error + # is likely to be more informative for the user + if len(octet_str) > 3: + msg = "At most 3 characters permitted in %r" + raise ValueError(msg % octet_str) + # Convert to integer (we know digits are legal) + octet_int = int(octet_str, 10) + # Any octets that look like they *might* be written in octal, + # and which don't look exactly the same in both octal and + # decimal are rejected as ambiguous + if octet_int > 7 and octet_str[0] == '0': + msg = "Ambiguous (octal/decimal) value in %r not permitted" + raise ValueError(msg % octet_str) + if octet_int > 255: + raise ValueError("Octet %d (> 255) not permitted" % octet_int) + return octet_int + + @classmethod + def _string_from_ip_int(cls, ip_int): + """Turns a 32-bit integer into dotted decimal notation. + + Args: + ip_int: An integer, the IP address. + + Returns: + The IP address as a string in dotted decimal notation. + + """ + return '.'.join(_compat_str(struct.unpack(b'!B', b)[0] + if isinstance(b, bytes) + else b) + for b in _compat_to_bytes(ip_int, 4, 'big')) + + def _is_hostmask(self, ip_str): + """Test if the IP string is a hostmask (rather than a netmask). + + Args: + ip_str: A string, the potential hostmask. + + Returns: + A boolean, True if the IP string is a hostmask. + + """ + bits = ip_str.split('.') + try: + parts = [x for x in map(int, bits) if x in self._valid_mask_octets] + except ValueError: + return False + if len(parts) != len(bits): + return False + if parts[0] < parts[-1]: + return True + return False + + def _reverse_pointer(self): + """Return the reverse DNS pointer name for the IPv4 address. + + This implements the method described in RFC1035 3.5. + + """ + reverse_octets = _compat_str(self).split('.')[::-1] + return '.'.join(reverse_octets) + '.in-addr.arpa' + + @property + def max_prefixlen(self): + return self._max_prefixlen + + @property + def version(self): + return self._version + + +class IPv4Address(_BaseV4, _BaseAddress): + + """Represent and manipulate single IPv4 Addresses.""" + + __slots__ = ('_ip', '__weakref__') + + def __init__(self, address): + + """ + Args: + address: A string or integer representing the IP + + Additionally, an integer can be passed, so + IPv4Address('192.0.2.1') == IPv4Address(3221225985). + or, more generally + IPv4Address(int(IPv4Address('192.0.2.1'))) == + IPv4Address('192.0.2.1') + + Raises: + AddressValueError: If ipaddress isn't a valid IPv4 address. + + """ + # Efficient constructor from integer. + if isinstance(address, _compat_int_types): + self._check_int_address(address) + self._ip = address + return + + # Constructing from a packed address + if isinstance(address, bytes): + self._check_packed_address(address, 4) + bvs = _compat_bytes_to_byte_vals(address) + self._ip = _compat_int_from_byte_vals(bvs, 'big') + return + + # Assume input argument to be string or any object representation + # which converts into a formatted IP string. + addr_str = _compat_str(address) + if '/' in addr_str: + raise AddressValueError("Unexpected '/' in %r" % address) + self._ip = self._ip_int_from_string(addr_str) + + @property + def packed(self): + """The binary representation of this address.""" + return v4_int_to_packed(self._ip) + + @property + def is_reserved(self): + """Test if the address is otherwise IETF reserved. + + Returns: + A boolean, True if the address is within the + reserved IPv4 Network range. + + """ + return self in self._constants._reserved_network + + @property + def is_private(self): + """Test if this address is allocated for private networks. + + Returns: + A boolean, True if the address is reserved per + iana-ipv4-special-registry. + + """ + return any(self in net for net in self._constants._private_networks) + + @property + def is_global(self): + return ( + self not in self._constants._public_network and + not self.is_private) + + @property + def is_multicast(self): + """Test if the address is reserved for multicast use. + + Returns: + A boolean, True if the address is multicast. + See RFC 3171 for details. + + """ + return self in self._constants._multicast_network + + @property + def is_unspecified(self): + """Test if the address is unspecified. + + Returns: + A boolean, True if this is the unspecified address as defined in + RFC 5735 3. + + """ + return self == self._constants._unspecified_address + + @property + def is_loopback(self): + """Test if the address is a loopback address. + + Returns: + A boolean, True if the address is a loopback per RFC 3330. + + """ + return self in self._constants._loopback_network + + @property + def is_link_local(self): + """Test if the address is reserved for link-local. + + Returns: + A boolean, True if the address is link-local per RFC 3927. + + """ + return self in self._constants._linklocal_network + + +class IPv4Interface(IPv4Address): + + def __init__(self, address): + if isinstance(address, (bytes, _compat_int_types)): + IPv4Address.__init__(self, address) + self.network = IPv4Network(self._ip) + self._prefixlen = self._max_prefixlen + return + + if isinstance(address, tuple): + IPv4Address.__init__(self, address[0]) + if len(address) > 1: + self._prefixlen = int(address[1]) + else: + self._prefixlen = self._max_prefixlen + + self.network = IPv4Network(address, strict=False) + self.netmask = self.network.netmask + self.hostmask = self.network.hostmask + return + + addr = _split_optional_netmask(address) + IPv4Address.__init__(self, addr[0]) + + self.network = IPv4Network(address, strict=False) + self._prefixlen = self.network._prefixlen + + self.netmask = self.network.netmask + self.hostmask = self.network.hostmask + + def __str__(self): + return '%s/%d' % (self._string_from_ip_int(self._ip), + self.network.prefixlen) + + def __eq__(self, other): + address_equal = IPv4Address.__eq__(self, other) + if not address_equal or address_equal is NotImplemented: + return address_equal + try: + return self.network == other.network + except AttributeError: + # An interface with an associated network is NOT the + # same as an unassociated address. That's why the hash + # takes the extra info into account. + return False + + def __lt__(self, other): + address_less = IPv4Address.__lt__(self, other) + if address_less is NotImplemented: + return NotImplemented + try: + return (self.network < other.network or + self.network == other.network and address_less) + except AttributeError: + # We *do* allow addresses and interfaces to be sorted. The + # unassociated address is considered less than all interfaces. + return False + + def __hash__(self): + return self._ip ^ self._prefixlen ^ int(self.network.network_address) + + __reduce__ = _IPAddressBase.__reduce__ + + @property + def ip(self): + return IPv4Address(self._ip) + + @property + def with_prefixlen(self): + return '%s/%s' % (self._string_from_ip_int(self._ip), + self._prefixlen) + + @property + def with_netmask(self): + return '%s/%s' % (self._string_from_ip_int(self._ip), + self.netmask) + + @property + def with_hostmask(self): + return '%s/%s' % (self._string_from_ip_int(self._ip), + self.hostmask) + + +class IPv4Network(_BaseV4, _BaseNetwork): + + """This class represents and manipulates 32-bit IPv4 network + addresses.. + + Attributes: [examples for IPv4Network('192.0.2.0/27')] + .network_address: IPv4Address('192.0.2.0') + .hostmask: IPv4Address('0.0.0.31') + .broadcast_address: IPv4Address('192.0.2.32') + .netmask: IPv4Address('255.255.255.224') + .prefixlen: 27 + + """ + # Class to use when creating address objects + _address_class = IPv4Address + + def __init__(self, address, strict=True): + + """Instantiate a new IPv4 network object. + + Args: + address: A string or integer representing the IP [& network]. + '192.0.2.0/24' + '192.0.2.0/255.255.255.0' + '192.0.0.2/0.0.0.255' + are all functionally the same in IPv4. Similarly, + '192.0.2.1' + '192.0.2.1/255.255.255.255' + '192.0.2.1/32' + are also functionally equivalent. That is to say, failing to + provide a subnetmask will create an object with a mask of /32. + + If the mask (portion after the / in the argument) is given in + dotted quad form, it is treated as a netmask if it starts with a + non-zero field (e.g. /255.0.0.0 == /8) and as a hostmask if it + starts with a zero field (e.g. 0.255.255.255 == /8), with the + single exception of an all-zero mask which is treated as a + netmask == /0. If no mask is given, a default of /32 is used. + + Additionally, an integer can be passed, so + IPv4Network('192.0.2.1') == IPv4Network(3221225985) + or, more generally + IPv4Interface(int(IPv4Interface('192.0.2.1'))) == + IPv4Interface('192.0.2.1') + + Raises: + AddressValueError: If ipaddress isn't a valid IPv4 address. + NetmaskValueError: If the netmask isn't valid for + an IPv4 address. + ValueError: If strict is True and a network address is not + supplied. + + """ + _BaseNetwork.__init__(self, address) + + # Constructing from a packed address or integer + if isinstance(address, (_compat_int_types, bytes)): + self.network_address = IPv4Address(address) + self.netmask, self._prefixlen = self._make_netmask( + self._max_prefixlen) + # fixme: address/network test here. + return + + if isinstance(address, tuple): + if len(address) > 1: + arg = address[1] + else: + # We weren't given an address[1] + arg = self._max_prefixlen + self.network_address = IPv4Address(address[0]) + self.netmask, self._prefixlen = self._make_netmask(arg) + packed = int(self.network_address) + if packed & int(self.netmask) != packed: + if strict: + raise ValueError('%s has host bits set' % self) + else: + self.network_address = IPv4Address(packed & + int(self.netmask)) + return + + # Assume input argument to be string or any object representation + # which converts into a formatted IP prefix string. + addr = _split_optional_netmask(address) + self.network_address = IPv4Address(self._ip_int_from_string(addr[0])) + + if len(addr) == 2: + arg = addr[1] + else: + arg = self._max_prefixlen + self.netmask, self._prefixlen = self._make_netmask(arg) + + if strict: + if (IPv4Address(int(self.network_address) & int(self.netmask)) != + self.network_address): + raise ValueError('%s has host bits set' % self) + self.network_address = IPv4Address(int(self.network_address) & + int(self.netmask)) + + if self._prefixlen == (self._max_prefixlen - 1): + self.hosts = self.__iter__ + + @property + def is_global(self): + """Test if this address is allocated for public networks. + + Returns: + A boolean, True if the address is not reserved per + iana-ipv4-special-registry. + + """ + return (not (self.network_address in IPv4Network('100.64.0.0/10') and + self.broadcast_address in IPv4Network('100.64.0.0/10')) and + not self.is_private) + + +class _IPv4Constants(object): + + _linklocal_network = IPv4Network('169.254.0.0/16') + + _loopback_network = IPv4Network('127.0.0.0/8') + + _multicast_network = IPv4Network('224.0.0.0/4') + + _public_network = IPv4Network('100.64.0.0/10') + + _private_networks = [ + IPv4Network('0.0.0.0/8'), + IPv4Network('10.0.0.0/8'), + IPv4Network('127.0.0.0/8'), + IPv4Network('169.254.0.0/16'), + IPv4Network('172.16.0.0/12'), + IPv4Network('192.0.0.0/29'), + IPv4Network('192.0.0.170/31'), + IPv4Network('192.0.2.0/24'), + IPv4Network('192.168.0.0/16'), + IPv4Network('198.18.0.0/15'), + IPv4Network('198.51.100.0/24'), + IPv4Network('203.0.113.0/24'), + IPv4Network('240.0.0.0/4'), + IPv4Network('255.255.255.255/32'), + ] + + _reserved_network = IPv4Network('240.0.0.0/4') + + _unspecified_address = IPv4Address('0.0.0.0') + + +IPv4Address._constants = _IPv4Constants + + +class _BaseV6(object): + + """Base IPv6 object. + + The following methods are used by IPv6 objects in both single IP + addresses and networks. + + """ + + __slots__ = () + _version = 6 + _ALL_ONES = (2 ** IPV6LENGTH) - 1 + _HEXTET_COUNT = 8 + _HEX_DIGITS = frozenset('0123456789ABCDEFabcdef') + _max_prefixlen = IPV6LENGTH + + # There are only a bunch of valid v6 netmasks, so we cache them all + # when constructed (see _make_netmask()). + _netmask_cache = {} + + @classmethod + def _make_netmask(cls, arg): + """Make a (netmask, prefix_len) tuple from the given argument. + + Argument can be: + - an integer (the prefix length) + - a string representing the prefix length (e.g. "24") + - a string representing the prefix netmask (e.g. "255.255.255.0") + """ + if arg not in cls._netmask_cache: + if isinstance(arg, _compat_int_types): + prefixlen = arg + else: + prefixlen = cls._prefix_from_prefix_string(arg) + netmask = IPv6Address(cls._ip_int_from_prefix(prefixlen)) + cls._netmask_cache[arg] = netmask, prefixlen + return cls._netmask_cache[arg] + + @classmethod + def _ip_int_from_string(cls, ip_str): + """Turn an IPv6 ip_str into an integer. + + Args: + ip_str: A string, the IPv6 ip_str. + + Returns: + An int, the IPv6 address + + Raises: + AddressValueError: if ip_str isn't a valid IPv6 Address. + + """ + if not ip_str: + raise AddressValueError('Address cannot be empty') + + parts = ip_str.split(':') + + # An IPv6 address needs at least 2 colons (3 parts). + _min_parts = 3 + if len(parts) < _min_parts: + msg = "At least %d parts expected in %r" % (_min_parts, ip_str) + raise AddressValueError(msg) + + # If the address has an IPv4-style suffix, convert it to hexadecimal. + if '.' in parts[-1]: + try: + ipv4_int = IPv4Address(parts.pop())._ip + except AddressValueError as exc: + raise AddressValueError("%s in %r" % (exc, ip_str)) + parts.append('%x' % ((ipv4_int >> 16) & 0xFFFF)) + parts.append('%x' % (ipv4_int & 0xFFFF)) + + # An IPv6 address can't have more than 8 colons (9 parts). + # The extra colon comes from using the "::" notation for a single + # leading or trailing zero part. + _max_parts = cls._HEXTET_COUNT + 1 + if len(parts) > _max_parts: + msg = "At most %d colons permitted in %r" % ( + _max_parts - 1, ip_str) + raise AddressValueError(msg) + + # Disregarding the endpoints, find '::' with nothing in between. + # This indicates that a run of zeroes has been skipped. + skip_index = None + for i in _compat_range(1, len(parts) - 1): + if not parts[i]: + if skip_index is not None: + # Can't have more than one '::' + msg = "At most one '::' permitted in %r" % ip_str + raise AddressValueError(msg) + skip_index = i + + # parts_hi is the number of parts to copy from above/before the '::' + # parts_lo is the number of parts to copy from below/after the '::' + if skip_index is not None: + # If we found a '::', then check if it also covers the endpoints. + parts_hi = skip_index + parts_lo = len(parts) - skip_index - 1 + if not parts[0]: + parts_hi -= 1 + if parts_hi: + msg = "Leading ':' only permitted as part of '::' in %r" + raise AddressValueError(msg % ip_str) # ^: requires ^:: + if not parts[-1]: + parts_lo -= 1 + if parts_lo: + msg = "Trailing ':' only permitted as part of '::' in %r" + raise AddressValueError(msg % ip_str) # :$ requires ::$ + parts_skipped = cls._HEXTET_COUNT - (parts_hi + parts_lo) + if parts_skipped < 1: + msg = "Expected at most %d other parts with '::' in %r" + raise AddressValueError(msg % (cls._HEXTET_COUNT - 1, ip_str)) + else: + # Otherwise, allocate the entire address to parts_hi. The + # endpoints could still be empty, but _parse_hextet() will check + # for that. + if len(parts) != cls._HEXTET_COUNT: + msg = "Exactly %d parts expected without '::' in %r" + raise AddressValueError(msg % (cls._HEXTET_COUNT, ip_str)) + if not parts[0]: + msg = "Leading ':' only permitted as part of '::' in %r" + raise AddressValueError(msg % ip_str) # ^: requires ^:: + if not parts[-1]: + msg = "Trailing ':' only permitted as part of '::' in %r" + raise AddressValueError(msg % ip_str) # :$ requires ::$ + parts_hi = len(parts) + parts_lo = 0 + parts_skipped = 0 + + try: + # Now, parse the hextets into a 128-bit integer. + ip_int = 0 + for i in range(parts_hi): + ip_int <<= 16 + ip_int |= cls._parse_hextet(parts[i]) + ip_int <<= 16 * parts_skipped + for i in range(-parts_lo, 0): + ip_int <<= 16 + ip_int |= cls._parse_hextet(parts[i]) + return ip_int + except ValueError as exc: + raise AddressValueError("%s in %r" % (exc, ip_str)) + + @classmethod + def _parse_hextet(cls, hextet_str): + """Convert an IPv6 hextet string into an integer. + + Args: + hextet_str: A string, the number to parse. + + Returns: + The hextet as an integer. + + Raises: + ValueError: if the input isn't strictly a hex number from + [0..FFFF]. + + """ + # Whitelist the characters, since int() allows a lot of bizarre stuff. + if not cls._HEX_DIGITS.issuperset(hextet_str): + raise ValueError("Only hex digits permitted in %r" % hextet_str) + # We do the length check second, since the invalid character error + # is likely to be more informative for the user + if len(hextet_str) > 4: + msg = "At most 4 characters permitted in %r" + raise ValueError(msg % hextet_str) + # Length check means we can skip checking the integer value + return int(hextet_str, 16) + + @classmethod + def _compress_hextets(cls, hextets): + """Compresses a list of hextets. + + Compresses a list of strings, replacing the longest continuous + sequence of "0" in the list with "" and adding empty strings at + the beginning or at the end of the string such that subsequently + calling ":".join(hextets) will produce the compressed version of + the IPv6 address. + + Args: + hextets: A list of strings, the hextets to compress. + + Returns: + A list of strings. + + """ + best_doublecolon_start = -1 + best_doublecolon_len = 0 + doublecolon_start = -1 + doublecolon_len = 0 + for index, hextet in enumerate(hextets): + if hextet == '0': + doublecolon_len += 1 + if doublecolon_start == -1: + # Start of a sequence of zeros. + doublecolon_start = index + if doublecolon_len > best_doublecolon_len: + # This is the longest sequence of zeros so far. + best_doublecolon_len = doublecolon_len + best_doublecolon_start = doublecolon_start + else: + doublecolon_len = 0 + doublecolon_start = -1 + + if best_doublecolon_len > 1: + best_doublecolon_end = (best_doublecolon_start + + best_doublecolon_len) + # For zeros at the end of the address. + if best_doublecolon_end == len(hextets): + hextets += [''] + hextets[best_doublecolon_start:best_doublecolon_end] = [''] + # For zeros at the beginning of the address. + if best_doublecolon_start == 0: + hextets = [''] + hextets + + return hextets + + @classmethod + def _string_from_ip_int(cls, ip_int=None): + """Turns a 128-bit integer into hexadecimal notation. + + Args: + ip_int: An integer, the IP address. + + Returns: + A string, the hexadecimal representation of the address. + + Raises: + ValueError: The address is bigger than 128 bits of all ones. + + """ + if ip_int is None: + ip_int = int(cls._ip) + + if ip_int > cls._ALL_ONES: + raise ValueError('IPv6 address is too large') + + hex_str = '%032x' % ip_int + hextets = ['%x' % int(hex_str[x:x + 4], 16) for x in range(0, 32, 4)] + + hextets = cls._compress_hextets(hextets) + return ':'.join(hextets) + + def _explode_shorthand_ip_string(self): + """Expand a shortened IPv6 address. + + Args: + ip_str: A string, the IPv6 address. + + Returns: + A string, the expanded IPv6 address. + + """ + if isinstance(self, IPv6Network): + ip_str = _compat_str(self.network_address) + elif isinstance(self, IPv6Interface): + ip_str = _compat_str(self.ip) + else: + ip_str = _compat_str(self) + + ip_int = self._ip_int_from_string(ip_str) + hex_str = '%032x' % ip_int + parts = [hex_str[x:x + 4] for x in range(0, 32, 4)] + if isinstance(self, (_BaseNetwork, IPv6Interface)): + return '%s/%d' % (':'.join(parts), self._prefixlen) + return ':'.join(parts) + + def _reverse_pointer(self): + """Return the reverse DNS pointer name for the IPv6 address. + + This implements the method described in RFC3596 2.5. + + """ + reverse_chars = self.exploded[::-1].replace(':', '') + return '.'.join(reverse_chars) + '.ip6.arpa' + + @property + def max_prefixlen(self): + return self._max_prefixlen + + @property + def version(self): + return self._version + + +class IPv6Address(_BaseV6, _BaseAddress): + + """Represent and manipulate single IPv6 Addresses.""" + + __slots__ = ('_ip', '__weakref__') + + def __init__(self, address): + """Instantiate a new IPv6 address object. + + Args: + address: A string or integer representing the IP + + Additionally, an integer can be passed, so + IPv6Address('2001:db8::') == + IPv6Address(42540766411282592856903984951653826560) + or, more generally + IPv6Address(int(IPv6Address('2001:db8::'))) == + IPv6Address('2001:db8::') + + Raises: + AddressValueError: If address isn't a valid IPv6 address. + + """ + # Efficient constructor from integer. + if isinstance(address, _compat_int_types): + self._check_int_address(address) + self._ip = address + return + + # Constructing from a packed address + if isinstance(address, bytes): + self._check_packed_address(address, 16) + bvs = _compat_bytes_to_byte_vals(address) + self._ip = _compat_int_from_byte_vals(bvs, 'big') + return + + # Assume input argument to be string or any object representation + # which converts into a formatted IP string. + addr_str = _compat_str(address) + if '/' in addr_str: + raise AddressValueError("Unexpected '/' in %r" % address) + self._ip = self._ip_int_from_string(addr_str) + + @property + def packed(self): + """The binary representation of this address.""" + return v6_int_to_packed(self._ip) + + @property + def is_multicast(self): + """Test if the address is reserved for multicast use. + + Returns: + A boolean, True if the address is a multicast address. + See RFC 2373 2.7 for details. + + """ + return self in self._constants._multicast_network + + @property + def is_reserved(self): + """Test if the address is otherwise IETF reserved. + + Returns: + A boolean, True if the address is within one of the + reserved IPv6 Network ranges. + + """ + return any(self in x for x in self._constants._reserved_networks) + + @property + def is_link_local(self): + """Test if the address is reserved for link-local. + + Returns: + A boolean, True if the address is reserved per RFC 4291. + + """ + return self in self._constants._linklocal_network + + @property + def is_site_local(self): + """Test if the address is reserved for site-local. + + Note that the site-local address space has been deprecated by RFC 3879. + Use is_private to test if this address is in the space of unique local + addresses as defined by RFC 4193. + + Returns: + A boolean, True if the address is reserved per RFC 3513 2.5.6. + + """ + return self in self._constants._sitelocal_network + + @property + def is_private(self): + """Test if this address is allocated for private networks. + + Returns: + A boolean, True if the address is reserved per + iana-ipv6-special-registry. + + """ + return any(self in net for net in self._constants._private_networks) + + @property + def is_global(self): + """Test if this address is allocated for public networks. + + Returns: + A boolean, true if the address is not reserved per + iana-ipv6-special-registry. + + """ + return not self.is_private + + @property + def is_unspecified(self): + """Test if the address is unspecified. + + Returns: + A boolean, True if this is the unspecified address as defined in + RFC 2373 2.5.2. + + """ + return self._ip == 0 + + @property + def is_loopback(self): + """Test if the address is a loopback address. + + Returns: + A boolean, True if the address is a loopback address as defined in + RFC 2373 2.5.3. + + """ + return self._ip == 1 + + @property + def ipv4_mapped(self): + """Return the IPv4 mapped address. + + Returns: + If the IPv6 address is a v4 mapped address, return the + IPv4 mapped address. Return None otherwise. + + """ + if (self._ip >> 32) != 0xFFFF: + return None + return IPv4Address(self._ip & 0xFFFFFFFF) + + @property + def teredo(self): + """Tuple of embedded teredo IPs. + + Returns: + Tuple of the (server, client) IPs or None if the address + doesn't appear to be a teredo address (doesn't start with + 2001::/32) + + """ + if (self._ip >> 96) != 0x20010000: + return None + return (IPv4Address((self._ip >> 64) & 0xFFFFFFFF), + IPv4Address(~self._ip & 0xFFFFFFFF)) + + @property + def sixtofour(self): + """Return the IPv4 6to4 embedded address. + + Returns: + The IPv4 6to4-embedded address if present or None if the + address doesn't appear to contain a 6to4 embedded address. + + """ + if (self._ip >> 112) != 0x2002: + return None + return IPv4Address((self._ip >> 80) & 0xFFFFFFFF) + + +class IPv6Interface(IPv6Address): + + def __init__(self, address): + if isinstance(address, (bytes, _compat_int_types)): + IPv6Address.__init__(self, address) + self.network = IPv6Network(self._ip) + self._prefixlen = self._max_prefixlen + return + if isinstance(address, tuple): + IPv6Address.__init__(self, address[0]) + if len(address) > 1: + self._prefixlen = int(address[1]) + else: + self._prefixlen = self._max_prefixlen + self.network = IPv6Network(address, strict=False) + self.netmask = self.network.netmask + self.hostmask = self.network.hostmask + return + + addr = _split_optional_netmask(address) + IPv6Address.__init__(self, addr[0]) + self.network = IPv6Network(address, strict=False) + self.netmask = self.network.netmask + self._prefixlen = self.network._prefixlen + self.hostmask = self.network.hostmask + + def __str__(self): + return '%s/%d' % (self._string_from_ip_int(self._ip), + self.network.prefixlen) + + def __eq__(self, other): + address_equal = IPv6Address.__eq__(self, other) + if not address_equal or address_equal is NotImplemented: + return address_equal + try: + return self.network == other.network + except AttributeError: + # An interface with an associated network is NOT the + # same as an unassociated address. That's why the hash + # takes the extra info into account. + return False + + def __lt__(self, other): + address_less = IPv6Address.__lt__(self, other) + if address_less is NotImplemented: + return NotImplemented + try: + return (self.network < other.network or + self.network == other.network and address_less) + except AttributeError: + # We *do* allow addresses and interfaces to be sorted. The + # unassociated address is considered less than all interfaces. + return False + + def __hash__(self): + return self._ip ^ self._prefixlen ^ int(self.network.network_address) + + __reduce__ = _IPAddressBase.__reduce__ + + @property + def ip(self): + return IPv6Address(self._ip) + + @property + def with_prefixlen(self): + return '%s/%s' % (self._string_from_ip_int(self._ip), + self._prefixlen) + + @property + def with_netmask(self): + return '%s/%s' % (self._string_from_ip_int(self._ip), + self.netmask) + + @property + def with_hostmask(self): + return '%s/%s' % (self._string_from_ip_int(self._ip), + self.hostmask) + + @property + def is_unspecified(self): + return self._ip == 0 and self.network.is_unspecified + + @property + def is_loopback(self): + return self._ip == 1 and self.network.is_loopback + + +class IPv6Network(_BaseV6, _BaseNetwork): + + """This class represents and manipulates 128-bit IPv6 networks. + + Attributes: [examples for IPv6('2001:db8::1000/124')] + .network_address: IPv6Address('2001:db8::1000') + .hostmask: IPv6Address('::f') + .broadcast_address: IPv6Address('2001:db8::100f') + .netmask: IPv6Address('ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0') + .prefixlen: 124 + + """ + + # Class to use when creating address objects + _address_class = IPv6Address + + def __init__(self, address, strict=True): + """Instantiate a new IPv6 Network object. + + Args: + address: A string or integer representing the IPv6 network or the + IP and prefix/netmask. + '2001:db8::/128' + '2001:db8:0000:0000:0000:0000:0000:0000/128' + '2001:db8::' + are all functionally the same in IPv6. That is to say, + failing to provide a subnetmask will create an object with + a mask of /128. + + Additionally, an integer can be passed, so + IPv6Network('2001:db8::') == + IPv6Network(42540766411282592856903984951653826560) + or, more generally + IPv6Network(int(IPv6Network('2001:db8::'))) == + IPv6Network('2001:db8::') + + strict: A boolean. If true, ensure that we have been passed + A true network address, eg, 2001:db8::1000/124 and not an + IP address on a network, eg, 2001:db8::1/124. + + Raises: + AddressValueError: If address isn't a valid IPv6 address. + NetmaskValueError: If the netmask isn't valid for + an IPv6 address. + ValueError: If strict was True and a network address was not + supplied. + + """ + _BaseNetwork.__init__(self, address) + + # Efficient constructor from integer or packed address + if isinstance(address, (bytes, _compat_int_types)): + self.network_address = IPv6Address(address) + self.netmask, self._prefixlen = self._make_netmask( + self._max_prefixlen) + return + + if isinstance(address, tuple): + if len(address) > 1: + arg = address[1] + else: + arg = self._max_prefixlen + self.netmask, self._prefixlen = self._make_netmask(arg) + self.network_address = IPv6Address(address[0]) + packed = int(self.network_address) + if packed & int(self.netmask) != packed: + if strict: + raise ValueError('%s has host bits set' % self) + else: + self.network_address = IPv6Address(packed & + int(self.netmask)) + return + + # Assume input argument to be string or any object representation + # which converts into a formatted IP prefix string. + addr = _split_optional_netmask(address) + + self.network_address = IPv6Address(self._ip_int_from_string(addr[0])) + + if len(addr) == 2: + arg = addr[1] + else: + arg = self._max_prefixlen + self.netmask, self._prefixlen = self._make_netmask(arg) + + if strict: + if (IPv6Address(int(self.network_address) & int(self.netmask)) != + self.network_address): + raise ValueError('%s has host bits set' % self) + self.network_address = IPv6Address(int(self.network_address) & + int(self.netmask)) + + if self._prefixlen == (self._max_prefixlen - 1): + self.hosts = self.__iter__ + + def hosts(self): + """Generate Iterator over usable hosts in a network. + + This is like __iter__ except it doesn't return the + Subnet-Router anycast address. + + """ + network = int(self.network_address) + broadcast = int(self.broadcast_address) + for x in _compat_range(network + 1, broadcast + 1): + yield self._address_class(x) + + @property + def is_site_local(self): + """Test if the address is reserved for site-local. + + Note that the site-local address space has been deprecated by RFC 3879. + Use is_private to test if this address is in the space of unique local + addresses as defined by RFC 4193. + + Returns: + A boolean, True if the address is reserved per RFC 3513 2.5.6. + + """ + return (self.network_address.is_site_local and + self.broadcast_address.is_site_local) + + +class _IPv6Constants(object): + + _linklocal_network = IPv6Network('fe80::/10') + + _multicast_network = IPv6Network('ff00::/8') + + _private_networks = [ + IPv6Network('::1/128'), + IPv6Network('::/128'), + IPv6Network('::ffff:0:0/96'), + IPv6Network('100::/64'), + IPv6Network('2001::/23'), + IPv6Network('2001:2::/48'), + IPv6Network('2001:db8::/32'), + IPv6Network('2001:10::/28'), + IPv6Network('fc00::/7'), + IPv6Network('fe80::/10'), + ] + + _reserved_networks = [ + IPv6Network('::/8'), IPv6Network('100::/8'), + IPv6Network('200::/7'), IPv6Network('400::/6'), + IPv6Network('800::/5'), IPv6Network('1000::/4'), + IPv6Network('4000::/3'), IPv6Network('6000::/3'), + IPv6Network('8000::/3'), IPv6Network('A000::/3'), + IPv6Network('C000::/3'), IPv6Network('E000::/4'), + IPv6Network('F000::/5'), IPv6Network('F800::/6'), + IPv6Network('FE00::/9'), + ] + + _sitelocal_network = IPv6Network('fec0::/10') + + +IPv6Address._constants = _IPv6Constants diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/__init__.py new file mode 100644 index 0000000..a6f44a5 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/__init__.py @@ -0,0 +1,347 @@ +# -*- coding: utf-8 -*- + +""" +lockfile.py - Platform-independent advisory file locks. + +Requires Python 2.5 unless you apply 2.4.diff +Locking is done on a per-thread basis instead of a per-process basis. + +Usage: + +>>> lock = LockFile('somefile') +>>> try: +... lock.acquire() +... except AlreadyLocked: +... print 'somefile', 'is locked already.' +... except LockFailed: +... print 'somefile', 'can\\'t be locked.' +... else: +... print 'got lock' +got lock +>>> print lock.is_locked() +True +>>> lock.release() + +>>> lock = LockFile('somefile') +>>> print lock.is_locked() +False +>>> with lock: +... print lock.is_locked() +True +>>> print lock.is_locked() +False + +>>> lock = LockFile('somefile') +>>> # It is okay to lock twice from the same thread... +>>> with lock: +... lock.acquire() +... +>>> # Though no counter is kept, so you can't unlock multiple times... +>>> print lock.is_locked() +False + +Exceptions: + + Error - base class for other exceptions + LockError - base class for all locking exceptions + AlreadyLocked - Another thread or process already holds the lock + LockFailed - Lock failed for some other reason + UnlockError - base class for all unlocking exceptions + AlreadyUnlocked - File was not locked. + NotMyLock - File was locked but not by the current thread/process +""" + +from __future__ import absolute_import + +import functools +import os +import socket +import threading +import warnings + +# Work with PEP8 and non-PEP8 versions of threading module. +if not hasattr(threading, "current_thread"): + threading.current_thread = threading.currentThread +if not hasattr(threading.Thread, "get_name"): + threading.Thread.get_name = threading.Thread.getName + +__all__ = ['Error', 'LockError', 'LockTimeout', 'AlreadyLocked', + 'LockFailed', 'UnlockError', 'NotLocked', 'NotMyLock', + 'LinkFileLock', 'MkdirFileLock', 'SQLiteFileLock', + 'LockBase', 'locked'] + + +class Error(Exception): + """ + Base class for other exceptions. + + >>> try: + ... raise Error + ... except Exception: + ... pass + """ + pass + + +class LockError(Error): + """ + Base class for error arising from attempts to acquire the lock. + + >>> try: + ... raise LockError + ... except Error: + ... pass + """ + pass + + +class LockTimeout(LockError): + """Raised when lock creation fails within a user-defined period of time. + + >>> try: + ... raise LockTimeout + ... except LockError: + ... pass + """ + pass + + +class AlreadyLocked(LockError): + """Some other thread/process is locking the file. + + >>> try: + ... raise AlreadyLocked + ... except LockError: + ... pass + """ + pass + + +class LockFailed(LockError): + """Lock file creation failed for some other reason. + + >>> try: + ... raise LockFailed + ... except LockError: + ... pass + """ + pass + + +class UnlockError(Error): + """ + Base class for errors arising from attempts to release the lock. + + >>> try: + ... raise UnlockError + ... except Error: + ... pass + """ + pass + + +class NotLocked(UnlockError): + """Raised when an attempt is made to unlock an unlocked file. + + >>> try: + ... raise NotLocked + ... except UnlockError: + ... pass + """ + pass + + +class NotMyLock(UnlockError): + """Raised when an attempt is made to unlock a file someone else locked. + + >>> try: + ... raise NotMyLock + ... except UnlockError: + ... pass + """ + pass + + +class _SharedBase(object): + def __init__(self, path): + self.path = path + + def acquire(self, timeout=None): + """ + Acquire the lock. + + * If timeout is omitted (or None), wait forever trying to lock the + file. + + * If timeout > 0, try to acquire the lock for that many seconds. If + the lock period expires and the file is still locked, raise + LockTimeout. + + * If timeout <= 0, raise AlreadyLocked immediately if the file is + already locked. + """ + raise NotImplemented("implement in subclass") + + def release(self): + """ + Release the lock. + + If the file is not locked, raise NotLocked. + """ + raise NotImplemented("implement in subclass") + + def __enter__(self): + """ + Context manager support. + """ + self.acquire() + return self + + def __exit__(self, *_exc): + """ + Context manager support. + """ + self.release() + + def __repr__(self): + return "<%s: %r>" % (self.__class__.__name__, self.path) + + +class LockBase(_SharedBase): + """Base class for platform-specific lock classes.""" + def __init__(self, path, threaded=True, timeout=None): + """ + >>> lock = LockBase('somefile') + >>> lock = LockBase('somefile', threaded=False) + """ + super(LockBase, self).__init__(path) + self.lock_file = os.path.abspath(path) + ".lock" + self.hostname = socket.gethostname() + self.pid = os.getpid() + if threaded: + t = threading.current_thread() + # Thread objects in Python 2.4 and earlier do not have ident + # attrs. Worm around that. + ident = getattr(t, "ident", hash(t)) + self.tname = "-%x" % (ident & 0xffffffff) + else: + self.tname = "" + dirname = os.path.dirname(self.lock_file) + + # unique name is mostly about the current process, but must + # also contain the path -- otherwise, two adjacent locked + # files conflict (one file gets locked, creating lock-file and + # unique file, the other one gets locked, creating lock-file + # and overwriting the already existing lock-file, then one + # gets unlocked, deleting both lock-file and unique file, + # finally the last lock errors out upon releasing. + self.unique_name = os.path.join(dirname, + "%s%s.%s%s" % (self.hostname, + self.tname, + self.pid, + hash(self.path))) + self.timeout = timeout + + def is_locked(self): + """ + Tell whether or not the file is locked. + """ + raise NotImplemented("implement in subclass") + + def i_am_locking(self): + """ + Return True if this object is locking the file. + """ + raise NotImplemented("implement in subclass") + + def break_lock(self): + """ + Remove a lock. Useful if a locking thread failed to unlock. + """ + raise NotImplemented("implement in subclass") + + def __repr__(self): + return "<%s: %r -- %r>" % (self.__class__.__name__, self.unique_name, + self.path) + + +def _fl_helper(cls, mod, *args, **kwds): + warnings.warn("Import from %s module instead of lockfile package" % mod, + DeprecationWarning, stacklevel=2) + # This is a bit funky, but it's only for awhile. The way the unit tests + # are constructed this function winds up as an unbound method, so it + # actually takes three args, not two. We want to toss out self. + if not isinstance(args[0], str): + # We are testing, avoid the first arg + args = args[1:] + if len(args) == 1 and not kwds: + kwds["threaded"] = True + return cls(*args, **kwds) + + +def LinkFileLock(*args, **kwds): + """Factory function provided for backwards compatibility. + + Do not use in new code. Instead, import LinkLockFile from the + lockfile.linklockfile module. + """ + from . import linklockfile + return _fl_helper(linklockfile.LinkLockFile, "lockfile.linklockfile", + *args, **kwds) + + +def MkdirFileLock(*args, **kwds): + """Factory function provided for backwards compatibility. + + Do not use in new code. Instead, import MkdirLockFile from the + lockfile.mkdirlockfile module. + """ + from . import mkdirlockfile + return _fl_helper(mkdirlockfile.MkdirLockFile, "lockfile.mkdirlockfile", + *args, **kwds) + + +def SQLiteFileLock(*args, **kwds): + """Factory function provided for backwards compatibility. + + Do not use in new code. Instead, import SQLiteLockFile from the + lockfile.mkdirlockfile module. + """ + from . import sqlitelockfile + return _fl_helper(sqlitelockfile.SQLiteLockFile, "lockfile.sqlitelockfile", + *args, **kwds) + + +def locked(path, timeout=None): + """Decorator which enables locks for decorated function. + + Arguments: + - path: path for lockfile. + - timeout (optional): Timeout for acquiring lock. + + Usage: + @locked('/var/run/myname', timeout=0) + def myname(...): + ... + """ + def decor(func): + @functools.wraps(func) + def wrapper(*args, **kwargs): + lock = FileLock(path, timeout=timeout) + lock.acquire() + try: + return func(*args, **kwargs) + finally: + lock.release() + return wrapper + return decor + + +if hasattr(os, "link"): + from . import linklockfile as _llf + LockFile = _llf.LinkLockFile +else: + from . import mkdirlockfile as _mlf + LockFile = _mlf.MkdirLockFile + +FileLock = LockFile diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..631853173a6f2dce5b03a97553232976c86d1d10 GIT binary patch literal 9935 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 M79&j?OjWl24~nXy&Hw-a literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/__pycache__/linklockfile.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/__pycache__/linklockfile.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7e3f1635c0555eac43655c638ba4c5304e66e0f7 GIT binary patch literal 2314 zcma)7OOMn>5bm};w#Pd=EHENG@^A>Rkzj@d0!kDXLK09UGOV;w01L_Tx_fu+@ng2T z2bj@v$#BbsLoSJw9}p?0-11j^O)h)om`hUC9>Ol#M6uM>)m_z9)m2}YFD)*5bmy;! z4?RMDC%Zli_!}_f3J^vZ%}7oIN|84*BQW%A1|~C^m05WsXykTa=T6|{Zs6w4pqYDt zN6Br%8q9u1n9UnAGgx58D(N~qV3l-fbs$=kWj0nkO!84F)L@6Az^>doWjwqYNnUx# z-HMWov#L2L6)xxOR})-R3rN3Ca$b&AwfJc!c*L}Xvl#un{7hhOz>psU;Uu7pz&$A3 zVG(cfj0RR6YtUd0bDxpGW=-b7?63vag4xy4x2x8jq!{YBAgt+6$oWwmb18jQ`jNj5 z+x}Q4#fBfLGEZWEB+3yNYT}pceg=onebDWBo)6#h^0J?yfouM5tLM(jGUsUMZ1;ca zo%huy-kq~+x1vn)`rIHk;JWx>O%KEP42C=jiJo*6*(NDvbY`T+j8Jlq6elgB%%LZ) zP*_u<EM}n25i+CS(g&n4?vriE+^{J=-=>8Hvc^-Y?9`r-r^Z~8!fXyLk#57zRoH*> zEBJC!7cIeP&J6AAd+_BAz2{VP=H8ri0d;0HZ9O%&p(;Z|{KClUOP?=lPum7qe*qR3 zYi){h^!SHrvj*%PsN*f#YKhse)^Pe@9V7VkfOAfe=XBI!?hLT~fNW*=0pY7K-_vuq zIjD@sYtzH)8h}{c7*edbe_9HJ>JBD%dS;G3|8bNktU96~-Wn%@*R@?Q1)P|6PD?+L zepEwLi#XeXw?{U9`~kn;u6GYr7C@z_7RE)gHRfRv<-BUdSqX2!`SR`;LX<)@;7H}D zIp!^7Dx;K@h1jZ^h^G*-Q#p56^@+-oDpHjzRaj^pd#q>Sq9tn-0d$(kHe|;6sB6Ii zo~?^Ruot+zU?KVlY<)=nOvKwD`18B|CV;e`CmUm)UH<S&e`OMHMj~GkWy)hEVXZdH z;+vJhZOGZ<XwrYgi%0z|S?iCq<WlcSUnYuQ7)9|g+TgN3N=6sn|EPDdcj>}t0^%Ou z*uc$x2uE2d`gk|I8dxcYFBiShq;lpNKM0Y@i$Dl9Xot3G$2de?x<p+AKG<0@+SD~I zvqM|3Zy7Daq8>eEPCL6FU~g_N#xmoFGqw=@e6TG7tjLVWqY54n@Wvc+Zz?l2QvEPy zR9;rLen4|6$Q;mZAl&A>h8}{hYYwJMHA0F~&CxMEQSabQIXmyKjg^nmwTYkeZnJ78 zGOT67hM2?&Bpo1?&7UMvNpS#o93;n)90Ag$;w|K{h&6c!xXKYc<Ir=j!a}xy5S_O+ z<gi6w%g$VNPj>Jv=<KwCQSgjYY#ru|!rkbgYw5V^2v35>e}p351^IOtQa3L;J+h}X z|J-?h_vheXU7Yfaf*?{8R@RK_6?O;UQ=8Et{)>!(z^is0?ep~zb@GmaTpUBC{qxpJ z!YJ2OfVY1W^dy!7lh>xxV|ydtrMZ9bSd-nk6USkNXo5WA@3+on<MlwXth&Je5~H^U zeQT(LybY=ne+C5Odt*<0ue7jY&B_gR0}8{+3&Xr*<BS8}3d5~&lwoUvl@o@njKfg) zU{bt?1j{E*AvulY70xt=U=!H&aA=^p4a@M(xUOru4K3-m(Bb-6jRm+6hysECt{U1z mVEDQV)~MI;##W}An6|K=)5`s%zQZy;W{C${h6|0sxBdoR3n$M2 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/__pycache__/mkdirlockfile.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/__pycache__/mkdirlockfile.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cb63a1ee851902110d402a00d9290fb81c716468 GIT binary patch literal 2676 zcmb7F&2Jk;6rb4-d%d<3H%;60<FG=c#n9NLDMd&$w9pR~wI)&`S}f3N<C!FD?}sz9 zZez>2;2t?~qyGVa0upEbf}ZAt#Hm+~T;RP~yZKNq%xd1e**72W<M-aIR;w<3`|tNl z6+-?ZN16rvUFeblVT93$#I#Lgqis-}8<E*I^=P#%J=$$skA-%DnaqlcvD0?qQo9tp zZ8t8r%W<V$iL31@C65TRS>Y971@27D_8c=dNWJ(LZX$I<%?DdDjRqO_!?>S{OgSuk z5y~)4T5l;XDJbVj+Ub26NUmJu9tL5=nJTr?45w4}=@2KXjC3=Mc{<2c^<E@+z_f(3 z4&FFxCNOuQ%lkk$X;Vhp2BTnQjakfoMZwN9tiX!E+00?3R|G6|SsBJ6tFS7J4x3~1 zFqW7J7A>gi(;f?jRuMEDy@#B)4Xn2{^g5tP7A8Ah;K3r^$x<<FY_>Y+dTclrpnnBj z-UgD9E*+CG9UEhFVo{PAU9)SAN!MoZzgvJ_gzjvc=gGtv6ThS#YmTJrP21YqniruG zcf4b&eQ-^tF-Og=)&I}p>t42t4(065!yuCUaPz3REE~&mS+?q~ut9s}_<op#neQtj zmCEV|*{-s>X_%-Is^sJC%Gph2mIN_Zc0QQ>kg4(@3HJuvM?u|EmgLd4nA3;O?pMVu zkMXZWEP>>opPIX1QZo*B20Xg;$?fL)u(KP8cwMAjaJGbbwwos3uD2cq8GjiJn=g3s zq8Wu-&AyhbHf}d%nDLc<(CGy`TsHe*f92!P8aEoNEBzse8+>O6e>Q#C%2LrpJJ5_~ zjB%gM8vUVw{358Zbb%1NX1cUMEjl`XEDVjAi#i4_gNB|fL)Rdv0sO~+%U(%T#x%ju zlLMO3E}f7AV=B1`Bkft@CcuP#I{WX4yUaK+ler8q4J*vc0FeW8|My`nn}TRUDS1Yc zpDmIVdan4J68y4a*O?GzT_gwA*y@(DQrGPn;!oIB?p8p9>V%5djBLy_dz0%kHb93r zQ(gYZ=9mp@%K%LJBLywy8NzishaEM5G~5r8GYmm&=PSP>d+X0hwt)9AXJT~EPCzHT zZEyXV9_yu+z^btG`WI}!eeo7OEHHUSSEp(3y$nK~X<6z8oxK5MTb>2msqmKNXmMG3 zq4a{hHfRxNqqEz(taz|Vrz(e~%6Pd|UlbSMbY&snlo<#6qKb1{2VK;VFMhM}K!{W* zQx2ta_<jelznv<Z3z4L%@ZiDo#~YhDgbRE>l$jKZuu+tdpasg75$An@6+l^OpC`)h zL@A`0EzaR0t%C!&^R*rp+Nex8U&B8q7jbiOYVu{6$eTb2U7!xFQO9s-!I(1)YQSuc zR%iug7F`6XWmHUyy0l_08Z|mPcO0hE6Fca5Y&c^5)F@pC2I55~L@s53Mc|ET+^+y? zjJ#w`sJxXG7?i1*6l6N`hy&mqkd%<eXxGiwsFp`5NwZmmF6VzR&p5m8Z4ELHrBGX; zOt`8PN<Wv0BIu;OtwSZ=$Eo(W1Dq-hk|<1i$`&!Ct&U)w=3d59a@3cCM;zXrd+=Lg zP803PIqkiZUYf2w<|WK)?IkP*SkSxZ0l+@kNLzI)*AIocl8C0$brIJ=^ccF-wStZ= z9FNgE<4?c;JnV#<Axh~Y<R3gGFtcWQ*!uL7%Am(iS4LGrKZv!r;YE9bTIpvDyfeCV zLa!qW->HTsV5!rt`5Ks`t`QISKZH4!J8;x}^1~%4dQc+t8Z0B`m`)6Y%HEY{xD#Qd z%ZY{#xYapnNuHz;<Q)cl1uhixNE$%uh7P^5@U=OaOzsvucRg(=;#?wr2t<E@UZSI= z<CY#Sts9#y46loiARY^kpzHf_$_5eg72n?*1kqGd^nI3gd|y8r;v={~G?8Gy#SJ8@ zNDiT?Im~r|PX)qKB7z``satigI*wyHmX_7$@!su0HV|;HK(`A_TyX^nmNDTWc@Kyp l`rXzQC{G|X_OL?f15eXJIiKg2tzlizX;Onyqd&v5{sUb5dr|-Z literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/linklockfile.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/linklockfile.py new file mode 100644 index 0000000..2ca9be0 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/linklockfile.py @@ -0,0 +1,73 @@ +from __future__ import absolute_import + +import time +import os + +from . import (LockBase, LockFailed, NotLocked, NotMyLock, LockTimeout, + AlreadyLocked) + + +class LinkLockFile(LockBase): + """Lock access to a file using atomic property of link(2). + + >>> lock = LinkLockFile('somefile') + >>> lock = LinkLockFile('somefile', threaded=False) + """ + + def acquire(self, timeout=None): + try: + open(self.unique_name, "wb").close() + except IOError: + raise LockFailed("failed to create %s" % self.unique_name) + + timeout = timeout if timeout is not None else self.timeout + end_time = time.time() + if timeout is not None and timeout > 0: + end_time += timeout + + while True: + # Try and create a hard link to it. + try: + os.link(self.unique_name, self.lock_file) + except OSError: + # Link creation failed. Maybe we've double-locked? + nlinks = os.stat(self.unique_name).st_nlink + if nlinks == 2: + # The original link plus the one I created == 2. We're + # good to go. + return + else: + # Otherwise the lock creation failed. + if timeout is not None and time.time() > end_time: + os.unlink(self.unique_name) + if timeout > 0: + raise LockTimeout("Timeout waiting to acquire" + " lock for %s" % + self.path) + else: + raise AlreadyLocked("%s is already locked" % + self.path) + time.sleep(timeout is not None and timeout / 10 or 0.1) + else: + # Link creation succeeded. We're good to go. + return + + def release(self): + if not self.is_locked(): + raise NotLocked("%s is not locked" % self.path) + elif not os.path.exists(self.unique_name): + raise NotMyLock("%s is locked, but not by me" % self.path) + os.unlink(self.unique_name) + os.unlink(self.lock_file) + + def is_locked(self): + return os.path.exists(self.lock_file) + + def i_am_locking(self): + return (self.is_locked() and + os.path.exists(self.unique_name) and + os.stat(self.unique_name).st_nlink == 2) + + def break_lock(self): + if os.path.exists(self.lock_file): + os.unlink(self.lock_file) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/mkdirlockfile.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/mkdirlockfile.py new file mode 100644 index 0000000..05a8c96 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/mkdirlockfile.py @@ -0,0 +1,84 @@ +from __future__ import absolute_import, division + +import time +import os +import sys +import errno + +from . import (LockBase, LockFailed, NotLocked, NotMyLock, LockTimeout, + AlreadyLocked) + + +class MkdirLockFile(LockBase): + """Lock file by creating a directory.""" + def __init__(self, path, threaded=True, timeout=None): + """ + >>> lock = MkdirLockFile('somefile') + >>> lock = MkdirLockFile('somefile', threaded=False) + """ + LockBase.__init__(self, path, threaded, timeout) + # Lock file itself is a directory. Place the unique file name into + # it. + self.unique_name = os.path.join(self.lock_file, + "%s.%s%s" % (self.hostname, + self.tname, + self.pid)) + + def acquire(self, timeout=None): + timeout = timeout if timeout is not None else self.timeout + end_time = time.time() + if timeout is not None and timeout > 0: + end_time += timeout + + if timeout is None: + wait = 0.1 + else: + wait = max(0, timeout / 10) + + while True: + try: + os.mkdir(self.lock_file) + except OSError: + err = sys.exc_info()[1] + if err.errno == errno.EEXIST: + # Already locked. + if os.path.exists(self.unique_name): + # Already locked by me. + return + if timeout is not None and time.time() > end_time: + if timeout > 0: + raise LockTimeout("Timeout waiting to acquire" + " lock for %s" % + self.path) + else: + # Someone else has the lock. + raise AlreadyLocked("%s is already locked" % + self.path) + time.sleep(wait) + else: + # Couldn't create the lock for some other reason + raise LockFailed("failed to create %s" % self.lock_file) + else: + open(self.unique_name, "wb").close() + return + + def release(self): + if not self.is_locked(): + raise NotLocked("%s is not locked" % self.path) + elif not os.path.exists(self.unique_name): + raise NotMyLock("%s is locked, but not by me" % self.path) + os.unlink(self.unique_name) + os.rmdir(self.lock_file) + + def is_locked(self): + return os.path.exists(self.lock_file) + + def i_am_locking(self): + return (self.is_locked() and + os.path.exists(self.unique_name)) + + def break_lock(self): + if os.path.exists(self.lock_file): + for name in os.listdir(self.lock_file): + os.unlink(os.path.join(self.lock_file, name)) + os.rmdir(self.lock_file) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/pidlockfile.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/pidlockfile.py new file mode 100644 index 0000000..069e85b --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/pidlockfile.py @@ -0,0 +1,190 @@ +# -*- coding: utf-8 -*- + +# pidlockfile.py +# +# Copyright © 2008–2009 Ben Finney <ben+python@benfinney.id.au> +# +# This is free software: you may copy, modify, and/or distribute this work +# under the terms of the Python Software Foundation License, version 2 or +# later as published by the Python Software Foundation. +# No warranty expressed or implied. See the file LICENSE.PSF-2 for details. + +""" Lockfile behaviour implemented via Unix PID files. + """ + +from __future__ import absolute_import + +import errno +import os +import time + +from . import (LockBase, AlreadyLocked, LockFailed, NotLocked, NotMyLock, + LockTimeout) + + +class PIDLockFile(LockBase): + """ Lockfile implemented as a Unix PID file. + + The lock file is a normal file named by the attribute `path`. + A lock's PID file contains a single line of text, containing + the process ID (PID) of the process that acquired the lock. + + >>> lock = PIDLockFile('somefile') + >>> lock = PIDLockFile('somefile') + """ + + def __init__(self, path, threaded=False, timeout=None): + # pid lockfiles don't support threaded operation, so always force + # False as the threaded arg. + LockBase.__init__(self, path, False, timeout) + self.unique_name = self.path + + def read_pid(self): + """ Get the PID from the lock file. + """ + return read_pid_from_pidfile(self.path) + + def is_locked(self): + """ Test if the lock is currently held. + + The lock is held if the PID file for this lock exists. + + """ + return os.path.exists(self.path) + + def i_am_locking(self): + """ Test if the lock is held by the current process. + + Returns ``True`` if the current process ID matches the + number stored in the PID file. + """ + return self.is_locked() and os.getpid() == self.read_pid() + + def acquire(self, timeout=None): + """ Acquire the lock. + + Creates the PID file for this lock, or raises an error if + the lock could not be acquired. + """ + + timeout = timeout if timeout is not None else self.timeout + end_time = time.time() + if timeout is not None and timeout > 0: + end_time += timeout + + while True: + try: + write_pid_to_pidfile(self.path) + except OSError as exc: + if exc.errno == errno.EEXIST: + # The lock creation failed. Maybe sleep a bit. + if time.time() > end_time: + if timeout is not None and timeout > 0: + raise LockTimeout("Timeout waiting to acquire" + " lock for %s" % + self.path) + else: + raise AlreadyLocked("%s is already locked" % + self.path) + time.sleep(timeout is not None and timeout / 10 or 0.1) + else: + raise LockFailed("failed to create %s" % self.path) + else: + return + + def release(self): + """ Release the lock. + + Removes the PID file to release the lock, or raises an + error if the current process does not hold the lock. + + """ + if not self.is_locked(): + raise NotLocked("%s is not locked" % self.path) + if not self.i_am_locking(): + raise NotMyLock("%s is locked, but not by me" % self.path) + remove_existing_pidfile(self.path) + + def break_lock(self): + """ Break an existing lock. + + Removes the PID file if it already exists, otherwise does + nothing. + + """ + remove_existing_pidfile(self.path) + + +def read_pid_from_pidfile(pidfile_path): + """ Read the PID recorded in the named PID file. + + Read and return the numeric PID recorded as text in the named + PID file. If the PID file cannot be read, or if the content is + not a valid PID, return ``None``. + + """ + pid = None + try: + pidfile = open(pidfile_path, 'r') + except IOError: + pass + else: + # According to the FHS 2.3 section on PID files in /var/run: + # + # The file must consist of the process identifier in + # ASCII-encoded decimal, followed by a newline character. + # + # Programs that read PID files should be somewhat flexible + # in what they accept; i.e., they should ignore extra + # whitespace, leading zeroes, absence of the trailing + # newline, or additional lines in the PID file. + + line = pidfile.readline().strip() + try: + pid = int(line) + except ValueError: + pass + pidfile.close() + + return pid + + +def write_pid_to_pidfile(pidfile_path): + """ Write the PID in the named PID file. + + Get the numeric process ID (“PID”) of the current process + and write it to the named file as a line of text. + + """ + open_flags = (os.O_CREAT | os.O_EXCL | os.O_WRONLY) + open_mode = 0o644 + pidfile_fd = os.open(pidfile_path, open_flags, open_mode) + pidfile = os.fdopen(pidfile_fd, 'w') + + # According to the FHS 2.3 section on PID files in /var/run: + # + # The file must consist of the process identifier in + # ASCII-encoded decimal, followed by a newline character. For + # example, if crond was process number 25, /var/run/crond.pid + # would contain three characters: two, five, and newline. + + pid = os.getpid() + pidfile.write("%s\n" % pid) + pidfile.close() + + +def remove_existing_pidfile(pidfile_path): + """ Remove the named PID file if it exists. + + Removing a PID file that doesn't already exist puts us in the + desired state, so we ignore the condition if the file does not + exist. + + """ + try: + os.remove(pidfile_path) + except OSError as exc: + if exc.errno == errno.ENOENT: + pass + else: + raise diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/sqlitelockfile.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/sqlitelockfile.py new file mode 100644 index 0000000..f997e24 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/sqlitelockfile.py @@ -0,0 +1,156 @@ +from __future__ import absolute_import, division + +import time +import os + +try: + unicode +except NameError: + unicode = str + +from . import LockBase, NotLocked, NotMyLock, LockTimeout, AlreadyLocked + + +class SQLiteLockFile(LockBase): + "Demonstrate SQL-based locking." + + testdb = None + + def __init__(self, path, threaded=True, timeout=None): + """ + >>> lock = SQLiteLockFile('somefile') + >>> lock = SQLiteLockFile('somefile', threaded=False) + """ + LockBase.__init__(self, path, threaded, timeout) + self.lock_file = unicode(self.lock_file) + self.unique_name = unicode(self.unique_name) + + if SQLiteLockFile.testdb is None: + import tempfile + _fd, testdb = tempfile.mkstemp() + os.close(_fd) + os.unlink(testdb) + del _fd, tempfile + SQLiteLockFile.testdb = testdb + + import sqlite3 + self.connection = sqlite3.connect(SQLiteLockFile.testdb) + + c = self.connection.cursor() + try: + c.execute("create table locks" + "(" + " lock_file varchar(32)," + " unique_name varchar(32)" + ")") + except sqlite3.OperationalError: + pass + else: + self.connection.commit() + import atexit + atexit.register(os.unlink, SQLiteLockFile.testdb) + + def acquire(self, timeout=None): + timeout = timeout if timeout is not None else self.timeout + end_time = time.time() + if timeout is not None and timeout > 0: + end_time += timeout + + if timeout is None: + wait = 0.1 + elif timeout <= 0: + wait = 0 + else: + wait = timeout / 10 + + cursor = self.connection.cursor() + + while True: + if not self.is_locked(): + # Not locked. Try to lock it. + cursor.execute("insert into locks" + " (lock_file, unique_name)" + " values" + " (?, ?)", + (self.lock_file, self.unique_name)) + self.connection.commit() + + # Check to see if we are the only lock holder. + cursor.execute("select * from locks" + " where unique_name = ?", + (self.unique_name,)) + rows = cursor.fetchall() + if len(rows) > 1: + # Nope. Someone else got there. Remove our lock. + cursor.execute("delete from locks" + " where unique_name = ?", + (self.unique_name,)) + self.connection.commit() + else: + # Yup. We're done, so go home. + return + else: + # Check to see if we are the only lock holder. + cursor.execute("select * from locks" + " where unique_name = ?", + (self.unique_name,)) + rows = cursor.fetchall() + if len(rows) == 1: + # We're the locker, so go home. + return + + # Maybe we should wait a bit longer. + if timeout is not None and time.time() > end_time: + if timeout > 0: + # No more waiting. + raise LockTimeout("Timeout waiting to acquire" + " lock for %s" % + self.path) + else: + # Someone else has the lock and we are impatient.. + raise AlreadyLocked("%s is already locked" % self.path) + + # Well, okay. We'll give it a bit longer. + time.sleep(wait) + + def release(self): + if not self.is_locked(): + raise NotLocked("%s is not locked" % self.path) + if not self.i_am_locking(): + raise NotMyLock("%s is locked, but not by me (by %s)" % + (self.unique_name, self._who_is_locking())) + cursor = self.connection.cursor() + cursor.execute("delete from locks" + " where unique_name = ?", + (self.unique_name,)) + self.connection.commit() + + def _who_is_locking(self): + cursor = self.connection.cursor() + cursor.execute("select unique_name from locks" + " where lock_file = ?", + (self.lock_file,)) + return cursor.fetchone()[0] + + def is_locked(self): + cursor = self.connection.cursor() + cursor.execute("select * from locks" + " where lock_file = ?", + (self.lock_file,)) + rows = cursor.fetchall() + return not not rows + + def i_am_locking(self): + cursor = self.connection.cursor() + cursor.execute("select * from locks" + " where lock_file = ?" + " and unique_name = ?", + (self.lock_file, self.unique_name)) + return not not cursor.fetchall() + + def break_lock(self): + cursor = self.connection.cursor() + cursor.execute("delete from locks" + " where lock_file = ?", + (self.lock_file,)) + self.connection.commit() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/symlinklockfile.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/symlinklockfile.py new file mode 100644 index 0000000..23b41f5 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/symlinklockfile.py @@ -0,0 +1,70 @@ +from __future__ import absolute_import + +import os +import time + +from . import (LockBase, NotLocked, NotMyLock, LockTimeout, + AlreadyLocked) + + +class SymlinkLockFile(LockBase): + """Lock access to a file using symlink(2).""" + + def __init__(self, path, threaded=True, timeout=None): + # super(SymlinkLockFile).__init(...) + LockBase.__init__(self, path, threaded, timeout) + # split it back! + self.unique_name = os.path.split(self.unique_name)[1] + + def acquire(self, timeout=None): + # Hopefully unnecessary for symlink. + # try: + # open(self.unique_name, "wb").close() + # except IOError: + # raise LockFailed("failed to create %s" % self.unique_name) + timeout = timeout if timeout is not None else self.timeout + end_time = time.time() + if timeout is not None and timeout > 0: + end_time += timeout + + while True: + # Try and create a symbolic link to it. + try: + os.symlink(self.unique_name, self.lock_file) + except OSError: + # Link creation failed. Maybe we've double-locked? + if self.i_am_locking(): + # Linked to out unique name. Proceed. + return + else: + # Otherwise the lock creation failed. + if timeout is not None and time.time() > end_time: + if timeout > 0: + raise LockTimeout("Timeout waiting to acquire" + " lock for %s" % + self.path) + else: + raise AlreadyLocked("%s is already locked" % + self.path) + time.sleep(timeout / 10 if timeout is not None else 0.1) + else: + # Link creation succeeded. We're good to go. + return + + def release(self): + if not self.is_locked(): + raise NotLocked("%s is not locked" % self.path) + elif not self.i_am_locking(): + raise NotMyLock("%s is locked, but not by me" % self.path) + os.unlink(self.lock_file) + + def is_locked(self): + return os.path.islink(self.lock_file) + + def i_am_locking(self): + return (os.path.islink(self.lock_file) + and os.readlink(self.lock_file) == self.unique_name) + + def break_lock(self): + if os.path.islink(self.lock_file): # exists && link + os.unlink(self.lock_file) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/__init__.py new file mode 100644 index 0000000..2afca5a --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/__init__.py @@ -0,0 +1,66 @@ +# coding: utf-8 +from pip._vendor.msgpack._version import version +from pip._vendor.msgpack.exceptions import * + +from collections import namedtuple + + +class ExtType(namedtuple('ExtType', 'code data')): + """ExtType represents ext type in msgpack.""" + def __new__(cls, code, data): + if not isinstance(code, int): + raise TypeError("code must be int") + if not isinstance(data, bytes): + raise TypeError("data must be bytes") + if not 0 <= code <= 127: + raise ValueError("code must be 0~127") + return super(ExtType, cls).__new__(cls, code, data) + + +import os +if os.environ.get('MSGPACK_PUREPYTHON'): + from pip._vendor.msgpack.fallback import Packer, unpackb, Unpacker +else: + try: + from pip._vendor.msgpack._packer import Packer + from pip._vendor.msgpack._unpacker import unpackb, Unpacker + except ImportError: + from pip._vendor.msgpack.fallback import Packer, unpackb, Unpacker + + +def pack(o, stream, **kwargs): + """ + Pack object `o` and write it to `stream` + + See :class:`Packer` for options. + """ + packer = Packer(**kwargs) + stream.write(packer.pack(o)) + + +def packb(o, **kwargs): + """ + Pack object `o` and return packed bytes + + See :class:`Packer` for options. + """ + return Packer(**kwargs).pack(o) + + +def unpack(stream, **kwargs): + """ + Unpack an object from `stream`. + + Raises `ExtraData` when `stream` contains extra bytes. + See :class:`Unpacker` for options. + """ + data = stream.read() + return unpackb(data, **kwargs) + + +# alias for compatibility to simplejson/marshal/pickle. +load = unpack +loads = unpackb + +dump = pack +dumps = packb diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c51fd6b18b2c519ede1ec18dc432fac2dd3efef8 GIT binary patch literal 2097 zcmb7FTaOzx6t-t3li5jjyPGZrT3U>#1VP%Q7bv1a2t=y_6-(56M@W;&*qfc~+_0T) z6Qv-LioQU92mB!({K`}R0xxjvNx~K_56o(g&m23)=R4nL@8$J%AHVqP+h1IS{y;~b z2Kb-CD}Dz<5ydIWaDcJ)t<<`sM?1AMCvY&jfv7`kPZ6y#7^yqA=5|nn74_5&T;`7I zBaeD>%=-{qOV=_#@UuqH$eKYDqx`E0fw-Tp>$usWk#77me;?)VI*6S(@cFM8>A&N$ zJVd$m0MRC0e~N-lx<OCCxJ5VV7K|;{3Qn>{u+27uSJ+l?iq>zVcIyRTLv5_;j~Ew8 zk%Noh1LNmW#;6>ZDU0=z<zp`#LBL@sz!U`*#ew|{?O|$B`>7W=&ya(H8l-nr{rY2h zXHv51I}3+!R&pj-E(KwaC6O>mlAL5>SVr+dCtmKLM+aU#iU(jMnqi6OmS{=XagKk) z5V52Uk@FC-bcEV7?7&YBaB+n?2RL^uXqLDpffVzLnsjGqZjI_Q$TkC#ph|alx)~Rg zk!&m^8R&B4v_&Hsts;YoWP)R;;>8bOrmdIOU-<swr4QSl@)MEdLPmMalnqJLnudOz z^Mb3INum6EQ953R#JFUf*C3&)hhfeR!?0~DJ5Ggi^aje&MF1OXVHl^85MlTm`tzsm zevz?mmJG)%egA_i-QFbLk9gMO#fZgHz_;8l@_W7A8<Av((WLu`<&U~)GU%3O=5pss zS0s|{=!Qo_Cc0%(?p*w+bD?v2r<}lahYg21*bU*QwBX$ZJKZo$@<fJVr=0M0sN08E zY=A-7$DVm#gK>Id!FFc}%T*q@ps6raei&v29jDrFhT(VPC|%4z7ibZOp~<b*7pP;F zrVwkvF2=Mm-_rg`ZFKiMc!k!AhaGGp(=|hoZr^Uu`ug^b-e;fR410HPUGF`-^Tjv2 z&}O#>=owe_ajyF?P~KhRFb?@&hh%MwpN4^-0TWwb^s`jtP4LAzFcR&73ZLUApu7>D z*&_?|1?q$&ia}e}^np*{(VLNCpa~-VqEDinl0yz8kOa;^LHa^+7G-_ktiH_{xoQ}{ z+ONv&lf8nIqLgq(MaL`x5T;I5Gl`U=VZf2Yg>tKG$~`!Y_)r9{o&u?@T3Ge&EY$y| z2BJ|R*T-B(Vl8w1Xw3Tb8LXS&7_9iY#t9e!9iHC*PjsBgG0%zFnG&P^{{aq~uQ@OU zfv-Ewi8e1oP&J)@(1sadD02B*;IAO)@>dYH;bVqIXpWv(5)S_!o&gvG<7We-5&&?s zWNMEW*@~J@RsO9g5loOiD4a*vKwy1xxX<#{G7=ZLjNl&7*Bg&2<P~E_X<dr#7-HL& zazG5!$PY-?6jk6g3IFbZTj}=_OjSJAJ<Q*RulB3K8*qj@i!<C=-mvg(u6nK;7Mwe7 z340u~N@}VR7b*M?FuLPfC)Isr6++eFT1j}3D|^V~@q6t>X*vLgDl%8cDL8Z7u3@Fp z;Ow!J6-+p=jW4sZ;L=>HMjwW916es~5m8ms7Vc0w&Pr9&RvhV?QINhnl=pFU4}GFL kA<lzoV$W*Yr<xva;!~Cdb{lWt)3)b(YhKgAj^*IL0d<BRKmY&$ literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/__pycache__/_version.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/__pycache__/_version.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..348e2a6ab2a5d1c7eb1528d29197cfb55ddb6a04 GIT binary patch literal 259 zcmXr!<>g|0`9DU4fq~&M5W@j8kmUfx#T-B)g(Zq1g*li(ll3K#$MBLBM6dw~KTYN$ zMj&0p1R_9sG#PKPm!%dJXXfXvWGDhD1QWm7^fU5vQ}uH*(@RrxOia!611gg<5{q&J zit@8klS_(${F03Pys!X2_r#La^2AF0vedjX{hZ7s{Q|Izv7VWJab`)XZb4#lc4B&J zv3@~jfv%yYo`IgRZb2nbS}!#{9VDn957e5HU!<Q~oDNb9;)5NeS5SG2!zMRBr8Fni L4&>}&AZ7pnX8uM$ literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/__pycache__/exceptions.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/__pycache__/exceptions.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5b77ce22be4de4fa8b929595ae534113a921cdb3 GIT binary patch literal 2200 zcmcIl&2HO95GF-RqG-#OT_A^`2=>sTRS=U++y*ER1V$S-C<@31isYacSkT;+#Fir2 zB`HUOZ^@x(PkoHO60be=6?$pESy?}pZ6H2$g<b8;?9R^5H^akr+cp3G_eW+M#$U$T zsAGSGng536r6CMqzQdHpTdQw^t_cgYB~8#Z(6*?9u4~!?-4IRCO=(K|t=+GK<A@eG zEm_Bn2547of!@*@o1nKv8+2PX^$iD{9kC0}u5@GzI$Y8D-stXyuxB|;?2a(=4i;(j zO=0wF!t7h3hO<_+`zpzT@aN+<q0EXXO=jP{keQNUP)Ol1_9~ZbDPvKR7cvm6NEr@< zBNoIllZ&fNlqyPwtkfE@^LkyoayU<dvE;mRIUlE@jA_5k`7dP<UrL&si!|i?PeV0e zre6N})gPr}>5rpfDdW$-c<P@{!%?8drz-tPhD8p#7^TVU)80!Mdmc>viA*Mb9G&@@ zmK=Id{X8n<0XY~9W$tHDcJTO1?=$c4Ae%z$$>ETgKF3v&Du0|0>9D`_DfhCeq8QT5 zYgimp(>Dis8wXZFMu2OT`&Bs@NcBw_$GxtlNQJU!0iM>}ojcwno`Z$JwRn!`_kON* zQWhtJ7eNuc=W8u!r@45I_BX$F3xYax1icR8QXVUns@X@^AhZ%LFhtnc3<f#90>D~C zTnO50HWGcsMvCeY9rzH-DgmPQ&H&OaVdEe5hlDh$*72J{1r(u>@<4<BNyXQgx==36 z3xgXMHLNHYTr+z}r87si6jfc44wR3b%XpwD?TQRsvz}5(;E$51;C!DnQ^pOmVb1oK zCU}bjApwlW0&LnAx*<%$QE&EO{`#k9U55IU(L@T=9?W0@zIgiSuBmo#Wz!7QS6(R2 z??I;XY?!mXbsMy_*R5}6WS5jt-q$qh3e`Z}f?$tSl9`U_*ortI=5mlXN0_&@pZ4jM z=JV|}<lMFSQ2AcAo=s<Ng%|m7pNu37puUN|lNUSW#R}uI->=dv%9#qH90@xg$%GZt zOtN%<Qpn0eXOB+gWtOE1ZI_*a8x^1AY(h0fvNBmpJ=bLz*8;VAepzDr;9csBQ2JmQ z2wM?-r$FqH<0liT261{mZw7x{V{L{bN(woYYUOPT{}CP)Btspi%dWhL5c}ca$-{?- zj~_Amd(!<sBk}<v@bOwii0*Z_sEJ&DF!k3!_iRP2vvOC7P}HY%O=w8za8~Ur;ZdaU brsArcXY-HcbN%I^s_xkI+qXL{tj+%baA@HI literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/__pycache__/fallback.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/__pycache__/fallback.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..abdae5894b136501141fc43a0fa98a69742d47fe GIT binary patch literal 24723 zcmd6P3vgW5dEVZAVRx}u0w4&25J_F}Ap#T$J|s~zMbUhVh$V>T!;-eL7Yp1AVu8gj zc<u#BY!{Ye%8u%~F6(A8nW^Ktj^m_h8oRCIdOUqNb`r~O?K+O*xVLWV+7plArk%{V zlXlWf)$jYyeJuz|a_UaKz&-ao|8vfN{_~&z{O3RS;hvs?vHI!@kAEPM_+BFRE5d&g zkK-DNgq0{KEW=9Hjj|!{WH~ACR5@iEb7{-ilCV<qNp;prmos*@+-2v=dAm^VwlY@s zr9`>d7_z#UV)x7>ky<L}t(;D=H`s=iznxT{1;j$VccHJ`XC#(;5$dk@FKjFi7>Q>S z4KtmvH_aE+M~wvkkXl6Q08^h&G?LFHQ1jrE39H8{y_B#@_U7BE@{rUzh`bx>TNZ}P zLnzm4^`Sj|i0iN4x3IOmbzxh1+rswp_J#Y)_b-@bbK!yV0|I|zeaFJi@=p58yR3oo zZfjHdK`T|>gYXE#qX_Rs_#tbsywBQP-fs<+$Ls_4!I`AB#TtIeC?B%!v$mqP!`3!y zJKhgl_gg03kD#3oSUb?p9n#K65#DL-LU@;ik66jeiP7DyvGdh>eX2S=Z!Rt=+q}5! z&NdrnZDFx)FW3#Y>edi!&X^0%wMFDw<?v0crr=(g#;D1UZ$4-6I5{} ZQb0`QHA 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/_version.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/_version.py new file mode 100644 index 0000000..d28f0de --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/_version.py @@ -0,0 +1 @@ +version = (0, 5, 6) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/exceptions.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/exceptions.py new file mode 100644 index 0000000..9766881 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/exceptions.py @@ -0,0 +1,41 @@ +class UnpackException(Exception): + """Deprecated. Use Exception instead to catch all exception during unpacking.""" + + +class BufferFull(UnpackException): + pass + + +class OutOfData(UnpackException): + pass + + +class UnpackValueError(UnpackException, ValueError): + """Deprecated. Use ValueError instead.""" + + +class ExtraData(UnpackValueError): + def __init__(self, unpacked, extra): + self.unpacked = unpacked + self.extra = extra + + def __str__(self): + return "unpack(b) received extra data." + + +class PackException(Exception): + """Deprecated. Use Exception instead to catch all exception during packing.""" + + +class PackValueError(PackException, ValueError): + """PackValueError is raised when type of input data is supported but it's value is unsupported. + + Deprecated. Use ValueError instead. + """ + + +class PackOverflowError(PackValueError, OverflowError): + """PackOverflowError is raised when integer value is out of range of msgpack support [-2**31, 2**32). + + Deprecated. Use ValueError instead. + """ diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/fallback.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/fallback.py new file mode 100644 index 0000000..9418421 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/fallback.py @@ -0,0 +1,977 @@ +"""Fallback pure Python implementation of msgpack""" + +import sys +import struct +import warnings + +if sys.version_info[0] == 3: + PY3 = True + int_types = int + Unicode = str + xrange = range + def dict_iteritems(d): + return d.items() +else: + PY3 = False + int_types = (int, long) + Unicode = unicode + def dict_iteritems(d): + return d.iteritems() + + +if hasattr(sys, 'pypy_version_info'): + # cStringIO is slow on PyPy, StringIO is faster. However: PyPy's own + # StringBuilder is fastest. + from __pypy__ import newlist_hint + try: + from __pypy__.builders import BytesBuilder as StringBuilder + except ImportError: + from __pypy__.builders import StringBuilder + USING_STRINGBUILDER = True + class StringIO(object): + def __init__(self, s=b''): + if s: + self.builder = StringBuilder(len(s)) + self.builder.append(s) + else: + self.builder = StringBuilder() + def write(self, s): + if isinstance(s, memoryview): + s = s.tobytes() + elif isinstance(s, bytearray): + s = bytes(s) + self.builder.append(s) + def getvalue(self): + return self.builder.build() +else: + USING_STRINGBUILDER = False + from io import BytesIO as StringIO + newlist_hint = lambda size: [] + + +from pip._vendor.msgpack.exceptions import ( + BufferFull, + OutOfData, + UnpackValueError, + PackValueError, + PackOverflowError, + ExtraData) + +from pip._vendor.msgpack import ExtType + + +EX_SKIP = 0 +EX_CONSTRUCT = 1 +EX_READ_ARRAY_HEADER = 2 +EX_READ_MAP_HEADER = 3 + +TYPE_IMMEDIATE = 0 +TYPE_ARRAY = 1 +TYPE_MAP = 2 +TYPE_RAW = 3 +TYPE_BIN = 4 +TYPE_EXT = 5 + +DEFAULT_RECURSE_LIMIT = 511 + + +def _check_type_strict(obj, t, type=type, tuple=tuple): + if type(t) is tuple: + return type(obj) in t + else: + return type(obj) is t + + +def _get_data_from_buffer(obj): + try: + view = memoryview(obj) + except TypeError: + # try to use legacy buffer protocol if 2.7, otherwise re-raise + if not PY3: + view = memoryview(buffer(obj)) + warnings.warn("using old buffer interface to unpack %s; " + "this leads to unpacking errors if slicing is used and " + "will be removed in a future version" % type(obj), + RuntimeWarning) + else: + raise + if view.itemsize != 1: + raise ValueError("cannot unpack from multi-byte object") + return view + + +def unpack(stream, **kwargs): + warnings.warn( + "Direct calling implementation's unpack() is deprecated, Use msgpack.unpack() or unpackb() instead.", + PendingDeprecationWarning) + data = stream.read() + return unpackb(data, **kwargs) + + +def unpackb(packed, **kwargs): + """ + Unpack an object from `packed`. + + Raises `ExtraData` when `packed` contains extra bytes. + See :class:`Unpacker` for options. + """ + unpacker = Unpacker(None, **kwargs) + unpacker.feed(packed) + try: + ret = unpacker._unpack() + except OutOfData: + raise UnpackValueError("Data is not enough.") + if unpacker._got_extradata(): + raise ExtraData(ret, unpacker._get_extradata()) + return ret + + +class Unpacker(object): + """Streaming unpacker. + + arguments: + + :param file_like: + File-like object having `.read(n)` method. + If specified, unpacker reads serialized data from it and :meth:`feed()` is not usable. + + :param int read_size: + Used as `file_like.read(read_size)`. (default: `min(16*1024, max_buffer_size)`) + + :param bool use_list: + If true, unpack msgpack array to Python list. + Otherwise, unpack to Python tuple. (default: True) + + :param bool raw: + If true, unpack msgpack raw to Python bytes (default). + Otherwise, unpack to Python str (or unicode on Python 2) by decoding + with UTF-8 encoding (recommended). + Currently, the default is true, but it will be changed to false in + near future. So you must specify it explicitly for keeping backward + compatibility. + + *encoding* option which is deprecated overrides this option. + + :param callable object_hook: + When specified, it should be callable. + Unpacker calls it with a dict argument after unpacking msgpack map. + (See also simplejson) + + :param callable object_pairs_hook: + When specified, it should be callable. + Unpacker calls it with a list of key-value pairs after unpacking msgpack map. + (See also simplejson) + + :param str encoding: + Encoding used for decoding msgpack raw. + If it is None (default), msgpack raw is deserialized to Python bytes. + + :param str unicode_errors: + (deprecated) Used for decoding msgpack raw with *encoding*. + (default: `'strict'`) + + :param int max_buffer_size: + Limits size of data waiting unpacked. 0 means system's INT_MAX (default). + Raises `BufferFull` exception when it is insufficient. + You should set this parameter when unpacking data from untrusted source. + + :param int max_str_len: + Limits max length of str. (default: 2**31-1) + + :param int max_bin_len: + Limits max length of bin. (default: 2**31-1) + + :param int max_array_len: + Limits max length of array. (default: 2**31-1) + + :param int max_map_len: + Limits max length of map. (default: 2**31-1) + + + example of streaming deserialize from file-like object:: + + unpacker = Unpacker(file_like, raw=False) + for o in unpacker: + process(o) + + example of streaming deserialize from socket:: + + unpacker = Unpacker(raw=False) + while True: + buf = sock.recv(1024**2) + if not buf: + break + unpacker.feed(buf) + for o in unpacker: + process(o) + """ + + def __init__(self, file_like=None, read_size=0, use_list=True, raw=True, + object_hook=None, object_pairs_hook=None, list_hook=None, + encoding=None, unicode_errors=None, max_buffer_size=0, + ext_hook=ExtType, + max_str_len=2147483647, # 2**32-1 + max_bin_len=2147483647, + max_array_len=2147483647, + max_map_len=2147483647, + max_ext_len=2147483647): + + if encoding is not None: + warnings.warn( + "encoding is deprecated, Use raw=False instead.", + PendingDeprecationWarning) + + if unicode_errors is None: + unicode_errors = 'strict' + + if file_like is None: + self._feeding = True + else: + if not callable(file_like.read): + raise TypeError("`file_like.read` must be callable") + self.file_like = file_like + self._feeding = False + + #: array of bytes fed. + self._buffer = bytearray() + # Some very old pythons don't support `struct.unpack_from()` with a + # `bytearray`. So we wrap it in a `buffer()` there. + if sys.version_info < (2, 7, 6): + self._buffer_view = buffer(self._buffer) + else: + self._buffer_view = self._buffer + #: Which position we currently reads + self._buff_i = 0 + + # When Unpacker is used as an iterable, between the calls to next(), + # the buffer is not "consumed" completely, for efficiency sake. + # Instead, it is done sloppily. To make sure we raise BufferFull at + # the correct moments, we have to keep track of how sloppy we were. + # Furthermore, when the buffer is incomplete (that is: in the case + # we raise an OutOfData) we need to rollback the buffer to the correct + # state, which _buf_checkpoint records. + self._buf_checkpoint = 0 + + self._max_buffer_size = max_buffer_size or 2**31-1 + if read_size > self._max_buffer_size: + raise ValueError("read_size must be smaller than max_buffer_size") + self._read_size = read_size or min(self._max_buffer_size, 16*1024) + self._raw = bool(raw) + self._encoding = encoding + self._unicode_errors = unicode_errors + self._use_list = use_list + self._list_hook = list_hook + self._object_hook = object_hook + self._object_pairs_hook = object_pairs_hook + self._ext_hook = ext_hook + self._max_str_len = max_str_len + self._max_bin_len = max_bin_len + self._max_array_len = max_array_len + self._max_map_len = max_map_len + self._max_ext_len = max_ext_len + self._stream_offset = 0 + + if list_hook is not None and not callable(list_hook): + raise TypeError('`list_hook` is not callable') + if object_hook is not None and not callable(object_hook): + raise TypeError('`object_hook` is not callable') + if object_pairs_hook is not None and not callable(object_pairs_hook): + raise TypeError('`object_pairs_hook` is not callable') + if object_hook is not None and object_pairs_hook is not None: + raise TypeError("object_pairs_hook and object_hook are mutually " + "exclusive") + if not callable(ext_hook): + raise TypeError("`ext_hook` is not callable") + + def feed(self, next_bytes): + assert self._feeding + view = _get_data_from_buffer(next_bytes) + if (len(self._buffer) - self._buff_i + len(view) > self._max_buffer_size): + raise BufferFull + + # Strip buffer before checkpoint before reading file. + if self._buf_checkpoint > 0: + del self._buffer[:self._buf_checkpoint] + self._buff_i -= self._buf_checkpoint + self._buf_checkpoint = 0 + + self._buffer += view + + def _consume(self): + """ Gets rid of the used parts of the buffer. """ + self._stream_offset += self._buff_i - self._buf_checkpoint + self._buf_checkpoint = self._buff_i + + def _got_extradata(self): + return self._buff_i < len(self._buffer) + + def _get_extradata(self): + return self._buffer[self._buff_i:] + + def read_bytes(self, n): + return self._read(n) + + def _read(self, n): + # (int) -> bytearray + self._reserve(n) + i = self._buff_i + self._buff_i = i+n + return self._buffer[i:i+n] + + def _reserve(self, n): + remain_bytes = len(self._buffer) - self._buff_i - n + + # Fast path: buffer has n bytes already + if remain_bytes >= 0: + return + + if self._feeding: + self._buff_i = self._buf_checkpoint + raise OutOfData + + # Strip buffer before checkpoint before reading file. + if self._buf_checkpoint > 0: + del self._buffer[:self._buf_checkpoint] + self._buff_i -= self._buf_checkpoint + self._buf_checkpoint = 0 + + # Read from file + remain_bytes = -remain_bytes + while remain_bytes > 0: + to_read_bytes = max(self._read_size, remain_bytes) + read_data = self.file_like.read(to_read_bytes) + if not read_data: + break + assert isinstance(read_data, bytes) + self._buffer += read_data + remain_bytes -= len(read_data) + + if len(self._buffer) < n + self._buff_i: + self._buff_i = 0 # rollback + raise OutOfData + + def _read_header(self, execute=EX_CONSTRUCT): + typ = TYPE_IMMEDIATE + n = 0 + obj = None + self._reserve(1) + b = self._buffer[self._buff_i] + self._buff_i += 1 + if b & 0b10000000 == 0: + obj = b + elif b & 0b11100000 == 0b11100000: + obj = -1 - (b ^ 0xff) + elif b & 0b11100000 == 0b10100000: + n = b & 0b00011111 + typ = TYPE_RAW + if n > self._max_str_len: + raise UnpackValueError("%s exceeds max_str_len(%s)", n, self._max_str_len) + obj = self._read(n) + elif b & 0b11110000 == 0b10010000: + n = b & 0b00001111 + typ = TYPE_ARRAY + if n > self._max_array_len: + raise UnpackValueError("%s exceeds max_array_len(%s)", n, self._max_array_len) + elif b & 0b11110000 == 0b10000000: + n = b & 0b00001111 + typ = TYPE_MAP + if n > self._max_map_len: + raise UnpackValueError("%s exceeds max_map_len(%s)", n, self._max_map_len) + elif b == 0xc0: + obj = None + elif b == 0xc2: + obj = False + elif b == 0xc3: + obj = True + elif b == 0xc4: + typ = TYPE_BIN + self._reserve(1) + n = self._buffer[self._buff_i] + self._buff_i += 1 + if n > self._max_bin_len: + raise UnpackValueError("%s exceeds max_bin_len(%s)" % (n, self._max_bin_len)) + obj = self._read(n) + elif b == 0xc5: + typ = TYPE_BIN + self._reserve(2) + n = struct.unpack_from(">H", self._buffer_view, self._buff_i)[0] + self._buff_i += 2 + if n > self._max_bin_len: + raise UnpackValueError("%s exceeds max_bin_len(%s)" % (n, self._max_bin_len)) + obj = self._read(n) + elif b == 0xc6: + typ = TYPE_BIN + self._reserve(4) + n = struct.unpack_from(">I", self._buffer_view, self._buff_i)[0] + self._buff_i += 4 + if n > self._max_bin_len: + raise UnpackValueError("%s exceeds max_bin_len(%s)" % (n, self._max_bin_len)) + obj = self._read(n) + elif b == 0xc7: # ext 8 + typ = TYPE_EXT + self._reserve(2) + L, n = struct.unpack_from('Bb', self._buffer_view, self._buff_i) + self._buff_i += 2 + if L > self._max_ext_len: + raise UnpackValueError("%s exceeds max_ext_len(%s)" % (L, self._max_ext_len)) + obj = self._read(L) + elif b == 0xc8: # ext 16 + typ = TYPE_EXT + self._reserve(3) + L, n = struct.unpack_from('>Hb', self._buffer_view, self._buff_i) + self._buff_i += 3 + if L > self._max_ext_len: + raise UnpackValueError("%s exceeds max_ext_len(%s)" % (L, self._max_ext_len)) + obj = self._read(L) + elif b == 0xc9: # ext 32 + typ = TYPE_EXT + self._reserve(5) + L, n = struct.unpack_from('>Ib', self._buffer_view, self._buff_i) + self._buff_i += 5 + if L > self._max_ext_len: + raise UnpackValueError("%s exceeds max_ext_len(%s)" % (L, self._max_ext_len)) + obj = self._read(L) + elif b == 0xca: + self._reserve(4) + obj = struct.unpack_from(">f", self._buffer_view, self._buff_i)[0] + self._buff_i += 4 + elif b == 0xcb: + self._reserve(8) + obj = struct.unpack_from(">d", self._buffer_view, self._buff_i)[0] + self._buff_i += 8 + elif b == 0xcc: + self._reserve(1) + obj = self._buffer[self._buff_i] + self._buff_i += 1 + elif b == 0xcd: + self._reserve(2) + obj = struct.unpack_from(">H", self._buffer_view, self._buff_i)[0] + self._buff_i += 2 + elif b == 0xce: + self._reserve(4) + obj = struct.unpack_from(">I", self._buffer_view, self._buff_i)[0] + self._buff_i += 4 + elif b == 0xcf: + self._reserve(8) + obj = struct.unpack_from(">Q", self._buffer_view, self._buff_i)[0] + self._buff_i += 8 + elif b == 0xd0: + self._reserve(1) + obj = struct.unpack_from("b", self._buffer_view, self._buff_i)[0] + self._buff_i += 1 + elif b == 0xd1: + self._reserve(2) + obj = struct.unpack_from(">h", self._buffer_view, self._buff_i)[0] + self._buff_i += 2 + elif b == 0xd2: + self._reserve(4) + obj = struct.unpack_from(">i", self._buffer_view, self._buff_i)[0] + self._buff_i += 4 + elif b == 0xd3: + self._reserve(8) + obj = struct.unpack_from(">q", self._buffer_view, self._buff_i)[0] + self._buff_i += 8 + elif b == 0xd4: # fixext 1 + typ = TYPE_EXT + if self._max_ext_len < 1: + raise UnpackValueError("%s exceeds max_ext_len(%s)" % (1, self._max_ext_len)) + self._reserve(2) + n, obj = struct.unpack_from("b1s", self._buffer_view, self._buff_i) + self._buff_i += 2 + elif b == 0xd5: # fixext 2 + typ = TYPE_EXT + if self._max_ext_len < 2: + raise UnpackValueError("%s exceeds max_ext_len(%s)" % (2, self._max_ext_len)) + self._reserve(3) + n, obj = struct.unpack_from("b2s", self._buffer_view, self._buff_i) + self._buff_i += 3 + elif b == 0xd6: # fixext 4 + typ = TYPE_EXT + if self._max_ext_len < 4: + raise UnpackValueError("%s exceeds max_ext_len(%s)" % (4, self._max_ext_len)) + self._reserve(5) + n, obj = struct.unpack_from("b4s", self._buffer_view, self._buff_i) + self._buff_i += 5 + elif b == 0xd7: # fixext 8 + typ = TYPE_EXT + if self._max_ext_len < 8: + raise UnpackValueError("%s exceeds max_ext_len(%s)" % (8, self._max_ext_len)) + self._reserve(9) + n, obj = struct.unpack_from("b8s", self._buffer_view, self._buff_i) + self._buff_i += 9 + elif b == 0xd8: # fixext 16 + typ = TYPE_EXT + if self._max_ext_len < 16: + raise UnpackValueError("%s exceeds max_ext_len(%s)" % (16, self._max_ext_len)) + self._reserve(17) + n, obj = struct.unpack_from("b16s", self._buffer_view, self._buff_i) + self._buff_i += 17 + elif b == 0xd9: + typ = TYPE_RAW + self._reserve(1) + n = self._buffer[self._buff_i] + self._buff_i += 1 + if n > self._max_str_len: + raise UnpackValueError("%s exceeds max_str_len(%s)", n, self._max_str_len) + obj = self._read(n) + elif b == 0xda: + typ = TYPE_RAW + self._reserve(2) + n, = struct.unpack_from(">H", self._buffer_view, self._buff_i) + self._buff_i += 2 + if n > self._max_str_len: + raise UnpackValueError("%s exceeds max_str_len(%s)", n, self._max_str_len) + obj = self._read(n) + elif b == 0xdb: + typ = TYPE_RAW + self._reserve(4) + n, = struct.unpack_from(">I", self._buffer_view, self._buff_i) + self._buff_i += 4 + if n > self._max_str_len: + raise UnpackValueError("%s exceeds max_str_len(%s)", n, self._max_str_len) + obj = self._read(n) + elif b == 0xdc: + typ = TYPE_ARRAY + self._reserve(2) + n, = struct.unpack_from(">H", self._buffer_view, self._buff_i) + self._buff_i += 2 + if n > self._max_array_len: + raise UnpackValueError("%s exceeds max_array_len(%s)", n, self._max_array_len) + elif b == 0xdd: + typ = TYPE_ARRAY + self._reserve(4) + n, = struct.unpack_from(">I", self._buffer_view, self._buff_i) + self._buff_i += 4 + if n > self._max_array_len: + raise UnpackValueError("%s exceeds max_array_len(%s)", n, self._max_array_len) + elif b == 0xde: + self._reserve(2) + n, = struct.unpack_from(">H", self._buffer_view, self._buff_i) + self._buff_i += 2 + if n > self._max_map_len: + raise UnpackValueError("%s exceeds max_map_len(%s)", n, self._max_map_len) + typ = TYPE_MAP + elif b == 0xdf: + self._reserve(4) + n, = struct.unpack_from(">I", self._buffer_view, self._buff_i) + self._buff_i += 4 + if n > self._max_map_len: + raise UnpackValueError("%s exceeds max_map_len(%s)", n, self._max_map_len) + typ = TYPE_MAP + else: + raise UnpackValueError("Unknown header: 0x%x" % b) + return typ, n, obj + + def _unpack(self, execute=EX_CONSTRUCT): + typ, n, obj = self._read_header(execute) + + if execute == EX_READ_ARRAY_HEADER: + if typ != TYPE_ARRAY: + raise UnpackValueError("Expected array") + return n + if execute == EX_READ_MAP_HEADER: + if typ != TYPE_MAP: + raise UnpackValueError("Expected map") + return n + # TODO should we eliminate the recursion? + if typ == TYPE_ARRAY: + if execute == EX_SKIP: + for i in xrange(n): + # TODO check whether we need to call `list_hook` + self._unpack(EX_SKIP) + return + ret = newlist_hint(n) + for i in xrange(n): + ret.append(self._unpack(EX_CONSTRUCT)) + if self._list_hook is not None: + ret = self._list_hook(ret) + # TODO is the interaction between `list_hook` and `use_list` ok? + return ret if self._use_list else tuple(ret) + if typ == TYPE_MAP: + if execute == EX_SKIP: + for i in xrange(n): + # TODO check whether we need to call hooks + self._unpack(EX_SKIP) + self._unpack(EX_SKIP) + return + if self._object_pairs_hook is not None: + ret = self._object_pairs_hook( + (self._unpack(EX_CONSTRUCT), + self._unpack(EX_CONSTRUCT)) + for _ in xrange(n)) + else: + ret = {} + for _ in xrange(n): + key = self._unpack(EX_CONSTRUCT) + ret[key] = self._unpack(EX_CONSTRUCT) + if self._object_hook is not None: + ret = self._object_hook(ret) + return ret + if execute == EX_SKIP: + return + if typ == TYPE_RAW: + if self._encoding is not None: + obj = obj.decode(self._encoding, self._unicode_errors) + elif self._raw: + obj = bytes(obj) + else: + obj = obj.decode('utf_8') + return obj + if typ == TYPE_EXT: + return self._ext_hook(n, bytes(obj)) + if typ == TYPE_BIN: + return bytes(obj) + assert typ == TYPE_IMMEDIATE + return obj + + def __iter__(self): + return self + + def __next__(self): + try: + ret = self._unpack(EX_CONSTRUCT) + self._consume() + return ret + except OutOfData: + self._consume() + raise StopIteration + + next = __next__ + + def skip(self, write_bytes=None): + self._unpack(EX_SKIP) + if write_bytes is not None: + warnings.warn("`write_bytes` option is deprecated. Use `.tell()` instead.", DeprecationWarning) + write_bytes(self._buffer[self._buf_checkpoint:self._buff_i]) + self._consume() + + def unpack(self, write_bytes=None): + ret = self._unpack(EX_CONSTRUCT) + if write_bytes is not None: + warnings.warn("`write_bytes` option is deprecated. Use `.tell()` instead.", DeprecationWarning) + write_bytes(self._buffer[self._buf_checkpoint:self._buff_i]) + self._consume() + return ret + + def read_array_header(self, write_bytes=None): + ret = self._unpack(EX_READ_ARRAY_HEADER) + if write_bytes is not None: + warnings.warn("`write_bytes` option is deprecated. Use `.tell()` instead.", DeprecationWarning) + write_bytes(self._buffer[self._buf_checkpoint:self._buff_i]) + self._consume() + return ret + + def read_map_header(self, write_bytes=None): + ret = self._unpack(EX_READ_MAP_HEADER) + if write_bytes is not None: + warnings.warn("`write_bytes` option is deprecated. Use `.tell()` instead.", DeprecationWarning) + write_bytes(self._buffer[self._buf_checkpoint:self._buff_i]) + self._consume() + return ret + + def tell(self): + return self._stream_offset + + +class Packer(object): + """ + MessagePack Packer + + usage: + + packer = Packer() + astream.write(packer.pack(a)) + astream.write(packer.pack(b)) + + Packer's constructor has some keyword arguments: + + :param callable default: + Convert user type to builtin type that Packer supports. + See also simplejson's document. + + :param bool use_single_float: + Use single precision float type for float. (default: False) + + :param bool autoreset: + Reset buffer after each pack and return its content as `bytes`. (default: True). + If set this to false, use `bytes()` to get content and `.reset()` to clear buffer. + + :param bool use_bin_type: + Use bin type introduced in msgpack spec 2.0 for bytes. + It also enables str8 type for unicode. + + :param bool strict_types: + If set to true, types will be checked to be exact. Derived classes + from serializeable types will not be serialized and will be + treated as unsupported type and forwarded to default. + Additionally tuples will not be serialized as lists. + This is useful when trying to implement accurate serialization + for python types. + + :param str encoding: + (deprecated) Convert unicode to bytes with this encoding. (default: 'utf-8') + + :param str unicode_errors: + Error handler for encoding unicode. (default: 'strict') + """ + def __init__(self, default=None, encoding=None, unicode_errors=None, + use_single_float=False, autoreset=True, use_bin_type=False, + strict_types=False): + if encoding is None: + encoding = 'utf_8' + else: + warnings.warn( + "encoding is deprecated, Use raw=False instead.", + PendingDeprecationWarning) + + if unicode_errors is None: + unicode_errors = 'strict' + + self._strict_types = strict_types + self._use_float = use_single_float + self._autoreset = autoreset + self._use_bin_type = use_bin_type + self._encoding = encoding + self._unicode_errors = unicode_errors + self._buffer = StringIO() + if default is not None: + if not callable(default): + raise TypeError("default must be callable") + self._default = default + + def _pack(self, obj, nest_limit=DEFAULT_RECURSE_LIMIT, + check=isinstance, check_type_strict=_check_type_strict): + default_used = False + if self._strict_types: + check = check_type_strict + list_types = list + else: + list_types = (list, tuple) + while True: + if nest_limit < 0: + raise PackValueError("recursion limit exceeded") + if obj is None: + return self._buffer.write(b"\xc0") + if check(obj, bool): + if obj: + return self._buffer.write(b"\xc3") + return self._buffer.write(b"\xc2") + if check(obj, int_types): + if 0 <= obj < 0x80: + return self._buffer.write(struct.pack("B", obj)) + if -0x20 <= obj < 0: + return self._buffer.write(struct.pack("b", obj)) + if 0x80 <= obj <= 0xff: + return self._buffer.write(struct.pack("BB", 0xcc, obj)) + if -0x80 <= obj < 0: + return self._buffer.write(struct.pack(">Bb", 0xd0, obj)) + if 0xff < obj <= 0xffff: + return self._buffer.write(struct.pack(">BH", 0xcd, obj)) + if -0x8000 <= obj < -0x80: + return self._buffer.write(struct.pack(">Bh", 0xd1, obj)) + if 0xffff < obj <= 0xffffffff: + return self._buffer.write(struct.pack(">BI", 0xce, obj)) + if -0x80000000 <= obj < -0x8000: + return self._buffer.write(struct.pack(">Bi", 0xd2, obj)) + if 0xffffffff < obj <= 0xffffffffffffffff: + return self._buffer.write(struct.pack(">BQ", 0xcf, obj)) + if -0x8000000000000000 <= obj < -0x80000000: + return self._buffer.write(struct.pack(">Bq", 0xd3, obj)) + if not default_used and self._default is not None: + obj = self._default(obj) + default_used = True + continue + raise PackOverflowError("Integer value out of range") + if check(obj, (bytes, bytearray)): + n = len(obj) + if n >= 2**32: + raise PackValueError("%s is too large" % type(obj).__name__) + self._pack_bin_header(n) + return self._buffer.write(obj) + if check(obj, Unicode): + if self._encoding is None: + raise TypeError( + "Can't encode unicode string: " + "no encoding is specified") + obj = obj.encode(self._encoding, self._unicode_errors) + n = len(obj) + if n >= 2**32: + raise PackValueError("String is too large") + self._pack_raw_header(n) + return self._buffer.write(obj) + if check(obj, memoryview): + n = len(obj) * obj.itemsize + if n >= 2**32: + raise PackValueError("Memoryview is too large") + self._pack_bin_header(n) + return self._buffer.write(obj) + if check(obj, float): + if self._use_float: + return self._buffer.write(struct.pack(">Bf", 0xca, obj)) + return self._buffer.write(struct.pack(">Bd", 0xcb, obj)) + if check(obj, ExtType): + code = obj.code + data = obj.data + assert isinstance(code, int) + assert isinstance(data, bytes) + L = len(data) + if L == 1: + self._buffer.write(b'\xd4') + elif L == 2: + self._buffer.write(b'\xd5') + elif L == 4: + self._buffer.write(b'\xd6') + elif L == 8: + self._buffer.write(b'\xd7') + elif L == 16: + self._buffer.write(b'\xd8') + elif L <= 0xff: + self._buffer.write(struct.pack(">BB", 0xc7, L)) + elif L <= 0xffff: + self._buffer.write(struct.pack(">BH", 0xc8, L)) + else: + self._buffer.write(struct.pack(">BI", 0xc9, L)) + self._buffer.write(struct.pack("b", code)) + self._buffer.write(data) + return + if check(obj, list_types): + n = len(obj) + self._pack_array_header(n) + for i in xrange(n): + self._pack(obj[i], nest_limit - 1) + return + if check(obj, dict): + return self._pack_map_pairs(len(obj), dict_iteritems(obj), + nest_limit - 1) + if not default_used and self._default is not None: + obj = self._default(obj) + default_used = 1 + continue + raise TypeError("Cannot serialize %r" % (obj, )) + + def pack(self, obj): + try: + self._pack(obj) + except: + self._buffer = StringIO() # force reset + raise + ret = self._buffer.getvalue() + if self._autoreset: + self._buffer = StringIO() + elif USING_STRINGBUILDER: + self._buffer = StringIO(ret) + return ret + + def pack_map_pairs(self, pairs): + self._pack_map_pairs(len(pairs), pairs) + ret = self._buffer.getvalue() + if self._autoreset: + self._buffer = StringIO() + elif USING_STRINGBUILDER: + self._buffer = StringIO(ret) + return ret + + def pack_array_header(self, n): + if n >= 2**32: + raise PackValueError + self._pack_array_header(n) + ret = self._buffer.getvalue() + if self._autoreset: + self._buffer = StringIO() + elif USING_STRINGBUILDER: + self._buffer = StringIO(ret) + return ret + + def pack_map_header(self, n): + if n >= 2**32: + raise PackValueError + self._pack_map_header(n) + ret = self._buffer.getvalue() + if self._autoreset: + self._buffer = StringIO() + elif USING_STRINGBUILDER: + self._buffer = StringIO(ret) + return ret + + def pack_ext_type(self, typecode, data): + if not isinstance(typecode, int): + raise TypeError("typecode must have int type.") + if not 0 <= typecode <= 127: + raise ValueError("typecode should be 0-127") + if not isinstance(data, bytes): + raise TypeError("data must have bytes type") + L = len(data) + if L > 0xffffffff: + raise PackValueError("Too large data") + if L == 1: + self._buffer.write(b'\xd4') + elif L == 2: + self._buffer.write(b'\xd5') + elif L == 4: + self._buffer.write(b'\xd6') + elif L == 8: + self._buffer.write(b'\xd7') + elif L == 16: + self._buffer.write(b'\xd8') + elif L <= 0xff: + self._buffer.write(b'\xc7' + struct.pack('B', L)) + elif L <= 0xffff: + self._buffer.write(b'\xc8' + struct.pack('>H', L)) + else: + self._buffer.write(b'\xc9' + struct.pack('>I', L)) + self._buffer.write(struct.pack('B', typecode)) + self._buffer.write(data) + + def _pack_array_header(self, n): + if n <= 0x0f: + return self._buffer.write(struct.pack('B', 0x90 + n)) + if n <= 0xffff: + return self._buffer.write(struct.pack(">BH", 0xdc, n)) + if n <= 0xffffffff: + return self._buffer.write(struct.pack(">BI", 0xdd, n)) + raise PackValueError("Array is too large") + + def _pack_map_header(self, n): + if n <= 0x0f: + return self._buffer.write(struct.pack('B', 0x80 + n)) + if n <= 0xffff: + return self._buffer.write(struct.pack(">BH", 0xde, n)) + if n <= 0xffffffff: + return self._buffer.write(struct.pack(">BI", 0xdf, n)) + raise PackValueError("Dict is too large") + + def _pack_map_pairs(self, n, pairs, nest_limit=DEFAULT_RECURSE_LIMIT): + self._pack_map_header(n) + for (k, v) in pairs: + self._pack(k, nest_limit - 1) + self._pack(v, nest_limit - 1) + + def _pack_raw_header(self, n): + if n <= 0x1f: + self._buffer.write(struct.pack('B', 0xa0 + n)) + elif self._use_bin_type and n <= 0xff: + self._buffer.write(struct.pack('>BB', 0xd9, n)) + elif n <= 0xffff: + self._buffer.write(struct.pack(">BH", 0xda, n)) + elif n <= 0xffffffff: + self._buffer.write(struct.pack(">BI", 0xdb, n)) + else: + raise PackValueError('Raw is too large') + + def _pack_bin_header(self, n): + if not self._use_bin_type: + return self._pack_raw_header(n) + elif n <= 0xff: + return self._buffer.write(struct.pack('>BB', 0xc4, n)) + elif n <= 0xffff: + return self._buffer.write(struct.pack(">BH", 0xc5, n)) + elif n <= 0xffffffff: + return self._buffer.write(struct.pack(">BI", 0xc6, n)) + else: + raise PackValueError('Bin is too large') + + def bytes(self): + return self._buffer.getvalue() + + def reset(self): + self._buffer = StringIO() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__about__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__about__.py new file mode 100644 index 0000000..7481c9e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__about__.py @@ -0,0 +1,27 @@ +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. +from __future__ import absolute_import, division, print_function + +__all__ = [ + "__title__", + "__summary__", + "__uri__", + "__version__", + "__author__", + "__email__", + "__license__", + "__copyright__", +] + +__title__ = "packaging" +__summary__ = "Core utilities for Python packages" +__uri__ = "https://github.com/pypa/packaging" + +__version__ = "19.0" + +__author__ = "Donald Stufft and individual contributors" +__email__ = "donald@stufft.io" + +__license__ = "BSD or Apache License, Version 2.0" +__copyright__ = "Copyright 2014-2019 %s" % __author__ diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__init__.py new file mode 100644 index 0000000..a0cf67d --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__init__.py @@ -0,0 +1,26 @@ +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. +from __future__ import absolute_import, division, print_function + +from .__about__ import ( + __author__, + __copyright__, + __email__, + __license__, + __summary__, + __title__, + __uri__, + __version__, +) + +__all__ = [ + "__title__", + "__summary__", + "__uri__", + "__version__", + "__author__", + "__email__", + "__license__", + "__copyright__", +] diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__pycache__/__about__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__pycache__/__about__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7a00dfcc68f4705ec6b6f1d9a7237a3641226014 GIT binary patch literal 757 zcmYk3OKaRP5XbHHzBiks4{}xmJuGysyc$R;C2az|l(4XngDD8DM{BFKEu+U4?>Fd2 z=~vooFU?ozr5$AniG_d6j7B5Pe@@5aVR-lN>z`H-{0^RceY7v}H!}nT5EelhCSlo1 zT4j_(VE`?NpbZ`9LJ#^d$ofeehDirTNf&mK9*mPd>?Q-)ONOwYjNq9V90bV@Jf8=X z7k5}Sm_(aBzA&nARxnxCO505z<VqT;s?Bb#Wo6mYRjKv<fH5m=AsE|?7&ERcxo*(u zG3K<~Mpr`nv*-*N<Id(vqm3s;$z`$4DP$@t<I9X0OI6)yndR1})ja*qGg)Qp!z-l) zaaI=6N@2)SX)<fDTt&7?!mMBA*4E}7rJ1z3Tg0g<Y2DPEK9*@8U&Kf2$+fC@0c397 za%l;#fXK?X362*eRh89p;jGeTy$|=Pm*ze-mTG<YX?{)c_K#RK7v#(K@o&iOwo`I~ z7aUwYbU{vzj?bou3-a3BOvYY@rL#_ByBbFv=*Xju@VfB=HPIa(>U#7%{N(k(W9TvR z*g^aX^uD(}{{E!7Dg`ZN=0tJ!_MFa|H0QdUY4uH{)}Zgzx}Dv8=2raR4PA+9MGLt= zjr`7Od`^wDV)~#btz|v+dc~*Hy20&OWSI|AhDSl^M_nnte4!l9EUueP|9z>z72<>M V$`HiMs1-h4-KZVnYT@z>{{se+;!6Mk literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..60c3f9765a7d6a05187b010cb95713703fbf086b GIT binary patch literal 595 zcmYk2&yLeD5XPOPZT>ZjKs*FJGzJPQt%O$GxUDLII9N!Q8+%iO9Y>B`lsDj2_LXww z)K}mF<3>V_m7hHJH#47SS5-xH{`>81jL>g%^<}XC2><W}z!8rW(h-StOk$moBtksq ziCX9-S?U#8>6D~8Bbm-gt_xD=l9YN))}UMPC13HBXFTTxFWZb%eEk`1sxwqZn`C;% z4uetN2`Y7OteY|}PjZl^n{Ik5J4YXV*EopJQOL-qf>P$)(O62SiqgjPqm}K^L6}o2 zG?NOpC8bI>q8r2<3|?zy$64g0Q{g<N)LS_VPQr$+l-d&d*dkyZPz9_4!dPq`kOCey zH^IxJciuuV3qwRU30MGv7j`fnY|Y6b<*LG^{-x9ZCczF<VEzf&=RqCt=NCR2EwGlY z7wX;nTf85eBeQyM&3Dnb0b&?N_jUj9i8=9;jrb(G6ISwo`^(L)zQu!dV%xLk2W!QE zd)aT_+|{q^-L@a$x)yC44l#vPZY-XavTHG=vXk(Jx*w<PgErhNaUb3{ya2q6U#;Wl Gdi?_qq@hUw literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__pycache__/_compat.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__pycache__/_compat.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a5d491ccd0b4d1a1d8df4738cc9d0d824547626f GIT binary patch literal 1030 zcmah{&1xGl5SCVJd*eFJp&`(pgL^6X5N}(zfkFs{7IHI&LZC}QC@b0CbpI;J4i4!l zf#g;CO1k#sSLmgkky|&VhYrkWW+Z*{%}B%T?KWNg_$U}5-^d*az<&d3PQXYaX-*27 z&>~2Jf+dV%F37_qRN+}ek_SYxPeIb$L?J{i)za@&G@;2>*;H*@WkWWvNpepH?@7P4 z0&LP}ZbzJ&DxX`$v!brFb&<>#naQfsb!(lKmQUtoY9Su2kk|^?l9b|Y5DXfiEl~3m z%rUtkH*^w6Due4t2DkKzeF-c%qnCkX6Oxgu5Xy%aak~fdRx4puPxMZOQN1)5#`MlJ zJA+K2tni6}KbZpfMzAc3c?d?4gi4YGcMB&>GGFEiqVYdihk2EX+#C%ysWkLZgy4#L zAJlZf+|o;WOD@?JLebGzpzT<i8yA+MP_Aufnc+y>I4b*rYpnecp*2qA`%OHn3KbXG zbguH3uMXnzGMx!sjCFOUQfnZ#v#LB9kB(ss=VBQzRJn-r>@=?Z&Tw!Lo6M^HTBM)E zRGGNW>iy@h2hRq>{dx)812vsuGUjkqRytmv%*tuZ)2gV29n?$L;=EMnoIl3i@EHlc z=>K;#gI~8s(0Bwsbj`VIb6!+(o}=I4{PSGo>m9uVxW4gzpmBhD`*%Wj!E;-ip+ADq z^N6U%dAl8}@cRk9<o?lNoS|LT%47D~8p&hg@qdeW{O;c!?P3xCx~;uX??Ke>Ap6PO z&NZ;tI0%h@N#iNU%+k2dLTUW{JS!)aW8)7m&<tVIYS#e+ljX?FxVC?9pYiCP)g9wG YMThHQ9bpNBsofxAUD^#p8U;=E6Y|*#00000 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__pycache__/_structures.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__pycache__/_structures.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c350544a08713fd9b0429e9983f1c37988f3defd GIT binary patch literal 2887 zcmcImOK;ma5GEyCmK`T?+H7Ayf!<nU5vxV|z%JTFfEF!!F#>GSgHeD`M8;NEuaa~M z2few61@@QhU(&Uw{)N5l&d^b72U6wjg9bSghvYXiocXN%&CL$|`0uMfn}mEIORWLV z2hi0M7&zfHA~7A&*cw@}J+dizM!3c8_k`P`F}Fue(VUY}6J{H{3A0Tz>j(#C9q#;2 z`mK*}66xFdwtuA3XsQJZ<1CdrcX@acsxVFRtxSfAX2;Vc(C{AMj-pxcZ~$GsfI*NE z<z!@W%B}ZgWOJK0Kms;*KsI@cyC5Cj<{gkNzQMa7UB1b;K(_fd?}6;_9ex4i2EPav z?&j|E<Ty-1Jqsv+U_*)hF?5AN;S^R{LkR&Rf0I7V8%jjS(t%eq{PUMLNn_!~;dm;d zyZ7#UhqGYf%lJ^HuSK90yz5DtygVE}^R;;E&%6_noOn@q<Yh*)Ke+FyP>a3H5B~7S zLU~!3?cMohaC@-7m(4&u5aTgUdJMMmRC<e*VKVlZ(sCN;sT69E&2pD9DKg2Ji}qs( z2|e8@yc`tT6?bh|WZdn-gC?53BXc@Ox9PBN<&BB2CV2yo?Nix;HJ_cA2!o)whOrHJ zD+66<17i*>L0J~#r{>_kWkB*~swYC8$8s2pG-F#!NZU*9q3-|T$W1t^3`H=uQ-uP$ z6_j%!d<P+XP3Kk-!VYA6qO_j`B5%Xi$XAN7Ge@fo5N{aUtuO#}<pyA2G${<|k~0%z z54}WxYETn!?Q#Vw>Q+$8F7d_kC06-1hHJW3fr7g4gaY<nuR=jz(0*(vSA5ZDaie)} zD8{}HPehSq6*bUeED>YIZopAR3G|9RP<KW-?02zP5<dp?yu(<W@@a(6UB=!_{b-?) zZ8$_?HA=irxsAgG94_L3Ng;p20WWGPbqyzBMH;fgN>#YarLMjDGx`8jpBk3r0rVe8 zw(=63Umfx@o;_{v6;WFxQYqz_2;D+^4X4o4tLLxjYp70k;6#ZeR({FmN`9_EU6bo- z%fwv$U<vGUiHmE|T|E>g*qu5kEEp4QScvk=oVOO?n54d21N>vS&Xm%F8tAnMZ{=UB zjPOjs{#paI7VFhRAuT+rgIbUJ3`tZJ0us-`63ms7+$<PRUV(-3Dh^2b-%f7GBR8Q} zksIoV{TA};@f5#|;Hw7{R$|6V{HDvD^a#JrjEjbs%2+gaA1?U$H{7F;Sa<E-bqD%? De3}S+ literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__pycache__/markers.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__pycache__/markers.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e363f176fa44cbc259a2f61b6f7d059759c393e6 GIT binary patch literal 8905 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__pycache__/requirements.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__pycache__/requirements.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..acdb2fbd4bf07eb7dd66ad8f0c5d9b292e570169 GIT binary patch literal 4016 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__pycache__/specifiers.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__pycache__/specifiers.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..dd6d04d6a92f2c36f2b946f34e5fd36a952392fb GIT binary patch literal 19821 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__pycache__/utils.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__pycache__/utils.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..97bb3b839d55c20ea60cab93fe1bc79f4bbbeb1d GIT binary patch literal 1473 zcmbVMPj4eN6t_K-nPi$|m)(Md#9=^)-Kb=ysIU@JRUtq^aEK}`Dk$t~G>zTF)A@(( zq)liq1g?A!_#k`;AK_Gq1Lt1gy=k^=5ht9ypY8XapWi>vUauF>tG}N8*&^h3^3q_i z{s>5a0l*2TIVtFv7HrH4XY5eqvD_WI+~IECD!j2*_+y_E;bv{#TGMfdd))tlj04{0 z9hkQ`drAhu71$#K$KFeib(PPJNMuo0%GfrS3#nyQ+J3EMX_Aw9IWe#wT~R#3Z2$9e zk>-*g3DxNNo5jleW|&0JcP6NZ17`>56Ciybz>th`dO_AKV`~C#u+cRgf)@{yNm^E= zoPgbxNR*h0bL;5&v2EqmnNS02-7+o2&qVdW&h?M+tSUrY$mv|<?|<+lK3q;_sVWXt zm5GVbus5@+JUSeGmKt%EF5`tL7jZ6+<GPXTMNeWajTqMH<TRZM9oMoRzV~6Y8|@A2 zC5R(2ogy<%;3%(De4{DLX*@SF*HOK+uiWt(9qePMSTw@aJ;2*sAP*T$F8+YUvTF!r zf?krZNV)A2Lr()0Qb-yF{!{WbnUYJ$RmM0yb=1cfG;=u1T;#0jnt~Q^Oe^!S^t_e% zH-!dy`%|zBKc~?mS%<ezJL;##f(v>bYzWZnZ1m6;$)G_%>z76=XzmF%_mFI>k^S1p zwi?;it*qO~ersgiM%KNNak%RO{D3<5R^JC9j4x+WhwxtrwG6c^WS*+fRN<zBq9oBq zCCR(t@!W*7REJe5LTCe%i;&Bc6QM*o5xTK;Ce17~GZ8|0Ly77o&xLMSO5`Hda8yhS zQJSbZps*iT?svPFZ?62u&!XMI&fAt)8r>-pHmpW^4d8-2?_W|V6ohdEh543oY+E{l zhIGJHcnvJtwe-Ac%NxKJxbEyvMJdi}b?^vnVf9_IdUU5>APM+>qW!#rzSjrQ?U~X4 z@<=^^TLw%$gh_29;9L2}DfKFBcYt2F(~jy&8_37XkGNRi!rcKJ^puY$JpkJhbv2n; zFRg2M2i7~ORFN9Xlu!Z6-K>(O^*0%}POXG>(XMsCCca+?4)Wx0!nLhBRYw2IH@p2` zsliC}TL8pkv`hQUW3Cg>2ktw7Z{X?$F@<V_t_>3SV41lRNun_83hSv{gx3*51PrVR t(fX6BsAVox2U++)8$&O7*W?guYTNro#pk&=Kx-O<-)3!g-wB*{>u+e{Y=r;- literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__pycache__/version.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__pycache__/version.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b539537c6dead3ab52622d216e82925eb30b5c3e GIT binary patch literal 12026 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 WauNOUnQYv;YZ_xOt@pErHT?e)Pg$P; literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/_compat.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/_compat.py new file mode 100644 index 0000000..25da473 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/_compat.py @@ -0,0 +1,31 @@ +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. +from __future__ import absolute_import, division, print_function + +import sys + + +PY2 = sys.version_info[0] == 2 +PY3 = sys.version_info[0] == 3 + +# flake8: noqa + +if PY3: + string_types = (str,) +else: + string_types = (basestring,) + + +def with_metaclass(meta, *bases): + """ + Create a base class with a metaclass. + """ + # This requires a bit of explanation: the basic idea is to make a dummy + # metaclass for one level of class instantiation that replaces itself with + # the actual metaclass. + class metaclass(meta): + def __new__(cls, name, this_bases, d): + return meta(name, bases, d) + + return type.__new__(metaclass, "temporary_class", (), {}) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/_structures.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/_structures.py new file mode 100644 index 0000000..68dcca6 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/_structures.py @@ -0,0 +1,68 @@ +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. +from __future__ import absolute_import, division, print_function + + +class Infinity(object): + def __repr__(self): + return "Infinity" + + def __hash__(self): + return hash(repr(self)) + + def __lt__(self, other): + return False + + def __le__(self, other): + return False + + def __eq__(self, other): + return isinstance(other, self.__class__) + + def __ne__(self, other): + return not isinstance(other, self.__class__) + + def __gt__(self, other): + return True + + def __ge__(self, other): + return True + + def __neg__(self): + return NegativeInfinity + + +Infinity = Infinity() + + +class NegativeInfinity(object): + def __repr__(self): + return "-Infinity" + + def __hash__(self): + return hash(repr(self)) + + def __lt__(self, other): + return True + + def __le__(self, other): + return True + + def __eq__(self, other): + return isinstance(other, self.__class__) + + def __ne__(self, other): + return not isinstance(other, self.__class__) + + def __gt__(self, other): + return False + + def __ge__(self, other): + return False + + def __neg__(self): + return Infinity + + +NegativeInfinity = NegativeInfinity() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/markers.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/markers.py new file mode 100644 index 0000000..5482476 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/markers.py @@ -0,0 +1,296 @@ +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. +from __future__ import absolute_import, division, print_function + +import operator +import os +import platform +import sys + +from pip._vendor.pyparsing import ParseException, ParseResults, stringStart, stringEnd +from pip._vendor.pyparsing import ZeroOrMore, Group, Forward, QuotedString +from pip._vendor.pyparsing import Literal as L # noqa + +from ._compat import string_types +from .specifiers import Specifier, InvalidSpecifier + + +__all__ = [ + "InvalidMarker", + "UndefinedComparison", + "UndefinedEnvironmentName", + "Marker", + "default_environment", +] + + +class InvalidMarker(ValueError): + """ + An invalid marker was found, users should refer to PEP 508. + """ + + +class UndefinedComparison(ValueError): + """ + An invalid operation was attempted on a value that doesn't support it. + """ + + +class UndefinedEnvironmentName(ValueError): + """ + A name was attempted to be used that does not exist inside of the + environment. + """ + + +class Node(object): + def __init__(self, value): + self.value = value + + def __str__(self): + return str(self.value) + + def __repr__(self): + return "<{0}({1!r})>".format(self.__class__.__name__, str(self)) + + def serialize(self): + raise NotImplementedError + + +class Variable(Node): + def serialize(self): + return str(self) + + +class Value(Node): + def serialize(self): + return '"{0}"'.format(self) + + +class Op(Node): + def serialize(self): + return str(self) + + +VARIABLE = ( + L("implementation_version") + | L("platform_python_implementation") + | L("implementation_name") + | L("python_full_version") + | L("platform_release") + | L("platform_version") + | L("platform_machine") + | L("platform_system") + | L("python_version") + | L("sys_platform") + | L("os_name") + | L("os.name") + | L("sys.platform") # PEP-345 + | L("platform.version") # PEP-345 + | L("platform.machine") # PEP-345 + | L("platform.python_implementation") # PEP-345 + | L("python_implementation") # PEP-345 + | L("extra") # undocumented setuptools legacy +) +ALIASES = { + "os.name": "os_name", + "sys.platform": "sys_platform", + "platform.version": "platform_version", + "platform.machine": "platform_machine", + "platform.python_implementation": "platform_python_implementation", + "python_implementation": "platform_python_implementation", +} +VARIABLE.setParseAction(lambda s, l, t: Variable(ALIASES.get(t[0], t[0]))) + +VERSION_CMP = ( + L("===") | L("==") | L(">=") | L("<=") | L("!=") | L("~=") | L(">") | L("<") +) + +MARKER_OP = VERSION_CMP | L("not in") | L("in") +MARKER_OP.setParseAction(lambda s, l, t: Op(t[0])) + +MARKER_VALUE = QuotedString("'") | QuotedString('"') +MARKER_VALUE.setParseAction(lambda s, l, t: Value(t[0])) + +BOOLOP = L("and") | L("or") + +MARKER_VAR = VARIABLE | MARKER_VALUE + +MARKER_ITEM = Group(MARKER_VAR + MARKER_OP + MARKER_VAR) +MARKER_ITEM.setParseAction(lambda s, l, t: tuple(t[0])) + +LPAREN = L("(").suppress() +RPAREN = L(")").suppress() + +MARKER_EXPR = Forward() +MARKER_ATOM = MARKER_ITEM | Group(LPAREN + MARKER_EXPR + RPAREN) +MARKER_EXPR << MARKER_ATOM + ZeroOrMore(BOOLOP + MARKER_EXPR) + +MARKER = stringStart + MARKER_EXPR + stringEnd + + +def _coerce_parse_result(results): + if isinstance(results, ParseResults): + return [_coerce_parse_result(i) for i in results] + else: + return results + + +def _format_marker(marker, first=True): + assert isinstance(marker, (list, tuple, string_types)) + + # Sometimes we have a structure like [[...]] which is a single item list + # where the single item is itself it's own list. In that case we want skip + # the rest of this function so that we don't get extraneous () on the + # outside. + if ( + isinstance(marker, list) + and len(marker) == 1 + and isinstance(marker[0], (list, tuple)) + ): + return _format_marker(marker[0]) + + if isinstance(marker, list): + inner = (_format_marker(m, first=False) for m in marker) + if first: + return " ".join(inner) + else: + return "(" + " ".join(inner) + ")" + elif isinstance(marker, tuple): + return " ".join([m.serialize() for m in marker]) + else: + return marker + + +_operators = { + "in": lambda lhs, rhs: lhs in rhs, + "not in": lambda lhs, rhs: lhs not in rhs, + "<": operator.lt, + "<=": operator.le, + "==": operator.eq, + "!=": operator.ne, + ">=": operator.ge, + ">": operator.gt, +} + + +def _eval_op(lhs, op, rhs): + try: + spec = Specifier("".join([op.serialize(), rhs])) + except InvalidSpecifier: + pass + else: + return spec.contains(lhs) + + oper = _operators.get(op.serialize()) + if oper is None: + raise UndefinedComparison( + "Undefined {0!r} on {1!r} and {2!r}.".format(op, lhs, rhs) + ) + + return oper(lhs, rhs) + + +_undefined = object() + + +def _get_env(environment, name): + value = environment.get(name, _undefined) + + if value is _undefined: + raise UndefinedEnvironmentName( + "{0!r} does not exist in evaluation environment.".format(name) + ) + + return value + + +def _evaluate_markers(markers, environment): + groups = [[]] + + for marker in markers: + assert isinstance(marker, (list, tuple, string_types)) + + if isinstance(marker, list): + groups[-1].append(_evaluate_markers(marker, environment)) + elif isinstance(marker, tuple): + lhs, op, rhs = marker + + if isinstance(lhs, Variable): + lhs_value = _get_env(environment, lhs.value) + rhs_value = rhs.value + else: + lhs_value = lhs.value + rhs_value = _get_env(environment, rhs.value) + + groups[-1].append(_eval_op(lhs_value, op, rhs_value)) + else: + assert marker in ["and", "or"] + if marker == "or": + groups.append([]) + + return any(all(item) for item in groups) + + +def format_full_version(info): + version = "{0.major}.{0.minor}.{0.micro}".format(info) + kind = info.releaselevel + if kind != "final": + version += kind[0] + str(info.serial) + return version + + +def default_environment(): + if hasattr(sys, "implementation"): + iver = format_full_version(sys.implementation.version) + implementation_name = sys.implementation.name + else: + iver = "0" + implementation_name = "" + + return { + "implementation_name": implementation_name, + "implementation_version": iver, + "os_name": os.name, + "platform_machine": platform.machine(), + "platform_release": platform.release(), + "platform_system": platform.system(), + "platform_version": platform.version(), + "python_full_version": platform.python_version(), + "platform_python_implementation": platform.python_implementation(), + "python_version": platform.python_version()[:3], + "sys_platform": sys.platform, + } + + +class Marker(object): + def __init__(self, marker): + try: + self._markers = _coerce_parse_result(MARKER.parseString(marker)) + except ParseException as e: + err_str = "Invalid marker: {0!r}, parse error at {1!r}".format( + marker, marker[e.loc : e.loc + 8] + ) + raise InvalidMarker(err_str) + + def __str__(self): + return _format_marker(self._markers) + + def __repr__(self): + return "<Marker({0!r})>".format(str(self)) + + def evaluate(self, environment=None): + """Evaluate a marker. + + Return the boolean from evaluating the given marker against the + environment. environment is an optional argument to override all or + part of the determined environment. + + The environment is determined from the current Python process. + """ + current_environment = default_environment() + if environment is not None: + current_environment.update(environment) + + return _evaluate_markers(self._markers, current_environment) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/requirements.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/requirements.py new file mode 100644 index 0000000..dbc5f11 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/requirements.py @@ -0,0 +1,138 @@ +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. +from __future__ import absolute_import, division, print_function + +import string +import re + +from pip._vendor.pyparsing import stringStart, stringEnd, originalTextFor, ParseException +from pip._vendor.pyparsing import ZeroOrMore, Word, Optional, Regex, Combine +from pip._vendor.pyparsing import Literal as L # noqa +from pip._vendor.six.moves.urllib import parse as urlparse + +from .markers import MARKER_EXPR, Marker +from .specifiers import LegacySpecifier, Specifier, SpecifierSet + + +class InvalidRequirement(ValueError): + """ + An invalid requirement was found, users should refer to PEP 508. + """ + + +ALPHANUM = Word(string.ascii_letters + string.digits) + +LBRACKET = L("[").suppress() +RBRACKET = L("]").suppress() +LPAREN = L("(").suppress() +RPAREN = L(")").suppress() +COMMA = L(",").suppress() +SEMICOLON = L(";").suppress() +AT = L("@").suppress() + +PUNCTUATION = Word("-_.") +IDENTIFIER_END = ALPHANUM | (ZeroOrMore(PUNCTUATION) + ALPHANUM) +IDENTIFIER = Combine(ALPHANUM + ZeroOrMore(IDENTIFIER_END)) + +NAME = IDENTIFIER("name") +EXTRA = IDENTIFIER + +URI = Regex(r"[^ ]+")("url") +URL = AT + URI + +EXTRAS_LIST = EXTRA + ZeroOrMore(COMMA + EXTRA) +EXTRAS = (LBRACKET + Optional(EXTRAS_LIST) + RBRACKET)("extras") + +VERSION_PEP440 = Regex(Specifier._regex_str, re.VERBOSE | re.IGNORECASE) +VERSION_LEGACY = Regex(LegacySpecifier._regex_str, re.VERBOSE | re.IGNORECASE) + +VERSION_ONE = VERSION_PEP440 ^ VERSION_LEGACY +VERSION_MANY = Combine( + VERSION_ONE + ZeroOrMore(COMMA + VERSION_ONE), joinString=",", adjacent=False +)("_raw_spec") +_VERSION_SPEC = Optional(((LPAREN + VERSION_MANY + RPAREN) | VERSION_MANY)) +_VERSION_SPEC.setParseAction(lambda s, l, t: t._raw_spec or "") + +VERSION_SPEC = originalTextFor(_VERSION_SPEC)("specifier") +VERSION_SPEC.setParseAction(lambda s, l, t: t[1]) + +MARKER_EXPR = originalTextFor(MARKER_EXPR())("marker") +MARKER_EXPR.setParseAction( + lambda s, l, t: Marker(s[t._original_start : t._original_end]) +) +MARKER_SEPARATOR = SEMICOLON +MARKER = MARKER_SEPARATOR + MARKER_EXPR + +VERSION_AND_MARKER = VERSION_SPEC + Optional(MARKER) +URL_AND_MARKER = URL + Optional(MARKER) + +NAMED_REQUIREMENT = NAME + Optional(EXTRAS) + (URL_AND_MARKER | VERSION_AND_MARKER) + +REQUIREMENT = stringStart + NAMED_REQUIREMENT + stringEnd +# pyparsing isn't thread safe during initialization, so we do it eagerly, see +# issue #104 +REQUIREMENT.parseString("x[]") + + +class Requirement(object): + """Parse a requirement. + + Parse a given requirement string into its parts, such as name, specifier, + URL, and extras. Raises InvalidRequirement on a badly-formed requirement + string. + """ + + # TODO: Can we test whether something is contained within a requirement? + # If so how do we do that? Do we need to test against the _name_ of + # the thing as well as the version? What about the markers? + # TODO: Can we normalize the name and extra name? + + def __init__(self, requirement_string): + try: + req = REQUIREMENT.parseString(requirement_string) + except ParseException as e: + raise InvalidRequirement( + 'Parse error at "{0!r}": {1}'.format( + requirement_string[e.loc : e.loc + 8], e.msg + ) + ) + + self.name = req.name + if req.url: + parsed_url = urlparse.urlparse(req.url) + if parsed_url.scheme == "file": + if urlparse.urlunparse(parsed_url) != req.url: + raise InvalidRequirement("Invalid URL given") + elif not (parsed_url.scheme and parsed_url.netloc) or ( + not parsed_url.scheme and not parsed_url.netloc + ): + raise InvalidRequirement("Invalid URL: {0}".format(req.url)) + self.url = req.url + else: + self.url = None + self.extras = set(req.extras.asList() if req.extras else []) + self.specifier = SpecifierSet(req.specifier) + self.marker = req.marker if req.marker else None + + def __str__(self): + parts = [self.name] + + if self.extras: + parts.append("[{0}]".format(",".join(sorted(self.extras)))) + + if self.specifier: + parts.append(str(self.specifier)) + + if self.url: + parts.append("@ {0}".format(self.url)) + if self.marker: + parts.append(" ") + + if self.marker: + parts.append("; {0}".format(self.marker)) + + return "".join(parts) + + def __repr__(self): + return "<Requirement({0!r})>".format(str(self)) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/specifiers.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/specifiers.py new file mode 100644 index 0000000..743576a --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/specifiers.py @@ -0,0 +1,749 @@ +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. +from __future__ import absolute_import, division, print_function + +import abc +import functools +import itertools +import re + +from ._compat import string_types, with_metaclass +from .version import Version, LegacyVersion, parse + + +class InvalidSpecifier(ValueError): + """ + An invalid specifier was found, users should refer to PEP 440. + """ + + +class BaseSpecifier(with_metaclass(abc.ABCMeta, object)): + @abc.abstractmethod + def __str__(self): + """ + Returns the str representation of this Specifier like object. This + should be representative of the Specifier itself. + """ + + @abc.abstractmethod + def __hash__(self): + """ + Returns a hash value for this Specifier like object. + """ + + @abc.abstractmethod + def __eq__(self, other): + """ + Returns a boolean representing whether or not the two Specifier like + objects are equal. + """ + + @abc.abstractmethod + def __ne__(self, other): + """ + Returns a boolean representing whether or not the two Specifier like + objects are not equal. + """ + + @abc.abstractproperty + def prereleases(self): + """ + Returns whether or not pre-releases as a whole are allowed by this + specifier. + """ + + @prereleases.setter + def prereleases(self, value): + """ + Sets whether or not pre-releases as a whole are allowed by this + specifier. + """ + + @abc.abstractmethod + def contains(self, item, prereleases=None): + """ + Determines if the given item is contained within this specifier. + """ + + @abc.abstractmethod + def filter(self, iterable, prereleases=None): + """ + Takes an iterable of items and filters them so that only items which + are contained within this specifier are allowed in it. + """ + + +class _IndividualSpecifier(BaseSpecifier): + + _operators = {} + + def __init__(self, spec="", prereleases=None): + match = self._regex.search(spec) + if not match: + raise InvalidSpecifier("Invalid specifier: '{0}'".format(spec)) + + self._spec = (match.group("operator").strip(), match.group("version").strip()) + + # Store whether or not this Specifier should accept prereleases + self._prereleases = prereleases + + def __repr__(self): + pre = ( + ", prereleases={0!r}".format(self.prereleases) + if self._prereleases is not None + else "" + ) + + return "<{0}({1!r}{2})>".format(self.__class__.__name__, str(self), pre) + + def __str__(self): + return "{0}{1}".format(*self._spec) + + def __hash__(self): + return hash(self._spec) + + def __eq__(self, other): + if isinstance(other, string_types): + try: + other = self.__class__(other) + except InvalidSpecifier: + return NotImplemented + elif not isinstance(other, self.__class__): + return NotImplemented + + return self._spec == other._spec + + def __ne__(self, other): + if isinstance(other, string_types): + try: + other = self.__class__(other) + except InvalidSpecifier: + return NotImplemented + elif not isinstance(other, self.__class__): + return NotImplemented + + return self._spec != other._spec + + def _get_operator(self, op): + return getattr(self, "_compare_{0}".format(self._operators[op])) + + def _coerce_version(self, version): + if not isinstance(version, (LegacyVersion, Version)): + version = parse(version) + return version + + @property + def operator(self): + return self._spec[0] + + @property + def version(self): + return self._spec[1] + + @property + def prereleases(self): + return self._prereleases + + @prereleases.setter + def prereleases(self, value): + self._prereleases = value + + def __contains__(self, item): + return self.contains(item) + + def contains(self, item, prereleases=None): + # Determine if prereleases are to be allowed or not. + if prereleases is None: + prereleases = self.prereleases + + # Normalize item to a Version or LegacyVersion, this allows us to have + # a shortcut for ``"2.0" in Specifier(">=2") + item = self._coerce_version(item) + + # Determine if we should be supporting prereleases in this specifier + # or not, if we do not support prereleases than we can short circuit + # logic if this version is a prereleases. + if item.is_prerelease and not prereleases: + return False + + # Actually do the comparison to determine if this item is contained + # within this Specifier or not. + return self._get_operator(self.operator)(item, self.version) + + def filter(self, iterable, prereleases=None): + yielded = False + found_prereleases = [] + + kw = {"prereleases": prereleases if prereleases is not None else True} + + # Attempt to iterate over all the values in the iterable and if any of + # them match, yield them. + for version in iterable: + parsed_version = self._coerce_version(version) + + if self.contains(parsed_version, **kw): + # If our version is a prerelease, and we were not set to allow + # prereleases, then we'll store it for later incase nothing + # else matches this specifier. + if parsed_version.is_prerelease and not ( + prereleases or self.prereleases + ): + found_prereleases.append(version) + # Either this is not a prerelease, or we should have been + # accepting prereleases from the beginning. + else: + yielded = True + yield version + + # Now that we've iterated over everything, determine if we've yielded + # any values, and if we have not and we have any prereleases stored up + # then we will go ahead and yield the prereleases. + if not yielded and found_prereleases: + for version in found_prereleases: + yield version + + +class LegacySpecifier(_IndividualSpecifier): + + _regex_str = r""" + (?P<operator>(==|!=|<=|>=|<|>)) + \s* + (?P<version> + [^,;\s)]* # Since this is a "legacy" specifier, and the version + # string can be just about anything, we match everything + # except for whitespace, a semi-colon for marker support, + # a closing paren since versions can be enclosed in + # them, and a comma since it's a version separator. + ) + """ + + _regex = re.compile(r"^\s*" + _regex_str + r"\s*$", re.VERBOSE | re.IGNORECASE) + + _operators = { + "==": "equal", + "!=": "not_equal", + "<=": "less_than_equal", + ">=": "greater_than_equal", + "<": "less_than", + ">": "greater_than", + } + + def _coerce_version(self, version): + if not isinstance(version, LegacyVersion): + version = LegacyVersion(str(version)) + return version + + def _compare_equal(self, prospective, spec): + return prospective == self._coerce_version(spec) + + def _compare_not_equal(self, prospective, spec): + return prospective != self._coerce_version(spec) + + def _compare_less_than_equal(self, prospective, spec): + return prospective <= self._coerce_version(spec) + + def _compare_greater_than_equal(self, prospective, spec): + return prospective >= self._coerce_version(spec) + + def _compare_less_than(self, prospective, spec): + return prospective < self._coerce_version(spec) + + def _compare_greater_than(self, prospective, spec): + return prospective > self._coerce_version(spec) + + +def _require_version_compare(fn): + @functools.wraps(fn) + def wrapped(self, prospective, spec): + if not isinstance(prospective, Version): + return False + return fn(self, prospective, spec) + + return wrapped + + +class Specifier(_IndividualSpecifier): + + _regex_str = r""" + (?P<operator>(~=|==|!=|<=|>=|<|>|===)) + (?P<version> + (?: + # The identity operators allow for an escape hatch that will + # do an exact string match of the version you wish to install. + # This will not be parsed by PEP 440 and we cannot determine + # any semantic meaning from it. This operator is discouraged + # but included entirely as an escape hatch. + (?<====) # Only match for the identity operator + \s* + [^\s]* # We just match everything, except for whitespace + # since we are only testing for strict identity. + ) + | + (?: + # The (non)equality operators allow for wild card and local + # versions to be specified so we have to define these two + # operators separately to enable that. + (?<===|!=) # Only match for equals and not equals + + \s* + v? + (?:[0-9]+!)? # epoch + [0-9]+(?:\.[0-9]+)* # release + (?: # pre release + [-_\.]? + (a|b|c|rc|alpha|beta|pre|preview) + [-_\.]? + [0-9]* + )? + (?: # post release + (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*) + )? + + # You cannot use a wild card and a dev or local version + # together so group them with a | and make them optional. + (?: + (?:[-_\.]?dev[-_\.]?[0-9]*)? # dev release + (?:\+[a-z0-9]+(?:[-_\.][a-z0-9]+)*)? # local + | + \.\* # Wild card syntax of .* + )? + ) + | + (?: + # The compatible operator requires at least two digits in the + # release segment. + (?<=~=) # Only match for the compatible operator + + \s* + v? + (?:[0-9]+!)? # epoch + [0-9]+(?:\.[0-9]+)+ # release (We have a + instead of a *) + (?: # pre release + [-_\.]? + (a|b|c|rc|alpha|beta|pre|preview) + [-_\.]? + [0-9]* + )? + (?: # post release + (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*) + )? + (?:[-_\.]?dev[-_\.]?[0-9]*)? # dev release + ) + | + (?: + # All other operators only allow a sub set of what the + # (non)equality operators do. Specifically they do not allow + # local versions to be specified nor do they allow the prefix + # matching wild cards. + (?<!==|!=|~=) # We have special cases for these + # operators so we want to make sure they + # don't match here. + + \s* + v? + (?:[0-9]+!)? # epoch + [0-9]+(?:\.[0-9]+)* # release + (?: # pre release + [-_\.]? + (a|b|c|rc|alpha|beta|pre|preview) + [-_\.]? + [0-9]* + )? + (?: # post release + (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*) + )? + (?:[-_\.]?dev[-_\.]?[0-9]*)? # dev release + ) + ) + """ + + _regex = re.compile(r"^\s*" + _regex_str + r"\s*$", re.VERBOSE | re.IGNORECASE) + + _operators = { + "~=": "compatible", + "==": "equal", + "!=": "not_equal", + "<=": "less_than_equal", + ">=": "greater_than_equal", + "<": "less_than", + ">": "greater_than", + "===": "arbitrary", + } + + @_require_version_compare + def _compare_compatible(self, prospective, spec): + # Compatible releases have an equivalent combination of >= and ==. That + # is that ~=2.2 is equivalent to >=2.2,==2.*. This allows us to + # implement this in terms of the other specifiers instead of + # implementing it ourselves. The only thing we need to do is construct + # the other specifiers. + + # We want everything but the last item in the version, but we want to + # ignore post and dev releases and we want to treat the pre-release as + # it's own separate segment. + prefix = ".".join( + list( + itertools.takewhile( + lambda x: (not x.startswith("post") and not x.startswith("dev")), + _version_split(spec), + ) + )[:-1] + ) + + # Add the prefix notation to the end of our string + prefix += ".*" + + return self._get_operator(">=")(prospective, spec) and self._get_operator("==")( + prospective, prefix + ) + + @_require_version_compare + def _compare_equal(self, prospective, spec): + # We need special logic to handle prefix matching + if spec.endswith(".*"): + # In the case of prefix matching we want to ignore local segment. + prospective = Version(prospective.public) + # Split the spec out by dots, and pretend that there is an implicit + # dot in between a release segment and a pre-release segment. + spec = _version_split(spec[:-2]) # Remove the trailing .* + + # Split the prospective version out by dots, and pretend that there + # is an implicit dot in between a release segment and a pre-release + # segment. + prospective = _version_split(str(prospective)) + + # Shorten the prospective version to be the same length as the spec + # so that we can determine if the specifier is a prefix of the + # prospective version or not. + prospective = prospective[: len(spec)] + + # Pad out our two sides with zeros so that they both equal the same + # length. + spec, prospective = _pad_version(spec, prospective) + else: + # Convert our spec string into a Version + spec = Version(spec) + + # If the specifier does not have a local segment, then we want to + # act as if the prospective version also does not have a local + # segment. + if not spec.local: + prospective = Version(prospective.public) + + return prospective == spec + + @_require_version_compare + def _compare_not_equal(self, prospective, spec): + return not self._compare_equal(prospective, spec) + + @_require_version_compare + def _compare_less_than_equal(self, prospective, spec): + return prospective <= Version(spec) + + @_require_version_compare + def _compare_greater_than_equal(self, prospective, spec): + return prospective >= Version(spec) + + @_require_version_compare + def _compare_less_than(self, prospective, spec): + # Convert our spec to a Version instance, since we'll want to work with + # it as a version. + spec = Version(spec) + + # Check to see if the prospective version is less than the spec + # version. If it's not we can short circuit and just return False now + # instead of doing extra unneeded work. + if not prospective < spec: + return False + + # This special case is here so that, unless the specifier itself + # includes is a pre-release version, that we do not accept pre-release + # versions for the version mentioned in the specifier (e.g. <3.1 should + # not match 3.1.dev0, but should match 3.0.dev0). + if not spec.is_prerelease and prospective.is_prerelease: + if Version(prospective.base_version) == Version(spec.base_version): + return False + + # If we've gotten to here, it means that prospective version is both + # less than the spec version *and* it's not a pre-release of the same + # version in the spec. + return True + + @_require_version_compare + def _compare_greater_than(self, prospective, spec): + # Convert our spec to a Version instance, since we'll want to work with + # it as a version. + spec = Version(spec) + + # Check to see if the prospective version is greater than the spec + # version. If it's not we can short circuit and just return False now + # instead of doing extra unneeded work. + if not prospective > spec: + return False + + # This special case is here so that, unless the specifier itself + # includes is a post-release version, that we do not accept + # post-release versions for the version mentioned in the specifier + # (e.g. >3.1 should not match 3.0.post0, but should match 3.2.post0). + if not spec.is_postrelease and prospective.is_postrelease: + if Version(prospective.base_version) == Version(spec.base_version): + return False + + # Ensure that we do not allow a local version of the version mentioned + # in the specifier, which is technically greater than, to match. + if prospective.local is not None: + if Version(prospective.base_version) == Version(spec.base_version): + return False + + # If we've gotten to here, it means that prospective version is both + # greater than the spec version *and* it's not a pre-release of the + # same version in the spec. + return True + + def _compare_arbitrary(self, prospective, spec): + return str(prospective).lower() == str(spec).lower() + + @property + def prereleases(self): + # If there is an explicit prereleases set for this, then we'll just + # blindly use that. + if self._prereleases is not None: + return self._prereleases + + # Look at all of our specifiers and determine if they are inclusive + # operators, and if they are if they are including an explicit + # prerelease. + operator, version = self._spec + if operator in ["==", ">=", "<=", "~=", "==="]: + # The == specifier can include a trailing .*, if it does we + # want to remove before parsing. + if operator == "==" and version.endswith(".*"): + version = version[:-2] + + # Parse the version, and if it is a pre-release than this + # specifier allows pre-releases. + if parse(version).is_prerelease: + return True + + return False + + @prereleases.setter + def prereleases(self, value): + self._prereleases = value + + +_prefix_regex = re.compile(r"^([0-9]+)((?:a|b|c|rc)[0-9]+)$") + + +def _version_split(version): + result = [] + for item in version.split("."): + match = _prefix_regex.search(item) + if match: + result.extend(match.groups()) + else: + result.append(item) + return result + + +def _pad_version(left, right): + left_split, right_split = [], [] + + # Get the release segment of our versions + left_split.append(list(itertools.takewhile(lambda x: x.isdigit(), left))) + right_split.append(list(itertools.takewhile(lambda x: x.isdigit(), right))) + + # Get the rest of our versions + left_split.append(left[len(left_split[0]) :]) + right_split.append(right[len(right_split[0]) :]) + + # Insert our padding + left_split.insert(1, ["0"] * max(0, len(right_split[0]) - len(left_split[0]))) + right_split.insert(1, ["0"] * max(0, len(left_split[0]) - len(right_split[0]))) + + return (list(itertools.chain(*left_split)), list(itertools.chain(*right_split))) + + +class SpecifierSet(BaseSpecifier): + def __init__(self, specifiers="", prereleases=None): + # Split on , to break each indidivual specifier into it's own item, and + # strip each item to remove leading/trailing whitespace. + specifiers = [s.strip() for s in specifiers.split(",") if s.strip()] + + # Parsed each individual specifier, attempting first to make it a + # Specifier and falling back to a LegacySpecifier. + parsed = set() + for specifier in specifiers: + try: + parsed.add(Specifier(specifier)) + except InvalidSpecifier: + parsed.add(LegacySpecifier(specifier)) + + # Turn our parsed specifiers into a frozen set and save them for later. + self._specs = frozenset(parsed) + + # Store our prereleases value so we can use it later to determine if + # we accept prereleases or not. + self._prereleases = prereleases + + def __repr__(self): + pre = ( + ", prereleases={0!r}".format(self.prereleases) + if self._prereleases is not None + else "" + ) + + return "<SpecifierSet({0!r}{1})>".format(str(self), pre) + + def __str__(self): + return ",".join(sorted(str(s) for s in self._specs)) + + def __hash__(self): + return hash(self._specs) + + def __and__(self, other): + if isinstance(other, string_types): + other = SpecifierSet(other) + elif not isinstance(other, SpecifierSet): + return NotImplemented + + specifier = SpecifierSet() + specifier._specs = frozenset(self._specs | other._specs) + + if self._prereleases is None and other._prereleases is not None: + specifier._prereleases = other._prereleases + elif self._prereleases is not None and other._prereleases is None: + specifier._prereleases = self._prereleases + elif self._prereleases == other._prereleases: + specifier._prereleases = self._prereleases + else: + raise ValueError( + "Cannot combine SpecifierSets with True and False prerelease " + "overrides." + ) + + return specifier + + def __eq__(self, other): + if isinstance(other, string_types): + other = SpecifierSet(other) + elif isinstance(other, _IndividualSpecifier): + other = SpecifierSet(str(other)) + elif not isinstance(other, SpecifierSet): + return NotImplemented + + return self._specs == other._specs + + def __ne__(self, other): + if isinstance(other, string_types): + other = SpecifierSet(other) + elif isinstance(other, _IndividualSpecifier): + other = SpecifierSet(str(other)) + elif not isinstance(other, SpecifierSet): + return NotImplemented + + return self._specs != other._specs + + def __len__(self): + return len(self._specs) + + def __iter__(self): + return iter(self._specs) + + @property + def prereleases(self): + # If we have been given an explicit prerelease modifier, then we'll + # pass that through here. + if self._prereleases is not None: + return self._prereleases + + # If we don't have any specifiers, and we don't have a forced value, + # then we'll just return None since we don't know if this should have + # pre-releases or not. + if not self._specs: + return None + + # Otherwise we'll see if any of the given specifiers accept + # prereleases, if any of them do we'll return True, otherwise False. + return any(s.prereleases for s in self._specs) + + @prereleases.setter + def prereleases(self, value): + self._prereleases = value + + def __contains__(self, item): + return self.contains(item) + + def contains(self, item, prereleases=None): + # Ensure that our item is a Version or LegacyVersion instance. + if not isinstance(item, (LegacyVersion, Version)): + item = parse(item) + + # Determine if we're forcing a prerelease or not, if we're not forcing + # one for this particular filter call, then we'll use whatever the + # SpecifierSet thinks for whether or not we should support prereleases. + if prereleases is None: + prereleases = self.prereleases + + # We can determine if we're going to allow pre-releases by looking to + # see if any of the underlying items supports them. If none of them do + # and this item is a pre-release then we do not allow it and we can + # short circuit that here. + # Note: This means that 1.0.dev1 would not be contained in something + # like >=1.0.devabc however it would be in >=1.0.debabc,>0.0.dev0 + if not prereleases and item.is_prerelease: + return False + + # We simply dispatch to the underlying specs here to make sure that the + # given version is contained within all of them. + # Note: This use of all() here means that an empty set of specifiers + # will always return True, this is an explicit design decision. + return all(s.contains(item, prereleases=prereleases) for s in self._specs) + + def filter(self, iterable, prereleases=None): + # Determine if we're forcing a prerelease or not, if we're not forcing + # one for this particular filter call, then we'll use whatever the + # SpecifierSet thinks for whether or not we should support prereleases. + if prereleases is None: + prereleases = self.prereleases + + # If we have any specifiers, then we want to wrap our iterable in the + # filter method for each one, this will act as a logical AND amongst + # each specifier. + if self._specs: + for spec in self._specs: + iterable = spec.filter(iterable, prereleases=bool(prereleases)) + return iterable + # If we do not have any specifiers, then we need to have a rough filter + # which will filter out any pre-releases, unless there are no final + # releases, and which will filter out LegacyVersion in general. + else: + filtered = [] + found_prereleases = [] + + for item in iterable: + # Ensure that we some kind of Version class for this item. + if not isinstance(item, (LegacyVersion, Version)): + parsed_version = parse(item) + else: + parsed_version = item + + # Filter out any item which is parsed as a LegacyVersion + if isinstance(parsed_version, LegacyVersion): + continue + + # Store any item which is a pre-release for later unless we've + # already found a final version or we are accepting prereleases + if parsed_version.is_prerelease and not prereleases: + if not filtered: + found_prereleases.append(item) + else: + filtered.append(item) + + # If we've found no items except for pre-releases, then we'll go + # ahead and use the pre-releases + if not filtered and found_prereleases and prereleases is None: + return found_prereleases + + return filtered diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/utils.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/utils.py new file mode 100644 index 0000000..8841878 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/utils.py @@ -0,0 +1,57 @@ +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. +from __future__ import absolute_import, division, print_function + +import re + +from .version import InvalidVersion, Version + + +_canonicalize_regex = re.compile(r"[-_.]+") + + +def canonicalize_name(name): + # This is taken from PEP 503. + return _canonicalize_regex.sub("-", name).lower() + + +def canonicalize_version(version): + """ + This is very similar to Version.__str__, but has one subtle differences + with the way it handles the release segment. + """ + + try: + version = Version(version) + except InvalidVersion: + # Legacy versions cannot be normalized + return version + + parts = [] + + # Epoch + if version.epoch != 0: + parts.append("{0}!".format(version.epoch)) + + # Release segment + # NB: This strips trailing '.0's to normalize + parts.append(re.sub(r"(\.0)+$", "", ".".join(str(x) for x in version.release))) + + # Pre-release + if version.pre is not None: + parts.append("".join(str(x) for x in version.pre)) + + # Post-release + if version.post is not None: + parts.append(".post{0}".format(version.post)) + + # Development release + if version.dev is not None: + parts.append(".dev{0}".format(version.dev)) + + # Local version segment + if version.local is not None: + parts.append("+{0}".format(version.local)) + + return "".join(parts) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/version.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/version.py new file mode 100644 index 0000000..95157a1 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/version.py @@ -0,0 +1,420 @@ +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. +from __future__ import absolute_import, division, print_function + +import collections +import itertools +import re + +from ._structures import Infinity + + +__all__ = ["parse", "Version", "LegacyVersion", "InvalidVersion", "VERSION_PATTERN"] + + +_Version = collections.namedtuple( + "_Version", ["epoch", "release", "dev", "pre", "post", "local"] +) + + +def parse(version): + """ + Parse the given version string and return either a :class:`Version` object + or a :class:`LegacyVersion` object depending on if the given version is + a valid PEP 440 version or a legacy version. + """ + try: + return Version(version) + except InvalidVersion: + return LegacyVersion(version) + + +class InvalidVersion(ValueError): + """ + An invalid version was found, users should refer to PEP 440. + """ + + +class _BaseVersion(object): + def __hash__(self): + return hash(self._key) + + def __lt__(self, other): + return self._compare(other, lambda s, o: s < o) + + def __le__(self, other): + return self._compare(other, lambda s, o: s <= o) + + def __eq__(self, other): + return self._compare(other, lambda s, o: s == o) + + def __ge__(self, other): + return self._compare(other, lambda s, o: s >= o) + + def __gt__(self, other): + return self._compare(other, lambda s, o: s > o) + + def __ne__(self, other): + return self._compare(other, lambda s, o: s != o) + + def _compare(self, other, method): + if not isinstance(other, _BaseVersion): + return NotImplemented + + return method(self._key, other._key) + + +class LegacyVersion(_BaseVersion): + def __init__(self, version): + self._version = str(version) + self._key = _legacy_cmpkey(self._version) + + def __str__(self): + return self._version + + def __repr__(self): + return "<LegacyVersion({0})>".format(repr(str(self))) + + @property + def public(self): + return self._version + + @property + def base_version(self): + return self._version + + @property + def epoch(self): + return -1 + + @property + def release(self): + return None + + @property + def pre(self): + return None + + @property + def post(self): + return None + + @property + def dev(self): + return None + + @property + def local(self): + return None + + @property + def is_prerelease(self): + return False + + @property + def is_postrelease(self): + return False + + @property + def is_devrelease(self): + return False + + +_legacy_version_component_re = re.compile(r"(\d+ | [a-z]+ | \.| -)", re.VERBOSE) + +_legacy_version_replacement_map = { + "pre": "c", + "preview": "c", + "-": "final-", + "rc": "c", + "dev": "@", +} + + +def _parse_version_parts(s): + for part in _legacy_version_component_re.split(s): + part = _legacy_version_replacement_map.get(part, part) + + if not part or part == ".": + continue + + if part[:1] in "0123456789": + # pad for numeric comparison + yield part.zfill(8) + else: + yield "*" + part + + # ensure that alpha/beta/candidate are before final + yield "*final" + + +def _legacy_cmpkey(version): + # We hardcode an epoch of -1 here. A PEP 440 version can only have a epoch + # greater than or equal to 0. This will effectively put the LegacyVersion, + # which uses the defacto standard originally implemented by setuptools, + # as before all PEP 440 versions. + epoch = -1 + + # This scheme is taken from pkg_resources.parse_version setuptools prior to + # it's adoption of the packaging library. + parts = [] + for part in _parse_version_parts(version.lower()): + if part.startswith("*"): + # remove "-" before a prerelease tag + if part < "*final": + while parts and parts[-1] == "*final-": + parts.pop() + + # remove trailing zeros from each series of numeric parts + while parts and parts[-1] == "00000000": + parts.pop() + + parts.append(part) + parts = tuple(parts) + + return epoch, parts + + +# Deliberately not anchored to the start and end of the string, to make it +# easier for 3rd party code to reuse +VERSION_PATTERN = r""" + v? + (?: + (?:(?P<epoch>[0-9]+)!)? # epoch + (?P<release>[0-9]+(?:\.[0-9]+)*) # release segment + (?P<pre> # pre-release + [-_\.]? + (?P<pre_l>(a|b|c|rc|alpha|beta|pre|preview)) + [-_\.]? + (?P<pre_n>[0-9]+)? + )? + (?P<post> # post release + (?:-(?P<post_n1>[0-9]+)) + | + (?: + [-_\.]? + (?P<post_l>post|rev|r) + [-_\.]? + (?P<post_n2>[0-9]+)? + ) + )? + (?P<dev> # dev release + [-_\.]? + (?P<dev_l>dev) + [-_\.]? + (?P<dev_n>[0-9]+)? + )? + ) + (?:\+(?P<local>[a-z0-9]+(?:[-_\.][a-z0-9]+)*))? # local version +""" + + +class Version(_BaseVersion): + + _regex = re.compile(r"^\s*" + VERSION_PATTERN + r"\s*$", re.VERBOSE | re.IGNORECASE) + + def __init__(self, version): + # Validate the version and parse it into pieces + match = self._regex.search(version) + if not match: + raise InvalidVersion("Invalid version: '{0}'".format(version)) + + # Store the parsed out pieces of the version + self._version = _Version( + epoch=int(match.group("epoch")) if match.group("epoch") else 0, + release=tuple(int(i) for i in match.group("release").split(".")), + pre=_parse_letter_version(match.group("pre_l"), match.group("pre_n")), + post=_parse_letter_version( + match.group("post_l"), match.group("post_n1") or match.group("post_n2") + ), + dev=_parse_letter_version(match.group("dev_l"), match.group("dev_n")), + local=_parse_local_version(match.group("local")), + ) + + # Generate a key which will be used for sorting + self._key = _cmpkey( + self._version.epoch, + self._version.release, + self._version.pre, + self._version.post, + self._version.dev, + self._version.local, + ) + + def __repr__(self): + return "<Version({0})>".format(repr(str(self))) + + def __str__(self): + parts = [] + + # Epoch + if self.epoch != 0: + parts.append("{0}!".format(self.epoch)) + + # Release segment + parts.append(".".join(str(x) for x in self.release)) + + # Pre-release + if self.pre is not None: + parts.append("".join(str(x) for x in self.pre)) + + # Post-release + if self.post is not None: + parts.append(".post{0}".format(self.post)) + + # Development release + if self.dev is not None: + parts.append(".dev{0}".format(self.dev)) + + # Local version segment + if self.local is not None: + parts.append("+{0}".format(self.local)) + + return "".join(parts) + + @property + def epoch(self): + return self._version.epoch + + @property + def release(self): + return self._version.release + + @property + def pre(self): + return self._version.pre + + @property + def post(self): + return self._version.post[1] if self._version.post else None + + @property + def dev(self): + return self._version.dev[1] if self._version.dev else None + + @property + def local(self): + if self._version.local: + return ".".join(str(x) for x in self._version.local) + else: + return None + + @property + def public(self): + return str(self).split("+", 1)[0] + + @property + def base_version(self): + parts = [] + + # Epoch + if self.epoch != 0: + parts.append("{0}!".format(self.epoch)) + + # Release segment + parts.append(".".join(str(x) for x in self.release)) + + return "".join(parts) + + @property + def is_prerelease(self): + return self.dev is not None or self.pre is not None + + @property + def is_postrelease(self): + return self.post is not None + + @property + def is_devrelease(self): + return self.dev is not None + + +def _parse_letter_version(letter, number): + if letter: + # We consider there to be an implicit 0 in a pre-release if there is + # not a numeral associated with it. + if number is None: + number = 0 + + # We normalize any letters to their lower case form + letter = letter.lower() + + # We consider some words to be alternate spellings of other words and + # in those cases we want to normalize the spellings to our preferred + # spelling. + if letter == "alpha": + letter = "a" + elif letter == "beta": + letter = "b" + elif letter in ["c", "pre", "preview"]: + letter = "rc" + elif letter in ["rev", "r"]: + letter = "post" + + return letter, int(number) + if not letter and number: + # We assume if we are given a number, but we are not given a letter + # then this is using the implicit post release syntax (e.g. 1.0-1) + letter = "post" + + return letter, int(number) + + +_local_version_separators = re.compile(r"[\._-]") + + +def _parse_local_version(local): + """ + Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve"). + """ + if local is not None: + return tuple( + part.lower() if not part.isdigit() else int(part) + for part in _local_version_separators.split(local) + ) + + +def _cmpkey(epoch, release, pre, post, dev, local): + # When we compare a release version, we want to compare it with all of the + # trailing zeros removed. So we'll use a reverse the list, drop all the now + # leading zeros until we come to something non zero, then take the rest + # re-reverse it back into the correct order and make it a tuple and use + # that for our sorting key. + release = tuple( + reversed(list(itertools.dropwhile(lambda x: x == 0, reversed(release)))) + ) + + # We need to "trick" the sorting algorithm to put 1.0.dev0 before 1.0a0. + # We'll do this by abusing the pre segment, but we _only_ want to do this + # if there is not a pre or a post segment. If we have one of those then + # the normal sorting rules will handle this case correctly. + if pre is None and post is None and dev is not None: + pre = -Infinity + # Versions without a pre-release (except as noted above) should sort after + # those with one. + elif pre is None: + pre = Infinity + + # Versions without a post segment should sort before those with one. + if post is None: + post = -Infinity + + # Versions without a development segment should sort after those with one. + if dev is None: + dev = Infinity + + if local is None: + # Versions without a local segment should sort before those with one. + local = -Infinity + else: + # Versions with a local segment need that segment parsed to implement + # the sorting rules in PEP440. + # - Alpha numeric segments sort before numeric segments + # - Alpha numeric segments sort lexicographically + # - Numeric segments sort numerically + # - Shorter versions sort before longer versions when the prefixes + # match exactly + local = tuple((i, "") if isinstance(i, int) else (-Infinity, i) for i in local) + + return epoch, release, pre, post, dev, local diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/__init__.py new file mode 100644 index 0000000..9c1a098 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/__init__.py @@ -0,0 +1,4 @@ +"""Wrappers to build Python packages using PEP 517 hooks +""" + +__version__ = '0.5.0' diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7ddf5bc59bd64b4a7dc1fe7bd3a443f485c91a29 GIT binary patch literal 308 zcmX|7!Ait15KX&^vbz6}>mHhPsjUbiUc}oHP!tv+WSh{&ZIh6smG0e-@t1n_<S%&9 zbU_E+V`d)AdrY=i%%iWLmq!4=XTX0&p}P%m=Ycrb03K~39zTHPY+pQEW{j{7dJVUo zY&ax?ueE}Pl{;1m2RkQK1<4(O`RWqZTJPL^f1IKmrR!xpo>0nlN$Ge-X&(+rttkBf zb{5PI^!<)&-3r{wsuRscUSKkmHM1?T`c;(Pg?Vy(BI|qR#Ty%NFI0~kxy9z7WT?PS zdXfBP!bX~8b%j!tC1waR5>+)VafqO}w%7<0(qc-blAcmzhVk^e)x2xOO+5W#qNDg1 DsaRXd literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/__pycache__/compat.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/__pycache__/compat.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b8729e32085f127d78551ab21ab015a7d3b9d47d GIT binary patch literal 1044 zcmaKqOK;Oa5XX1do5T%i)gD0Nf_&g&iP*GhOOYysgaj2xAy8h5kSxc$Nt}n*T04zW zrKfU*9{CJ>C0{x9D{z6CO(_AjtTZz_`~2^3wz0ZerRP6CP8lKJ$x?%yJO;}SzzNbO zf(kaGZE7NGGsy;)ptp&zh9$i%xF~%hZ7#~90<n~=3;SYZWicYyA#tn6`v+knM$*wT z6mimXAakZV&awae@MY796X)%lr}e#ij!K-?Ebl{Tm}OhuIcOoxa|?Wg0<m$hD%cCK z%mbH`xe+O>&(_(k6Dy|!HYand%jWD0rQ|(4=M{NPK0pLXyjjrcacPow>w7LOY?(v~ zmAO{IRVtH$4>AQ_Ovb6p3rlqd1y94gUzCT_Q1`NecE1r_gPVVx`h7K){y6SU<Y;?m z*Kf_DeyGPStp+m6Gsy8h?^?}gVJ@fP%s-OJkw1z%erjeK-mag;xvZyQGz@z(^V2x3 zZ$9+ydyRTJgK1CpdN}9@uvIASr!w8yeBeiF45GYrR#XwE3{Z6inIIrS*Qs8E7*Wii zA-)x`Ct%rKaDdI!*kG%jP=k%0(!+mY=}TA|k9I9xf}qRb3O-VyaGA!F^$m2$W#LwF z!3x&hXv5h*+BP8jtE4z>O1cG|MM+QD*`4Kb3MQ<W&e_*%%F3o4qwu%hC7~M0xLn&1 z7Gm)WU8UGiLv<HgYxHV_4lG$91ew?2W6gr;&N4B*4*UKCOykuz!7i_N%S9y!go=V- z!Q9GbSy4NZI*U~j#7S2f&1UBkep3ij1ABk0#AGBN;a|w`S8!@mo2@aMSIaj41-^~i ATmS$7 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/__pycache__/wrappers.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/__pycache__/wrappers.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..eba8b3a165635afd2106ff63284488c518a0661c GIT binary patch literal 5509 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/_in_process.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/_in_process.py new file mode 100644 index 0000000..d6524b6 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/_in_process.py @@ -0,0 +1,207 @@ +"""This is invoked in a subprocess to call the build backend hooks. + +It expects: +- Command line args: hook_name, control_dir +- Environment variable: PEP517_BUILD_BACKEND=entry.point:spec +- control_dir/input.json: + - {"kwargs": {...}} + +Results: +- control_dir/output.json + - {"return_val": ...} +""" +from glob import glob +from importlib import import_module +import os +from os.path import join as pjoin +import re +import shutil +import sys + +# This is run as a script, not a module, so it can't do a relative import +import compat + + +class BackendUnavailable(Exception): + """Raised if we cannot import the backend""" + + +def _build_backend(): + """Find and load the build backend""" + ep = os.environ['PEP517_BUILD_BACKEND'] + mod_path, _, obj_path = ep.partition(':') + try: + obj = import_module(mod_path) + except ImportError: + raise BackendUnavailable + if obj_path: + for path_part in obj_path.split('.'): + obj = getattr(obj, path_part) + return obj + + +def get_requires_for_build_wheel(config_settings): + """Invoke the optional get_requires_for_build_wheel hook + + Returns [] if the hook is not defined. + """ + backend = _build_backend() + try: + hook = backend.get_requires_for_build_wheel + except AttributeError: + return [] + else: + return hook(config_settings) + + +def prepare_metadata_for_build_wheel(metadata_directory, config_settings): + """Invoke optional prepare_metadata_for_build_wheel + + Implements a fallback by building a wheel if the hook isn't defined. + """ + backend = _build_backend() + try: + hook = backend.prepare_metadata_for_build_wheel + except AttributeError: + return _get_wheel_metadata_from_wheel(backend, metadata_directory, + config_settings) + else: + return hook(metadata_directory, config_settings) + + +WHEEL_BUILT_MARKER = 'PEP517_ALREADY_BUILT_WHEEL' + + +def _dist_info_files(whl_zip): + """Identify the .dist-info folder inside a wheel ZipFile.""" + res = [] + for path in whl_zip.namelist(): + m = re.match(r'[^/\\]+-[^/\\]+\.dist-info/', path) + if m: + res.append(path) + if res: + return res + raise Exception("No .dist-info folder found in wheel") + + +def _get_wheel_metadata_from_wheel( + backend, metadata_directory, config_settings): + """Build a wheel and extract the metadata from it. + + Fallback for when the build backend does not + define the 'get_wheel_metadata' hook. + """ + from zipfile import ZipFile + whl_basename = backend.build_wheel(metadata_directory, config_settings) + with open(os.path.join(metadata_directory, WHEEL_BUILT_MARKER), 'wb'): + pass # Touch marker file + + whl_file = os.path.join(metadata_directory, whl_basename) + with ZipFile(whl_file) as zipf: + dist_info = _dist_info_files(zipf) + zipf.extractall(path=metadata_directory, members=dist_info) + return dist_info[0].split('/')[0] + + +def _find_already_built_wheel(metadata_directory): + """Check for a wheel already built during the get_wheel_metadata hook. + """ + if not metadata_directory: + return None + metadata_parent = os.path.dirname(metadata_directory) + if not os.path.isfile(pjoin(metadata_parent, WHEEL_BUILT_MARKER)): + return None + + whl_files = glob(os.path.join(metadata_parent, '*.whl')) + if not whl_files: + print('Found wheel built marker, but no .whl files') + return None + if len(whl_files) > 1: + print('Found multiple .whl files; unspecified behaviour. ' + 'Will call build_wheel.') + return None + + # Exactly one .whl file + return whl_files[0] + + +def build_wheel(wheel_directory, config_settings, metadata_directory=None): + """Invoke the mandatory build_wheel hook. + + If a wheel was already built in the + prepare_metadata_for_build_wheel fallback, this + will copy it rather than rebuilding the wheel. + """ + prebuilt_whl = _find_already_built_wheel(metadata_directory) + if prebuilt_whl: + shutil.copy2(prebuilt_whl, wheel_directory) + return os.path.basename(prebuilt_whl) + + return _build_backend().build_wheel(wheel_directory, config_settings, + metadata_directory) + + +def get_requires_for_build_sdist(config_settings): + """Invoke the optional get_requires_for_build_wheel hook + + Returns [] if the hook is not defined. + """ + backend = _build_backend() + try: + hook = backend.get_requires_for_build_sdist + except AttributeError: + return [] + else: + return hook(config_settings) + + +class _DummyException(Exception): + """Nothing should ever raise this exception""" + + +class GotUnsupportedOperation(Exception): + """For internal use when backend raises UnsupportedOperation""" + + +def build_sdist(sdist_directory, config_settings): + """Invoke the mandatory build_sdist hook.""" + backend = _build_backend() + try: + return backend.build_sdist(sdist_directory, config_settings) + except getattr(backend, 'UnsupportedOperation', _DummyException): + raise GotUnsupportedOperation + + +HOOK_NAMES = { + 'get_requires_for_build_wheel', + 'prepare_metadata_for_build_wheel', + 'build_wheel', + 'get_requires_for_build_sdist', + 'build_sdist', +} + + +def main(): + if len(sys.argv) < 3: + sys.exit("Needs args: hook_name, control_dir") + hook_name = sys.argv[1] + control_dir = sys.argv[2] + if hook_name not in HOOK_NAMES: + sys.exit("Unknown hook: %s" % hook_name) + hook = globals()[hook_name] + + hook_input = compat.read_json(pjoin(control_dir, 'input.json')) + + json_out = {'unsupported': False, 'return_val': None} + try: + json_out['return_val'] = hook(**hook_input['kwargs']) + except BackendUnavailable: + json_out['no_backend'] = True + except GotUnsupportedOperation: + json_out['unsupported'] = True + + compat.write_json(json_out, pjoin(control_dir, 'output.json'), indent=2) + + +if __name__ == '__main__': + main() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/build.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/build.py new file mode 100644 index 0000000..ac6c949 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/build.py @@ -0,0 +1,108 @@ +"""Build a project using PEP 517 hooks. +""" +import argparse +import logging +import os +import contextlib +from pip._vendor import pytoml +import shutil +import errno +import tempfile + +from .envbuild import BuildEnvironment +from .wrappers import Pep517HookCaller + +log = logging.getLogger(__name__) + + +@contextlib.contextmanager +def tempdir(): + td = tempfile.mkdtemp() + try: + yield td + finally: + shutil.rmtree(td) + + +def _do_build(hooks, env, dist, dest): + get_requires_name = 'get_requires_for_build_{dist}'.format(**locals()) + get_requires = getattr(hooks, get_requires_name) + reqs = get_requires({}) + log.info('Got build requires: %s', reqs) + + env.pip_install(reqs) + log.info('Installed dynamic build dependencies') + + with tempdir() as td: + log.info('Trying to build %s in %s', dist, td) + build_name = 'build_{dist}'.format(**locals()) + build = getattr(hooks, build_name) + filename = build(td, {}) + source = os.path.join(td, filename) + shutil.move(source, os.path.join(dest, os.path.basename(filename))) + + +def mkdir_p(*args, **kwargs): + """Like `mkdir`, but does not raise an exception if the + directory already exists. + """ + try: + return os.mkdir(*args, **kwargs) + except OSError as exc: + if exc.errno != errno.EEXIST: + raise + + +def build(source_dir, dist, dest=None): + pyproject = os.path.join(source_dir, 'pyproject.toml') + dest = os.path.join(source_dir, dest or 'dist') + mkdir_p(dest) + + with open(pyproject) as f: + pyproject_data = pytoml.load(f) + # Ensure the mandatory data can be loaded + buildsys = pyproject_data['build-system'] + requires = buildsys['requires'] + backend = buildsys['build-backend'] + + hooks = Pep517HookCaller(source_dir, backend) + + with BuildEnvironment() as env: + env.pip_install(requires) + _do_build(hooks, env, dist, dest) + + +parser = argparse.ArgumentParser() +parser.add_argument( + 'source_dir', + help="A directory containing pyproject.toml", +) +parser.add_argument( + '--binary', '-b', + action='store_true', + default=False, +) +parser.add_argument( + '--source', '-s', + action='store_true', + default=False, +) +parser.add_argument( + '--out-dir', '-o', + help="Destination in which to save the builds relative to source dir", +) + + +def main(args): + # determine which dists to build + dists = list(filter(None, ( + 'sdist' if args.source or not args.binary else None, + 'wheel' if args.binary or not args.source else None, + ))) + + for dist in dists: + build(args.source_dir, dist, args.out_dir) + + +if __name__ == '__main__': + main(parser.parse_args()) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/check.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/check.py new file mode 100644 index 0000000..f4cdc6b --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/check.py @@ -0,0 +1,202 @@ +"""Check a project and backend by attempting to build using PEP 517 hooks. +""" +import argparse +import logging +import os +from os.path import isfile, join as pjoin +from pip._vendor.pytoml import TomlError, load as toml_load +import shutil +from subprocess import CalledProcessError +import sys +import tarfile +from tempfile import mkdtemp +import zipfile + +from .colorlog import enable_colourful_output +from .envbuild import BuildEnvironment +from .wrappers import Pep517HookCaller + +log = logging.getLogger(__name__) + + +def check_build_sdist(hooks, build_sys_requires): + with BuildEnvironment() as env: + try: + env.pip_install(build_sys_requires) + log.info('Installed static build dependencies') + except CalledProcessError: + log.error('Failed to install static build dependencies') + return False + + try: + reqs = hooks.get_requires_for_build_sdist({}) + log.info('Got build requires: %s', reqs) + except Exception: + log.error('Failure in get_requires_for_build_sdist', exc_info=True) + return False + + try: + env.pip_install(reqs) + log.info('Installed dynamic build dependencies') + except CalledProcessError: + log.error('Failed to install dynamic build dependencies') + return False + + td = mkdtemp() + log.info('Trying to build sdist in %s', td) + try: + try: + filename = hooks.build_sdist(td, {}) + log.info('build_sdist returned %r', filename) + except Exception: + log.info('Failure in build_sdist', exc_info=True) + return False + + if not filename.endswith('.tar.gz'): + log.error( + "Filename %s doesn't have .tar.gz extension", filename) + return False + + path = pjoin(td, filename) + if isfile(path): + log.info("Output file %s exists", path) + else: + log.error("Output file %s does not exist", path) + return False + + if tarfile.is_tarfile(path): + log.info("Output file is a tar file") + else: + log.error("Output file is not a tar file") + return False + + finally: + shutil.rmtree(td) + + return True + + +def check_build_wheel(hooks, build_sys_requires): + with BuildEnvironment() as env: + try: + env.pip_install(build_sys_requires) + log.info('Installed static build dependencies') + except CalledProcessError: + log.error('Failed to install static build dependencies') + return False + + try: + reqs = hooks.get_requires_for_build_wheel({}) + log.info('Got build requires: %s', reqs) + except Exception: + log.error('Failure in get_requires_for_build_sdist', exc_info=True) + return False + + try: + env.pip_install(reqs) + log.info('Installed dynamic build dependencies') + except CalledProcessError: + log.error('Failed to install dynamic build dependencies') + return False + + td = mkdtemp() + log.info('Trying to build wheel in %s', td) + try: + try: + filename = hooks.build_wheel(td, {}) + log.info('build_wheel returned %r', filename) + except Exception: + log.info('Failure in build_wheel', exc_info=True) + return False + + if not filename.endswith('.whl'): + log.error("Filename %s doesn't have .whl extension", filename) + return False + + path = pjoin(td, filename) + if isfile(path): + log.info("Output file %s exists", path) + else: + log.error("Output file %s does not exist", path) + return False + + if zipfile.is_zipfile(path): + log.info("Output file is a zip file") + else: + log.error("Output file is not a zip file") + return False + + finally: + shutil.rmtree(td) + + return True + + +def check(source_dir): + pyproject = pjoin(source_dir, 'pyproject.toml') + if isfile(pyproject): + log.info('Found pyproject.toml') + else: + log.error('Missing pyproject.toml') + return False + + try: + with open(pyproject) as f: + pyproject_data = toml_load(f) + # Ensure the mandatory data can be loaded + buildsys = pyproject_data['build-system'] + requires = buildsys['requires'] + backend = buildsys['build-backend'] + log.info('Loaded pyproject.toml') + except (TomlError, KeyError): + log.error("Invalid pyproject.toml", exc_info=True) + return False + + hooks = Pep517HookCaller(source_dir, backend) + + sdist_ok = check_build_sdist(hooks, requires) + wheel_ok = check_build_wheel(hooks, requires) + + if not sdist_ok: + log.warning('Sdist checks failed; scroll up to see') + if not wheel_ok: + log.warning('Wheel checks failed') + + return sdist_ok + + +def main(argv=None): + ap = argparse.ArgumentParser() + ap.add_argument( + 'source_dir', + help="A directory containing pyproject.toml") + args = ap.parse_args(argv) + + enable_colourful_output() + + ok = check(args.source_dir) + + if ok: + print(ansi('Checks passed', 'green')) + else: + print(ansi('Checks failed', 'red')) + sys.exit(1) + + +ansi_codes = { + 'reset': '\x1b[0m', + 'bold': '\x1b[1m', + 'red': '\x1b[31m', + 'green': '\x1b[32m', +} + + +def ansi(s, attr): + if os.name != 'nt' and sys.stdout.isatty(): + return ansi_codes[attr] + str(s) + ansi_codes['reset'] + else: + return str(s) + + +if __name__ == '__main__': + main() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/colorlog.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/colorlog.py new file mode 100644 index 0000000..69c8a59 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/colorlog.py @@ -0,0 +1,115 @@ +"""Nicer log formatting with colours. + +Code copied from Tornado, Apache licensed. +""" +# Copyright 2012 Facebook +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +import logging +import sys + +try: + import curses +except ImportError: + curses = None + + +def _stderr_supports_color(): + color = False + if curses and hasattr(sys.stderr, 'isatty') and sys.stderr.isatty(): + try: + curses.setupterm() + if curses.tigetnum("colors") > 0: + color = True + except Exception: + pass + return color + + +class LogFormatter(logging.Formatter): + """Log formatter with colour support + """ + DEFAULT_COLORS = { + logging.INFO: 2, # Green + logging.WARNING: 3, # Yellow + logging.ERROR: 1, # Red + logging.CRITICAL: 1, + } + + def __init__(self, color=True, datefmt=None): + r""" + :arg bool color: Enables color support. + :arg string fmt: Log message format. + It will be applied to the attributes dict of log records. The + text between ``%(color)s`` and ``%(end_color)s`` will be colored + depending on the level if color support is on. + :arg dict colors: color mappings from logging level to terminal color + code + :arg string datefmt: Datetime format. + Used for formatting ``(asctime)`` placeholder in ``prefix_fmt``. + .. versionchanged:: 3.2 + Added ``fmt`` and ``datefmt`` arguments. + """ + logging.Formatter.__init__(self, datefmt=datefmt) + self._colors = {} + if color and _stderr_supports_color(): + # The curses module has some str/bytes confusion in + # python3. Until version 3.2.3, most methods return + # bytes, but only accept strings. In addition, we want to + # output these strings with the logging module, which + # works with unicode strings. The explicit calls to + # unicode() below are harmless in python2 but will do the + # right conversion in python 3. + fg_color = (curses.tigetstr("setaf") or + curses.tigetstr("setf") or "") + if (3, 0) < sys.version_info < (3, 2, 3): + fg_color = str(fg_color, "ascii") + + for levelno, code in self.DEFAULT_COLORS.items(): + self._colors[levelno] = str( + curses.tparm(fg_color, code), "ascii") + self._normal = str(curses.tigetstr("sgr0"), "ascii") + + scr = curses.initscr() + self.termwidth = scr.getmaxyx()[1] + curses.endwin() + else: + self._normal = '' + # Default width is usually 80, but too wide is + # worse than too narrow + self.termwidth = 70 + + def formatMessage(self, record): + mlen = len(record.message) + right_text = '{initial}-{name}'.format(initial=record.levelname[0], + name=record.name) + if mlen + len(right_text) < self.termwidth: + space = ' ' * (self.termwidth - (mlen + len(right_text))) + else: + space = ' ' + + if record.levelno in self._colors: + start_color = self._colors[record.levelno] + end_color = self._normal + else: + start_color = end_color = '' + + return record.message + space + start_color + right_text + end_color + + +def enable_colourful_output(level=logging.INFO): + handler = logging.StreamHandler() + handler.setFormatter(LogFormatter()) + logging.root.addHandler(handler) + logging.root.setLevel(level) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/compat.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/compat.py new file mode 100644 index 0000000..01c66fc --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/compat.py @@ -0,0 +1,23 @@ +"""Handle reading and writing JSON in UTF-8, on Python 3 and 2.""" +import json +import sys + +if sys.version_info[0] >= 3: + # Python 3 + def write_json(obj, path, **kwargs): + with open(path, 'w', encoding='utf-8') as f: + json.dump(obj, f, **kwargs) + + def read_json(path): + with open(path, 'r', encoding='utf-8') as f: + return json.load(f) + +else: + # Python 2 + def write_json(obj, path, **kwargs): + with open(path, 'wb') as f: + json.dump(obj, f, encoding='utf-8', **kwargs) + + def read_json(path): + with open(path, 'rb') as f: + return json.load(f) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/envbuild.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/envbuild.py new file mode 100644 index 0000000..f7ac5f4 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/envbuild.py @@ -0,0 +1,158 @@ +"""Build wheels/sdists by installing build deps to a temporary environment. +""" + +import os +import logging +from pip._vendor import pytoml +import shutil +from subprocess import check_call +import sys +from sysconfig import get_paths +from tempfile import mkdtemp + +from .wrappers import Pep517HookCaller + +log = logging.getLogger(__name__) + + +def _load_pyproject(source_dir): + with open(os.path.join(source_dir, 'pyproject.toml')) as f: + pyproject_data = pytoml.load(f) + buildsys = pyproject_data['build-system'] + return buildsys['requires'], buildsys['build-backend'] + + +class BuildEnvironment(object): + """Context manager to install build deps in a simple temporary environment + + Based on code I wrote for pip, which is MIT licensed. + """ + # Copyright (c) 2008-2016 The pip developers (see AUTHORS.txt file) + # + # Permission is hereby granted, free of charge, to any person obtaining + # a copy of this software and associated documentation files (the + # "Software"), to deal in the Software without restriction, including + # without limitation the rights to use, copy, modify, merge, publish, + # distribute, sublicense, and/or sell copies of the Software, and to + # permit persons to whom the Software is furnished to do so, subject to + # the following conditions: + # + # The above copyright notice and this permission notice shall be + # included in all copies or substantial portions of the Software. + # + # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + path = None + + def __init__(self, cleanup=True): + self._cleanup = cleanup + + def __enter__(self): + self.path = mkdtemp(prefix='pep517-build-env-') + log.info('Temporary build environment: %s', self.path) + + self.save_path = os.environ.get('PATH', None) + self.save_pythonpath = os.environ.get('PYTHONPATH', None) + + install_scheme = 'nt' if (os.name == 'nt') else 'posix_prefix' + install_dirs = get_paths(install_scheme, vars={ + 'base': self.path, + 'platbase': self.path, + }) + + scripts = install_dirs['scripts'] + if self.save_path: + os.environ['PATH'] = scripts + os.pathsep + self.save_path + else: + os.environ['PATH'] = scripts + os.pathsep + os.defpath + + if install_dirs['purelib'] == install_dirs['platlib']: + lib_dirs = install_dirs['purelib'] + else: + lib_dirs = install_dirs['purelib'] + os.pathsep + \ + install_dirs['platlib'] + if self.save_pythonpath: + os.environ['PYTHONPATH'] = lib_dirs + os.pathsep + \ + self.save_pythonpath + else: + os.environ['PYTHONPATH'] = lib_dirs + + return self + + def pip_install(self, reqs): + """Install dependencies into this env by calling pip in a subprocess""" + if not reqs: + return + log.info('Calling pip to install %s', reqs) + check_call([ + sys.executable, '-m', 'pip', 'install', '--ignore-installed', + '--prefix', self.path] + list(reqs)) + + def __exit__(self, exc_type, exc_val, exc_tb): + needs_cleanup = ( + self._cleanup and + self.path is not None and + os.path.isdir(self.path) + ) + if needs_cleanup: + shutil.rmtree(self.path) + + if self.save_path is None: + os.environ.pop('PATH', None) + else: + os.environ['PATH'] = self.save_path + + if self.save_pythonpath is None: + os.environ.pop('PYTHONPATH', None) + else: + os.environ['PYTHONPATH'] = self.save_pythonpath + + +def build_wheel(source_dir, wheel_dir, config_settings=None): + """Build a wheel from a source directory using PEP 517 hooks. + + :param str source_dir: Source directory containing pyproject.toml + :param str wheel_dir: Target directory to create wheel in + :param dict config_settings: Options to pass to build backend + + This is a blocking function which will run pip in a subprocess to install + build requirements. + """ + if config_settings is None: + config_settings = {} + requires, backend = _load_pyproject(source_dir) + hooks = Pep517HookCaller(source_dir, backend) + + with BuildEnvironment() as env: + env.pip_install(requires) + reqs = hooks.get_requires_for_build_wheel(config_settings) + env.pip_install(reqs) + return hooks.build_wheel(wheel_dir, config_settings) + + +def build_sdist(source_dir, sdist_dir, config_settings=None): + """Build an sdist from a source directory using PEP 517 hooks. + + :param str source_dir: Source directory containing pyproject.toml + :param str sdist_dir: Target directory to place sdist in + :param dict config_settings: Options to pass to build backend + + This is a blocking function which will run pip in a subprocess to install + build requirements. + """ + if config_settings is None: + config_settings = {} + requires, backend = _load_pyproject(source_dir) + hooks = Pep517HookCaller(source_dir, backend) + + with BuildEnvironment() as env: + env.pip_install(requires) + reqs = hooks.get_requires_for_build_sdist(config_settings) + env.pip_install(reqs) + return hooks.build_sdist(sdist_dir, config_settings) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/wrappers.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/wrappers.py new file mode 100644 index 0000000..b14b899 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/wrappers.py @@ -0,0 +1,163 @@ +from contextlib import contextmanager +import os +from os.path import dirname, abspath, join as pjoin +import shutil +from subprocess import check_call +import sys +from tempfile import mkdtemp + +from . import compat + +_in_proc_script = pjoin(dirname(abspath(__file__)), '_in_process.py') + + +@contextmanager +def tempdir(): + td = mkdtemp() + try: + yield td + finally: + shutil.rmtree(td) + + +class BackendUnavailable(Exception): + """Will be raised if the backend cannot be imported in the hook process.""" + + +class UnsupportedOperation(Exception): + """May be raised by build_sdist if the backend indicates that it can't.""" + + +def default_subprocess_runner(cmd, cwd=None, extra_environ=None): + """The default method of calling the wrapper subprocess.""" + env = os.environ.copy() + if extra_environ: + env.update(extra_environ) + + check_call(cmd, cwd=cwd, env=env) + + +class Pep517HookCaller(object): + """A wrapper around a source directory to be built with a PEP 517 backend. + + source_dir : The path to the source directory, containing pyproject.toml. + backend : The build backend spec, as per PEP 517, from pyproject.toml. + """ + def __init__(self, source_dir, build_backend): + self.source_dir = abspath(source_dir) + self.build_backend = build_backend + self._subprocess_runner = default_subprocess_runner + + # TODO: Is this over-engineered? Maybe frontends only need to + # set this when creating the wrapper, not on every call. + @contextmanager + def subprocess_runner(self, runner): + prev = self._subprocess_runner + self._subprocess_runner = runner + yield + self._subprocess_runner = prev + + def get_requires_for_build_wheel(self, config_settings=None): + """Identify packages required for building a wheel + + Returns a list of dependency specifications, e.g.: + ["wheel >= 0.25", "setuptools"] + + This does not include requirements specified in pyproject.toml. + It returns the result of calling the equivalently named hook in a + subprocess. + """ + return self._call_hook('get_requires_for_build_wheel', { + 'config_settings': config_settings + }) + + def prepare_metadata_for_build_wheel( + self, metadata_directory, config_settings=None): + """Prepare a *.dist-info folder with metadata for this project. + + Returns the name of the newly created folder. + + If the build backend defines a hook with this name, it will be called + in a subprocess. If not, the backend will be asked to build a wheel, + and the dist-info extracted from that. + """ + return self._call_hook('prepare_metadata_for_build_wheel', { + 'metadata_directory': abspath(metadata_directory), + 'config_settings': config_settings, + }) + + def build_wheel( + self, wheel_directory, config_settings=None, + metadata_directory=None): + """Build a wheel from this project. + + Returns the name of the newly created file. + + In general, this will call the 'build_wheel' hook in the backend. + However, if that was previously called by + 'prepare_metadata_for_build_wheel', and the same metadata_directory is + used, the previously built wheel will be copied to wheel_directory. + """ + if metadata_directory is not None: + metadata_directory = abspath(metadata_directory) + return self._call_hook('build_wheel', { + 'wheel_directory': abspath(wheel_directory), + 'config_settings': config_settings, + 'metadata_directory': metadata_directory, + }) + + def get_requires_for_build_sdist(self, config_settings=None): + """Identify packages required for building a wheel + + Returns a list of dependency specifications, e.g.: + ["setuptools >= 26"] + + This does not include requirements specified in pyproject.toml. + It returns the result of calling the equivalently named hook in a + subprocess. + """ + return self._call_hook('get_requires_for_build_sdist', { + 'config_settings': config_settings + }) + + def build_sdist(self, sdist_directory, config_settings=None): + """Build an sdist from this project. + + Returns the name of the newly created file. + + This calls the 'build_sdist' backend hook in a subprocess. + """ + return self._call_hook('build_sdist', { + 'sdist_directory': abspath(sdist_directory), + 'config_settings': config_settings, + }) + + def _call_hook(self, hook_name, kwargs): + # On Python 2, pytoml returns Unicode values (which is correct) but the + # environment passed to check_call needs to contain string values. We + # convert here by encoding using ASCII (the backend can only contain + # letters, digits and _, . and : characters, and will be used as a + # Python identifier, so non-ASCII content is wrong on Python 2 in + # any case). + if sys.version_info[0] == 2: + build_backend = self.build_backend.encode('ASCII') + else: + build_backend = self.build_backend + + with tempdir() as td: + compat.write_json({'kwargs': kwargs}, pjoin(td, 'input.json'), + indent=2) + + # Run the hook in a subprocess + self._subprocess_runner( + [sys.executable, _in_proc_script, hook_name, td], + cwd=self.source_dir, + extra_environ={'PEP517_BUILD_BACKEND': build_backend} + ) + + data = compat.read_json(pjoin(td, 'output.json')) + if data.get('unsupported'): + raise UnsupportedOperation + if data.get('no_backend'): + raise BackendUnavailable + return data['return_val'] diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pkg_resources/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pkg_resources/__init__.py new file mode 100644 index 0000000..9c4fd8e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pkg_resources/__init__.py @@ -0,0 +1,3171 @@ +# coding: utf-8 +""" +Package resource API +-------------------- + +A resource is a logical file contained within a package, or a logical +subdirectory thereof. The package resource API expects resource names +to have their path parts separated with ``/``, *not* whatever the local +path separator is. Do not use os.path operations to manipulate resource +names being passed into the API. + +The package resource API is designed to work with normal filesystem packages, +.egg files, and unpacked .egg files. It can also work in a limited way with +.zip files and with custom PEP 302 loaders that support the ``get_data()`` +method. +""" + +from __future__ import absolute_import + +import sys +import os +import io +import time +import re +import types +import zipfile +import zipimport +import warnings +import stat +import functools +import pkgutil +import operator +import platform +import collections +import plistlib +import email.parser +import errno +import tempfile +import textwrap +import itertools +import inspect +from pkgutil import get_importer + +try: + import _imp +except ImportError: + # Python 3.2 compatibility + import imp as _imp + +try: + FileExistsError +except NameError: + FileExistsError = OSError + +from pip._vendor import six +from pip._vendor.six.moves import urllib, map, filter + +# capture these to bypass sandboxing +from os import utime +try: + from os import mkdir, rename, unlink + WRITE_SUPPORT = True +except ImportError: + # no write support, probably under GAE + WRITE_SUPPORT = False + +from os import open as os_open +from os.path import isdir, split + +try: + import importlib.machinery as importlib_machinery + # access attribute to force import under delayed import mechanisms. + importlib_machinery.__name__ +except ImportError: + importlib_machinery = None + +from . import py31compat +from pip._vendor import appdirs +from pip._vendor import packaging +__import__('pip._vendor.packaging.version') +__import__('pip._vendor.packaging.specifiers') +__import__('pip._vendor.packaging.requirements') +__import__('pip._vendor.packaging.markers') + + +__metaclass__ = type + + +if (3, 0) < sys.version_info < (3, 4): + raise RuntimeError("Python 3.4 or later is required") + +if six.PY2: + # Those builtin exceptions are only defined in Python 3 + PermissionError = None + NotADirectoryError = None + +# declare some globals that will be defined later to +# satisfy the linters. +require = None +working_set = None +add_activation_listener = None +resources_stream = None +cleanup_resources = None +resource_dir = None +resource_stream = None +set_extraction_path = None +resource_isdir = None +resource_string = None +iter_entry_points = None +resource_listdir = None +resource_filename = None +resource_exists = None +_distribution_finders = None +_namespace_handlers = None +_namespace_packages = None + + +class PEP440Warning(RuntimeWarning): + """ + Used when there is an issue with a version or specifier not complying with + PEP 440. + """ + + +def parse_version(v): + try: + return packaging.version.Version(v) + except packaging.version.InvalidVersion: + return packaging.version.LegacyVersion(v) + + +_state_vars = {} + + +def _declare_state(vartype, **kw): + globals().update(kw) + _state_vars.update(dict.fromkeys(kw, vartype)) + + +def __getstate__(): + state = {} + g = globals() + for k, v in _state_vars.items(): + state[k] = g['_sget_' + v](g[k]) + return state + + +def __setstate__(state): + g = globals() + for k, v in state.items(): + g['_sset_' + _state_vars[k]](k, g[k], v) + return state + + +def _sget_dict(val): + return val.copy() + + +def _sset_dict(key, ob, state): + ob.clear() + ob.update(state) + + +def _sget_object(val): + return val.__getstate__() + + +def _sset_object(key, ob, state): + ob.__setstate__(state) + + +_sget_none = _sset_none = lambda *args: None + + +def get_supported_platform(): + """Return this platform's maximum compatible version. + + distutils.util.get_platform() normally reports the minimum version + of Mac OS X that would be required to *use* extensions produced by + distutils. But what we want when checking compatibility is to know the + version of Mac OS X that we are *running*. To allow usage of packages that + explicitly require a newer version of Mac OS X, we must also know the + current version of the OS. + + If this condition occurs for any other platform with a version in its + platform strings, this function should be extended accordingly. + """ + plat = get_build_platform() + m = macosVersionString.match(plat) + if m is not None and sys.platform == "darwin": + try: + plat = 'macosx-%s-%s' % ('.'.join(_macosx_vers()[:2]), m.group(3)) + except ValueError: + # not Mac OS X + pass + return plat + + +__all__ = [ + # Basic resource access and distribution/entry point discovery + 'require', 'run_script', 'get_provider', 'get_distribution', + 'load_entry_point', 'get_entry_map', 'get_entry_info', + 'iter_entry_points', + 'resource_string', 'resource_stream', 'resource_filename', + 'resource_listdir', 'resource_exists', 'resource_isdir', + + # Environmental control + 'declare_namespace', 'working_set', 'add_activation_listener', + 'find_distributions', 'set_extraction_path', 'cleanup_resources', + 'get_default_cache', + + # Primary implementation classes + 'Environment', 'WorkingSet', 'ResourceManager', + 'Distribution', 'Requirement', 'EntryPoint', + + # Exceptions + 'ResolutionError', 'VersionConflict', 'DistributionNotFound', + 'UnknownExtra', 'ExtractionError', + + # Warnings + 'PEP440Warning', + + # Parsing functions and string utilities + 'parse_requirements', 'parse_version', 'safe_name', 'safe_version', + 'get_platform', 'compatible_platforms', 'yield_lines', 'split_sections', + 'safe_extra', 'to_filename', 'invalid_marker', 'evaluate_marker', + + # filesystem utilities + 'ensure_directory', 'normalize_path', + + # Distribution "precedence" constants + 'EGG_DIST', 'BINARY_DIST', 'SOURCE_DIST', 'CHECKOUT_DIST', 'DEVELOP_DIST', + + # "Provider" interfaces, implementations, and registration/lookup APIs + 'IMetadataProvider', 'IResourceProvider', 'FileMetadata', + 'PathMetadata', 'EggMetadata', 'EmptyProvider', 'empty_provider', + 'NullProvider', 'EggProvider', 'DefaultProvider', 'ZipProvider', + 'register_finder', 'register_namespace_handler', 'register_loader_type', + 'fixup_namespace_packages', 'get_importer', + + # Warnings + 'PkgResourcesDeprecationWarning', + + # Deprecated/backward compatibility only + 'run_main', 'AvailableDistributions', +] + + +class ResolutionError(Exception): + """Abstract base for dependency resolution errors""" + + def __repr__(self): + return self.__class__.__name__ + repr(self.args) + + +class VersionConflict(ResolutionError): + """ + An already-installed version conflicts with the requested version. + + Should be initialized with the installed Distribution and the requested + Requirement. + """ + + _template = "{self.dist} is installed but {self.req} is required" + + @property + def dist(self): + return self.args[0] + + @property + def req(self): + return self.args[1] + + def report(self): + return self._template.format(**locals()) + + def with_context(self, required_by): + """ + If required_by is non-empty, return a version of self that is a + ContextualVersionConflict. + """ + if not required_by: + return self + args = self.args + (required_by,) + return ContextualVersionConflict(*args) + + +class ContextualVersionConflict(VersionConflict): + """ + A VersionConflict that accepts a third parameter, the set of the + requirements that required the installed Distribution. + """ + + _template = VersionConflict._template + ' by {self.required_by}' + + @property + def required_by(self): + return self.args[2] + + +class DistributionNotFound(ResolutionError): + """A requested distribution was not found""" + + _template = ("The '{self.req}' distribution was not found " + "and is required by {self.requirers_str}") + + @property + def req(self): + return self.args[0] + + @property + def requirers(self): + return self.args[1] + + @property + def requirers_str(self): + if not self.requirers: + return 'the application' + return ', '.join(self.requirers) + + def report(self): + return self._template.format(**locals()) + + def __str__(self): + return self.report() + + +class UnknownExtra(ResolutionError): + """Distribution doesn't have an "extra feature" of the given name""" + + +_provider_factories = {} + +PY_MAJOR = sys.version[:3] +EGG_DIST = 3 +BINARY_DIST = 2 +SOURCE_DIST = 1 +CHECKOUT_DIST = 0 +DEVELOP_DIST = -1 + + +def register_loader_type(loader_type, provider_factory): + """Register `provider_factory` to make providers for `loader_type` + + `loader_type` is the type or class of a PEP 302 ``module.__loader__``, + and `provider_factory` is a function that, passed a *module* object, + returns an ``IResourceProvider`` for that module. + """ + _provider_factories[loader_type] = provider_factory + + +def get_provider(moduleOrReq): + """Return an IResourceProvider for the named module or requirement""" + if isinstance(moduleOrReq, Requirement): + return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0] + try: + module = sys.modules[moduleOrReq] + except KeyError: + __import__(moduleOrReq) + module = sys.modules[moduleOrReq] + loader = getattr(module, '__loader__', None) + return _find_adapter(_provider_factories, loader)(module) + + +def _macosx_vers(_cache=[]): + if not _cache: + version = platform.mac_ver()[0] + # fallback for MacPorts + if version == '': + plist = '/System/Library/CoreServices/SystemVersion.plist' + if os.path.exists(plist): + if hasattr(plistlib, 'readPlist'): + plist_content = plistlib.readPlist(plist) + if 'ProductVersion' in plist_content: + version = plist_content['ProductVersion'] + + _cache.append(version.split('.')) + return _cache[0] + + +def _macosx_arch(machine): + return {'PowerPC': 'ppc', 'Power_Macintosh': 'ppc'}.get(machine, machine) + + +def get_build_platform(): + """Return this platform's string for platform-specific distributions + + XXX Currently this is the same as ``distutils.util.get_platform()``, but it + needs some hacks for Linux and Mac OS X. + """ + from sysconfig import get_platform + + plat = get_platform() + if sys.platform == "darwin" and not plat.startswith('macosx-'): + try: + version = _macosx_vers() + machine = os.uname()[4].replace(" ", "_") + return "macosx-%d.%d-%s" % ( + int(version[0]), int(version[1]), + _macosx_arch(machine), + ) + except ValueError: + # if someone is running a non-Mac darwin system, this will fall + # through to the default implementation + pass + return plat + + +macosVersionString = re.compile(r"macosx-(\d+)\.(\d+)-(.*)") +darwinVersionString = re.compile(r"darwin-(\d+)\.(\d+)\.(\d+)-(.*)") +# XXX backward compat +get_platform = get_build_platform + + +def compatible_platforms(provided, required): + """Can code for the `provided` platform run on the `required` platform? + + Returns true if either platform is ``None``, or the platforms are equal. + + XXX Needs compatibility checks for Linux and other unixy OSes. + """ + if provided is None or required is None or provided == required: + # easy case + return True + + # Mac OS X special cases + reqMac = macosVersionString.match(required) + if reqMac: + provMac = macosVersionString.match(provided) + + # is this a Mac package? + if not provMac: + # this is backwards compatibility for packages built before + # setuptools 0.6. All packages built after this point will + # use the new macosx designation. + provDarwin = darwinVersionString.match(provided) + if provDarwin: + dversion = int(provDarwin.group(1)) + macosversion = "%s.%s" % (reqMac.group(1), reqMac.group(2)) + if dversion == 7 and macosversion >= "10.3" or \ + dversion == 8 and macosversion >= "10.4": + return True + # egg isn't macosx or legacy darwin + return False + + # are they the same major version and machine type? + if provMac.group(1) != reqMac.group(1) or \ + provMac.group(3) != reqMac.group(3): + return False + + # is the required OS major update >= the provided one? + if int(provMac.group(2)) > int(reqMac.group(2)): + return False + + return True + + # XXX Linux and other platforms' special cases should go here + return False + + +def run_script(dist_spec, script_name): + """Locate distribution `dist_spec` and run its `script_name` script""" + ns = sys._getframe(1).f_globals + name = ns['__name__'] + ns.clear() + ns['__name__'] = name + require(dist_spec)[0].run_script(script_name, ns) + + +# backward compatibility +run_main = run_script + + +def get_distribution(dist): + """Return a current distribution object for a Requirement or string""" + if isinstance(dist, six.string_types): + dist = Requirement.parse(dist) + if isinstance(dist, Requirement): + dist = get_provider(dist) + if not isinstance(dist, Distribution): + raise TypeError("Expected string, Requirement, or Distribution", dist) + return dist + + +def load_entry_point(dist, group, name): + """Return `name` entry point of `group` for `dist` or raise ImportError""" + return get_distribution(dist).load_entry_point(group, name) + + +def get_entry_map(dist, group=None): + """Return the entry point map for `group`, or the full entry map""" + return get_distribution(dist).get_entry_map(group) + + +def get_entry_info(dist, group, name): + """Return the EntryPoint object for `group`+`name`, or ``None``""" + return get_distribution(dist).get_entry_info(group, name) + + +class IMetadataProvider: + def has_metadata(name): + """Does the package's distribution contain the named metadata?""" + + def get_metadata(name): + """The named metadata resource as a string""" + + def get_metadata_lines(name): + """Yield named metadata resource as list of non-blank non-comment lines + + Leading and trailing whitespace is stripped from each line, and lines + with ``#`` as the first non-blank character are omitted.""" + + def metadata_isdir(name): + """Is the named metadata a directory? (like ``os.path.isdir()``)""" + + def metadata_listdir(name): + """List of metadata names in the directory (like ``os.listdir()``)""" + + def run_script(script_name, namespace): + """Execute the named script in the supplied namespace dictionary""" + + +class IResourceProvider(IMetadataProvider): + """An object that provides access to package resources""" + + def get_resource_filename(manager, resource_name): + """Return a true filesystem path for `resource_name` + + `manager` must be an ``IResourceManager``""" + + def get_resource_stream(manager, resource_name): + """Return a readable file-like object for `resource_name` + + `manager` must be an ``IResourceManager``""" + + def get_resource_string(manager, resource_name): + """Return a string containing the contents of `resource_name` + + `manager` must be an ``IResourceManager``""" + + def has_resource(resource_name): + """Does the package contain the named resource?""" + + def resource_isdir(resource_name): + """Is the named resource a directory? (like ``os.path.isdir()``)""" + + def resource_listdir(resource_name): + """List of resource names in the directory (like ``os.listdir()``)""" + + +class WorkingSet: + """A collection of active distributions on sys.path (or a similar list)""" + + def __init__(self, entries=None): + """Create working set from list of path entries (default=sys.path)""" + self.entries = [] + self.entry_keys = {} + self.by_key = {} + self.callbacks = [] + + if entries is None: + entries = sys.path + + for entry in entries: + self.add_entry(entry) + + @classmethod + def _build_master(cls): + """ + Prepare the master working set. + """ + ws = cls() + try: + from __main__ import __requires__ + except ImportError: + # The main program does not list any requirements + return ws + + # ensure the requirements are met + try: + ws.require(__requires__) + except VersionConflict: + return cls._build_from_requirements(__requires__) + + return ws + + @classmethod + def _build_from_requirements(cls, req_spec): + """ + Build a working set from a requirement spec. Rewrites sys.path. + """ + # try it without defaults already on sys.path + # by starting with an empty path + ws = cls([]) + reqs = parse_requirements(req_spec) + dists = ws.resolve(reqs, Environment()) + for dist in dists: + ws.add(dist) + + # add any missing entries from sys.path + for entry in sys.path: + if entry not in ws.entries: + ws.add_entry(entry) + + # then copy back to sys.path + sys.path[:] = ws.entries + return ws + + def add_entry(self, entry): + """Add a path item to ``.entries``, finding any distributions on it + + ``find_distributions(entry, True)`` is used to find distributions + corresponding to the path entry, and they are added. `entry` is + always appended to ``.entries``, even if it is already present. + (This is because ``sys.path`` can contain the same value more than + once, and the ``.entries`` of the ``sys.path`` WorkingSet should always + equal ``sys.path``.) + """ + self.entry_keys.setdefault(entry, []) + self.entries.append(entry) + for dist in find_distributions(entry, True): + self.add(dist, entry, False) + + def __contains__(self, dist): + """True if `dist` is the active distribution for its project""" + return self.by_key.get(dist.key) == dist + + def find(self, req): + """Find a distribution matching requirement `req` + + If there is an active distribution for the requested project, this + returns it as long as it meets the version requirement specified by + `req`. But, if there is an active distribution for the project and it + does *not* meet the `req` requirement, ``VersionConflict`` is raised. + If there is no active distribution for the requested project, ``None`` + is returned. + """ + dist = self.by_key.get(req.key) + if dist is not None and dist not in req: + # XXX add more info + raise VersionConflict(dist, req) + return dist + + def iter_entry_points(self, group, name=None): + """Yield entry point objects from `group` matching `name` + + If `name` is None, yields all entry points in `group` from all + distributions in the working set, otherwise only ones matching + both `group` and `name` are yielded (in distribution order). + """ + return ( + entry + for dist in self + for entry in dist.get_entry_map(group).values() + if name is None or name == entry.name + ) + + def run_script(self, requires, script_name): + """Locate distribution for `requires` and run `script_name` script""" + ns = sys._getframe(1).f_globals + name = ns['__name__'] + ns.clear() + ns['__name__'] = name + self.require(requires)[0].run_script(script_name, ns) + + def __iter__(self): + """Yield distributions for non-duplicate projects in the working set + + The yield order is the order in which the items' path entries were + added to the working set. + """ + seen = {} + for item in self.entries: + if item not in self.entry_keys: + # workaround a cache issue + continue + + for key in self.entry_keys[item]: + if key not in seen: + seen[key] = 1 + yield self.by_key[key] + + def add(self, dist, entry=None, insert=True, replace=False): + """Add `dist` to working set, associated with `entry` + + If `entry` is unspecified, it defaults to the ``.location`` of `dist`. + On exit from this routine, `entry` is added to the end of the working + set's ``.entries`` (if it wasn't already present). + + `dist` is only added to the working set if it's for a project that + doesn't already have a distribution in the set, unless `replace=True`. + If it's added, any callbacks registered with the ``subscribe()`` method + will be called. + """ + if insert: + dist.insert_on(self.entries, entry, replace=replace) + + if entry is None: + entry = dist.location + keys = self.entry_keys.setdefault(entry, []) + keys2 = self.entry_keys.setdefault(dist.location, []) + if not replace and dist.key in self.by_key: + # ignore hidden distros + return + + self.by_key[dist.key] = dist + if dist.key not in keys: + keys.append(dist.key) + if dist.key not in keys2: + keys2.append(dist.key) + self._added_new(dist) + + def resolve(self, requirements, env=None, installer=None, + replace_conflicting=False, extras=None): + """List all distributions needed to (recursively) meet `requirements` + + `requirements` must be a sequence of ``Requirement`` objects. `env`, + if supplied, should be an ``Environment`` instance. If + not supplied, it defaults to all distributions available within any + entry or distribution in the working set. `installer`, if supplied, + will be invoked with each requirement that cannot be met by an + already-installed distribution; it should return a ``Distribution`` or + ``None``. + + Unless `replace_conflicting=True`, raises a VersionConflict exception + if + any requirements are found on the path that have the correct name but + the wrong version. Otherwise, if an `installer` is supplied it will be + invoked to obtain the correct version of the requirement and activate + it. + + `extras` is a list of the extras to be used with these requirements. + This is important because extra requirements may look like `my_req; + extra = "my_extra"`, which would otherwise be interpreted as a purely + optional requirement. Instead, we want to be able to assert that these + requirements are truly required. + """ + + # set up the stack + requirements = list(requirements)[::-1] + # set of processed requirements + processed = {} + # key -> dist + best = {} + to_activate = [] + + req_extras = _ReqExtras() + + # Mapping of requirement to set of distributions that required it; + # useful for reporting info about conflicts. + required_by = collections.defaultdict(set) + + while requirements: + # process dependencies breadth-first + req = requirements.pop(0) + if req in processed: + # Ignore cyclic or redundant dependencies + continue + + if not req_extras.markers_pass(req, extras): + continue + + dist = best.get(req.key) + if dist is None: + # Find the best distribution and add it to the map + dist = self.by_key.get(req.key) + if dist is None or (dist not in req and replace_conflicting): + ws = self + if env is None: + if dist is None: + env = Environment(self.entries) + else: + # Use an empty environment and workingset to avoid + # any further conflicts with the conflicting + # distribution + env = Environment([]) + ws = WorkingSet([]) + dist = best[req.key] = env.best_match( + req, ws, installer, + replace_conflicting=replace_conflicting + ) + if dist is None: + requirers = required_by.get(req, None) + raise DistributionNotFound(req, requirers) + to_activate.append(dist) + if dist not in req: + # Oops, the "best" so far conflicts with a dependency + dependent_req = required_by[req] + raise VersionConflict(dist, req).with_context(dependent_req) + + # push the new requirements onto the stack + new_requirements = dist.requires(req.extras)[::-1] + requirements.extend(new_requirements) + + # Register the new requirements needed by req + for new_requirement in new_requirements: + required_by[new_requirement].add(req.project_name) + req_extras[new_requirement] = req.extras + + processed[req] = True + + # return list of distros to activate + return to_activate + + def find_plugins( + self, plugin_env, full_env=None, installer=None, fallback=True): + """Find all activatable distributions in `plugin_env` + + Example usage:: + + distributions, errors = working_set.find_plugins( + Environment(plugin_dirlist) + ) + # add plugins+libs to sys.path + map(working_set.add, distributions) + # display errors + print('Could not load', errors) + + The `plugin_env` should be an ``Environment`` instance that contains + only distributions that are in the project's "plugin directory" or + directories. The `full_env`, if supplied, should be an ``Environment`` + contains all currently-available distributions. If `full_env` is not + supplied, one is created automatically from the ``WorkingSet`` this + method is called on, which will typically mean that every directory on + ``sys.path`` will be scanned for distributions. + + `installer` is a standard installer callback as used by the + ``resolve()`` method. The `fallback` flag indicates whether we should + attempt to resolve older versions of a plugin if the newest version + cannot be resolved. + + This method returns a 2-tuple: (`distributions`, `error_info`), where + `distributions` is a list of the distributions found in `plugin_env` + that were loadable, along with any other distributions that are needed + to resolve their dependencies. `error_info` is a dictionary mapping + unloadable plugin distributions to an exception instance describing the + error that occurred. Usually this will be a ``DistributionNotFound`` or + ``VersionConflict`` instance. + """ + + plugin_projects = list(plugin_env) + # scan project names in alphabetic order + plugin_projects.sort() + + error_info = {} + distributions = {} + + if full_env is None: + env = Environment(self.entries) + env += plugin_env + else: + env = full_env + plugin_env + + shadow_set = self.__class__([]) + # put all our entries in shadow_set + list(map(shadow_set.add, self)) + + for project_name in plugin_projects: + + for dist in plugin_env[project_name]: + + req = [dist.as_requirement()] + + try: + resolvees = shadow_set.resolve(req, env, installer) + + except ResolutionError as v: + # save error info + error_info[dist] = v + if fallback: + # try the next older version of project + continue + else: + # give up on this project, keep going + break + + else: + list(map(shadow_set.add, resolvees)) + distributions.update(dict.fromkeys(resolvees)) + + # success, no need to try any more versions of this project + break + + distributions = list(distributions) + distributions.sort() + + return distributions, error_info + + def require(self, *requirements): + """Ensure that distributions matching `requirements` are activated + + `requirements` must be a string or a (possibly-nested) sequence + thereof, specifying the distributions and versions required. The + return value is a sequence of the distributions that needed to be + activated to fulfill the requirements; all relevant distributions are + included, even if they were already activated in this working set. + """ + needed = self.resolve(parse_requirements(requirements)) + + for dist in needed: + self.add(dist) + + return needed + + def subscribe(self, callback, existing=True): + """Invoke `callback` for all distributions + + If `existing=True` (default), + call on all existing ones, as well. + """ + if callback in self.callbacks: + return + self.callbacks.append(callback) + if not existing: + return + for dist in self: + callback(dist) + + def _added_new(self, dist): + for callback in self.callbacks: + callback(dist) + + def __getstate__(self): + return ( + self.entries[:], self.entry_keys.copy(), self.by_key.copy(), + self.callbacks[:] + ) + + def __setstate__(self, e_k_b_c): + entries, keys, by_key, callbacks = e_k_b_c + self.entries = entries[:] + self.entry_keys = keys.copy() + self.by_key = by_key.copy() + self.callbacks = callbacks[:] + + +class _ReqExtras(dict): + """ + Map each requirement to the extras that demanded it. + """ + + def markers_pass(self, req, extras=None): + """ + Evaluate markers for req against each extra that + demanded it. + + Return False if the req has a marker and fails + evaluation. Otherwise, return True. + """ + extra_evals = ( + req.marker.evaluate({'extra': extra}) + for extra in self.get(req, ()) + (extras or (None,)) + ) + return not req.marker or any(extra_evals) + + +class Environment: + """Searchable snapshot of distributions on a search path""" + + def __init__( + self, search_path=None, platform=get_supported_platform(), + python=PY_MAJOR): + """Snapshot distributions available on a search path + + Any distributions found on `search_path` are added to the environment. + `search_path` should be a sequence of ``sys.path`` items. If not + supplied, ``sys.path`` is used. + + `platform` is an optional string specifying the name of the platform + that platform-specific distributions must be compatible with. If + unspecified, it defaults to the current platform. `python` is an + optional string naming the desired version of Python (e.g. ``'3.6'``); + it defaults to the current version. + + You may explicitly set `platform` (and/or `python`) to ``None`` if you + wish to map *all* distributions, not just those compatible with the + running platform or Python version. + """ + self._distmap = {} + self.platform = platform + self.python = python + self.scan(search_path) + + def can_add(self, dist): + """Is distribution `dist` acceptable for this environment? + + The distribution must match the platform and python version + requirements specified when this environment was created, or False + is returned. + """ + py_compat = ( + self.python is None + or dist.py_version is None + or dist.py_version == self.python + ) + return py_compat and compatible_platforms(dist.platform, self.platform) + + def remove(self, dist): + """Remove `dist` from the environment""" + self._distmap[dist.key].remove(dist) + + def scan(self, search_path=None): + """Scan `search_path` for distributions usable in this environment + + Any distributions found are added to the environment. + `search_path` should be a sequence of ``sys.path`` items. If not + supplied, ``sys.path`` is used. Only distributions conforming to + the platform/python version defined at initialization are added. + """ + if search_path is None: + search_path = sys.path + + for item in search_path: + for dist in find_distributions(item): + self.add(dist) + + def __getitem__(self, project_name): + """Return a newest-to-oldest list of distributions for `project_name` + + Uses case-insensitive `project_name` comparison, assuming all the + project's distributions use their project's name converted to all + lowercase as their key. + + """ + distribution_key = project_name.lower() + return self._distmap.get(distribution_key, []) + + def add(self, dist): + """Add `dist` if we ``can_add()`` it and it has not already been added + """ + if self.can_add(dist) and dist.has_version(): + dists = self._distmap.setdefault(dist.key, []) + if dist not in dists: + dists.append(dist) + dists.sort(key=operator.attrgetter('hashcmp'), reverse=True) + + def best_match( + self, req, working_set, installer=None, replace_conflicting=False): + """Find distribution best matching `req` and usable on `working_set` + + This calls the ``find(req)`` method of the `working_set` to see if a + suitable distribution is already active. (This may raise + ``VersionConflict`` if an unsuitable version of the project is already + active in the specified `working_set`.) If a suitable distribution + isn't active, this method returns the newest distribution in the + environment that meets the ``Requirement`` in `req`. If no suitable + distribution is found, and `installer` is supplied, then the result of + calling the environment's ``obtain(req, installer)`` method will be + returned. + """ + try: + dist = working_set.find(req) + except VersionConflict: + if not replace_conflicting: + raise + dist = None + if dist is not None: + return dist + for dist in self[req.key]: + if dist in req: + return dist + # try to download/install + return self.obtain(req, installer) + + def obtain(self, requirement, installer=None): + """Obtain a distribution matching `requirement` (e.g. via download) + + Obtain a distro that matches requirement (e.g. via download). In the + base ``Environment`` class, this routine just returns + ``installer(requirement)``, unless `installer` is None, in which case + None is returned instead. This method is a hook that allows subclasses + to attempt other ways of obtaining a distribution before falling back + to the `installer` argument.""" + if installer is not None: + return installer(requirement) + + def __iter__(self): + """Yield the unique project names of the available distributions""" + for key in self._distmap.keys(): + if self[key]: + yield key + + def __iadd__(self, other): + """In-place addition of a distribution or environment""" + if isinstance(other, Distribution): + self.add(other) + elif isinstance(other, Environment): + for project in other: + for dist in other[project]: + self.add(dist) + else: + raise TypeError("Can't add %r to environment" % (other,)) + return self + + def __add__(self, other): + """Add an environment or distribution to an environment""" + new = self.__class__([], platform=None, python=None) + for env in self, other: + new += env + return new + + +# XXX backward compatibility +AvailableDistributions = Environment + + +class ExtractionError(RuntimeError): + """An error occurred extracting a resource + + The following attributes are available from instances of this exception: + + manager + The resource manager that raised this exception + + cache_path + The base directory for resource extraction + + original_error + The exception instance that caused extraction to fail + """ + + +class ResourceManager: + """Manage resource extraction and packages""" + extraction_path = None + + def __init__(self): + self.cached_files = {} + + def resource_exists(self, package_or_requirement, resource_name): + """Does the named resource exist?""" + return get_provider(package_or_requirement).has_resource(resource_name) + + def resource_isdir(self, package_or_requirement, resource_name): + """Is the named resource an existing directory?""" + return get_provider(package_or_requirement).resource_isdir( + resource_name + ) + + def resource_filename(self, package_or_requirement, resource_name): + """Return a true filesystem path for specified resource""" + return get_provider(package_or_requirement).get_resource_filename( + self, resource_name + ) + + def resource_stream(self, package_or_requirement, resource_name): + """Return a readable file-like object for specified resource""" + return get_provider(package_or_requirement).get_resource_stream( + self, resource_name + ) + + def resource_string(self, package_or_requirement, resource_name): + """Return specified resource as a string""" + return get_provider(package_or_requirement).get_resource_string( + self, resource_name + ) + + def resource_listdir(self, package_or_requirement, resource_name): + """List the contents of the named resource directory""" + return get_provider(package_or_requirement).resource_listdir( + resource_name + ) + + def extraction_error(self): + """Give an error message for problems extracting file(s)""" + + old_exc = sys.exc_info()[1] + cache_path = self.extraction_path or get_default_cache() + + tmpl = textwrap.dedent(""" + Can't extract file(s) to egg cache + + The following error occurred while trying to extract file(s) + to the Python egg cache: + + {old_exc} + + The Python egg cache directory is currently set to: + + {cache_path} + + Perhaps your account does not have write access to this directory? + You can change the cache directory by setting the PYTHON_EGG_CACHE + environment variable to point to an accessible directory. + """).lstrip() + err = ExtractionError(tmpl.format(**locals())) + err.manager = self + err.cache_path = cache_path + err.original_error = old_exc + raise err + + def get_cache_path(self, archive_name, names=()): + """Return absolute location in cache for `archive_name` and `names` + + The parent directory of the resulting path will be created if it does + not already exist. `archive_name` should be the base filename of the + enclosing egg (which may not be the name of the enclosing zipfile!), + including its ".egg" extension. `names`, if provided, should be a + sequence of path name parts "under" the egg's extraction location. + + This method should only be called by resource providers that need to + obtain an extraction location, and only for names they intend to + extract, as it tracks the generated names for possible cleanup later. + """ + extract_path = self.extraction_path or get_default_cache() + target_path = os.path.join(extract_path, archive_name + '-tmp', *names) + try: + _bypass_ensure_directory(target_path) + except Exception: + self.extraction_error() + + self._warn_unsafe_extraction_path(extract_path) + + self.cached_files[target_path] = 1 + return target_path + + @staticmethod + def _warn_unsafe_extraction_path(path): + """ + If the default extraction path is overridden and set to an insecure + location, such as /tmp, it opens up an opportunity for an attacker to + replace an extracted file with an unauthorized payload. Warn the user + if a known insecure location is used. + + See Distribute #375 for more details. + """ + if os.name == 'nt' and not path.startswith(os.environ['windir']): + # On Windows, permissions are generally restrictive by default + # and temp directories are not writable by other users, so + # bypass the warning. + return + mode = os.stat(path).st_mode + if mode & stat.S_IWOTH or mode & stat.S_IWGRP: + msg = ( + "%s is writable by group/others and vulnerable to attack " + "when " + "used with get_resource_filename. Consider a more secure " + "location (set with .set_extraction_path or the " + "PYTHON_EGG_CACHE environment variable)." % path + ) + warnings.warn(msg, UserWarning) + + def postprocess(self, tempname, filename): + """Perform any platform-specific postprocessing of `tempname` + + This is where Mac header rewrites should be done; other platforms don't + have anything special they should do. + + Resource providers should call this method ONLY after successfully + extracting a compressed resource. They must NOT call it on resources + that are already in the filesystem. + + `tempname` is the current (temporary) name of the file, and `filename` + is the name it will be renamed to by the caller after this routine + returns. + """ + + if os.name == 'posix': + # Make the resource executable + mode = ((os.stat(tempname).st_mode) | 0o555) & 0o7777 + os.chmod(tempname, mode) + + def set_extraction_path(self, path): + """Set the base path where resources will be extracted to, if needed. + + If you do not call this routine before any extractions take place, the + path defaults to the return value of ``get_default_cache()``. (Which + is based on the ``PYTHON_EGG_CACHE`` environment variable, with various + platform-specific fallbacks. See that routine's documentation for more + details.) + + Resources are extracted to subdirectories of this path based upon + information given by the ``IResourceProvider``. You may set this to a + temporary directory, but then you must call ``cleanup_resources()`` to + delete the extracted files when done. There is no guarantee that + ``cleanup_resources()`` will be able to remove all extracted files. + + (Note: you may not change the extraction path for a given resource + manager once resources have been extracted, unless you first call + ``cleanup_resources()``.) + """ + if self.cached_files: + raise ValueError( + "Can't change extraction path, files already extracted" + ) + + self.extraction_path = path + + def cleanup_resources(self, force=False): + """ + Delete all extracted resource files and directories, returning a list + of the file and directory names that could not be successfully removed. + This function does not have any concurrency protection, so it should + generally only be called when the extraction path is a temporary + directory exclusive to a single process. This method is not + automatically called; you must call it explicitly or register it as an + ``atexit`` function if you wish to ensure cleanup of a temporary + directory used for extractions. + """ + # XXX + + +def get_default_cache(): + """ + Return the ``PYTHON_EGG_CACHE`` environment variable + or a platform-relevant user cache dir for an app + named "Python-Eggs". + """ + return ( + os.environ.get('PYTHON_EGG_CACHE') + or appdirs.user_cache_dir(appname='Python-Eggs') + ) + + +def safe_name(name): + """Convert an arbitrary string to a standard distribution name + + Any runs of non-alphanumeric/. characters are replaced with a single '-'. + """ + return re.sub('[^A-Za-z0-9.]+', '-', name) + + +def safe_version(version): + """ + Convert an arbitrary string to a standard version string + """ + try: + # normalize the version + return str(packaging.version.Version(version)) + except packaging.version.InvalidVersion: + version = version.replace(' ', '.') + return re.sub('[^A-Za-z0-9.]+', '-', version) + + +def safe_extra(extra): + """Convert an arbitrary string to a standard 'extra' name + + Any runs of non-alphanumeric characters are replaced with a single '_', + and the result is always lowercased. + """ + return re.sub('[^A-Za-z0-9.-]+', '_', extra).lower() + + +def to_filename(name): + """Convert a project or version name to its filename-escaped form + + Any '-' characters are currently replaced with '_'. + """ + return name.replace('-', '_') + + +def invalid_marker(text): + """ + Validate text as a PEP 508 environment marker; return an exception + if invalid or False otherwise. + """ + try: + evaluate_marker(text) + except SyntaxError as e: + e.filename = None + e.lineno = None + return e + return False + + +def evaluate_marker(text, extra=None): + """ + Evaluate a PEP 508 environment marker. + Return a boolean indicating the marker result in this environment. + Raise SyntaxError if marker is invalid. + + This implementation uses the 'pyparsing' module. + """ + try: + marker = packaging.markers.Marker(text) + return marker.evaluate() + except packaging.markers.InvalidMarker as e: + raise SyntaxError(e) + + +class NullProvider: + """Try to implement resources and metadata for arbitrary PEP 302 loaders""" + + egg_name = None + egg_info = None + loader = None + + def __init__(self, module): + self.loader = getattr(module, '__loader__', None) + self.module_path = os.path.dirname(getattr(module, '__file__', '')) + + def get_resource_filename(self, manager, resource_name): + return self._fn(self.module_path, resource_name) + + def get_resource_stream(self, manager, resource_name): + return io.BytesIO(self.get_resource_string(manager, resource_name)) + + def get_resource_string(self, manager, resource_name): + return self._get(self._fn(self.module_path, resource_name)) + + def has_resource(self, resource_name): + return self._has(self._fn(self.module_path, resource_name)) + + def has_metadata(self, name): + return self.egg_info and self._has(self._fn(self.egg_info, name)) + + def get_metadata(self, name): + if not self.egg_info: + return "" + value = self._get(self._fn(self.egg_info, name)) + return value.decode('utf-8') if six.PY3 else value + + def get_metadata_lines(self, name): + return yield_lines(self.get_metadata(name)) + + def resource_isdir(self, resource_name): + return self._isdir(self._fn(self.module_path, resource_name)) + + def metadata_isdir(self, name): + return self.egg_info and self._isdir(self._fn(self.egg_info, name)) + + def resource_listdir(self, resource_name): + return self._listdir(self._fn(self.module_path, resource_name)) + + def metadata_listdir(self, name): + if self.egg_info: + return self._listdir(self._fn(self.egg_info, name)) + return [] + + def run_script(self, script_name, namespace): + script = 'scripts/' + script_name + if not self.has_metadata(script): + raise ResolutionError( + "Script {script!r} not found in metadata at {self.egg_info!r}" + .format(**locals()), + ) + script_text = self.get_metadata(script).replace('\r\n', '\n') + script_text = script_text.replace('\r', '\n') + script_filename = self._fn(self.egg_info, script) + namespace['__file__'] = script_filename + if os.path.exists(script_filename): + source = open(script_filename).read() + code = compile(source, script_filename, 'exec') + exec(code, namespace, namespace) + else: + from linecache import cache + cache[script_filename] = ( + len(script_text), 0, script_text.split('\n'), script_filename + ) + script_code = compile(script_text, script_filename, 'exec') + exec(script_code, namespace, namespace) + + def _has(self, path): + raise NotImplementedError( + "Can't perform this operation for unregistered loader type" + ) + + def _isdir(self, path): + raise NotImplementedError( + "Can't perform this operation for unregistered loader type" + ) + + def _listdir(self, path): + raise NotImplementedError( + "Can't perform this operation for unregistered loader type" + ) + + def _fn(self, base, resource_name): + if resource_name: + return os.path.join(base, *resource_name.split('/')) + return base + + def _get(self, path): + if hasattr(self.loader, 'get_data'): + return self.loader.get_data(path) + raise NotImplementedError( + "Can't perform this operation for loaders without 'get_data()'" + ) + + +register_loader_type(object, NullProvider) + + +class EggProvider(NullProvider): + """Provider based on a virtual filesystem""" + + def __init__(self, module): + NullProvider.__init__(self, module) + self._setup_prefix() + + def _setup_prefix(self): + # we assume here that our metadata may be nested inside a "basket" + # of multiple eggs; that's why we use module_path instead of .archive + path = self.module_path + old = None + while path != old: + if _is_egg_path(path): + self.egg_name = os.path.basename(path) + self.egg_info = os.path.join(path, 'EGG-INFO') + self.egg_root = path + break + old = path + path, base = os.path.split(path) + + +class DefaultProvider(EggProvider): + """Provides access to package resources in the filesystem""" + + def _has(self, path): + return os.path.exists(path) + + def _isdir(self, path): + return os.path.isdir(path) + + def _listdir(self, path): + return os.listdir(path) + + def get_resource_stream(self, manager, resource_name): + return open(self._fn(self.module_path, resource_name), 'rb') + + def _get(self, path): + with open(path, 'rb') as stream: + return stream.read() + + @classmethod + def _register(cls): + loader_names = 'SourceFileLoader', 'SourcelessFileLoader', + for name in loader_names: + loader_cls = getattr(importlib_machinery, name, type(None)) + register_loader_type(loader_cls, cls) + + +DefaultProvider._register() + + +class EmptyProvider(NullProvider): + """Provider that returns nothing for all requests""" + + module_path = None + + _isdir = _has = lambda self, path: False + + def _get(self, path): + return '' + + def _listdir(self, path): + return [] + + def __init__(self): + pass + + +empty_provider = EmptyProvider() + + +class ZipManifests(dict): + """ + zip manifest builder + """ + + @classmethod + def build(cls, path): + """ + Build a dictionary similar to the zipimport directory + caches, except instead of tuples, store ZipInfo objects. + + Use a platform-specific path separator (os.sep) for the path keys + for compatibility with pypy on Windows. + """ + with zipfile.ZipFile(path) as zfile: + items = ( + ( + name.replace('/', os.sep), + zfile.getinfo(name), + ) + for name in zfile.namelist() + ) + return dict(items) + + load = build + + +class MemoizedZipManifests(ZipManifests): + """ + Memoized zipfile manifests. + """ + manifest_mod = collections.namedtuple('manifest_mod', 'manifest mtime') + + def load(self, path): + """ + Load a manifest at path or return a suitable manifest already loaded. + """ + path = os.path.normpath(path) + mtime = os.stat(path).st_mtime + + if path not in self or self[path].mtime != mtime: + manifest = self.build(path) + self[path] = self.manifest_mod(manifest, mtime) + + return self[path].manifest + + +class ZipProvider(EggProvider): + """Resource support for zips and eggs""" + + eagers = None + _zip_manifests = MemoizedZipManifests() + + def __init__(self, module): + EggProvider.__init__(self, module) + self.zip_pre = self.loader.archive + os.sep + + def _zipinfo_name(self, fspath): + # Convert a virtual filename (full path to file) into a zipfile subpath + # usable with the zipimport directory cache for our target archive + fspath = fspath.rstrip(os.sep) + if fspath == self.loader.archive: + return '' + if fspath.startswith(self.zip_pre): + return fspath[len(self.zip_pre):] + raise AssertionError( + "%s is not a subpath of %s" % (fspath, self.zip_pre) + ) + + def _parts(self, zip_path): + # Convert a zipfile subpath into an egg-relative path part list. + # pseudo-fs path + fspath = self.zip_pre + zip_path + if fspath.startswith(self.egg_root + os.sep): + return fspath[len(self.egg_root) + 1:].split(os.sep) + raise AssertionError( + "%s is not a subpath of %s" % (fspath, self.egg_root) + ) + + @property + def zipinfo(self): + return self._zip_manifests.load(self.loader.archive) + + def get_resource_filename(self, manager, resource_name): + if not self.egg_name: + raise NotImplementedError( + "resource_filename() only supported for .egg, not .zip" + ) + # no need to lock for extraction, since we use temp names + zip_path = self._resource_to_zip(resource_name) + eagers = self._get_eager_resources() + if '/'.join(self._parts(zip_path)) in eagers: + for name in eagers: + self._extract_resource(manager, self._eager_to_zip(name)) + return self._extract_resource(manager, zip_path) + + @staticmethod + def _get_date_and_size(zip_stat): + size = zip_stat.file_size + # ymdhms+wday, yday, dst + date_time = zip_stat.date_time + (0, 0, -1) + # 1980 offset already done + timestamp = time.mktime(date_time) + return timestamp, size + + def _extract_resource(self, manager, zip_path): + + if zip_path in self._index(): + for name in self._index()[zip_path]: + last = self._extract_resource( + manager, os.path.join(zip_path, name) + ) + # return the extracted directory name + return os.path.dirname(last) + + timestamp, size = self._get_date_and_size(self.zipinfo[zip_path]) + + if not WRITE_SUPPORT: + raise IOError('"os.rename" and "os.unlink" are not supported ' + 'on this platform') + try: + + real_path = manager.get_cache_path( + self.egg_name, self._parts(zip_path) + ) + + if self._is_current(real_path, zip_path): + return real_path + + outf, tmpnam = _mkstemp( + ".$extract", + dir=os.path.dirname(real_path), + ) + os.write(outf, self.loader.get_data(zip_path)) + os.close(outf) + utime(tmpnam, (timestamp, timestamp)) + manager.postprocess(tmpnam, real_path) + + try: + rename(tmpnam, real_path) + + except os.error: + if os.path.isfile(real_path): + if self._is_current(real_path, zip_path): + # the file became current since it was checked above, + # so proceed. + return real_path + # Windows, del old file and retry + elif os.name == 'nt': + unlink(real_path) + rename(tmpnam, real_path) + return real_path + raise + + except os.error: + # report a user-friendly error + manager.extraction_error() + + return real_path + + def _is_current(self, file_path, zip_path): + """ + Return True if the file_path is current for this zip_path + """ + timestamp, size = self._get_date_and_size(self.zipinfo[zip_path]) + if not os.path.isfile(file_path): + return False + stat = os.stat(file_path) + if stat.st_size != size or stat.st_mtime != timestamp: + return False + # check that the contents match + zip_contents = self.loader.get_data(zip_path) + with open(file_path, 'rb') as f: + file_contents = f.read() + return zip_contents == file_contents + + def _get_eager_resources(self): + if self.eagers is None: + eagers = [] + for name in ('native_libs.txt', 'eager_resources.txt'): + if self.has_metadata(name): + eagers.extend(self.get_metadata_lines(name)) + self.eagers = eagers + return self.eagers + + def _index(self): + try: + return self._dirindex + except AttributeError: + ind = {} + for path in self.zipinfo: + parts = path.split(os.sep) + while parts: + parent = os.sep.join(parts[:-1]) + if parent in ind: + ind[parent].append(parts[-1]) + break + else: + ind[parent] = [parts.pop()] + self._dirindex = ind + return ind + + def _has(self, fspath): + zip_path = self._zipinfo_name(fspath) + return zip_path in self.zipinfo or zip_path in self._index() + + def _isdir(self, fspath): + return self._zipinfo_name(fspath) in self._index() + + def _listdir(self, fspath): + return list(self._index().get(self._zipinfo_name(fspath), ())) + + def _eager_to_zip(self, resource_name): + return self._zipinfo_name(self._fn(self.egg_root, resource_name)) + + def _resource_to_zip(self, resource_name): + return self._zipinfo_name(self._fn(self.module_path, resource_name)) + + +register_loader_type(zipimport.zipimporter, ZipProvider) + + +class FileMetadata(EmptyProvider): + """Metadata handler for standalone PKG-INFO files + + Usage:: + + metadata = FileMetadata("/path/to/PKG-INFO") + + This provider rejects all data and metadata requests except for PKG-INFO, + which is treated as existing, and will be the contents of the file at + the provided location. + """ + + def __init__(self, path): + self.path = path + + def has_metadata(self, name): + return name == 'PKG-INFO' and os.path.isfile(self.path) + + def get_metadata(self, name): + if name != 'PKG-INFO': + raise KeyError("No metadata except PKG-INFO is available") + + with io.open(self.path, encoding='utf-8', errors="replace") as f: + metadata = f.read() + self._warn_on_replacement(metadata) + return metadata + + def _warn_on_replacement(self, metadata): + # Python 2.7 compat for: replacement_char = '�' + replacement_char = b'\xef\xbf\xbd'.decode('utf-8') + if replacement_char in metadata: + tmpl = "{self.path} could not be properly decoded in UTF-8" + msg = tmpl.format(**locals()) + warnings.warn(msg) + + def get_metadata_lines(self, name): + return yield_lines(self.get_metadata(name)) + + +class PathMetadata(DefaultProvider): + """Metadata provider for egg directories + + Usage:: + + # Development eggs: + + egg_info = "/path/to/PackageName.egg-info" + base_dir = os.path.dirname(egg_info) + metadata = PathMetadata(base_dir, egg_info) + dist_name = os.path.splitext(os.path.basename(egg_info))[0] + dist = Distribution(basedir, project_name=dist_name, metadata=metadata) + + # Unpacked egg directories: + + egg_path = "/path/to/PackageName-ver-pyver-etc.egg" + metadata = PathMetadata(egg_path, os.path.join(egg_path,'EGG-INFO')) + dist = Distribution.from_filename(egg_path, metadata=metadata) + """ + + def __init__(self, path, egg_info): + self.module_path = path + self.egg_info = egg_info + + +class EggMetadata(ZipProvider): + """Metadata provider for .egg files""" + + def __init__(self, importer): + """Create a metadata provider from a zipimporter""" + + self.zip_pre = importer.archive + os.sep + self.loader = importer + if importer.prefix: + self.module_path = os.path.join(importer.archive, importer.prefix) + else: + self.module_path = importer.archive + self._setup_prefix() + + +_declare_state('dict', _distribution_finders={}) + + +def register_finder(importer_type, distribution_finder): + """Register `distribution_finder` to find distributions in sys.path items + + `importer_type` is the type or class of a PEP 302 "Importer" (sys.path item + handler), and `distribution_finder` is a callable that, passed a path + item and the importer instance, yields ``Distribution`` instances found on + that path item. See ``pkg_resources.find_on_path`` for an example.""" + _distribution_finders[importer_type] = distribution_finder + + +def find_distributions(path_item, only=False): + """Yield distributions accessible via `path_item`""" + importer = get_importer(path_item) + finder = _find_adapter(_distribution_finders, importer) + return finder(importer, path_item, only) + + +def find_eggs_in_zip(importer, path_item, only=False): + """ + Find eggs in zip files; possibly multiple nested eggs. + """ + if importer.archive.endswith('.whl'): + # wheels are not supported with this finder + # they don't have PKG-INFO metadata, and won't ever contain eggs + return + metadata = EggMetadata(importer) + if metadata.has_metadata('PKG-INFO'): + yield Distribution.from_filename(path_item, metadata=metadata) + if only: + # don't yield nested distros + return + for subitem in metadata.resource_listdir('/'): + if _is_egg_path(subitem): + subpath = os.path.join(path_item, subitem) + dists = find_eggs_in_zip(zipimport.zipimporter(subpath), subpath) + for dist in dists: + yield dist + elif subitem.lower().endswith('.dist-info'): + subpath = os.path.join(path_item, subitem) + submeta = EggMetadata(zipimport.zipimporter(subpath)) + submeta.egg_info = subpath + yield Distribution.from_location(path_item, subitem, submeta) + + +register_finder(zipimport.zipimporter, find_eggs_in_zip) + + +def find_nothing(importer, path_item, only=False): + return () + + +register_finder(object, find_nothing) + + +def _by_version_descending(names): + """ + Given a list of filenames, return them in descending order + by version number. + + >>> names = 'bar', 'foo', 'Python-2.7.10.egg', 'Python-2.7.2.egg' + >>> _by_version_descending(names) + ['Python-2.7.10.egg', 'Python-2.7.2.egg', 'foo', 'bar'] + >>> names = 'Setuptools-1.2.3b1.egg', 'Setuptools-1.2.3.egg' + >>> _by_version_descending(names) + ['Setuptools-1.2.3.egg', 'Setuptools-1.2.3b1.egg'] + >>> names = 'Setuptools-1.2.3b1.egg', 'Setuptools-1.2.3.post1.egg' + >>> _by_version_descending(names) + ['Setuptools-1.2.3.post1.egg', 'Setuptools-1.2.3b1.egg'] + """ + def _by_version(name): + """ + Parse each component of the filename + """ + name, ext = os.path.splitext(name) + parts = itertools.chain(name.split('-'), [ext]) + return [packaging.version.parse(part) for part in parts] + + return sorted(names, key=_by_version, reverse=True) + + +def find_on_path(importer, path_item, only=False): + """Yield distributions accessible on a sys.path directory""" + path_item = _normalize_cached(path_item) + + if _is_unpacked_egg(path_item): + yield Distribution.from_filename( + path_item, metadata=PathMetadata( + path_item, os.path.join(path_item, 'EGG-INFO') + ) + ) + return + + entries = safe_listdir(path_item) + + # for performance, before sorting by version, + # screen entries for only those that will yield + # distributions + filtered = ( + entry + for entry in entries + if dist_factory(path_item, entry, only) + ) + + # scan for .egg and .egg-info in directory + path_item_entries = _by_version_descending(filtered) + for entry in path_item_entries: + fullpath = os.path.join(path_item, entry) + factory = dist_factory(path_item, entry, only) + for dist in factory(fullpath): + yield dist + + +def dist_factory(path_item, entry, only): + """ + Return a dist_factory for a path_item and entry + """ + lower = entry.lower() + is_meta = any(map(lower.endswith, ('.egg-info', '.dist-info'))) + return ( + distributions_from_metadata + if is_meta else + find_distributions + if not only and _is_egg_path(entry) else + resolve_egg_link + if not only and lower.endswith('.egg-link') else + NoDists() + ) + + +class NoDists: + """ + >>> bool(NoDists()) + False + + >>> list(NoDists()('anything')) + [] + """ + def __bool__(self): + return False + if six.PY2: + __nonzero__ = __bool__ + + def __call__(self, fullpath): + return iter(()) + + +def safe_listdir(path): + """ + Attempt to list contents of path, but suppress some exceptions. + """ + try: + return os.listdir(path) + except (PermissionError, NotADirectoryError): + pass + except OSError as e: + # Ignore the directory if does not exist, not a directory or + # permission denied + ignorable = ( + e.errno in (errno.ENOTDIR, errno.EACCES, errno.ENOENT) + # Python 2 on Windows needs to be handled this way :( + or getattr(e, "winerror", None) == 267 + ) + if not ignorable: + raise + return () + + +def distributions_from_metadata(path): + root = os.path.dirname(path) + if os.path.isdir(path): + if len(os.listdir(path)) == 0: + # empty metadata dir; skip + return + metadata = PathMetadata(root, path) + else: + metadata = FileMetadata(path) + entry = os.path.basename(path) + yield Distribution.from_location( + root, entry, metadata, precedence=DEVELOP_DIST, + ) + + +def non_empty_lines(path): + """ + Yield non-empty lines from file at path + """ + with open(path) as f: + for line in f: + line = line.strip() + if line: + yield line + + +def resolve_egg_link(path): + """ + Given a path to an .egg-link, resolve distributions + present in the referenced path. + """ + referenced_paths = non_empty_lines(path) + resolved_paths = ( + os.path.join(os.path.dirname(path), ref) + for ref in referenced_paths + ) + dist_groups = map(find_distributions, resolved_paths) + return next(dist_groups, ()) + + +register_finder(pkgutil.ImpImporter, find_on_path) + +if hasattr(importlib_machinery, 'FileFinder'): + register_finder(importlib_machinery.FileFinder, find_on_path) + +_declare_state('dict', _namespace_handlers={}) +_declare_state('dict', _namespace_packages={}) + + +def register_namespace_handler(importer_type, namespace_handler): + """Register `namespace_handler` to declare namespace packages + + `importer_type` is the type or class of a PEP 302 "Importer" (sys.path item + handler), and `namespace_handler` is a callable like this:: + + def namespace_handler(importer, path_entry, moduleName, module): + # return a path_entry to use for child packages + + Namespace handlers are only called if the importer object has already + agreed that it can handle the relevant path item, and they should only + return a subpath if the module __path__ does not already contain an + equivalent subpath. For an example namespace handler, see + ``pkg_resources.file_ns_handler``. + """ + _namespace_handlers[importer_type] = namespace_handler + + +def _handle_ns(packageName, path_item): + """Ensure that named package includes a subpath of path_item (if needed)""" + + importer = get_importer(path_item) + if importer is None: + return None + + # capture warnings due to #1111 + with warnings.catch_warnings(): + warnings.simplefilter("ignore") + loader = importer.find_module(packageName) + + if loader is None: + return None + module = sys.modules.get(packageName) + if module is None: + module = sys.modules[packageName] = types.ModuleType(packageName) + module.__path__ = [] + _set_parent_ns(packageName) + elif not hasattr(module, '__path__'): + raise TypeError("Not a package:", packageName) + handler = _find_adapter(_namespace_handlers, importer) + subpath = handler(importer, path_item, packageName, module) + if subpath is not None: + path = module.__path__ + path.append(subpath) + loader.load_module(packageName) + _rebuild_mod_path(path, packageName, module) + return subpath + + +def _rebuild_mod_path(orig_path, package_name, module): + """ + Rebuild module.__path__ ensuring that all entries are ordered + corresponding to their sys.path order + """ + sys_path = [_normalize_cached(p) for p in sys.path] + + def safe_sys_path_index(entry): + """ + Workaround for #520 and #513. + """ + try: + return sys_path.index(entry) + except ValueError: + return float('inf') + + def position_in_sys_path(path): + """ + Return the ordinal of the path based on its position in sys.path + """ + path_parts = path.split(os.sep) + module_parts = package_name.count('.') + 1 + parts = path_parts[:-module_parts] + return safe_sys_path_index(_normalize_cached(os.sep.join(parts))) + + new_path = sorted(orig_path, key=position_in_sys_path) + new_path = [_normalize_cached(p) for p in new_path] + + if isinstance(module.__path__, list): + module.__path__[:] = new_path + else: + module.__path__ = new_path + + +def declare_namespace(packageName): + """Declare that package 'packageName' is a namespace package""" + + _imp.acquire_lock() + try: + if packageName in _namespace_packages: + return + + path = sys.path + parent, _, _ = packageName.rpartition('.') + + if parent: + declare_namespace(parent) + if parent not in _namespace_packages: + __import__(parent) + try: + path = sys.modules[parent].__path__ + except AttributeError: + raise TypeError("Not a package:", parent) + + # Track what packages are namespaces, so when new path items are added, + # they can be updated + _namespace_packages.setdefault(parent or None, []).append(packageName) + _namespace_packages.setdefault(packageName, []) + + for path_item in path: + # Ensure all the parent's path items are reflected in the child, + # if they apply + _handle_ns(packageName, path_item) + + finally: + _imp.release_lock() + + +def fixup_namespace_packages(path_item, parent=None): + """Ensure that previously-declared namespace packages include path_item""" + _imp.acquire_lock() + try: + for package in _namespace_packages.get(parent, ()): + subpath = _handle_ns(package, path_item) + if subpath: + fixup_namespace_packages(subpath, package) + finally: + _imp.release_lock() + + +def file_ns_handler(importer, path_item, packageName, module): + """Compute an ns-package subpath for a filesystem or zipfile importer""" + + subpath = os.path.join(path_item, packageName.split('.')[-1]) + normalized = _normalize_cached(subpath) + for item in module.__path__: + if _normalize_cached(item) == normalized: + break + else: + # Only return the path if it's not already there + return subpath + + +register_namespace_handler(pkgutil.ImpImporter, file_ns_handler) +register_namespace_handler(zipimport.zipimporter, file_ns_handler) + +if hasattr(importlib_machinery, 'FileFinder'): + register_namespace_handler(importlib_machinery.FileFinder, file_ns_handler) + + +def null_ns_handler(importer, path_item, packageName, module): + return None + + +register_namespace_handler(object, null_ns_handler) + + +def normalize_path(filename): + """Normalize a file/dir name for comparison purposes""" + return os.path.normcase(os.path.realpath(os.path.normpath(_cygwin_patch(filename)))) + + +def _cygwin_patch(filename): # pragma: nocover + """ + Contrary to POSIX 2008, on Cygwin, getcwd (3) contains + symlink components. Using + os.path.abspath() works around this limitation. A fix in os.getcwd() + would probably better, in Cygwin even more so, except + that this seems to be by design... + """ + return os.path.abspath(filename) if sys.platform == 'cygwin' else filename + + +def _normalize_cached(filename, _cache={}): + try: + return _cache[filename] + except KeyError: + _cache[filename] = result = normalize_path(filename) + return result + + +def _is_egg_path(path): + """ + Determine if given path appears to be an egg. + """ + return path.lower().endswith('.egg') + + +def _is_unpacked_egg(path): + """ + Determine if given path appears to be an unpacked egg. + """ + return ( + _is_egg_path(path) and + os.path.isfile(os.path.join(path, 'EGG-INFO', 'PKG-INFO')) + ) + + +def _set_parent_ns(packageName): + parts = packageName.split('.') + name = parts.pop() + if parts: + parent = '.'.join(parts) + setattr(sys.modules[parent], name, sys.modules[packageName]) + + +def yield_lines(strs): + """Yield non-empty/non-comment lines of a string or sequence""" + if isinstance(strs, six.string_types): + for s in strs.splitlines(): + s = s.strip() + # skip blank lines/comments + if s and not s.startswith('#'): + yield s + else: + for ss in strs: + for s in yield_lines(ss): + yield s + + +MODULE = re.compile(r"\w+(\.\w+)*$").match +EGG_NAME = re.compile( + r""" + (?P<name>[^-]+) ( + -(?P<ver>[^-]+) ( + -py(?P<pyver>[^-]+) ( + -(?P<plat>.+) + )? + )? + )? + """, + re.VERBOSE | re.IGNORECASE, +).match + + +class EntryPoint: + """Object representing an advertised importable object""" + + def __init__(self, name, module_name, attrs=(), extras=(), dist=None): + if not MODULE(module_name): + raise ValueError("Invalid module name", module_name) + self.name = name + self.module_name = module_name + self.attrs = tuple(attrs) + self.extras = tuple(extras) + self.dist = dist + + def __str__(self): + s = "%s = %s" % (self.name, self.module_name) + if self.attrs: + s += ':' + '.'.join(self.attrs) + if self.extras: + s += ' [%s]' % ','.join(self.extras) + return s + + def __repr__(self): + return "EntryPoint.parse(%r)" % str(self) + + def load(self, require=True, *args, **kwargs): + """ + Require packages for this EntryPoint, then resolve it. + """ + if not require or args or kwargs: + warnings.warn( + "Parameters to load are deprecated. Call .resolve and " + ".require separately.", + PkgResourcesDeprecationWarning, + stacklevel=2, + ) + if require: + self.require(*args, **kwargs) + return self.resolve() + + def resolve(self): + """ + Resolve the entry point from its module and attrs. + """ + module = __import__(self.module_name, fromlist=['__name__'], level=0) + try: + return functools.reduce(getattr, self.attrs, module) + except AttributeError as exc: + raise ImportError(str(exc)) + + def require(self, env=None, installer=None): + if self.extras and not self.dist: + raise UnknownExtra("Can't require() without a distribution", self) + + # Get the requirements for this entry point with all its extras and + # then resolve them. We have to pass `extras` along when resolving so + # that the working set knows what extras we want. Otherwise, for + # dist-info distributions, the working set will assume that the + # requirements for that extra are purely optional and skip over them. + reqs = self.dist.requires(self.extras) + items = working_set.resolve(reqs, env, installer, extras=self.extras) + list(map(working_set.add, items)) + + pattern = re.compile( + r'\s*' + r'(?P<name>.+?)\s*' + r'=\s*' + r'(?P<module>[\w.]+)\s*' + r'(:\s*(?P<attr>[\w.]+))?\s*' + r'(?P<extras>\[.*\])?\s*$' + ) + + @classmethod + def parse(cls, src, dist=None): + """Parse a single entry point from string `src` + + Entry point syntax follows the form:: + + name = some.module:some.attr [extra1, extra2] + + The entry name and module name are required, but the ``:attrs`` and + ``[extras]`` parts are optional + """ + m = cls.pattern.match(src) + if not m: + msg = "EntryPoint must be in 'name=module:attrs [extras]' format" + raise ValueError(msg, src) + res = m.groupdict() + extras = cls._parse_extras(res['extras']) + attrs = res['attr'].split('.') if res['attr'] else () + return cls(res['name'], res['module'], attrs, extras, dist) + + @classmethod + def _parse_extras(cls, extras_spec): + if not extras_spec: + return () + req = Requirement.parse('x' + extras_spec) + if req.specs: + raise ValueError() + return req.extras + + @classmethod + def parse_group(cls, group, lines, dist=None): + """Parse an entry point group""" + if not MODULE(group): + raise ValueError("Invalid group name", group) + this = {} + for line in yield_lines(lines): + ep = cls.parse(line, dist) + if ep.name in this: + raise ValueError("Duplicate entry point", group, ep.name) + this[ep.name] = ep + return this + + @classmethod + def parse_map(cls, data, dist=None): + """Parse a map of entry point groups""" + if isinstance(data, dict): + data = data.items() + else: + data = split_sections(data) + maps = {} + for group, lines in data: + if group is None: + if not lines: + continue + raise ValueError("Entry points must be listed in groups") + group = group.strip() + if group in maps: + raise ValueError("Duplicate group name", group) + maps[group] = cls.parse_group(group, lines, dist) + return maps + + +def _remove_md5_fragment(location): + if not location: + return '' + parsed = urllib.parse.urlparse(location) + if parsed[-1].startswith('md5='): + return urllib.parse.urlunparse(parsed[:-1] + ('',)) + return location + + +def _version_from_file(lines): + """ + Given an iterable of lines from a Metadata file, return + the value of the Version field, if present, or None otherwise. + """ + def is_version_line(line): + return line.lower().startswith('version:') + version_lines = filter(is_version_line, lines) + line = next(iter(version_lines), '') + _, _, value = line.partition(':') + return safe_version(value.strip()) or None + + +class Distribution: + """Wrap an actual or potential sys.path entry w/metadata""" + PKG_INFO = 'PKG-INFO' + + def __init__( + self, location=None, metadata=None, project_name=None, + version=None, py_version=PY_MAJOR, platform=None, + precedence=EGG_DIST): + self.project_name = safe_name(project_name or 'Unknown') + if version is not None: + self._version = safe_version(version) + self.py_version = py_version + self.platform = platform + self.location = location + self.precedence = precedence + self._provider = metadata or empty_provider + + @classmethod + def from_location(cls, location, basename, metadata=None, **kw): + project_name, version, py_version, platform = [None] * 4 + basename, ext = os.path.splitext(basename) + if ext.lower() in _distributionImpl: + cls = _distributionImpl[ext.lower()] + + match = EGG_NAME(basename) + if match: + project_name, version, py_version, platform = match.group( + 'name', 'ver', 'pyver', 'plat' + ) + return cls( + location, metadata, project_name=project_name, version=version, + py_version=py_version, platform=platform, **kw + )._reload_version() + + def _reload_version(self): + return self + + @property + def hashcmp(self): + return ( + self.parsed_version, + self.precedence, + self.key, + _remove_md5_fragment(self.location), + self.py_version or '', + self.platform or '', + ) + + def __hash__(self): + return hash(self.hashcmp) + + def __lt__(self, other): + return self.hashcmp < other.hashcmp + + def __le__(self, other): + return self.hashcmp <= other.hashcmp + + def __gt__(self, other): + return self.hashcmp > other.hashcmp + + def __ge__(self, other): + return self.hashcmp >= other.hashcmp + + def __eq__(self, other): + if not isinstance(other, self.__class__): + # It's not a Distribution, so they are not equal + return False + return self.hashcmp == other.hashcmp + + def __ne__(self, other): + return not self == other + + # These properties have to be lazy so that we don't have to load any + # metadata until/unless it's actually needed. (i.e., some distributions + # may not know their name or version without loading PKG-INFO) + + @property + def key(self): + try: + return self._key + except AttributeError: + self._key = key = self.project_name.lower() + return key + + @property + def parsed_version(self): + if not hasattr(self, "_parsed_version"): + self._parsed_version = parse_version(self.version) + + return self._parsed_version + + def _warn_legacy_version(self): + LV = packaging.version.LegacyVersion + is_legacy = isinstance(self._parsed_version, LV) + if not is_legacy: + return + + # While an empty version is technically a legacy version and + # is not a valid PEP 440 version, it's also unlikely to + # actually come from someone and instead it is more likely that + # it comes from setuptools attempting to parse a filename and + # including it in the list. So for that we'll gate this warning + # on if the version is anything at all or not. + if not self.version: + return + + tmpl = textwrap.dedent(""" + '{project_name} ({version})' is being parsed as a legacy, + non PEP 440, + version. You may find odd behavior and sort order. + In particular it will be sorted as less than 0.0. It + is recommended to migrate to PEP 440 compatible + versions. + """).strip().replace('\n', ' ') + + warnings.warn(tmpl.format(**vars(self)), PEP440Warning) + + @property + def version(self): + try: + return self._version + except AttributeError: + version = _version_from_file(self._get_metadata(self.PKG_INFO)) + if version is None: + tmpl = "Missing 'Version:' header and/or %s file" + raise ValueError(tmpl % self.PKG_INFO, self) + return version + + @property + def _dep_map(self): + """ + A map of extra to its list of (direct) requirements + for this distribution, including the null extra. + """ + try: + return self.__dep_map + except AttributeError: + self.__dep_map = self._filter_extras(self._build_dep_map()) + return self.__dep_map + + @staticmethod + def _filter_extras(dm): + """ + Given a mapping of extras to dependencies, strip off + environment markers and filter out any dependencies + not matching the markers. + """ + for extra in list(filter(None, dm)): + new_extra = extra + reqs = dm.pop(extra) + new_extra, _, marker = extra.partition(':') + fails_marker = marker and ( + invalid_marker(marker) + or not evaluate_marker(marker) + ) + if fails_marker: + reqs = [] + new_extra = safe_extra(new_extra) or None + + dm.setdefault(new_extra, []).extend(reqs) + return dm + + def _build_dep_map(self): + dm = {} + for name in 'requires.txt', 'depends.txt': + for extra, reqs in split_sections(self._get_metadata(name)): + dm.setdefault(extra, []).extend(parse_requirements(reqs)) + return dm + + def requires(self, extras=()): + """List of Requirements needed for this distro if `extras` are used""" + dm = self._dep_map + deps = [] + deps.extend(dm.get(None, ())) + for ext in extras: + try: + deps.extend(dm[safe_extra(ext)]) + except KeyError: + raise UnknownExtra( + "%s has no such extra feature %r" % (self, ext) + ) + return deps + + def _get_metadata(self, name): + if self.has_metadata(name): + for line in self.get_metadata_lines(name): + yield line + + def activate(self, path=None, replace=False): + """Ensure distribution is importable on `path` (default=sys.path)""" + if path is None: + path = sys.path + self.insert_on(path, replace=replace) + if path is sys.path: + fixup_namespace_packages(self.location) + for pkg in self._get_metadata('namespace_packages.txt'): + if pkg in sys.modules: + declare_namespace(pkg) + + def egg_name(self): + """Return what this distribution's standard .egg filename should be""" + filename = "%s-%s-py%s" % ( + to_filename(self.project_name), to_filename(self.version), + self.py_version or PY_MAJOR + ) + + if self.platform: + filename += '-' + self.platform + return filename + + def __repr__(self): + if self.location: + return "%s (%s)" % (self, self.location) + else: + return str(self) + + def __str__(self): + try: + version = getattr(self, 'version', None) + except ValueError: + version = None + version = version or "[unknown version]" + return "%s %s" % (self.project_name, version) + + def __getattr__(self, attr): + """Delegate all unrecognized public attributes to .metadata provider""" + if attr.startswith('_'): + raise AttributeError(attr) + return getattr(self._provider, attr) + + def __dir__(self): + return list( + set(super(Distribution, self).__dir__()) + | set( + attr for attr in self._provider.__dir__() + if not attr.startswith('_') + ) + ) + + if not hasattr(object, '__dir__'): + # python 2.7 not supported + del __dir__ + + @classmethod + def from_filename(cls, filename, metadata=None, **kw): + return cls.from_location( + _normalize_cached(filename), os.path.basename(filename), metadata, + **kw + ) + + def as_requirement(self): + """Return a ``Requirement`` that matches this distribution exactly""" + if isinstance(self.parsed_version, packaging.version.Version): + spec = "%s==%s" % (self.project_name, self.parsed_version) + else: + spec = "%s===%s" % (self.project_name, self.parsed_version) + + return Requirement.parse(spec) + + def load_entry_point(self, group, name): + """Return the `name` entry point of `group` or raise ImportError""" + ep = self.get_entry_info(group, name) + if ep is None: + raise ImportError("Entry point %r not found" % ((group, name),)) + return ep.load() + + def get_entry_map(self, group=None): + """Return the entry point map for `group`, or the full entry map""" + try: + ep_map = self._ep_map + except AttributeError: + ep_map = self._ep_map = EntryPoint.parse_map( + self._get_metadata('entry_points.txt'), self + ) + if group is not None: + return ep_map.get(group, {}) + return ep_map + + def get_entry_info(self, group, name): + """Return the EntryPoint object for `group`+`name`, or ``None``""" + return self.get_entry_map(group).get(name) + + def insert_on(self, path, loc=None, replace=False): + """Ensure self.location is on path + + If replace=False (default): + - If location is already in path anywhere, do nothing. + - Else: + - If it's an egg and its parent directory is on path, + insert just ahead of the parent. + - Else: add to the end of path. + If replace=True: + - If location is already on path anywhere (not eggs) + or higher priority than its parent (eggs) + do nothing. + - Else: + - If it's an egg and its parent directory is on path, + insert just ahead of the parent, + removing any lower-priority entries. + - Else: add it to the front of path. + """ + + loc = loc or self.location + if not loc: + return + + nloc = _normalize_cached(loc) + bdir = os.path.dirname(nloc) + npath = [(p and _normalize_cached(p) or p) for p in path] + + for p, item in enumerate(npath): + if item == nloc: + if replace: + break + else: + # don't modify path (even removing duplicates) if + # found and not replace + return + elif item == bdir and self.precedence == EGG_DIST: + # if it's an .egg, give it precedence over its directory + # UNLESS it's already been added to sys.path and replace=False + if (not replace) and nloc in npath[p:]: + return + if path is sys.path: + self.check_version_conflict() + path.insert(p, loc) + npath.insert(p, nloc) + break + else: + if path is sys.path: + self.check_version_conflict() + if replace: + path.insert(0, loc) + else: + path.append(loc) + return + + # p is the spot where we found or inserted loc; now remove duplicates + while True: + try: + np = npath.index(nloc, p + 1) + except ValueError: + break + else: + del npath[np], path[np] + # ha! + p = np + + return + + def check_version_conflict(self): + if self.key == 'setuptools': + # ignore the inevitable setuptools self-conflicts :( + return + + nsp = dict.fromkeys(self._get_metadata('namespace_packages.txt')) + loc = normalize_path(self.location) + for modname in self._get_metadata('top_level.txt'): + if (modname not in sys.modules or modname in nsp + or modname in _namespace_packages): + continue + if modname in ('pkg_resources', 'setuptools', 'site'): + continue + fn = getattr(sys.modules[modname], '__file__', None) + if fn and (normalize_path(fn).startswith(loc) or + fn.startswith(self.location)): + continue + issue_warning( + "Module %s was already imported from %s, but %s is being added" + " to sys.path" % (modname, fn, self.location), + ) + + def has_version(self): + try: + self.version + except ValueError: + issue_warning("Unbuilt egg for " + repr(self)) + return False + return True + + def clone(self, **kw): + """Copy this distribution, substituting in any changed keyword args""" + names = 'project_name version py_version platform location precedence' + for attr in names.split(): + kw.setdefault(attr, getattr(self, attr, None)) + kw.setdefault('metadata', self._provider) + return self.__class__(**kw) + + @property + def extras(self): + return [dep for dep in self._dep_map if dep] + + +class EggInfoDistribution(Distribution): + def _reload_version(self): + """ + Packages installed by distutils (e.g. numpy or scipy), + which uses an old safe_version, and so + their version numbers can get mangled when + converted to filenames (e.g., 1.11.0.dev0+2329eae to + 1.11.0.dev0_2329eae). These distributions will not be + parsed properly + downstream by Distribution and safe_version, so + take an extra step and try to get the version number from + the metadata file itself instead of the filename. + """ + md_version = _version_from_file(self._get_metadata(self.PKG_INFO)) + if md_version: + self._version = md_version + return self + + +class DistInfoDistribution(Distribution): + """ + Wrap an actual or potential sys.path entry + w/metadata, .dist-info style. + """ + PKG_INFO = 'METADATA' + EQEQ = re.compile(r"([\(,])\s*(\d.*?)\s*([,\)])") + + @property + def _parsed_pkg_info(self): + """Parse and cache metadata""" + try: + return self._pkg_info + except AttributeError: + metadata = self.get_metadata(self.PKG_INFO) + self._pkg_info = email.parser.Parser().parsestr(metadata) + return self._pkg_info + + @property + def _dep_map(self): + try: + return self.__dep_map + except AttributeError: + self.__dep_map = self._compute_dependencies() + return self.__dep_map + + def _compute_dependencies(self): + """Recompute this distribution's dependencies.""" + dm = self.__dep_map = {None: []} + + reqs = [] + # Including any condition expressions + for req in self._parsed_pkg_info.get_all('Requires-Dist') or []: + reqs.extend(parse_requirements(req)) + + def reqs_for_extra(extra): + for req in reqs: + if not req.marker or req.marker.evaluate({'extra': extra}): + yield req + + common = frozenset(reqs_for_extra(None)) + dm[None].extend(common) + + for extra in self._parsed_pkg_info.get_all('Provides-Extra') or []: + s_extra = safe_extra(extra.strip()) + dm[s_extra] = list(frozenset(reqs_for_extra(extra)) - common) + + return dm + + +_distributionImpl = { + '.egg': Distribution, + '.egg-info': EggInfoDistribution, + '.dist-info': DistInfoDistribution, +} + + +def issue_warning(*args, **kw): + level = 1 + g = globals() + try: + # find the first stack frame that is *not* code in + # the pkg_resources module, to use for the warning + while sys._getframe(level).f_globals is g: + level += 1 + except ValueError: + pass + warnings.warn(stacklevel=level + 1, *args, **kw) + + +class RequirementParseError(ValueError): + def __str__(self): + return ' '.join(self.args) + + +def parse_requirements(strs): + """Yield ``Requirement`` objects for each specification in `strs` + + `strs` must be a string, or a (possibly-nested) iterable thereof. + """ + # create a steppable iterator, so we can handle \-continuations + lines = iter(yield_lines(strs)) + + for line in lines: + # Drop comments -- a hash without a space may be in a URL. + if ' #' in line: + line = line[:line.find(' #')] + # If there is a line continuation, drop it, and append the next line. + if line.endswith('\\'): + line = line[:-2].strip() + try: + line += next(lines) + except StopIteration: + return + yield Requirement(line) + + +class Requirement(packaging.requirements.Requirement): + def __init__(self, requirement_string): + """DO NOT CALL THIS UNDOCUMENTED METHOD; use Requirement.parse()!""" + try: + super(Requirement, self).__init__(requirement_string) + except packaging.requirements.InvalidRequirement as e: + raise RequirementParseError(str(e)) + self.unsafe_name = self.name + project_name = safe_name(self.name) + self.project_name, self.key = project_name, project_name.lower() + self.specs = [ + (spec.operator, spec.version) for spec in self.specifier] + self.extras = tuple(map(safe_extra, self.extras)) + self.hashCmp = ( + self.key, + self.specifier, + frozenset(self.extras), + str(self.marker) if self.marker else None, + ) + self.__hash = hash(self.hashCmp) + + def __eq__(self, other): + return ( + isinstance(other, Requirement) and + self.hashCmp == other.hashCmp + ) + + def __ne__(self, other): + return not self == other + + def __contains__(self, item): + if isinstance(item, Distribution): + if item.key != self.key: + return False + + item = item.version + + # Allow prereleases always in order to match the previous behavior of + # this method. In the future this should be smarter and follow PEP 440 + # more accurately. + return self.specifier.contains(item, prereleases=True) + + def __hash__(self): + return self.__hash + + def __repr__(self): + return "Requirement.parse(%r)" % str(self) + + @staticmethod + def parse(s): + req, = parse_requirements(s) + return req + + +def _always_object(classes): + """ + Ensure object appears in the mro even + for old-style classes. + """ + if object not in classes: + return classes + (object,) + return classes + + +def _find_adapter(registry, ob): + """Return an adapter factory for `ob` from `registry`""" + types = _always_object(inspect.getmro(getattr(ob, '__class__', type(ob)))) + for t in types: + if t in registry: + return registry[t] + + +def ensure_directory(path): + """Ensure that the parent directory of `path` exists""" + dirname = os.path.dirname(path) + py31compat.makedirs(dirname, exist_ok=True) + + +def _bypass_ensure_directory(path): + """Sandbox-bypassing version of ensure_directory()""" + if not WRITE_SUPPORT: + raise IOError('"os.mkdir" not supported on this platform.') + dirname, filename = split(path) + if dirname and filename and not isdir(dirname): + _bypass_ensure_directory(dirname) + try: + mkdir(dirname, 0o755) + except FileExistsError: + pass + + +def split_sections(s): + """Split a string or iterable thereof into (section, content) pairs + + Each ``section`` is a stripped version of the section header ("[section]") + and each ``content`` is a list of stripped lines excluding blank lines and + comment-only lines. If there are any such lines before the first section + header, they're returned in a first ``section`` of ``None``. + """ + section = None + content = [] + for line in yield_lines(s): + if line.startswith("["): + if line.endswith("]"): + if section or content: + yield section, content + section = line[1:-1].strip() + content = [] + else: + raise ValueError("Invalid section heading", line) + else: + content.append(line) + + # wrap up last segment + yield section, content + + +def _mkstemp(*args, **kw): + old_open = os.open + try: + # temporarily bypass sandboxing + os.open = os_open + return tempfile.mkstemp(*args, **kw) + finally: + # and then put it back + os.open = old_open + + +# Silence the PEP440Warning by default, so that end users don't get hit by it +# randomly just because they use pkg_resources. We want to append the rule +# because we want earlier uses of filterwarnings to take precedence over this +# one. +warnings.filterwarnings("ignore", category=PEP440Warning, append=True) + + +# from jaraco.functools 1.3 +def _call_aside(f, *args, **kwargs): + f(*args, **kwargs) + return f + + +@_call_aside +def _initialize(g=globals()): + "Set up global resource manager (deliberately not state-saved)" + manager = ResourceManager() + g['_manager'] = manager + g.update( + (name, getattr(manager, name)) + for name in dir(manager) + if not name.startswith('_') + ) + + +@_call_aside +def _initialize_master_working_set(): + """ + Prepare the master working set and make the ``require()`` + API available. + + This function has explicit effects on the global state + of pkg_resources. It is intended to be invoked once at + the initialization of this module. + + Invocation by other packages is unsupported and done + at their own risk. + """ + working_set = WorkingSet._build_master() + _declare_state('object', working_set=working_set) + + require = working_set.require + iter_entry_points = working_set.iter_entry_points + add_activation_listener = working_set.subscribe + run_script = working_set.run_script + # backward compatibility + run_main = run_script + # Activate all distributions already on sys.path with replace=False and + # ensure that all distributions added to the working set in the future + # (e.g. by calling ``require()``) will get activated as well, + # with higher priority (replace=True). + tuple( + dist.activate(replace=False) + for dist in working_set + ) + add_activation_listener( + lambda dist: dist.activate(replace=True), + existing=False, + ) + working_set.entries = [] + # match order + list(map(working_set.add_entry, sys.path)) + globals().update(locals()) + +class PkgResourcesDeprecationWarning(Warning): + """ + Base class for warning about deprecations in ``pkg_resources`` + + This class is not derived from ``DeprecationWarning``, and as such is + visible by default. + """ diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pkg_resources/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pkg_resources/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..203420cb5a5cfa6ac7e282b46b02723864b6c5a5 GIT binary patch literal 96872 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 Au>b%7 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pkg_resources/__pycache__/py31compat.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pkg_resources/__pycache__/py31compat.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0eb034329149aacc247352850d90a18d14b7fded GIT binary patch literal 685 zcmYjO&2G~`5T02(sgt^);@CIvp)qYrB_xE9Amv9WL<%acg%pf;No>bnYu61i3LJnl z@4+kWl~Z1U3(SVU?rOf7*`1yFc4n}**Tv1xSH}$CJ6u~X+4o8GYXS}&7ZCl{7~$4u z5hKkOPT@u_0`G8_x4vN15^mP6p7E|=*^Ubi<R~BW-5g4n0Yc;nPo0Za=?cg?QHSFM z0)InQU=*Nnbh<iAh|P96g!?29Nc2;JrdLCTYxs-^FQGhjp=NnkJw*7x5Z)iG(Fc9J zW|>nvnVUQ6<P*hRTILk-kzGJZ!hveyC}<fbwegBL7d%zk>^z?gm6FP|gi@t6?cwm^ z$>c@g7`KY+x$(p*)%8^7#u2OJ8>n5P^y6zdmxTz6bao{cC$~?-ag)qrRg9I)L{e+= z>$xn?$D>DaE#AdVxD@3wT%>QpYI`&2pN2ZE#bFgEc{~$3tkUZ6=uZDue{fhebln%T znLP}r^pr~#R{3nIgqBw-vEj|&D3Jwm>{pHPr++^*9UOVKb6o;JhCSTJo2d54+t}7_ z?36c15a3zBRF5om!@ACYTiF2wU1cArHUZ73(Po$E^#9ONc3#`G#u;B88-FR3PGvbw s%eT_>N+G!ZM@reE+s<7B-{$r17Ls2r#68PMTQVNfX1>$)+jzi!0paYXb^rhX literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pkg_resources/py31compat.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pkg_resources/py31compat.py new file mode 100644 index 0000000..a2d3007 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pkg_resources/py31compat.py @@ -0,0 +1,23 @@ +import os +import errno +import sys + +from pip._vendor import six + + +def _makedirs_31(path, exist_ok=False): + try: + os.makedirs(path) + except OSError as exc: + if not exist_ok or exc.errno != errno.EEXIST: + raise + + +# rely on compatibility behavior until mode considerations +# and exists_ok considerations are disentangled. +# See https://github.com/pypa/setuptools/pull/1083#issuecomment-315168663 +needs_makedirs = ( + six.PY2 or + (3, 4) <= sys.version_info < (3, 4, 1) +) +makedirs = _makedirs_31 if needs_makedirs else os.makedirs diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/__init__.py new file mode 100644 index 0000000..a41f65d --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/__init__.py @@ -0,0 +1,127 @@ +# Copyright (c) 2012 Giorgos Verigakis <verigak@gmail.com> +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +from __future__ import division + +from collections import deque +from datetime import timedelta +from math import ceil +from sys import stderr +from time import time + + +__version__ = '1.4' + + +class Infinite(object): + file = stderr + sma_window = 10 # Simple Moving Average window + + def __init__(self, *args, **kwargs): + self.index = 0 + self.start_ts = time() + self.avg = 0 + self._ts = self.start_ts + self._xput = deque(maxlen=self.sma_window) + for key, val in kwargs.items(): + setattr(self, key, val) + + def __getitem__(self, key): + if key.startswith('_'): + return None + return getattr(self, key, None) + + @property + def elapsed(self): + return int(time() - self.start_ts) + + @property + def elapsed_td(self): + return timedelta(seconds=self.elapsed) + + def update_avg(self, n, dt): + if n > 0: + self._xput.append(dt / n) + self.avg = sum(self._xput) / len(self._xput) + + def update(self): + pass + + def start(self): + pass + + def finish(self): + pass + + def next(self, n=1): + now = time() + dt = now - self._ts + self.update_avg(n, dt) + self._ts = now + self.index = self.index + n + self.update() + + def iter(self, it): + try: + for x in it: + yield x + self.next() + finally: + self.finish() + + +class Progress(Infinite): + def __init__(self, *args, **kwargs): + super(Progress, self).__init__(*args, **kwargs) + self.max = kwargs.get('max', 100) + + @property + def eta(self): + return int(ceil(self.avg * self.remaining)) + + @property + def eta_td(self): + return timedelta(seconds=self.eta) + + @property + def percent(self): + return self.progress * 100 + + @property + def progress(self): + return min(1, self.index / self.max) + + @property + def remaining(self): + return max(self.max - self.index, 0) + + def start(self): + self.update() + + def goto(self, index): + incr = index - self.index + self.next(incr) + + def iter(self, it): + try: + self.max = len(it) + except TypeError: + pass + + try: + for x in it: + yield x + self.next() + finally: + self.finish() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3725f1ae4f1948eff56ed441a045924cee50ebb8 GIT binary patch literal 3936 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/__pycache__/bar.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/__pycache__/bar.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..300f1af461a7ecefd875b8047c0200632fe88f52 GIT binary patch literal 2867 zcmbVO&2Jl35Z~`zukFN1(>5(%fe@&H#6>NILV?gA3J0P{MIcrnYwP!7ue)BGx9jFZ z8-z#&EuR9URvc*$h!YYQj{F~cET{YdTzV<LdAmuIHXMrWnRzqs?c14oGr#8()vBv* z-TCO#vZDO0?E07(&x7I{U`%0ZsPt4%RcWk+nx`?H8KK@YJOehJnW5RUJWEy1Da>N_ zWrf+?;>M=o*|0dQ1WSqAo4V&fcUc*FnLE%+&?~G8y()DV`Uo3^J}TFjq1V_L^f6w> z`U>=Mb^!VTsaKhHUa3!P!B3^GX0>4ywEB!U!yw_p597rxHJ@>oM87R~9Aj1G1A*x< zdN)`Nq82^6{n0R(2gN7BxZ<fyL9nW)GtD!Y?wQQ+EM|H(vpk2{UWqxL%Sz0>taxQs zhAWj!KkJLFDLkJk>ti#=f{5|eI%~`v>-muD+Elu(rBk<6{HEV)k$d!UKsIOr6nDWA zB~`jANSjbL)eRb{sXD1_Xc+0Ka!A<#?;5E(p==l!nJHFom>5}d)?#YcPHByk8Y$UJ zsnxcymyNNT+MDt~;j^|V==Jq-rUy}ynJWQHI+-&lGM3pr<jrsM%vcV>FmritkgPT3 z*oueC%fV`9bo)V+xfguV90*PpIWA`Hl|12fCo^ImE_+pan6qZcqju8qD*2ANCPv^( zremwjly)&j1|tk2{+l9>Lb?5Uqtoy4MlWa&d3f@LQ;nsyR>v1T9CDYpk{Ei@=|}G` zEuQlezT&SnF7fD6BMdGy26E=a+^I&4BA6Zct&0dPZVZCK?DMDRj?bN#9jsw`j<?%n zY&7vG>x;&AIvVh7Zm^bF!vVwQ)9@!A2UFCV>T0f<f5%lvU3XCmbNRAGREE=RMt+Ys zo0;2e_WEoX(zw!WelqmKd`48Tk<5UMS{xvCf>@2%C|FkR1gP-VP{e&99wsy8WEXpg zR153~Nc!fe#@??c=l9e;RpLB7Fa>sB?Q5ug9kq{^W+rOJ%E}AKcsq#N2y(qTb8Nsx zi$_VF&CG}rwixPQx32u0%WGE_>yCH?Ch;h-$B5Cv?ib>&SY&82pvSTJI4E|(?gk{t zzJDN;xBCLo;k=QJy@djV@8^+vpaMcD+`Li9n~QbxUUzqnU|;{9z}sE|#ReGpC&==@ zJzEGwE8OMT_1|;Pu3vp%&!*wWt9v{n%O20@z~*VmGho{}<9gTVnoQkP#ZflmS&_j; zQ37RF0o>WFicHqBk$0k&;60qYA0myJz7j<8{QuFh)vasa6!J<Tzc1u>h5WXVUl;PL zLSEg0MrsMdrv*^_2Ure`1t>~51n_Bzk!rB%BvXA-Az*|~&?t2YjetP_CjhdmGUJGn z>Uh#l4W?Z*#09dZutvDwHXLYHVlyo@@jho0(7Q<hTY?>P*u`Z!K`L~BY3igjQ%>DB zfOVscaV0J9K&-haC>?^DOoHv!9enE5Ob6&?)}Z6ZJkFcHN=tAf7cf9Ym+81W@@^rd z+0`-!q1G$n5QJw(`8J+=7hOFwS{?$kO*w@l%n_9!RvZS)Y~YB%;fYBy$%Z7<*j3@O z`3Pp-2F28m3NWq$e9Q4}L_MTV!cv26{ovke*a1IXmV|f;4~wV4>ZROpj0|;RRCxLP zvov~+*eo%*{9fqD^mr}C6&3o)a$oc^H%@$!#4AD45d;$djf+oW_ADr-l5*g)r5Tza z>z;<7*?CY*`QL5`=Hj0~31wf-oTXruQ^Duu`paj9yj;jH3i)L&Z*I$93;oYR{zb4z zupv$pdzsiP#Lf_-t`)BldmXH9+>1yu)cw%^MJ)di6l-9PDoEcG-_BpWJ@MIy&q91o z=A7^NYz^`4?&TkHr?353$e#)cY&Y}sd;{+hlwLvID&7Qp0I%n<{A19z*QD1+=(b!Q zCPRVSQcygC{+-D#5`?v$-Qgi_pIA^(@?w*hg2Z1jO*T4SnFBFTqkS@#IcM@4`8Dc+ Xn68eB=4chQqK_Z0IW-gC!!_eyph{mi literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/__pycache__/helpers.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/__pycache__/helpers.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f7619c5e5f49d5555bfaec75eebdc3b8f8a6c12a GIT binary patch literal 3042 zcmai0TW=dh6rS0;FKN>@6rmO{1quemhLlDEac!Y#gh;D|wqlF4+U~6Fb=PY%Gj1Bo zeR4#3DgT4NG_O4MFYp5A%x>(>rNP#oo$JoIeCIoJZE2}WU;g{+A2mY$CZ(SR?Qh`` z3<M*Lrer{UN(nQ3gPFd$L72tteZuV6nwh>0eTTWwcXi)^JznY#T;Cmdz6bjVtE81d z)vr<lYpbjVYioLKjn#KZbLl0VM4D8c8Sx~OL1&yrG8twQ=hDM()~=_;yBFcIgCDAi zKd}ZPCO%~Z)T6%1D$hxWGLu>R6(1C3&OY&N<}wf7&U0cB--Sb~s``K@GX5!fnq;@O zB13<T5EI@uJm3~0dLSf`bV_DM-{_F3@h3V0`hhv6{K^zt)|B*Z&QSK98PP45-<F=N zFat-K`NE_`deFAYBYH=5M$ko|k+sDsoTo_BP-dJlWp$D?Zq}47#-o^X)J%CnkYtGr z0_6m|36nkL4q_p~Zp<B=cM=gwxu<HqgvCKL=3>Z|t^KNMw>Q84A-H*Od*{x!vODQm z^qQu!M4WbbRd0U08}hDzNK}F#N<$%n;4kve@9o}j5Vr?OcO0jmU0-kC-HUo5AKc}` zejG^wec2mk_wR0PgfiX@_u5b5>`6OK9<@h$=2~mLEx^~SqcD05s*3g~8LfW$dFzwb zwbjucOt<207YEw`Y-K~<9`Rw9gJJDnoPzP9HQM7I==cUa;yegK&r^q5)G?Ofy$rp{ zg+)MH2X30j74d>`y$O%-L4fxOzmKv{A!_$As(oXHJTs=WZ(@5!pPAB{8dLLi06(rQ zB5C8Sbf$DhXD}Y<xxQP9<UiEocw*Dwc&Ls|)6*}G$l?_c%1--ZA^8%v%|ZB7nQ5Hy zv(Rl?d>KcnQ1p?a5x)SvT&&=@y^Gj=ADW^Lf`9|6v`$yh4a+4r=w%VY3V-;X``{z! zpiTTLO6>z|8T_gQtF<@4YDBI^r@3|9AiHD`s*zh#+qr$`K>@QS)pi_J-{}B|MQ;`M z2%X6EBAuKo>7CCv=~mN2$Y<do2FO=~U@&Ck6x;P6_-!1f`3%>mBR=?L6mNl0O9h6b zI8B3Kp#tcH0OIIKom3a0A#k%tE#pkx^YrM+Z1V*yJH$4%)7XYpSQS{u)vV(|j@MOP zTbX93^3E+d<v8yE<6PE^gXpyQ4U~Nwu!}8+-;l2KbliYtPK{fIyKn%17ln2jX8%dC z<Y!=_Y34E1i_YOd;XsW^?M3{^b$A4>!OX<Ggpj^gHg=JdC*tuv*a>zJ-ax7G*pR^J z<;*L1a$+rAdidjUJenmNFsWXFJ~v9^kf+&Ku%v+BGM%g((zRGJrw=R-^VC^CP<3st zDz*$H011VmoIHAkHK&IEOC$7xPNSR#jGP9nG|A!xf;DuNyNeu<X5XP17y)Df51u2Y z6w6L#fs;&;n$H-00ksa)H~E@0fD!UhUCW9%fPb;*91ld97%&ide!dB<lS85tb_1s8 zcGQ8?3qmh)rM2LM3V$0v+CcFRibeWs|6Ro~<N$sJ#hg12fU7Z!=*PQ*#;neK&$B#7 zX9ZMXM<m@WOqH{<xv{zRGt@*YewxTbtYE@+{D}`ilvzP@0$i5%J-C7B%aU(v4sd`2 z997#%x|^BQ6fjxej=PDFP~#e5BR{m!3p19+ydis`Y(!z2ibigIW0*B^h34TzCGf$r zA<*6haR6E93kwoD1k#=v1(^e{Iynbm705Z@18kuo>TCdN;6<!ZqaXlf;pKq8ngQ;? z<|3b<46T%mT%`Vi%kYgkbrbhsJTOmm{y_H3@REgBA|t;NK^4`}Y{I$&WpsST1GvX< zC=QDl=d}JYto#K(omUr+PA(l%=ZJys5kM(72-q-!s)2dM@oT3+37xo&r(rfAl<F48 zu`S?xs9Bw{9CN5y91Yf#$}ts`Gkk>iCtYoFGG4^M6nlcBz4}8X^X8<hyf5=&__dBa RGIiawsAVo+hCi*F{{aKuTbTd= literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/__pycache__/spinner.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/__pycache__/spinner.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..45bf61b1a57535fc16315eab87aeb7dce467c3b1 GIT binary patch literal 1537 zcmbVMOKTKC5boZ2>|}Nm<NFOccyN*IC{aNW33w1e!-AqP2*bGD*_}8qyLU8^c#3!w z9|w=3d-CMP2l)ISebiI_!d|p$rq!%^i8EAHe_cIYUsqMn+~lN7*S}wTW)bp@Y<K{Z zc@TLA6eEnrB%wZ~gw>c4*Al}w%CQ-niRD|AoFmL)_C3OEZgFGH^lg}_GY4iIZm$`B z9q<Hm0lOu305@0@aI?e{fG61$;HeV3Y|ACmnqG(aq(#+qkw)E&@gR-{T!gV)r<KDw zpDsozOu{1fs(``8XgNx|_}$OPguy(BoB_p&PZ{xRjQR$1eUsU~RWbE#HUTjks(vYt z(v%BDMs#*WuZ`&Hh<ca17!scvhyijIL>>aQN|wlgg08L6UF0r~3`DDRFImH^5!jb5 zv`l41DdWq^h<U2)ydO#~m313ww`$6iJYG~ZdP&4K*mZQ@>t_k~lBiek`1pyFUT3A- z4@J@u*%I##B;Y|mORsbm&V>VhJ6!Q@@${A#N7uc)^vtzSdJ^`Y&BN}Eu*apBNBQir zQ|+Vex!HUL+-=_L;iMP9rz{g*F0!8BQhKt=K|5bjc9Am(upf_$xg>O&-kH)#YFAD; zoN&M;CQ!Mk8lYNr<pe<*COim~8w5$liWtYuAh=nCvG&vx2nhtm6nvu^{Rk@EEriU3 z*nwMNIyR{72yIZiKqQ8BsEKc_oc(w4_rS8>#m7cwX3vBsu%I}$ayt>%M=G$mU!T6y z_N}&Ww0(_d-3dzsh8Me0A@2<YOTHz`ec+e@k=Qg26^Q?fU*lqyrQ-x2X+n>+eW>k| z%@D+@Vh{f$h<J=3=6N0$902ua0wIaDp8YF{jSEpap2Y|6D^d?WX!}vyPn#i$p${Vm zokhfBB(VqPals6zzevKb39oq10it-tUDfPF%RC-S=kRmIY^du#e5LWT%0B;6*%#Ul z^@)a?I>|xccLa&*lOSGze-7M@#bQthxElgpqK*o0o2vJDoO2-s{*}uHFS|%!r37X| e;3og-KINRQF5H=|utH*!HYvQuHh0>D*Z2X~2})uB literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/bar.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/bar.py new file mode 100644 index 0000000..025e61c --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/bar.py @@ -0,0 +1,94 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2012 Giorgos Verigakis <verigak@gmail.com> +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +from __future__ import unicode_literals + +import sys + +from . import Progress +from .helpers import WritelnMixin + + +class Bar(WritelnMixin, Progress): + width = 32 + message = '' + suffix = '%(index)d/%(max)d' + bar_prefix = ' |' + bar_suffix = '| ' + empty_fill = ' ' + fill = '#' + hide_cursor = True + + def update(self): + filled_length = int(self.width * self.progress) + empty_length = self.width - filled_length + + message = self.message % self + bar = self.fill * filled_length + empty = self.empty_fill * empty_length + suffix = self.suffix % self + line = ''.join([message, self.bar_prefix, bar, empty, self.bar_suffix, + suffix]) + self.writeln(line) + + +class ChargingBar(Bar): + suffix = '%(percent)d%%' + bar_prefix = ' ' + bar_suffix = ' ' + empty_fill = '∙' + fill = '█' + + +class FillingSquaresBar(ChargingBar): + empty_fill = '▢' + fill = '▣' + + +class FillingCirclesBar(ChargingBar): + empty_fill = '◯' + fill = '◉' + + +class IncrementalBar(Bar): + if sys.platform.startswith('win'): + phases = (u' ', u'▌', u'█') + else: + phases = (' ', '▏', '▎', '▍', '▌', '▋', '▊', '▉', '█') + + def update(self): + nphases = len(self.phases) + filled_len = self.width * self.progress + nfull = int(filled_len) # Number of full chars + phase = int((filled_len - nfull) * nphases) # Phase of last char + nempty = self.width - nfull # Number of empty chars + + message = self.message % self + bar = self.phases[-1] * nfull + current = self.phases[phase] if phase > 0 else '' + empty = self.empty_fill * max(0, nempty - len(current)) + suffix = self.suffix % self + line = ''.join([message, self.bar_prefix, bar, current, empty, + self.bar_suffix, suffix]) + self.writeln(line) + + +class PixelBar(IncrementalBar): + phases = ('⡀', '⡄', '⡆', '⡇', '⣇', '⣧', '⣷', '⣿') + + +class ShadyBar(IncrementalBar): + phases = (' ', '░', '▒', '▓', '█') diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/counter.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/counter.py new file mode 100644 index 0000000..6b45a1e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/counter.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2012 Giorgos Verigakis <verigak@gmail.com> +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +from __future__ import unicode_literals +from . import Infinite, Progress +from .helpers import WriteMixin + + +class Counter(WriteMixin, Infinite): + message = '' + hide_cursor = True + + def update(self): + self.write(str(self.index)) + + +class Countdown(WriteMixin, Progress): + hide_cursor = True + + def update(self): + self.write(str(self.remaining)) + + +class Stack(WriteMixin, Progress): + phases = (' ', '▁', '▂', '▃', '▄', '▅', '▆', '▇', '█') + hide_cursor = True + + def update(self): + nphases = len(self.phases) + i = min(nphases - 1, int(self.progress * nphases)) + self.write(self.phases[i]) + + +class Pie(Stack): + phases = ('○', '◔', '◑', '◕', '●') diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/helpers.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/helpers.py new file mode 100644 index 0000000..0cde44e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/helpers.py @@ -0,0 +1,91 @@ +# Copyright (c) 2012 Giorgos Verigakis <verigak@gmail.com> +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +from __future__ import print_function + + +HIDE_CURSOR = '\x1b[?25l' +SHOW_CURSOR = '\x1b[?25h' + + +class WriteMixin(object): + hide_cursor = False + + def __init__(self, message=None, **kwargs): + super(WriteMixin, self).__init__(**kwargs) + self._width = 0 + if message: + self.message = message + + if self.file and self.file.isatty(): + if self.hide_cursor: + print(HIDE_CURSOR, end='', file=self.file) + print(self.message, end='', file=self.file) + self.file.flush() + + def write(self, s): + if self.file and self.file.isatty(): + b = '\b' * self._width + c = s.ljust(self._width) + print(b + c, end='', file=self.file) + self._width = max(self._width, len(s)) + self.file.flush() + + def finish(self): + if self.file and self.file.isatty() and self.hide_cursor: + print(SHOW_CURSOR, end='', file=self.file) + + +class WritelnMixin(object): + hide_cursor = False + + def __init__(self, message=None, **kwargs): + super(WritelnMixin, self).__init__(**kwargs) + if message: + self.message = message + + if self.file and self.file.isatty() and self.hide_cursor: + print(HIDE_CURSOR, end='', file=self.file) + + def clearln(self): + if self.file and self.file.isatty(): + print('\r\x1b[K', end='', file=self.file) + + def writeln(self, line): + if self.file and self.file.isatty(): + self.clearln() + print(line, end='', file=self.file) + self.file.flush() + + def finish(self): + if self.file and self.file.isatty(): + print(file=self.file) + if self.hide_cursor: + print(SHOW_CURSOR, end='', file=self.file) + + +from signal import signal, SIGINT +from sys import exit + + +class SigIntMixin(object): + """Registers a signal handler that calls finish on SIGINT""" + + def __init__(self, *args, **kwargs): + super(SigIntMixin, self).__init__(*args, **kwargs) + signal(SIGINT, self._sigint_handler) + + def _sigint_handler(self, signum, frame): + self.finish() + exit(0) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/spinner.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/spinner.py new file mode 100644 index 0000000..464c7b2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/spinner.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2012 Giorgos Verigakis <verigak@gmail.com> +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +from __future__ import unicode_literals +from . import Infinite +from .helpers import WriteMixin + + +class Spinner(WriteMixin, Infinite): + message = '' + phases = ('-', '\\', '|', '/') + hide_cursor = True + + def update(self): + i = self.index % len(self.phases) + self.write(self.phases[i]) + + +class PieSpinner(Spinner): + phases = ['◷', '◶', '◵', '◴'] + + +class MoonSpinner(Spinner): + phases = ['◑', '◒', '◐', '◓'] + + +class LineSpinner(Spinner): + phases = ['⎺', '⎻', '⎼', '⎽', '⎼', '⎻'] + +class PixelSpinner(Spinner): + phases = ['⣾','⣷', '⣯', '⣟', '⡿', '⢿', '⣻', '⣽'] diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pyparsing.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pyparsing.py new file mode 100644 index 0000000..bea4d9c --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pyparsing.py @@ -0,0 +1,6452 @@ +#-*- coding: utf-8 -*- +# module pyparsing.py +# +# Copyright (c) 2003-2019 Paul T. McGuire +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# + +__doc__ = \ +""" +pyparsing module - Classes and methods to define and execute parsing grammars +============================================================================= + +The pyparsing module is an alternative approach to creating and +executing simple grammars, vs. the traditional lex/yacc approach, or the +use of regular expressions. With pyparsing, you don't need to learn +a new syntax for defining grammars or matching expressions - the parsing +module provides a library of classes that you use to construct the +grammar directly in Python. + +Here is a program to parse "Hello, World!" (or any greeting of the form +``"<salutation>, <addressee>!"``), built up using :class:`Word`, +:class:`Literal`, and :class:`And` elements +(the :class:`'+'<ParserElement.__add__>` operators create :class:`And` expressions, +and the strings are auto-converted to :class:`Literal` expressions):: + + from pip._vendor.pyparsing import Word, alphas + + # define grammar of a greeting + greet = Word(alphas) + "," + Word(alphas) + "!" + + hello = "Hello, World!" + print (hello, "->", greet.parseString(hello)) + +The program outputs the following:: + + Hello, World! -> ['Hello', ',', 'World', '!'] + +The Python representation of the grammar is quite readable, owing to the +self-explanatory class names, and the use of '+', '|' and '^' operators. + +The :class:`ParseResults` object returned from +:class:`ParserElement.parseString` can be +accessed as a nested list, a dictionary, or an object with named +attributes. + +The pyparsing module handles some of the problems that are typically +vexing when writing text parsers: + + - extra or missing whitespace (the above program will also handle + "Hello,World!", "Hello , World !", etc.) + - quoted strings + - embedded comments + + +Getting Started - +----------------- +Visit the classes :class:`ParserElement` and :class:`ParseResults` to +see the base classes that most other pyparsing +classes inherit from. Use the docstrings for examples of how to: + + - construct literal match expressions from :class:`Literal` and + :class:`CaselessLiteral` classes + - construct character word-group expressions using the :class:`Word` + class + - see how to create repetitive expressions using :class:`ZeroOrMore` + and :class:`OneOrMore` classes + - use :class:`'+'<And>`, :class:`'|'<MatchFirst>`, :class:`'^'<Or>`, + and :class:`'&'<Each>` operators to combine simple expressions into + more complex ones + - associate names with your parsed results using + :class:`ParserElement.setResultsName` + - find some helpful expression short-cuts like :class:`delimitedList` + and :class:`oneOf` + - find more useful common expressions in the :class:`pyparsing_common` + namespace class +""" + +__version__ = "2.3.1" +__versionTime__ = "09 Jan 2019 23:26 UTC" +__author__ = "Paul McGuire <ptmcg@users.sourceforge.net>" + +import string +from weakref import ref as wkref +import copy +import sys +import warnings +import re +import sre_constants +import collections +import pprint +import traceback +import types +from datetime import datetime + +try: + # Python 3 + from itertools import filterfalse +except ImportError: + from itertools import ifilterfalse as filterfalse + +try: + from _thread import RLock +except ImportError: + from threading import RLock + +try: + # Python 3 + from collections.abc import Iterable + from collections.abc import MutableMapping +except ImportError: + # Python 2.7 + from collections import Iterable + from collections import MutableMapping + +try: + from collections import OrderedDict as _OrderedDict +except ImportError: + try: + from ordereddict import OrderedDict as _OrderedDict + except ImportError: + _OrderedDict = None + +try: + from types import SimpleNamespace +except ImportError: + class SimpleNamespace: pass + + +#~ sys.stderr.write( "testing pyparsing module, version %s, %s\n" % (__version__,__versionTime__ ) ) + +__all__ = [ +'And', 'CaselessKeyword', 'CaselessLiteral', 'CharsNotIn', 'Combine', 'Dict', 'Each', 'Empty', +'FollowedBy', 'Forward', 'GoToColumn', 'Group', 'Keyword', 'LineEnd', 'LineStart', 'Literal', +'PrecededBy', 'MatchFirst', 'NoMatch', 'NotAny', 'OneOrMore', 'OnlyOnce', 'Optional', 'Or', +'ParseBaseException', 'ParseElementEnhance', 'ParseException', 'ParseExpression', 'ParseFatalException', +'ParseResults', 'ParseSyntaxException', 'ParserElement', 'QuotedString', 'RecursiveGrammarException', +'Regex', 'SkipTo', 'StringEnd', 'StringStart', 'Suppress', 'Token', 'TokenConverter', +'White', 'Word', 'WordEnd', 'WordStart', 'ZeroOrMore', 'Char', +'alphanums', 'alphas', 'alphas8bit', 'anyCloseTag', 'anyOpenTag', 'cStyleComment', 'col', +'commaSeparatedList', 'commonHTMLEntity', 'countedArray', 'cppStyleComment', 'dblQuotedString', +'dblSlashComment', 'delimitedList', 'dictOf', 'downcaseTokens', 'empty', 'hexnums', +'htmlComment', 'javaStyleComment', 'line', 'lineEnd', 'lineStart', 'lineno', +'makeHTMLTags', 'makeXMLTags', 'matchOnlyAtCol', 'matchPreviousExpr', 'matchPreviousLiteral', +'nestedExpr', 'nullDebugAction', 'nums', 'oneOf', 'opAssoc', 'operatorPrecedence', 'printables', +'punc8bit', 'pythonStyleComment', 'quotedString', 'removeQuotes', 'replaceHTMLEntity', +'replaceWith', 'restOfLine', 'sglQuotedString', 'srange', 'stringEnd', +'stringStart', 'traceParseAction', 'unicodeString', 'upcaseTokens', 'withAttribute', +'indentedBlock', 'originalTextFor', 'ungroup', 'infixNotation','locatedExpr', 'withClass', +'CloseMatch', 'tokenMap', 'pyparsing_common', 'pyparsing_unicode', 'unicode_set', +] + +system_version = tuple(sys.version_info)[:3] +PY_3 = system_version[0] == 3 +if PY_3: + _MAX_INT = sys.maxsize + basestring = str + unichr = chr + unicode = str + _ustr = str + + # build list of single arg builtins, that can be used as parse actions + singleArgBuiltins = [sum, len, sorted, reversed, list, tuple, set, any, all, min, max] + +else: + _MAX_INT = sys.maxint + range = xrange + + def _ustr(obj): + """Drop-in replacement for str(obj) that tries to be Unicode + friendly. It first tries str(obj). If that fails with + a UnicodeEncodeError, then it tries unicode(obj). It then + < returns the unicode object | encodes it with the default + encoding | ... >. + """ + if isinstance(obj,unicode): + return obj + + try: + # If this works, then _ustr(obj) has the same behaviour as str(obj), so + # it won't break any existing code. + return str(obj) + + except UnicodeEncodeError: + # Else encode it + ret = unicode(obj).encode(sys.getdefaultencoding(), 'xmlcharrefreplace') + xmlcharref = Regex(r'&#\d+;') + xmlcharref.setParseAction(lambda t: '\\u' + hex(int(t[0][2:-1]))[2:]) + return xmlcharref.transformString(ret) + + # build list of single arg builtins, tolerant of Python version, that can be used as parse actions + singleArgBuiltins = [] + import __builtin__ + for fname in "sum len sorted reversed list tuple set any all min max".split(): + try: + singleArgBuiltins.append(getattr(__builtin__,fname)) + except AttributeError: + continue + +_generatorType = type((y for y in range(1))) + +def _xml_escape(data): + """Escape &, <, >, ", ', etc. in a string of data.""" + + # ampersand must be replaced first + from_symbols = '&><"\'' + to_symbols = ('&'+s+';' for s in "amp gt lt quot apos".split()) + for from_,to_ in zip(from_symbols, to_symbols): + data = data.replace(from_, to_) + return data + +alphas = string.ascii_uppercase + string.ascii_lowercase +nums = "0123456789" +hexnums = nums + "ABCDEFabcdef" +alphanums = alphas + nums +_bslash = chr(92) +printables = "".join(c for c in string.printable if c not in string.whitespace) + +class ParseBaseException(Exception): + """base exception class for all parsing runtime exceptions""" + # Performance tuning: we construct a *lot* of these, so keep this + # constructor as small and fast as possible + def __init__( self, pstr, loc=0, msg=None, elem=None ): + self.loc = loc + if msg is None: + self.msg = pstr + self.pstr = "" + else: + self.msg = msg + self.pstr = pstr + self.parserElement = elem + self.args = (pstr, loc, msg) + + @classmethod + def _from_exception(cls, pe): + """ + internal factory method to simplify creating one type of ParseException + from another - avoids having __init__ signature conflicts among subclasses + """ + return cls(pe.pstr, pe.loc, pe.msg, pe.parserElement) + + def __getattr__( self, aname ): + """supported attributes by name are: + - lineno - returns the line number of the exception text + - col - returns the column number of the exception text + - line - returns the line containing the exception text + """ + if( aname == "lineno" ): + return lineno( self.loc, self.pstr ) + elif( aname in ("col", "column") ): + return col( self.loc, self.pstr ) + elif( aname == "line" ): + return line( self.loc, self.pstr ) + else: + raise AttributeError(aname) + + def __str__( self ): + return "%s (at char %d), (line:%d, col:%d)" % \ + ( self.msg, self.loc, self.lineno, self.column ) + def __repr__( self ): + return _ustr(self) + def markInputline( self, markerString = ">!<" ): + """Extracts the exception line from the input string, and marks + the location of the exception with a special symbol. + """ + line_str = self.line + line_column = self.column - 1 + if markerString: + line_str = "".join((line_str[:line_column], + markerString, line_str[line_column:])) + return line_str.strip() + def __dir__(self): + return "lineno col line".split() + dir(type(self)) + +class ParseException(ParseBaseException): + """ + Exception thrown when parse expressions don't match class; + supported attributes by name are: + - lineno - returns the line number of the exception text + - col - returns the column number of the exception text + - line - returns the line containing the exception text + + Example:: + + try: + Word(nums).setName("integer").parseString("ABC") + except ParseException as pe: + print(pe) + print("column: {}".format(pe.col)) + + prints:: + + Expected integer (at char 0), (line:1, col:1) + column: 1 + + """ + + @staticmethod + def explain(exc, depth=16): + """ + Method to take an exception and translate the Python internal traceback into a list + of the pyparsing expressions that caused the exception to be raised. + + Parameters: + + - exc - exception raised during parsing (need not be a ParseException, in support + of Python exceptions that might be raised in a parse action) + - depth (default=16) - number of levels back in the stack trace to list expression + and function names; if None, the full stack trace names will be listed; if 0, only + the failing input line, marker, and exception string will be shown + + Returns a multi-line string listing the ParserElements and/or function names in the + exception's stack trace. + + Note: the diagnostic output will include string representations of the expressions + that failed to parse. These representations will be more helpful if you use `setName` to + give identifiable names to your expressions. Otherwise they will use the default string + forms, which may be cryptic to read. + + explain() is only supported under Python 3. + """ + import inspect + + if depth is None: + depth = sys.getrecursionlimit() + ret = [] + if isinstance(exc, ParseBaseException): + ret.append(exc.line) + ret.append(' ' * (exc.col - 1) + '^') + ret.append("{0}: {1}".format(type(exc).__name__, exc)) + + if depth > 0: + callers = inspect.getinnerframes(exc.__traceback__, context=depth) + seen = set() + for i, ff in enumerate(callers[-depth:]): + frm = ff.frame + + f_self = frm.f_locals.get('self', None) + if isinstance(f_self, ParserElement): + if frm.f_code.co_name not in ('parseImpl', '_parseNoCache'): + continue + if f_self in seen: + continue + seen.add(f_self) + + self_type = type(f_self) + ret.append("{0}.{1} - {2}".format(self_type.__module__, + self_type.__name__, + f_self)) + elif f_self is not None: + self_type = type(f_self) + ret.append("{0}.{1}".format(self_type.__module__, + self_type.__name__)) + else: + code = frm.f_code + if code.co_name in ('wrapper', '<module>'): + continue + + ret.append("{0}".format(code.co_name)) + + depth -= 1 + if not depth: + break + + return '\n'.join(ret) + + +class ParseFatalException(ParseBaseException): + """user-throwable exception thrown when inconsistent parse content + is found; stops all parsing immediately""" + pass + +class ParseSyntaxException(ParseFatalException): + """just like :class:`ParseFatalException`, but thrown internally + when an :class:`ErrorStop<And._ErrorStop>` ('-' operator) indicates + that parsing is to stop immediately because an unbacktrackable + syntax error has been found. + """ + pass + +#~ class ReparseException(ParseBaseException): + #~ """Experimental class - parse actions can raise this exception to cause + #~ pyparsing to reparse the input string: + #~ - with a modified input string, and/or + #~ - with a modified start location + #~ Set the values of the ReparseException in the constructor, and raise the + #~ exception in a parse action to cause pyparsing to use the new string/location. + #~ Setting the values as None causes no change to be made. + #~ """ + #~ def __init_( self, newstring, restartLoc ): + #~ self.newParseText = newstring + #~ self.reparseLoc = restartLoc + +class RecursiveGrammarException(Exception): + """exception thrown by :class:`ParserElement.validate` if the + grammar could be improperly recursive + """ + def __init__( self, parseElementList ): + self.parseElementTrace = parseElementList + + def __str__( self ): + return "RecursiveGrammarException: %s" % self.parseElementTrace + +class _ParseResultsWithOffset(object): + def __init__(self,p1,p2): + self.tup = (p1,p2) + def __getitem__(self,i): + return self.tup[i] + def __repr__(self): + return repr(self.tup[0]) + def setOffset(self,i): + self.tup = (self.tup[0],i) + +class ParseResults(object): + """Structured parse results, to provide multiple means of access to + the parsed data: + + - as a list (``len(results)``) + - by list index (``results[0], results[1]``, etc.) + - by attribute (``results.<resultsName>`` - see :class:`ParserElement.setResultsName`) + + Example:: + + integer = Word(nums) + date_str = (integer.setResultsName("year") + '/' + + integer.setResultsName("month") + '/' + + integer.setResultsName("day")) + # equivalent form: + # date_str = integer("year") + '/' + integer("month") + '/' + integer("day") + + # parseString returns a ParseResults object + result = date_str.parseString("1999/12/31") + + def test(s, fn=repr): + print("%s -> %s" % (s, fn(eval(s)))) + test("list(result)") + test("result[0]") + test("result['month']") + test("result.day") + test("'month' in result") + test("'minutes' in result") + test("result.dump()", str) + + prints:: + + list(result) -> ['1999', '/', '12', '/', '31'] + result[0] -> '1999' + result['month'] -> '12' + result.day -> '31' + 'month' in result -> True + 'minutes' in result -> False + result.dump() -> ['1999', '/', '12', '/', '31'] + - day: 31 + - month: 12 + - year: 1999 + """ + def __new__(cls, toklist=None, name=None, asList=True, modal=True ): + if isinstance(toklist, cls): + return toklist + retobj = object.__new__(cls) + retobj.__doinit = True + return retobj + + # Performance tuning: we construct a *lot* of these, so keep this + # constructor as small and fast as possible + def __init__( self, toklist=None, name=None, asList=True, modal=True, isinstance=isinstance ): + if self.__doinit: + self.__doinit = False + self.__name = None + self.__parent = None + self.__accumNames = {} + self.__asList = asList + self.__modal = modal + if toklist is None: + toklist = [] + if isinstance(toklist, list): + self.__toklist = toklist[:] + elif isinstance(toklist, _generatorType): + self.__toklist = list(toklist) + else: + self.__toklist = [toklist] + self.__tokdict = dict() + + if name is not None and name: + if not modal: + self.__accumNames[name] = 0 + if isinstance(name,int): + name = _ustr(name) # will always return a str, but use _ustr for consistency + self.__name = name + if not (isinstance(toklist, (type(None), basestring, list)) and toklist in (None,'',[])): + if isinstance(toklist,basestring): + toklist = [ toklist ] + if asList: + if isinstance(toklist,ParseResults): + self[name] = _ParseResultsWithOffset(ParseResults(toklist.__toklist), 0) + else: + self[name] = _ParseResultsWithOffset(ParseResults(toklist[0]),0) + self[name].__name = name + else: + try: + self[name] = toklist[0] + except (KeyError,TypeError,IndexError): + self[name] = toklist + + def __getitem__( self, i ): + if isinstance( i, (int,slice) ): + return self.__toklist[i] + else: + if i not in self.__accumNames: + return self.__tokdict[i][-1][0] + else: + return ParseResults([ v[0] for v in self.__tokdict[i] ]) + + def __setitem__( self, k, v, isinstance=isinstance ): + if isinstance(v,_ParseResultsWithOffset): + self.__tokdict[k] = self.__tokdict.get(k,list()) + [v] + sub = v[0] + elif isinstance(k,(int,slice)): + self.__toklist[k] = v + sub = v + else: + self.__tokdict[k] = self.__tokdict.get(k,list()) + [_ParseResultsWithOffset(v,0)] + sub = v + if isinstance(sub,ParseResults): + sub.__parent = wkref(self) + + def __delitem__( self, i ): + if isinstance(i,(int,slice)): + mylen = len( self.__toklist ) + del self.__toklist[i] + + # convert int to slice + if isinstance(i, int): + if i < 0: + i += mylen + i = slice(i, i+1) + # get removed indices + removed = list(range(*i.indices(mylen))) + removed.reverse() + # fixup indices in token dictionary + for name,occurrences in self.__tokdict.items(): + for j in removed: + for k, (value, position) in enumerate(occurrences): + occurrences[k] = _ParseResultsWithOffset(value, position - (position > j)) + else: + del self.__tokdict[i] + + def __contains__( self, k ): + return k in self.__tokdict + + def __len__( self ): return len( self.__toklist ) + def __bool__(self): return ( not not self.__toklist ) + __nonzero__ = __bool__ + def __iter__( self ): return iter( self.__toklist ) + def __reversed__( self ): return iter( self.__toklist[::-1] ) + def _iterkeys( self ): + if hasattr(self.__tokdict, "iterkeys"): + return self.__tokdict.iterkeys() + else: + return iter(self.__tokdict) + + def _itervalues( self ): + return (self[k] for k in self._iterkeys()) + + def _iteritems( self ): + return ((k, self[k]) for k in self._iterkeys()) + + if PY_3: + keys = _iterkeys + """Returns an iterator of all named result keys.""" + + values = _itervalues + """Returns an iterator of all named result values.""" + + items = _iteritems + """Returns an iterator of all named result key-value tuples.""" + + else: + iterkeys = _iterkeys + """Returns an iterator of all named result keys (Python 2.x only).""" + + itervalues = _itervalues + """Returns an iterator of all named result values (Python 2.x only).""" + + iteritems = _iteritems + """Returns an iterator of all named result key-value tuples (Python 2.x only).""" + + def keys( self ): + """Returns all named result keys (as a list in Python 2.x, as an iterator in Python 3.x).""" + return list(self.iterkeys()) + + def values( self ): + """Returns all named result values (as a list in Python 2.x, as an iterator in Python 3.x).""" + return list(self.itervalues()) + + def items( self ): + """Returns all named result key-values (as a list of tuples in Python 2.x, as an iterator in Python 3.x).""" + return list(self.iteritems()) + + def haskeys( self ): + """Since keys() returns an iterator, this method is helpful in bypassing + code that looks for the existence of any defined results names.""" + return bool(self.__tokdict) + + def pop( self, *args, **kwargs): + """ + Removes and returns item at specified index (default= ``last``). + Supports both ``list`` and ``dict`` semantics for ``pop()``. If + passed no argument or an integer argument, it will use ``list`` + semantics and pop tokens from the list of parsed tokens. If passed + a non-integer argument (most likely a string), it will use ``dict`` + semantics and pop the corresponding value from any defined results + names. A second default return value argument is supported, just as in + ``dict.pop()``. + + Example:: + + def remove_first(tokens): + tokens.pop(0) + print(OneOrMore(Word(nums)).parseString("0 123 321")) # -> ['0', '123', '321'] + print(OneOrMore(Word(nums)).addParseAction(remove_first).parseString("0 123 321")) # -> ['123', '321'] + + label = Word(alphas) + patt = label("LABEL") + OneOrMore(Word(nums)) + print(patt.parseString("AAB 123 321").dump()) + + # Use pop() in a parse action to remove named result (note that corresponding value is not + # removed from list form of results) + def remove_LABEL(tokens): + tokens.pop("LABEL") + return tokens + patt.addParseAction(remove_LABEL) + print(patt.parseString("AAB 123 321").dump()) + + prints:: + + ['AAB', '123', '321'] + - LABEL: AAB + + ['AAB', '123', '321'] + """ + if not args: + args = [-1] + for k,v in kwargs.items(): + if k == 'default': + args = (args[0], v) + else: + raise TypeError("pop() got an unexpected keyword argument '%s'" % k) + if (isinstance(args[0], int) or + len(args) == 1 or + args[0] in self): + index = args[0] + ret = self[index] + del self[index] + return ret + else: + defaultvalue = args[1] + return defaultvalue + + def get(self, key, defaultValue=None): + """ + Returns named result matching the given key, or if there is no + such name, then returns the given ``defaultValue`` or ``None`` if no + ``defaultValue`` is specified. + + Similar to ``dict.get()``. + + Example:: + + integer = Word(nums) + date_str = integer("year") + '/' + integer("month") + '/' + integer("day") + + result = date_str.parseString("1999/12/31") + print(result.get("year")) # -> '1999' + print(result.get("hour", "not specified")) # -> 'not specified' + print(result.get("hour")) # -> None + """ + if key in self: + return self[key] + else: + return defaultValue + + def insert( self, index, insStr ): + """ + Inserts new element at location index in the list of parsed tokens. + + Similar to ``list.insert()``. + + Example:: + + print(OneOrMore(Word(nums)).parseString("0 123 321")) # -> ['0', '123', '321'] + + # use a parse action to insert the parse location in the front of the parsed results + def insert_locn(locn, tokens): + tokens.insert(0, locn) + print(OneOrMore(Word(nums)).addParseAction(insert_locn).parseString("0 123 321")) # -> [0, '0', '123', '321'] + """ + self.__toklist.insert(index, insStr) + # fixup indices in token dictionary + for name,occurrences in self.__tokdict.items(): + for k, (value, position) in enumerate(occurrences): + occurrences[k] = _ParseResultsWithOffset(value, position + (position > index)) + + def append( self, item ): + """ + Add single element to end of ParseResults list of elements. + + Example:: + + print(OneOrMore(Word(nums)).parseString("0 123 321")) # -> ['0', '123', '321'] + + # use a parse action to compute the sum of the parsed integers, and add it to the end + def append_sum(tokens): + tokens.append(sum(map(int, tokens))) + print(OneOrMore(Word(nums)).addParseAction(append_sum).parseString("0 123 321")) # -> ['0', '123', '321', 444] + """ + self.__toklist.append(item) + + def extend( self, itemseq ): + """ + Add sequence of elements to end of ParseResults list of elements. + + Example:: + + patt = OneOrMore(Word(alphas)) + + # use a parse action to append the reverse of the matched strings, to make a palindrome + def make_palindrome(tokens): + tokens.extend(reversed([t[::-1] for t in tokens])) + return ''.join(tokens) + print(patt.addParseAction(make_palindrome).parseString("lskdj sdlkjf lksd")) # -> 'lskdjsdlkjflksddsklfjkldsjdksl' + """ + if isinstance(itemseq, ParseResults): + self += itemseq + else: + self.__toklist.extend(itemseq) + + def clear( self ): + """ + Clear all elements and results names. + """ + del self.__toklist[:] + self.__tokdict.clear() + + def __getattr__( self, name ): + try: + return self[name] + except KeyError: + return "" + + if name in self.__tokdict: + if name not in self.__accumNames: + return self.__tokdict[name][-1][0] + else: + return ParseResults([ v[0] for v in self.__tokdict[name] ]) + else: + return "" + + def __add__( self, other ): + ret = self.copy() + ret += other + return ret + + def __iadd__( self, other ): + if other.__tokdict: + offset = len(self.__toklist) + addoffset = lambda a: offset if a<0 else a+offset + otheritems = other.__tokdict.items() + otherdictitems = [(k, _ParseResultsWithOffset(v[0],addoffset(v[1])) ) + for (k,vlist) in otheritems for v in vlist] + for k,v in otherdictitems: + self[k] = v + if isinstance(v[0],ParseResults): + v[0].__parent = wkref(self) + + self.__toklist += other.__toklist + self.__accumNames.update( other.__accumNames ) + return self + + def __radd__(self, other): + if isinstance(other,int) and other == 0: + # useful for merging many ParseResults using sum() builtin + return self.copy() + else: + # this may raise a TypeError - so be it + return other + self + + def __repr__( self ): + return "(%s, %s)" % ( repr( self.__toklist ), repr( self.__tokdict ) ) + + def __str__( self ): + return '[' + ', '.join(_ustr(i) if isinstance(i, ParseResults) else repr(i) for i in self.__toklist) + ']' + + def _asStringList( self, sep='' ): + out = [] + for item in self.__toklist: + if out and sep: + out.append(sep) + if isinstance( item, ParseResults ): + out += item._asStringList() + else: + out.append( _ustr(item) ) + return out + + def asList( self ): + """ + Returns the parse results as a nested list of matching tokens, all converted to strings. + + Example:: + + patt = OneOrMore(Word(alphas)) + result = patt.parseString("sldkj lsdkj sldkj") + # even though the result prints in string-like form, it is actually a pyparsing ParseResults + print(type(result), result) # -> <class 'pyparsing.ParseResults'> ['sldkj', 'lsdkj', 'sldkj'] + + # Use asList() to create an actual list + result_list = result.asList() + print(type(result_list), result_list) # -> <class 'list'> ['sldkj', 'lsdkj', 'sldkj'] + """ + return [res.asList() if isinstance(res,ParseResults) else res for res in self.__toklist] + + def asDict( self ): + """ + Returns the named parse results as a nested dictionary. + + Example:: + + integer = Word(nums) + date_str = integer("year") + '/' + integer("month") + '/' + integer("day") + + result = date_str.parseString('12/31/1999') + print(type(result), repr(result)) # -> <class 'pyparsing.ParseResults'> (['12', '/', '31', '/', '1999'], {'day': [('1999', 4)], 'year': [('12', 0)], 'month': [('31', 2)]}) + + result_dict = result.asDict() + print(type(result_dict), repr(result_dict)) # -> <class 'dict'> {'day': '1999', 'year': '12', 'month': '31'} + + # even though a ParseResults supports dict-like access, sometime you just need to have a dict + import json + print(json.dumps(result)) # -> Exception: TypeError: ... is not JSON serializable + print(json.dumps(result.asDict())) # -> {"month": "31", "day": "1999", "year": "12"} + """ + if PY_3: + item_fn = self.items + else: + item_fn = self.iteritems + + def toItem(obj): + if isinstance(obj, ParseResults): + if obj.haskeys(): + return obj.asDict() + else: + return [toItem(v) for v in obj] + else: + return obj + + return dict((k,toItem(v)) for k,v in item_fn()) + + def copy( self ): + """ + Returns a new copy of a :class:`ParseResults` object. + """ + ret = ParseResults( self.__toklist ) + ret.__tokdict = dict(self.__tokdict.items()) + ret.__parent = self.__parent + ret.__accumNames.update( self.__accumNames ) + ret.__name = self.__name + return ret + + def asXML( self, doctag=None, namedItemsOnly=False, indent="", formatted=True ): + """ + (Deprecated) Returns the parse results as XML. Tags are created for tokens and lists that have defined results names. + """ + nl = "\n" + out = [] + namedItems = dict((v[1],k) for (k,vlist) in self.__tokdict.items() + for v in vlist) + nextLevelIndent = indent + " " + + # collapse out indents if formatting is not desired + if not formatted: + indent = "" + nextLevelIndent = "" + nl = "" + + selfTag = None + if doctag is not None: + selfTag = doctag + else: + if self.__name: + selfTag = self.__name + + if not selfTag: + if namedItemsOnly: + return "" + else: + selfTag = "ITEM" + + out += [ nl, indent, "<", selfTag, ">" ] + + for i,res in enumerate(self.__toklist): + if isinstance(res,ParseResults): + if i in namedItems: + out += [ res.asXML(namedItems[i], + namedItemsOnly and doctag is None, + nextLevelIndent, + formatted)] + else: + out += [ res.asXML(None, + namedItemsOnly and doctag is None, + nextLevelIndent, + formatted)] + else: + # individual token, see if there is a name for it + resTag = None + if i in namedItems: + resTag = namedItems[i] + if not resTag: + if namedItemsOnly: + continue + else: + resTag = "ITEM" + xmlBodyText = _xml_escape(_ustr(res)) + out += [ nl, nextLevelIndent, "<", resTag, ">", + xmlBodyText, + "</", resTag, ">" ] + + out += [ nl, indent, "</", selfTag, ">" ] + return "".join(out) + + def __lookup(self,sub): + for k,vlist in self.__tokdict.items(): + for v,loc in vlist: + if sub is v: + return k + return None + + def getName(self): + r""" + Returns the results name for this token expression. Useful when several + different expressions might match at a particular location. + + Example:: + + integer = Word(nums) + ssn_expr = Regex(r"\d\d\d-\d\d-\d\d\d\d") + house_number_expr = Suppress('#') + Word(nums, alphanums) + user_data = (Group(house_number_expr)("house_number") + | Group(ssn_expr)("ssn") + | Group(integer)("age")) + user_info = OneOrMore(user_data) + + result = user_info.parseString("22 111-22-3333 #221B") + for item in result: + print(item.getName(), ':', item[0]) + + prints:: + + age : 22 + ssn : 111-22-3333 + house_number : 221B + """ + if self.__name: + return self.__name + elif self.__parent: + par = self.__parent() + if par: + return par.__lookup(self) + else: + return None + elif (len(self) == 1 and + len(self.__tokdict) == 1 and + next(iter(self.__tokdict.values()))[0][1] in (0,-1)): + return next(iter(self.__tokdict.keys())) + else: + return None + + def dump(self, indent='', depth=0, full=True): + """ + Diagnostic method for listing out the contents of + a :class:`ParseResults`. Accepts an optional ``indent`` argument so + that this string can be embedded in a nested display of other data. + + Example:: + + integer = Word(nums) + date_str = integer("year") + '/' + integer("month") + '/' + integer("day") + + result = date_str.parseString('12/31/1999') + print(result.dump()) + + prints:: + + ['12', '/', '31', '/', '1999'] + - day: 1999 + - month: 31 + - year: 12 + """ + out = [] + NL = '\n' + out.append( indent+_ustr(self.asList()) ) + if full: + if self.haskeys(): + items = sorted((str(k), v) for k,v in self.items()) + for k,v in items: + if out: + out.append(NL) + out.append( "%s%s- %s: " % (indent,(' '*depth), k) ) + if isinstance(v,ParseResults): + if v: + out.append( v.dump(indent,depth+1) ) + else: + out.append(_ustr(v)) + else: + out.append(repr(v)) + elif any(isinstance(vv,ParseResults) for vv in self): + v = self + for i,vv in enumerate(v): + if isinstance(vv,ParseResults): + out.append("\n%s%s[%d]:\n%s%s%s" % (indent,(' '*(depth)),i,indent,(' '*(depth+1)),vv.dump(indent,depth+1) )) + else: + out.append("\n%s%s[%d]:\n%s%s%s" % (indent,(' '*(depth)),i,indent,(' '*(depth+1)),_ustr(vv))) + + return "".join(out) + + def pprint(self, *args, **kwargs): + """ + Pretty-printer for parsed results as a list, using the + `pprint <https://docs.python.org/3/library/pprint.html>`_ module. + Accepts additional positional or keyword args as defined for + `pprint.pprint <https://docs.python.org/3/library/pprint.html#pprint.pprint>`_ . + + Example:: + + ident = Word(alphas, alphanums) + num = Word(nums) + func = Forward() + term = ident | num | Group('(' + func + ')') + func <<= ident + Group(Optional(delimitedList(term))) + result = func.parseString("fna a,b,(fnb c,d,200),100") + result.pprint(width=40) + + prints:: + + ['fna', + ['a', + 'b', + ['(', 'fnb', ['c', 'd', '200'], ')'], + '100']] + """ + pprint.pprint(self.asList(), *args, **kwargs) + + # add support for pickle protocol + def __getstate__(self): + return ( self.__toklist, + ( self.__tokdict.copy(), + self.__parent is not None and self.__parent() or None, + self.__accumNames, + self.__name ) ) + + def __setstate__(self,state): + self.__toklist = state[0] + (self.__tokdict, + par, + inAccumNames, + self.__name) = state[1] + self.__accumNames = {} + self.__accumNames.update(inAccumNames) + if par is not None: + self.__parent = wkref(par) + else: + self.__parent = None + + def __getnewargs__(self): + return self.__toklist, self.__name, self.__asList, self.__modal + + def __dir__(self): + return (dir(type(self)) + list(self.keys())) + +MutableMapping.register(ParseResults) + +def col (loc,strg): + """Returns current column within a string, counting newlines as line separators. + The first column is number 1. + + Note: the default parsing behavior is to expand tabs in the input string + before starting the parsing process. See + :class:`ParserElement.parseString` for more + information on parsing strings containing ``<TAB>`` s, and suggested + methods to maintain a consistent view of the parsed string, the parse + location, and line and column positions within the parsed string. + """ + s = strg + return 1 if 0<loc<len(s) and s[loc-1] == '\n' else loc - s.rfind("\n", 0, loc) + +def lineno(loc,strg): + """Returns current line number within a string, counting newlines as line separators. + The first line is number 1. + + Note - the default parsing behavior is to expand tabs in the input string + before starting the parsing process. See :class:`ParserElement.parseString` + for more information on parsing strings containing ``<TAB>`` s, and + suggested methods to maintain a consistent view of the parsed string, the + parse location, and line and column positions within the parsed string. + """ + return strg.count("\n",0,loc) + 1 + +def line( loc, strg ): + """Returns the line of text containing loc within a string, counting newlines as line separators. + """ + lastCR = strg.rfind("\n", 0, loc) + nextCR = strg.find("\n", loc) + if nextCR >= 0: + return strg[lastCR+1:nextCR] + else: + return strg[lastCR+1:] + +def _defaultStartDebugAction( instring, loc, expr ): + print (("Match " + _ustr(expr) + " at loc " + _ustr(loc) + "(%d,%d)" % ( lineno(loc,instring), col(loc,instring) ))) + +def _defaultSuccessDebugAction( instring, startloc, endloc, expr, toks ): + print ("Matched " + _ustr(expr) + " -> " + str(toks.asList())) + +def _defaultExceptionDebugAction( instring, loc, expr, exc ): + print ("Exception raised:" + _ustr(exc)) + +def nullDebugAction(*args): + """'Do-nothing' debug action, to suppress debugging output during parsing.""" + pass + +# Only works on Python 3.x - nonlocal is toxic to Python 2 installs +#~ 'decorator to trim function calls to match the arity of the target' +#~ def _trim_arity(func, maxargs=3): + #~ if func in singleArgBuiltins: + #~ return lambda s,l,t: func(t) + #~ limit = 0 + #~ foundArity = False + #~ def wrapper(*args): + #~ nonlocal limit,foundArity + #~ while 1: + #~ try: + #~ ret = func(*args[limit:]) + #~ foundArity = True + #~ return ret + #~ except TypeError: + #~ if limit == maxargs or foundArity: + #~ raise + #~ limit += 1 + #~ continue + #~ return wrapper + +# this version is Python 2.x-3.x cross-compatible +'decorator to trim function calls to match the arity of the target' +def _trim_arity(func, maxargs=2): + if func in singleArgBuiltins: + return lambda s,l,t: func(t) + limit = [0] + foundArity = [False] + + # traceback return data structure changed in Py3.5 - normalize back to plain tuples + if system_version[:2] >= (3,5): + def extract_stack(limit=0): + # special handling for Python 3.5.0 - extra deep call stack by 1 + offset = -3 if system_version == (3,5,0) else -2 + frame_summary = traceback.extract_stack(limit=-offset+limit-1)[offset] + return [frame_summary[:2]] + def extract_tb(tb, limit=0): + frames = traceback.extract_tb(tb, limit=limit) + frame_summary = frames[-1] + return [frame_summary[:2]] + else: + extract_stack = traceback.extract_stack + extract_tb = traceback.extract_tb + + # synthesize what would be returned by traceback.extract_stack at the call to + # user's parse action 'func', so that we don't incur call penalty at parse time + + LINE_DIFF = 6 + # IF ANY CODE CHANGES, EVEN JUST COMMENTS OR BLANK LINES, BETWEEN THE NEXT LINE AND + # THE CALL TO FUNC INSIDE WRAPPER, LINE_DIFF MUST BE MODIFIED!!!! + this_line = extract_stack(limit=2)[-1] + pa_call_line_synth = (this_line[0], this_line[1]+LINE_DIFF) + + def wrapper(*args): + while 1: + try: + ret = func(*args[limit[0]:]) + foundArity[0] = True + return ret + except TypeError: + # re-raise TypeErrors if they did not come from our arity testing + if foundArity[0]: + raise + else: + try: + tb = sys.exc_info()[-1] + if not extract_tb(tb, limit=2)[-1][:2] == pa_call_line_synth: + raise + finally: + del tb + + if limit[0] <= maxargs: + limit[0] += 1 + continue + raise + + # copy func name to wrapper for sensible debug output + func_name = "<parse action>" + try: + func_name = getattr(func, '__name__', + getattr(func, '__class__').__name__) + except Exception: + func_name = str(func) + wrapper.__name__ = func_name + + return wrapper + +class ParserElement(object): + """Abstract base level parser element class.""" + DEFAULT_WHITE_CHARS = " \n\t\r" + verbose_stacktrace = False + + @staticmethod + def setDefaultWhitespaceChars( chars ): + r""" + Overrides the default whitespace chars + + Example:: + + # default whitespace chars are space, <TAB> and newline + OneOrMore(Word(alphas)).parseString("abc def\nghi jkl") # -> ['abc', 'def', 'ghi', 'jkl'] + + # change to just treat newline as significant + ParserElement.setDefaultWhitespaceChars(" \t") + OneOrMore(Word(alphas)).parseString("abc def\nghi jkl") # -> ['abc', 'def'] + """ + ParserElement.DEFAULT_WHITE_CHARS = chars + + @staticmethod + def inlineLiteralsUsing(cls): + """ + Set class to be used for inclusion of string literals into a parser. + + Example:: + + # default literal class used is Literal + integer = Word(nums) + date_str = integer("year") + '/' + integer("month") + '/' + integer("day") + + date_str.parseString("1999/12/31") # -> ['1999', '/', '12', '/', '31'] + + + # change to Suppress + ParserElement.inlineLiteralsUsing(Suppress) + date_str = integer("year") + '/' + integer("month") + '/' + integer("day") + + date_str.parseString("1999/12/31") # -> ['1999', '12', '31'] + """ + ParserElement._literalStringClass = cls + + def __init__( self, savelist=False ): + self.parseAction = list() + self.failAction = None + #~ self.name = "<unknown>" # don't define self.name, let subclasses try/except upcall + self.strRepr = None + self.resultsName = None + self.saveAsList = savelist + self.skipWhitespace = True + self.whiteChars = set(ParserElement.DEFAULT_WHITE_CHARS) + self.copyDefaultWhiteChars = True + self.mayReturnEmpty = False # used when checking for left-recursion + self.keepTabs = False + self.ignoreExprs = list() + self.debug = False + self.streamlined = False + self.mayIndexError = True # used to optimize exception handling for subclasses that don't advance parse index + self.errmsg = "" + self.modalResults = True # used to mark results names as modal (report only last) or cumulative (list all) + self.debugActions = ( None, None, None ) #custom debug actions + self.re = None + self.callPreparse = True # used to avoid redundant calls to preParse + self.callDuringTry = False + + def copy( self ): + """ + Make a copy of this :class:`ParserElement`. Useful for defining + different parse actions for the same parsing pattern, using copies of + the original parse element. + + Example:: + + integer = Word(nums).setParseAction(lambda toks: int(toks[0])) + integerK = integer.copy().addParseAction(lambda toks: toks[0]*1024) + Suppress("K") + integerM = integer.copy().addParseAction(lambda toks: toks[0]*1024*1024) + Suppress("M") + + print(OneOrMore(integerK | integerM | integer).parseString("5K 100 640K 256M")) + + prints:: + + [5120, 100, 655360, 268435456] + + Equivalent form of ``expr.copy()`` is just ``expr()``:: + + integerM = integer().addParseAction(lambda toks: toks[0]*1024*1024) + Suppress("M") + """ + cpy = copy.copy( self ) + cpy.parseAction = self.parseAction[:] + cpy.ignoreExprs = self.ignoreExprs[:] + if self.copyDefaultWhiteChars: + cpy.whiteChars = ParserElement.DEFAULT_WHITE_CHARS + return cpy + + def setName( self, name ): + """ + Define name for this expression, makes debugging and exception messages clearer. + + Example:: + + Word(nums).parseString("ABC") # -> Exception: Expected W:(0123...) (at char 0), (line:1, col:1) + Word(nums).setName("integer").parseString("ABC") # -> Exception: Expected integer (at char 0), (line:1, col:1) + """ + self.name = name + self.errmsg = "Expected " + self.name + if hasattr(self,"exception"): + self.exception.msg = self.errmsg + return self + + def setResultsName( self, name, listAllMatches=False ): + """ + Define name for referencing matching tokens as a nested attribute + of the returned parse results. + NOTE: this returns a *copy* of the original :class:`ParserElement` object; + this is so that the client can define a basic element, such as an + integer, and reference it in multiple places with different names. + + You can also set results names using the abbreviated syntax, + ``expr("name")`` in place of ``expr.setResultsName("name")`` + - see :class:`__call__`. + + Example:: + + date_str = (integer.setResultsName("year") + '/' + + integer.setResultsName("month") + '/' + + integer.setResultsName("day")) + + # equivalent form: + date_str = integer("year") + '/' + integer("month") + '/' + integer("day") + """ + newself = self.copy() + if name.endswith("*"): + name = name[:-1] + listAllMatches=True + newself.resultsName = name + newself.modalResults = not listAllMatches + return newself + + def setBreak(self,breakFlag = True): + """Method to invoke the Python pdb debugger when this element is + about to be parsed. Set ``breakFlag`` to True to enable, False to + disable. + """ + if breakFlag: + _parseMethod = self._parse + def breaker(instring, loc, doActions=True, callPreParse=True): + import pdb + pdb.set_trace() + return _parseMethod( instring, loc, doActions, callPreParse ) + breaker._originalParseMethod = _parseMethod + self._parse = breaker + else: + if hasattr(self._parse,"_originalParseMethod"): + self._parse = self._parse._originalParseMethod + return self + + def setParseAction( self, *fns, **kwargs ): + """ + Define one or more actions to perform when successfully matching parse element definition. + Parse action fn is a callable method with 0-3 arguments, called as ``fn(s,loc,toks)`` , + ``fn(loc,toks)`` , ``fn(toks)`` , or just ``fn()`` , where: + + - s = the original string being parsed (see note below) + - loc = the location of the matching substring + - toks = a list of the matched tokens, packaged as a :class:`ParseResults` object + + If the functions in fns modify the tokens, they can return them as the return + value from fn, and the modified list of tokens will replace the original. + Otherwise, fn does not need to return any value. + + Optional keyword arguments: + - callDuringTry = (default= ``False`` ) indicate if parse action should be run during lookaheads and alternate testing + + Note: the default parsing behavior is to expand tabs in the input string + before starting the parsing process. See :class:`parseString for more + information on parsing strings containing ``<TAB>`` s, and suggested + methods to maintain a consistent view of the parsed string, the parse + location, and line and column positions within the parsed string. + + Example:: + + integer = Word(nums) + date_str = integer + '/' + integer + '/' + integer + + date_str.parseString("1999/12/31") # -> ['1999', '/', '12', '/', '31'] + + # use parse action to convert to ints at parse time + integer = Word(nums).setParseAction(lambda toks: int(toks[0])) + date_str = integer + '/' + integer + '/' + integer + + # note that integer fields are now ints, not strings + date_str.parseString("1999/12/31") # -> [1999, '/', 12, '/', 31] + """ + self.parseAction = list(map(_trim_arity, list(fns))) + self.callDuringTry = kwargs.get("callDuringTry", False) + return self + + def addParseAction( self, *fns, **kwargs ): + """ + Add one or more parse actions to expression's list of parse actions. See :class:`setParseAction`. + + See examples in :class:`copy`. + """ + self.parseAction += list(map(_trim_arity, list(fns))) + self.callDuringTry = self.callDuringTry or kwargs.get("callDuringTry", False) + return self + + def addCondition(self, *fns, **kwargs): + """Add a boolean predicate function to expression's list of parse actions. See + :class:`setParseAction` for function call signatures. Unlike ``setParseAction``, + functions passed to ``addCondition`` need to return boolean success/fail of the condition. + + Optional keyword arguments: + - message = define a custom message to be used in the raised exception + - fatal = if True, will raise ParseFatalException to stop parsing immediately; otherwise will raise ParseException + + Example:: + + integer = Word(nums).setParseAction(lambda toks: int(toks[0])) + year_int = integer.copy() + year_int.addCondition(lambda toks: toks[0] >= 2000, message="Only support years 2000 and later") + date_str = year_int + '/' + integer + '/' + integer + + result = date_str.parseString("1999/12/31") # -> Exception: Only support years 2000 and later (at char 0), (line:1, col:1) + """ + msg = kwargs.get("message", "failed user-defined condition") + exc_type = ParseFatalException if kwargs.get("fatal", False) else ParseException + for fn in fns: + fn = _trim_arity(fn) + def pa(s,l,t): + if not bool(fn(s,l,t)): + raise exc_type(s,l,msg) + self.parseAction.append(pa) + self.callDuringTry = self.callDuringTry or kwargs.get("callDuringTry", False) + return self + + def setFailAction( self, fn ): + """Define action to perform if parsing fails at this expression. + Fail acton fn is a callable function that takes the arguments + ``fn(s,loc,expr,err)`` where: + - s = string being parsed + - loc = location where expression match was attempted and failed + - expr = the parse expression that failed + - err = the exception thrown + The function returns no value. It may throw :class:`ParseFatalException` + if it is desired to stop parsing immediately.""" + self.failAction = fn + return self + + def _skipIgnorables( self, instring, loc ): + exprsFound = True + while exprsFound: + exprsFound = False + for e in self.ignoreExprs: + try: + while 1: + loc,dummy = e._parse( instring, loc ) + exprsFound = True + except ParseException: + pass + return loc + + def preParse( self, instring, loc ): + if self.ignoreExprs: + loc = self._skipIgnorables( instring, loc ) + + if self.skipWhitespace: + wt = self.whiteChars + instrlen = len(instring) + while loc < instrlen and instring[loc] in wt: + loc += 1 + + return loc + + def parseImpl( self, instring, loc, doActions=True ): + return loc, [] + + def postParse( self, instring, loc, tokenlist ): + return tokenlist + + #~ @profile + def _parseNoCache( self, instring, loc, doActions=True, callPreParse=True ): + debugging = ( self.debug ) #and doActions ) + + if debugging or self.failAction: + #~ print ("Match",self,"at loc",loc,"(%d,%d)" % ( lineno(loc,instring), col(loc,instring) )) + if (self.debugActions[0] ): + self.debugActions[0]( instring, loc, self ) + if callPreParse and self.callPreparse: + preloc = self.preParse( instring, loc ) + else: + preloc = loc + tokensStart = preloc + try: + try: + loc,tokens = self.parseImpl( instring, preloc, doActions ) + except IndexError: + raise ParseException( instring, len(instring), self.errmsg, self ) + except ParseBaseException as err: + #~ print ("Exception raised:", err) + if self.debugActions[2]: + self.debugActions[2]( instring, tokensStart, self, err ) + if self.failAction: + self.failAction( instring, tokensStart, self, err ) + raise + else: + if callPreParse and self.callPreparse: + preloc = self.preParse( instring, loc ) + else: + preloc = loc + tokensStart = preloc + if self.mayIndexError or preloc >= len(instring): + try: + loc,tokens = self.parseImpl( instring, preloc, doActions ) + except IndexError: + raise ParseException( instring, len(instring), self.errmsg, self ) + else: + loc,tokens = self.parseImpl( instring, preloc, doActions ) + + tokens = self.postParse( instring, loc, tokens ) + + retTokens = ParseResults( tokens, self.resultsName, asList=self.saveAsList, modal=self.modalResults ) + if self.parseAction and (doActions or self.callDuringTry): + if debugging: + try: + for fn in self.parseAction: + try: + tokens = fn( instring, tokensStart, retTokens ) + except IndexError as parse_action_exc: + exc = ParseException("exception raised in parse action") + exc.__cause__ = parse_action_exc + raise exc + + if tokens is not None and tokens is not retTokens: + retTokens = ParseResults( tokens, + self.resultsName, + asList=self.saveAsList and isinstance(tokens,(ParseResults,list)), + modal=self.modalResults ) + except ParseBaseException as err: + #~ print "Exception raised in user parse action:", err + if (self.debugActions[2] ): + self.debugActions[2]( instring, tokensStart, self, err ) + raise + else: + for fn in self.parseAction: + try: + tokens = fn( instring, tokensStart, retTokens ) + except IndexError as parse_action_exc: + exc = ParseException("exception raised in parse action") + exc.__cause__ = parse_action_exc + raise exc + + if tokens is not None and tokens is not retTokens: + retTokens = ParseResults( tokens, + self.resultsName, + asList=self.saveAsList and isinstance(tokens,(ParseResults,list)), + modal=self.modalResults ) + if debugging: + #~ print ("Matched",self,"->",retTokens.asList()) + if (self.debugActions[1] ): + self.debugActions[1]( instring, tokensStart, loc, self, retTokens ) + + return loc, retTokens + + def tryParse( self, instring, loc ): + try: + return self._parse( instring, loc, doActions=False )[0] + except ParseFatalException: + raise ParseException( instring, loc, self.errmsg, self) + + def canParseNext(self, instring, loc): + try: + self.tryParse(instring, loc) + except (ParseException, IndexError): + return False + else: + return True + + class _UnboundedCache(object): + def __init__(self): + cache = {} + self.not_in_cache = not_in_cache = object() + + def get(self, key): + return cache.get(key, not_in_cache) + + def set(self, key, value): + cache[key] = value + + def clear(self): + cache.clear() + + def cache_len(self): + return len(cache) + + self.get = types.MethodType(get, self) + self.set = types.MethodType(set, self) + self.clear = types.MethodType(clear, self) + self.__len__ = types.MethodType(cache_len, self) + + if _OrderedDict is not None: + class _FifoCache(object): + def __init__(self, size): + self.not_in_cache = not_in_cache = object() + + cache = _OrderedDict() + + def get(self, key): + return cache.get(key, not_in_cache) + + def set(self, key, value): + cache[key] = value + while len(cache) > size: + try: + cache.popitem(False) + except KeyError: + pass + + def clear(self): + cache.clear() + + def cache_len(self): + return len(cache) + + self.get = types.MethodType(get, self) + self.set = types.MethodType(set, self) + self.clear = types.MethodType(clear, self) + self.__len__ = types.MethodType(cache_len, self) + + else: + class _FifoCache(object): + def __init__(self, size): + self.not_in_cache = not_in_cache = object() + + cache = {} + key_fifo = collections.deque([], size) + + def get(self, key): + return cache.get(key, not_in_cache) + + def set(self, key, value): + cache[key] = value + while len(key_fifo) > size: + cache.pop(key_fifo.popleft(), None) + key_fifo.append(key) + + def clear(self): + cache.clear() + key_fifo.clear() + + def cache_len(self): + return len(cache) + + self.get = types.MethodType(get, self) + self.set = types.MethodType(set, self) + self.clear = types.MethodType(clear, self) + self.__len__ = types.MethodType(cache_len, self) + + # argument cache for optimizing repeated calls when backtracking through recursive expressions + packrat_cache = {} # this is set later by enabledPackrat(); this is here so that resetCache() doesn't fail + packrat_cache_lock = RLock() + packrat_cache_stats = [0, 0] + + # this method gets repeatedly called during backtracking with the same arguments - + # we can cache these arguments and save ourselves the trouble of re-parsing the contained expression + def _parseCache( self, instring, loc, doActions=True, callPreParse=True ): + HIT, MISS = 0, 1 + lookup = (self, instring, loc, callPreParse, doActions) + with ParserElement.packrat_cache_lock: + cache = ParserElement.packrat_cache + value = cache.get(lookup) + if value is cache.not_in_cache: + ParserElement.packrat_cache_stats[MISS] += 1 + try: + value = self._parseNoCache(instring, loc, doActions, callPreParse) + except ParseBaseException as pe: + # cache a copy of the exception, without the traceback + cache.set(lookup, pe.__class__(*pe.args)) + raise + else: + cache.set(lookup, (value[0], value[1].copy())) + return value + else: + ParserElement.packrat_cache_stats[HIT] += 1 + if isinstance(value, Exception): + raise value + return (value[0], value[1].copy()) + + _parse = _parseNoCache + + @staticmethod + def resetCache(): + ParserElement.packrat_cache.clear() + ParserElement.packrat_cache_stats[:] = [0] * len(ParserElement.packrat_cache_stats) + + _packratEnabled = False + @staticmethod + def enablePackrat(cache_size_limit=128): + """Enables "packrat" parsing, which adds memoizing to the parsing logic. + Repeated parse attempts at the same string location (which happens + often in many complex grammars) can immediately return a cached value, + instead of re-executing parsing/validating code. Memoizing is done of + both valid results and parsing exceptions. + + Parameters: + + - cache_size_limit - (default= ``128``) - if an integer value is provided + will limit the size of the packrat cache; if None is passed, then + the cache size will be unbounded; if 0 is passed, the cache will + be effectively disabled. + + This speedup may break existing programs that use parse actions that + have side-effects. For this reason, packrat parsing is disabled when + you first import pyparsing. To activate the packrat feature, your + program must call the class method :class:`ParserElement.enablePackrat`. + For best results, call ``enablePackrat()`` immediately after + importing pyparsing. + + Example:: + + from pip._vendor import pyparsing + pyparsing.ParserElement.enablePackrat() + """ + if not ParserElement._packratEnabled: + ParserElement._packratEnabled = True + if cache_size_limit is None: + ParserElement.packrat_cache = ParserElement._UnboundedCache() + else: + ParserElement.packrat_cache = ParserElement._FifoCache(cache_size_limit) + ParserElement._parse = ParserElement._parseCache + + def parseString( self, instring, parseAll=False ): + """ + Execute the parse expression with the given string. + This is the main interface to the client code, once the complete + expression has been built. + + If you want the grammar to require that the entire input string be + successfully parsed, then set ``parseAll`` to True (equivalent to ending + the grammar with ``StringEnd()``). + + Note: ``parseString`` implicitly calls ``expandtabs()`` on the input string, + in order to report proper column numbers in parse actions. + If the input string contains tabs and + the grammar uses parse actions that use the ``loc`` argument to index into the + string being parsed, you can ensure you have a consistent view of the input + string by: + + - calling ``parseWithTabs`` on your grammar before calling ``parseString`` + (see :class:`parseWithTabs`) + - define your parse action using the full ``(s,loc,toks)`` signature, and + reference the input string using the parse action's ``s`` argument + - explictly expand the tabs in your input string before calling + ``parseString`` + + Example:: + + Word('a').parseString('aaaaabaaa') # -> ['aaaaa'] + Word('a').parseString('aaaaabaaa', parseAll=True) # -> Exception: Expected end of text + """ + ParserElement.resetCache() + if not self.streamlined: + self.streamline() + #~ self.saveAsList = True + for e in self.ignoreExprs: + e.streamline() + if not self.keepTabs: + instring = instring.expandtabs() + try: + loc, tokens = self._parse( instring, 0 ) + if parseAll: + loc = self.preParse( instring, loc ) + se = Empty() + StringEnd() + se._parse( instring, loc ) + except ParseBaseException as exc: + if ParserElement.verbose_stacktrace: + raise + else: + # catch and re-raise exception from here, clears out pyparsing internal stack trace + raise exc + else: + return tokens + + def scanString( self, instring, maxMatches=_MAX_INT, overlap=False ): + """ + Scan the input string for expression matches. Each match will return the + matching tokens, start location, and end location. May be called with optional + ``maxMatches`` argument, to clip scanning after 'n' matches are found. If + ``overlap`` is specified, then overlapping matches will be reported. + + Note that the start and end locations are reported relative to the string + being parsed. See :class:`parseString` for more information on parsing + strings with embedded tabs. + + Example:: + + source = "sldjf123lsdjjkf345sldkjf879lkjsfd987" + print(source) + for tokens,start,end in Word(alphas).scanString(source): + print(' '*start + '^'*(end-start)) + print(' '*start + tokens[0]) + + prints:: + + sldjf123lsdjjkf345sldkjf879lkjsfd987 + ^^^^^ + sldjf + ^^^^^^^ + lsdjjkf + ^^^^^^ + sldkjf + ^^^^^^ + lkjsfd + """ + if not self.streamlined: + self.streamline() + for e in self.ignoreExprs: + e.streamline() + + if not self.keepTabs: + instring = _ustr(instring).expandtabs() + instrlen = len(instring) + loc = 0 + preparseFn = self.preParse + parseFn = self._parse + ParserElement.resetCache() + matches = 0 + try: + while loc <= instrlen and matches < maxMatches: + try: + preloc = preparseFn( instring, loc ) + nextLoc,tokens = parseFn( instring, preloc, callPreParse=False ) + except ParseException: + loc = preloc+1 + else: + if nextLoc > loc: + matches += 1 + yield tokens, preloc, nextLoc + if overlap: + nextloc = preparseFn( instring, loc ) + if nextloc > loc: + loc = nextLoc + else: + loc += 1 + else: + loc = nextLoc + else: + loc = preloc+1 + except ParseBaseException as exc: + if ParserElement.verbose_stacktrace: + raise + else: + # catch and re-raise exception from here, clears out pyparsing internal stack trace + raise exc + + def transformString( self, instring ): + """ + Extension to :class:`scanString`, to modify matching text with modified tokens that may + be returned from a parse action. To use ``transformString``, define a grammar and + attach a parse action to it that modifies the returned token list. + Invoking ``transformString()`` on a target string will then scan for matches, + and replace the matched text patterns according to the logic in the parse + action. ``transformString()`` returns the resulting transformed string. + + Example:: + + wd = Word(alphas) + wd.setParseAction(lambda toks: toks[0].title()) + + print(wd.transformString("now is the winter of our discontent made glorious summer by this sun of york.")) + + prints:: + + Now Is The Winter Of Our Discontent Made Glorious Summer By This Sun Of York. + """ + out = [] + lastE = 0 + # force preservation of <TAB>s, to minimize unwanted transformation of string, and to + # keep string locs straight between transformString and scanString + self.keepTabs = True + try: + for t,s,e in self.scanString( instring ): + out.append( instring[lastE:s] ) + if t: + if isinstance(t,ParseResults): + out += t.asList() + elif isinstance(t,list): + out += t + else: + out.append(t) + lastE = e + out.append(instring[lastE:]) + out = [o for o in out if o] + return "".join(map(_ustr,_flatten(out))) + except ParseBaseException as exc: + if ParserElement.verbose_stacktrace: + raise + else: + # catch and re-raise exception from here, clears out pyparsing internal stack trace + raise exc + + def searchString( self, instring, maxMatches=_MAX_INT ): + """ + Another extension to :class:`scanString`, simplifying the access to the tokens found + to match the given parse expression. May be called with optional + ``maxMatches`` argument, to clip searching after 'n' matches are found. + + Example:: + + # a capitalized word starts with an uppercase letter, followed by zero or more lowercase letters + cap_word = Word(alphas.upper(), alphas.lower()) + + print(cap_word.searchString("More than Iron, more than Lead, more than Gold I need Electricity")) + + # the sum() builtin can be used to merge results into a single ParseResults object + print(sum(cap_word.searchString("More than Iron, more than Lead, more than Gold I need Electricity"))) + + prints:: + + [['More'], ['Iron'], ['Lead'], ['Gold'], ['I'], ['Electricity']] + ['More', 'Iron', 'Lead', 'Gold', 'I', 'Electricity'] + """ + try: + return ParseResults([ t for t,s,e in self.scanString( instring, maxMatches ) ]) + except ParseBaseException as exc: + if ParserElement.verbose_stacktrace: + raise + else: + # catch and re-raise exception from here, clears out pyparsing internal stack trace + raise exc + + def split(self, instring, maxsplit=_MAX_INT, includeSeparators=False): + """ + Generator method to split a string using the given expression as a separator. + May be called with optional ``maxsplit`` argument, to limit the number of splits; + and the optional ``includeSeparators`` argument (default= ``False``), if the separating + matching text should be included in the split results. + + Example:: + + punc = oneOf(list(".,;:/-!?")) + print(list(punc.split("This, this?, this sentence, is badly punctuated!"))) + + prints:: + + ['This', ' this', '', ' this sentence', ' is badly punctuated', ''] + """ + splits = 0 + last = 0 + for t,s,e in self.scanString(instring, maxMatches=maxsplit): + yield instring[last:s] + if includeSeparators: + yield t[0] + last = e + yield instring[last:] + + def __add__(self, other ): + """ + Implementation of + operator - returns :class:`And`. Adding strings to a ParserElement + converts them to :class:`Literal`s by default. + + Example:: + + greet = Word(alphas) + "," + Word(alphas) + "!" + hello = "Hello, World!" + print (hello, "->", greet.parseString(hello)) + + prints:: + + Hello, World! -> ['Hello', ',', 'World', '!'] + """ + if isinstance( other, basestring ): + other = ParserElement._literalStringClass( other ) + if not isinstance( other, ParserElement ): + warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), + SyntaxWarning, stacklevel=2) + return None + return And( [ self, other ] ) + + def __radd__(self, other ): + """ + Implementation of + operator when left operand is not a :class:`ParserElement` + """ + if isinstance( other, basestring ): + other = ParserElement._literalStringClass( other ) + if not isinstance( other, ParserElement ): + warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), + SyntaxWarning, stacklevel=2) + return None + return other + self + + def __sub__(self, other): + """ + Implementation of - operator, returns :class:`And` with error stop + """ + if isinstance( other, basestring ): + other = ParserElement._literalStringClass( other ) + if not isinstance( other, ParserElement ): + warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), + SyntaxWarning, stacklevel=2) + return None + return self + And._ErrorStop() + other + + def __rsub__(self, other ): + """ + Implementation of - operator when left operand is not a :class:`ParserElement` + """ + if isinstance( other, basestring ): + other = ParserElement._literalStringClass( other ) + if not isinstance( other, ParserElement ): + warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), + SyntaxWarning, stacklevel=2) + return None + return other - self + + def __mul__(self,other): + """ + Implementation of * operator, allows use of ``expr * 3`` in place of + ``expr + expr + expr``. Expressions may also me multiplied by a 2-integer + tuple, similar to ``{min,max}`` multipliers in regular expressions. Tuples + may also include ``None`` as in: + - ``expr*(n,None)`` or ``expr*(n,)`` is equivalent + to ``expr*n + ZeroOrMore(expr)`` + (read as "at least n instances of ``expr``") + - ``expr*(None,n)`` is equivalent to ``expr*(0,n)`` + (read as "0 to n instances of ``expr``") + - ``expr*(None,None)`` is equivalent to ``ZeroOrMore(expr)`` + - ``expr*(1,None)`` is equivalent to ``OneOrMore(expr)`` + + Note that ``expr*(None,n)`` does not raise an exception if + more than n exprs exist in the input stream; that is, + ``expr*(None,n)`` does not enforce a maximum number of expr + occurrences. If this behavior is desired, then write + ``expr*(None,n) + ~expr`` + """ + if isinstance(other,int): + minElements, optElements = other,0 + elif isinstance(other,tuple): + other = (other + (None, None))[:2] + if other[0] is None: + other = (0, other[1]) + if isinstance(other[0],int) and other[1] is None: + if other[0] == 0: + return ZeroOrMore(self) + if other[0] == 1: + return OneOrMore(self) + else: + return self*other[0] + ZeroOrMore(self) + elif isinstance(other[0],int) and isinstance(other[1],int): + minElements, optElements = other + optElements -= minElements + else: + raise TypeError("cannot multiply 'ParserElement' and ('%s','%s') objects", type(other[0]),type(other[1])) + else: + raise TypeError("cannot multiply 'ParserElement' and '%s' objects", type(other)) + + if minElements < 0: + raise ValueError("cannot multiply ParserElement by negative value") + if optElements < 0: + raise ValueError("second tuple value must be greater or equal to first tuple value") + if minElements == optElements == 0: + raise ValueError("cannot multiply ParserElement by 0 or (0,0)") + + if (optElements): + def makeOptionalList(n): + if n>1: + return Optional(self + makeOptionalList(n-1)) + else: + return Optional(self) + if minElements: + if minElements == 1: + ret = self + makeOptionalList(optElements) + else: + ret = And([self]*minElements) + makeOptionalList(optElements) + else: + ret = makeOptionalList(optElements) + else: + if minElements == 1: + ret = self + else: + ret = And([self]*minElements) + return ret + + def __rmul__(self, other): + return self.__mul__(other) + + def __or__(self, other ): + """ + Implementation of | operator - returns :class:`MatchFirst` + """ + if isinstance( other, basestring ): + other = ParserElement._literalStringClass( other ) + if not isinstance( other, ParserElement ): + warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), + SyntaxWarning, stacklevel=2) + return None + return MatchFirst( [ self, other ] ) + + def __ror__(self, other ): + """ + Implementation of | operator when left operand is not a :class:`ParserElement` + """ + if isinstance( other, basestring ): + other = ParserElement._literalStringClass( other ) + if not isinstance( other, ParserElement ): + warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), + SyntaxWarning, stacklevel=2) + return None + return other | self + + def __xor__(self, other ): + """ + Implementation of ^ operator - returns :class:`Or` + """ + if isinstance( other, basestring ): + other = ParserElement._literalStringClass( other ) + if not isinstance( other, ParserElement ): + warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), + SyntaxWarning, stacklevel=2) + return None + return Or( [ self, other ] ) + + def __rxor__(self, other ): + """ + Implementation of ^ operator when left operand is not a :class:`ParserElement` + """ + if isinstance( other, basestring ): + other = ParserElement._literalStringClass( other ) + if not isinstance( other, ParserElement ): + warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), + SyntaxWarning, stacklevel=2) + return None + return other ^ self + + def __and__(self, other ): + """ + Implementation of & operator - returns :class:`Each` + """ + if isinstance( other, basestring ): + other = ParserElement._literalStringClass( other ) + if not isinstance( other, ParserElement ): + warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), + SyntaxWarning, stacklevel=2) + return None + return Each( [ self, other ] ) + + def __rand__(self, other ): + """ + Implementation of & operator when left operand is not a :class:`ParserElement` + """ + if isinstance( other, basestring ): + other = ParserElement._literalStringClass( other ) + if not isinstance( other, ParserElement ): + warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), + SyntaxWarning, stacklevel=2) + return None + return other & self + + def __invert__( self ): + """ + Implementation of ~ operator - returns :class:`NotAny` + """ + return NotAny( self ) + + def __call__(self, name=None): + """ + Shortcut for :class:`setResultsName`, with ``listAllMatches=False``. + + If ``name`` is given with a trailing ``'*'`` character, then ``listAllMatches`` will be + passed as ``True``. + + If ``name` is omitted, same as calling :class:`copy`. + + Example:: + + # these are equivalent + userdata = Word(alphas).setResultsName("name") + Word(nums+"-").setResultsName("socsecno") + userdata = Word(alphas)("name") + Word(nums+"-")("socsecno") + """ + if name is not None: + return self.setResultsName(name) + else: + return self.copy() + + def suppress( self ): + """ + Suppresses the output of this :class:`ParserElement`; useful to keep punctuation from + cluttering up returned output. + """ + return Suppress( self ) + + def leaveWhitespace( self ): + """ + Disables the skipping of whitespace before matching the characters in the + :class:`ParserElement`'s defined pattern. This is normally only used internally by + the pyparsing module, but may be needed in some whitespace-sensitive grammars. + """ + self.skipWhitespace = False + return self + + def setWhitespaceChars( self, chars ): + """ + Overrides the default whitespace chars + """ + self.skipWhitespace = True + self.whiteChars = chars + self.copyDefaultWhiteChars = False + return self + + def parseWithTabs( self ): + """ + Overrides default behavior to expand ``<TAB>``s to spaces before parsing the input string. + Must be called before ``parseString`` when the input grammar contains elements that + match ``<TAB>`` characters. + """ + self.keepTabs = True + return self + + def ignore( self, other ): + """ + Define expression to be ignored (e.g., comments) while doing pattern + matching; may be called repeatedly, to define multiple comment or other + ignorable patterns. + + Example:: + + patt = OneOrMore(Word(alphas)) + patt.parseString('ablaj /* comment */ lskjd') # -> ['ablaj'] + + patt.ignore(cStyleComment) + patt.parseString('ablaj /* comment */ lskjd') # -> ['ablaj', 'lskjd'] + """ + if isinstance(other, basestring): + other = Suppress(other) + + if isinstance( other, Suppress ): + if other not in self.ignoreExprs: + self.ignoreExprs.append(other) + else: + self.ignoreExprs.append( Suppress( other.copy() ) ) + return self + + def setDebugActions( self, startAction, successAction, exceptionAction ): + """ + Enable display of debugging messages while doing pattern matching. + """ + self.debugActions = (startAction or _defaultStartDebugAction, + successAction or _defaultSuccessDebugAction, + exceptionAction or _defaultExceptionDebugAction) + self.debug = True + return self + + def setDebug( self, flag=True ): + """ + Enable display of debugging messages while doing pattern matching. + Set ``flag`` to True to enable, False to disable. + + Example:: + + wd = Word(alphas).setName("alphaword") + integer = Word(nums).setName("numword") + term = wd | integer + + # turn on debugging for wd + wd.setDebug() + + OneOrMore(term).parseString("abc 123 xyz 890") + + prints:: + + Match alphaword at loc 0(1,1) + Matched alphaword -> ['abc'] + Match alphaword at loc 3(1,4) + Exception raised:Expected alphaword (at char 4), (line:1, col:5) + Match alphaword at loc 7(1,8) + Matched alphaword -> ['xyz'] + Match alphaword at loc 11(1,12) + Exception raised:Expected alphaword (at char 12), (line:1, col:13) + Match alphaword at loc 15(1,16) + Exception raised:Expected alphaword (at char 15), (line:1, col:16) + + The output shown is that produced by the default debug actions - custom debug actions can be + specified using :class:`setDebugActions`. Prior to attempting + to match the ``wd`` expression, the debugging message ``"Match <exprname> at loc <n>(<line>,<col>)"`` + is shown. Then if the parse succeeds, a ``"Matched"`` message is shown, or an ``"Exception raised"`` + message is shown. Also note the use of :class:`setName` to assign a human-readable name to the expression, + which makes debugging and exception messages easier to understand - for instance, the default + name created for the :class:`Word` expression without calling ``setName`` is ``"W:(ABCD...)"``. + """ + if flag: + self.setDebugActions( _defaultStartDebugAction, _defaultSuccessDebugAction, _defaultExceptionDebugAction ) + else: + self.debug = False + return self + + def __str__( self ): + return self.name + + def __repr__( self ): + return _ustr(self) + + def streamline( self ): + self.streamlined = True + self.strRepr = None + return self + + def checkRecursion( self, parseElementList ): + pass + + def validate( self, validateTrace=[] ): + """ + Check defined expressions for valid structure, check for infinite recursive definitions. + """ + self.checkRecursion( [] ) + + def parseFile( self, file_or_filename, parseAll=False ): + """ + Execute the parse expression on the given file or filename. + If a filename is specified (instead of a file object), + the entire file is opened, read, and closed before parsing. + """ + try: + file_contents = file_or_filename.read() + except AttributeError: + with open(file_or_filename, "r") as f: + file_contents = f.read() + try: + return self.parseString(file_contents, parseAll) + except ParseBaseException as exc: + if ParserElement.verbose_stacktrace: + raise + else: + # catch and re-raise exception from here, clears out pyparsing internal stack trace + raise exc + + def __eq__(self,other): + if isinstance(other, ParserElement): + return self is other or vars(self) == vars(other) + elif isinstance(other, basestring): + return self.matches(other) + else: + return super(ParserElement,self)==other + + def __ne__(self,other): + return not (self == other) + + def __hash__(self): + return hash(id(self)) + + def __req__(self,other): + return self == other + + def __rne__(self,other): + return not (self == other) + + def matches(self, testString, parseAll=True): + """ + Method for quick testing of a parser against a test string. Good for simple + inline microtests of sub expressions while building up larger parser. + + Parameters: + - testString - to test against this expression for a match + - parseAll - (default= ``True``) - flag to pass to :class:`parseString` when running tests + + Example:: + + expr = Word(nums) + assert expr.matches("100") + """ + try: + self.parseString(_ustr(testString), parseAll=parseAll) + return True + except ParseBaseException: + return False + + def runTests(self, tests, parseAll=True, comment='#', + fullDump=True, printResults=True, failureTests=False, postParse=None): + """ + Execute the parse expression on a series of test strings, showing each + test, the parsed results or where the parse failed. Quick and easy way to + run a parse expression against a list of sample strings. + + Parameters: + - tests - a list of separate test strings, or a multiline string of test strings + - parseAll - (default= ``True``) - flag to pass to :class:`parseString` when running tests + - comment - (default= ``'#'``) - expression for indicating embedded comments in the test + string; pass None to disable comment filtering + - fullDump - (default= ``True``) - dump results as list followed by results names in nested outline; + if False, only dump nested list + - printResults - (default= ``True``) prints test output to stdout + - failureTests - (default= ``False``) indicates if these tests are expected to fail parsing + - postParse - (default= ``None``) optional callback for successful parse results; called as + `fn(test_string, parse_results)` and returns a string to be added to the test output + + Returns: a (success, results) tuple, where success indicates that all tests succeeded + (or failed if ``failureTests`` is True), and the results contain a list of lines of each + test's output + + Example:: + + number_expr = pyparsing_common.number.copy() + + result = number_expr.runTests(''' + # unsigned integer + 100 + # negative integer + -100 + # float with scientific notation + 6.02e23 + # integer with scientific notation + 1e-12 + ''') + print("Success" if result[0] else "Failed!") + + result = number_expr.runTests(''' + # stray character + 100Z + # missing leading digit before '.' + -.100 + # too many '.' + 3.14.159 + ''', failureTests=True) + print("Success" if result[0] else "Failed!") + + prints:: + + # unsigned integer + 100 + [100] + + # negative integer + -100 + [-100] + + # float with scientific notation + 6.02e23 + [6.02e+23] + + # integer with scientific notation + 1e-12 + [1e-12] + + Success + + # stray character + 100Z + ^ + FAIL: Expected end of text (at char 3), (line:1, col:4) + + # missing leading digit before '.' + -.100 + ^ + FAIL: Expected {real number with scientific notation | real number | signed integer} (at char 0), (line:1, col:1) + + # too many '.' + 3.14.159 + ^ + FAIL: Expected end of text (at char 4), (line:1, col:5) + + Success + + Each test string must be on a single line. If you want to test a string that spans multiple + lines, create a test like this:: + + expr.runTest(r"this is a test\\n of strings that spans \\n 3 lines") + + (Note that this is a raw string literal, you must include the leading 'r'.) + """ + if isinstance(tests, basestring): + tests = list(map(str.strip, tests.rstrip().splitlines())) + if isinstance(comment, basestring): + comment = Literal(comment) + allResults = [] + comments = [] + success = True + for t in tests: + if comment is not None and comment.matches(t, False) or comments and not t: + comments.append(t) + continue + if not t: + continue + out = ['\n'.join(comments), t] + comments = [] + try: + # convert newline marks to actual newlines, and strip leading BOM if present + t = t.replace(r'\n','\n').lstrip('\ufeff') + result = self.parseString(t, parseAll=parseAll) + out.append(result.dump(full=fullDump)) + success = success and not failureTests + if postParse is not None: + try: + pp_value = postParse(t, result) + if pp_value is not None: + out.append(str(pp_value)) + except Exception as e: + out.append("{0} failed: {1}: {2}".format(postParse.__name__, type(e).__name__, e)) + except ParseBaseException as pe: + fatal = "(FATAL)" if isinstance(pe, ParseFatalException) else "" + if '\n' in t: + out.append(line(pe.loc, t)) + out.append(' '*(col(pe.loc,t)-1) + '^' + fatal) + else: + out.append(' '*pe.loc + '^' + fatal) + out.append("FAIL: " + str(pe)) + success = success and failureTests + result = pe + except Exception as exc: + out.append("FAIL-EXCEPTION: " + str(exc)) + success = success and failureTests + result = exc + + if printResults: + if fullDump: + out.append('') + print('\n'.join(out)) + + allResults.append((t, result)) + + return success, allResults + + +class Token(ParserElement): + """Abstract :class:`ParserElement` subclass, for defining atomic + matching patterns. + """ + def __init__( self ): + super(Token,self).__init__( savelist=False ) + + +class Empty(Token): + """An empty token, will always match. + """ + def __init__( self ): + super(Empty,self).__init__() + self.name = "Empty" + self.mayReturnEmpty = True + self.mayIndexError = False + + +class NoMatch(Token): + """A token that will never match. + """ + def __init__( self ): + super(NoMatch,self).__init__() + self.name = "NoMatch" + self.mayReturnEmpty = True + self.mayIndexError = False + self.errmsg = "Unmatchable token" + + def parseImpl( self, instring, loc, doActions=True ): + raise ParseException(instring, loc, self.errmsg, self) + + +class Literal(Token): + """Token to exactly match a specified string. + + Example:: + + Literal('blah').parseString('blah') # -> ['blah'] + Literal('blah').parseString('blahfooblah') # -> ['blah'] + Literal('blah').parseString('bla') # -> Exception: Expected "blah" + + For case-insensitive matching, use :class:`CaselessLiteral`. + + For keyword matching (force word break before and after the matched string), + use :class:`Keyword` or :class:`CaselessKeyword`. + """ + def __init__( self, matchString ): + super(Literal,self).__init__() + self.match = matchString + self.matchLen = len(matchString) + try: + self.firstMatchChar = matchString[0] + except IndexError: + warnings.warn("null string passed to Literal; use Empty() instead", + SyntaxWarning, stacklevel=2) + self.__class__ = Empty + self.name = '"%s"' % _ustr(self.match) + self.errmsg = "Expected " + self.name + self.mayReturnEmpty = False + self.mayIndexError = False + + # Performance tuning: this routine gets called a *lot* + # if this is a single character match string and the first character matches, + # short-circuit as quickly as possible, and avoid calling startswith + #~ @profile + def parseImpl( self, instring, loc, doActions=True ): + if (instring[loc] == self.firstMatchChar and + (self.matchLen==1 or instring.startswith(self.match,loc)) ): + return loc+self.matchLen, self.match + raise ParseException(instring, loc, self.errmsg, self) +_L = Literal +ParserElement._literalStringClass = Literal + +class Keyword(Token): + """Token to exactly match a specified string as a keyword, that is, + it must be immediately followed by a non-keyword character. Compare + with :class:`Literal`: + + - ``Literal("if")`` will match the leading ``'if'`` in + ``'ifAndOnlyIf'``. + - ``Keyword("if")`` will not; it will only match the leading + ``'if'`` in ``'if x=1'``, or ``'if(y==2)'`` + + Accepts two optional constructor arguments in addition to the + keyword string: + + - ``identChars`` is a string of characters that would be valid + identifier characters, defaulting to all alphanumerics + "_" and + "$" + - ``caseless`` allows case-insensitive matching, default is ``False``. + + Example:: + + Keyword("start").parseString("start") # -> ['start'] + Keyword("start").parseString("starting") # -> Exception + + For case-insensitive matching, use :class:`CaselessKeyword`. + """ + DEFAULT_KEYWORD_CHARS = alphanums+"_$" + + def __init__( self, matchString, identChars=None, caseless=False ): + super(Keyword,self).__init__() + if identChars is None: + identChars = Keyword.DEFAULT_KEYWORD_CHARS + self.match = matchString + self.matchLen = len(matchString) + try: + self.firstMatchChar = matchString[0] + except IndexError: + warnings.warn("null string passed to Keyword; use Empty() instead", + SyntaxWarning, stacklevel=2) + self.name = '"%s"' % self.match + self.errmsg = "Expected " + self.name + self.mayReturnEmpty = False + self.mayIndexError = False + self.caseless = caseless + if caseless: + self.caselessmatch = matchString.upper() + identChars = identChars.upper() + self.identChars = set(identChars) + + def parseImpl( self, instring, loc, doActions=True ): + if self.caseless: + if ( (instring[ loc:loc+self.matchLen ].upper() == self.caselessmatch) and + (loc >= len(instring)-self.matchLen or instring[loc+self.matchLen].upper() not in self.identChars) and + (loc == 0 or instring[loc-1].upper() not in self.identChars) ): + return loc+self.matchLen, self.match + else: + if (instring[loc] == self.firstMatchChar and + (self.matchLen==1 or instring.startswith(self.match,loc)) and + (loc >= len(instring)-self.matchLen or instring[loc+self.matchLen] not in self.identChars) and + (loc == 0 or instring[loc-1] not in self.identChars) ): + return loc+self.matchLen, self.match + raise ParseException(instring, loc, self.errmsg, self) + + def copy(self): + c = super(Keyword,self).copy() + c.identChars = Keyword.DEFAULT_KEYWORD_CHARS + return c + + @staticmethod + def setDefaultKeywordChars( chars ): + """Overrides the default Keyword chars + """ + Keyword.DEFAULT_KEYWORD_CHARS = chars + +class CaselessLiteral(Literal): + """Token to match a specified string, ignoring case of letters. + Note: the matched results will always be in the case of the given + match string, NOT the case of the input text. + + Example:: + + OneOrMore(CaselessLiteral("CMD")).parseString("cmd CMD Cmd10") # -> ['CMD', 'CMD', 'CMD'] + + (Contrast with example for :class:`CaselessKeyword`.) + """ + def __init__( self, matchString ): + super(CaselessLiteral,self).__init__( matchString.upper() ) + # Preserve the defining literal. + self.returnString = matchString + self.name = "'%s'" % self.returnString + self.errmsg = "Expected " + self.name + + def parseImpl( self, instring, loc, doActions=True ): + if instring[ loc:loc+self.matchLen ].upper() == self.match: + return loc+self.matchLen, self.returnString + raise ParseException(instring, loc, self.errmsg, self) + +class CaselessKeyword(Keyword): + """ + Caseless version of :class:`Keyword`. + + Example:: + + OneOrMore(CaselessKeyword("CMD")).parseString("cmd CMD Cmd10") # -> ['CMD', 'CMD'] + + (Contrast with example for :class:`CaselessLiteral`.) + """ + def __init__( self, matchString, identChars=None ): + super(CaselessKeyword,self).__init__( matchString, identChars, caseless=True ) + +class CloseMatch(Token): + """A variation on :class:`Literal` which matches "close" matches, + that is, strings with at most 'n' mismatching characters. + :class:`CloseMatch` takes parameters: + + - ``match_string`` - string to be matched + - ``maxMismatches`` - (``default=1``) maximum number of + mismatches allowed to count as a match + + The results from a successful parse will contain the matched text + from the input string and the following named results: + + - ``mismatches`` - a list of the positions within the + match_string where mismatches were found + - ``original`` - the original match_string used to compare + against the input string + + If ``mismatches`` is an empty list, then the match was an exact + match. + + Example:: + + patt = CloseMatch("ATCATCGAATGGA") + patt.parseString("ATCATCGAAXGGA") # -> (['ATCATCGAAXGGA'], {'mismatches': [[9]], 'original': ['ATCATCGAATGGA']}) + patt.parseString("ATCAXCGAAXGGA") # -> Exception: Expected 'ATCATCGAATGGA' (with up to 1 mismatches) (at char 0), (line:1, col:1) + + # exact match + patt.parseString("ATCATCGAATGGA") # -> (['ATCATCGAATGGA'], {'mismatches': [[]], 'original': ['ATCATCGAATGGA']}) + + # close match allowing up to 2 mismatches + patt = CloseMatch("ATCATCGAATGGA", maxMismatches=2) + patt.parseString("ATCAXCGAAXGGA") # -> (['ATCAXCGAAXGGA'], {'mismatches': [[4, 9]], 'original': ['ATCATCGAATGGA']}) + """ + def __init__(self, match_string, maxMismatches=1): + super(CloseMatch,self).__init__() + self.name = match_string + self.match_string = match_string + self.maxMismatches = maxMismatches + self.errmsg = "Expected %r (with up to %d mismatches)" % (self.match_string, self.maxMismatches) + self.mayIndexError = False + self.mayReturnEmpty = False + + def parseImpl( self, instring, loc, doActions=True ): + start = loc + instrlen = len(instring) + maxloc = start + len(self.match_string) + + if maxloc <= instrlen: + match_string = self.match_string + match_stringloc = 0 + mismatches = [] + maxMismatches = self.maxMismatches + + for match_stringloc,s_m in enumerate(zip(instring[loc:maxloc], self.match_string)): + src,mat = s_m + if src != mat: + mismatches.append(match_stringloc) + if len(mismatches) > maxMismatches: + break + else: + loc = match_stringloc + 1 + results = ParseResults([instring[start:loc]]) + results['original'] = self.match_string + results['mismatches'] = mismatches + return loc, results + + raise ParseException(instring, loc, self.errmsg, self) + + +class Word(Token): + """Token for matching words composed of allowed character sets. + Defined with string containing all allowed initial characters, an + optional string containing allowed body characters (if omitted, + defaults to the initial character set), and an optional minimum, + maximum, and/or exact length. The default value for ``min`` is + 1 (a minimum value < 1 is not valid); the default values for + ``max`` and ``exact`` are 0, meaning no maximum or exact + length restriction. An optional ``excludeChars`` parameter can + list characters that might be found in the input ``bodyChars`` + string; useful to define a word of all printables except for one or + two characters, for instance. + + :class:`srange` is useful for defining custom character set strings + for defining ``Word`` expressions, using range notation from + regular expression character sets. + + A common mistake is to use :class:`Word` to match a specific literal + string, as in ``Word("Address")``. Remember that :class:`Word` + uses the string argument to define *sets* of matchable characters. + This expression would match "Add", "AAA", "dAred", or any other word + made up of the characters 'A', 'd', 'r', 'e', and 's'. To match an + exact literal string, use :class:`Literal` or :class:`Keyword`. + + pyparsing includes helper strings for building Words: + + - :class:`alphas` + - :class:`nums` + - :class:`alphanums` + - :class:`hexnums` + - :class:`alphas8bit` (alphabetic characters in ASCII range 128-255 + - accented, tilded, umlauted, etc.) + - :class:`punc8bit` (non-alphabetic characters in ASCII range + 128-255 - currency, symbols, superscripts, diacriticals, etc.) + - :class:`printables` (any non-whitespace character) + + Example:: + + # a word composed of digits + integer = Word(nums) # equivalent to Word("0123456789") or Word(srange("0-9")) + + # a word with a leading capital, and zero or more lowercase + capital_word = Word(alphas.upper(), alphas.lower()) + + # hostnames are alphanumeric, with leading alpha, and '-' + hostname = Word(alphas, alphanums+'-') + + # roman numeral (not a strict parser, accepts invalid mix of characters) + roman = Word("IVXLCDM") + + # any string of non-whitespace characters, except for ',' + csv_value = Word(printables, excludeChars=",") + """ + def __init__( self, initChars, bodyChars=None, min=1, max=0, exact=0, asKeyword=False, excludeChars=None ): + super(Word,self).__init__() + if excludeChars: + initChars = ''.join(c for c in initChars if c not in excludeChars) + if bodyChars: + bodyChars = ''.join(c for c in bodyChars if c not in excludeChars) + self.initCharsOrig = initChars + self.initChars = set(initChars) + if bodyChars : + self.bodyCharsOrig = bodyChars + self.bodyChars = set(bodyChars) + else: + self.bodyCharsOrig = initChars + self.bodyChars = set(initChars) + + self.maxSpecified = max > 0 + + if min < 1: + raise ValueError("cannot specify a minimum length < 1; use Optional(Word()) if zero-length word is permitted") + + self.minLen = min + + if max > 0: + self.maxLen = max + else: + self.maxLen = _MAX_INT + + if exact > 0: + self.maxLen = exact + self.minLen = exact + + self.name = _ustr(self) + self.errmsg = "Expected " + self.name + self.mayIndexError = False + self.asKeyword = asKeyword + + if ' ' not in self.initCharsOrig+self.bodyCharsOrig and (min==1 and max==0 and exact==0): + if self.bodyCharsOrig == self.initCharsOrig: + self.reString = "[%s]+" % _escapeRegexRangeChars(self.initCharsOrig) + elif len(self.initCharsOrig) == 1: + self.reString = "%s[%s]*" % \ + (re.escape(self.initCharsOrig), + _escapeRegexRangeChars(self.bodyCharsOrig),) + else: + self.reString = "[%s][%s]*" % \ + (_escapeRegexRangeChars(self.initCharsOrig), + _escapeRegexRangeChars(self.bodyCharsOrig),) + if self.asKeyword: + self.reString = r"\b"+self.reString+r"\b" + try: + self.re = re.compile( self.reString ) + except Exception: + self.re = None + + def parseImpl( self, instring, loc, doActions=True ): + if self.re: + result = self.re.match(instring,loc) + if not result: + raise ParseException(instring, loc, self.errmsg, self) + + loc = result.end() + return loc, result.group() + + if not(instring[ loc ] in self.initChars): + raise ParseException(instring, loc, self.errmsg, self) + + start = loc + loc += 1 + instrlen = len(instring) + bodychars = self.bodyChars + maxloc = start + self.maxLen + maxloc = min( maxloc, instrlen ) + while loc < maxloc and instring[loc] in bodychars: + loc += 1 + + throwException = False + if loc - start < self.minLen: + throwException = True + if self.maxSpecified and loc < instrlen and instring[loc] in bodychars: + throwException = True + if self.asKeyword: + if (start>0 and instring[start-1] in bodychars) or (loc<instrlen and instring[loc] in bodychars): + throwException = True + + if throwException: + raise ParseException(instring, loc, self.errmsg, self) + + return loc, instring[start:loc] + + def __str__( self ): + try: + return super(Word,self).__str__() + except Exception: + pass + + + if self.strRepr is None: + + def charsAsStr(s): + if len(s)>4: + return s[:4]+"..." + else: + return s + + if ( self.initCharsOrig != self.bodyCharsOrig ): + self.strRepr = "W:(%s,%s)" % ( charsAsStr(self.initCharsOrig), charsAsStr(self.bodyCharsOrig) ) + else: + self.strRepr = "W:(%s)" % charsAsStr(self.initCharsOrig) + + return self.strRepr + + +class Char(Word): + """A short-cut class for defining ``Word(characters, exact=1)``, + when defining a match of any single character in a string of + characters. + """ + def __init__(self, charset): + super(Char, self).__init__(charset, exact=1) + self.reString = "[%s]" % _escapeRegexRangeChars(self.initCharsOrig) + self.re = re.compile( self.reString ) + + +class Regex(Token): + r"""Token for matching strings that match a given regular + expression. Defined with string specifying the regular expression in + a form recognized by the stdlib Python `re module <https://docs.python.org/3/library/re.html>`_. + If the given regex contains named groups (defined using ``(?P<name>...)``), + these will be preserved as named parse results. + + Example:: + + realnum = Regex(r"[+-]?\d+\.\d*") + date = Regex(r'(?P<year>\d{4})-(?P<month>\d\d?)-(?P<day>\d\d?)') + # ref: https://stackoverflow.com/questions/267399/how-do-you-match-only-valid-roman-numerals-with-a-regular-expression + roman = Regex(r"M{0,4}(CM|CD|D?{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})") + """ + compiledREtype = type(re.compile("[A-Z]")) + def __init__( self, pattern, flags=0, asGroupList=False, asMatch=False): + """The parameters ``pattern`` and ``flags`` are passed + to the ``re.compile()`` function as-is. See the Python + `re module <https://docs.python.org/3/library/re.html>`_ module for an + explanation of the acceptable patterns and flags. + """ + super(Regex,self).__init__() + + if isinstance(pattern, basestring): + if not pattern: + warnings.warn("null string passed to Regex; use Empty() instead", + SyntaxWarning, stacklevel=2) + + self.pattern = pattern + self.flags = flags + + try: + self.re = re.compile(self.pattern, self.flags) + self.reString = self.pattern + except sre_constants.error: + warnings.warn("invalid pattern (%s) passed to Regex" % pattern, + SyntaxWarning, stacklevel=2) + raise + + elif isinstance(pattern, Regex.compiledREtype): + self.re = pattern + self.pattern = \ + self.reString = str(pattern) + self.flags = flags + + else: + raise ValueError("Regex may only be constructed with a string or a compiled RE object") + + self.name = _ustr(self) + self.errmsg = "Expected " + self.name + self.mayIndexError = False + self.mayReturnEmpty = True + self.asGroupList = asGroupList + self.asMatch = asMatch + + def parseImpl( self, instring, loc, doActions=True ): + result = self.re.match(instring,loc) + if not result: + raise ParseException(instring, loc, self.errmsg, self) + + loc = result.end() + if self.asMatch: + ret = result + elif self.asGroupList: + ret = result.groups() + else: + ret = ParseResults(result.group()) + d = result.groupdict() + if d: + for k, v in d.items(): + ret[k] = v + return loc,ret + + def __str__( self ): + try: + return super(Regex,self).__str__() + except Exception: + pass + + if self.strRepr is None: + self.strRepr = "Re:(%s)" % repr(self.pattern) + + return self.strRepr + + def sub(self, repl): + """ + Return Regex with an attached parse action to transform the parsed + result as if called using `re.sub(expr, repl, string) <https://docs.python.org/3/library/re.html#re.sub>`_. + + Example:: + + make_html = Regex(r"(\w+):(.*?):").sub(r"<\1>\2</\1>") + print(make_html.transformString("h1:main title:")) + # prints "<h1>main title</h1>" + """ + if self.asGroupList: + warnings.warn("cannot use sub() with Regex(asGroupList=True)", + SyntaxWarning, stacklevel=2) + raise SyntaxError() + + if self.asMatch and callable(repl): + warnings.warn("cannot use sub() with a callable with Regex(asMatch=True)", + SyntaxWarning, stacklevel=2) + raise SyntaxError() + + if self.asMatch: + def pa(tokens): + return tokens[0].expand(repl) + else: + def pa(tokens): + return self.re.sub(repl, tokens[0]) + return self.addParseAction(pa) + +class QuotedString(Token): + r""" + Token for matching strings that are delimited by quoting characters. + + Defined with the following parameters: + + - quoteChar - string of one or more characters defining the + quote delimiting string + - escChar - character to escape quotes, typically backslash + (default= ``None`` ) + - escQuote - special quote sequence to escape an embedded quote + string (such as SQL's ``""`` to escape an embedded ``"``) + (default= ``None`` ) + - multiline - boolean indicating whether quotes can span + multiple lines (default= ``False`` ) + - unquoteResults - boolean indicating whether the matched text + should be unquoted (default= ``True`` ) + - endQuoteChar - string of one or more characters defining the + end of the quote delimited string (default= ``None`` => same as + quoteChar) + - convertWhitespaceEscapes - convert escaped whitespace + (``'\t'``, ``'\n'``, etc.) to actual whitespace + (default= ``True`` ) + + Example:: + + qs = QuotedString('"') + print(qs.searchString('lsjdf "This is the quote" sldjf')) + complex_qs = QuotedString('{{', endQuoteChar='}}') + print(complex_qs.searchString('lsjdf {{This is the "quote"}} sldjf')) + sql_qs = QuotedString('"', escQuote='""') + print(sql_qs.searchString('lsjdf "This is the quote with ""embedded"" quotes" sldjf')) + + prints:: + + [['This is the quote']] + [['This is the "quote"']] + [['This is the quote with "embedded" quotes']] + """ + def __init__( self, quoteChar, escChar=None, escQuote=None, multiline=False, unquoteResults=True, endQuoteChar=None, convertWhitespaceEscapes=True): + super(QuotedString,self).__init__() + + # remove white space from quote chars - wont work anyway + quoteChar = quoteChar.strip() + if not quoteChar: + warnings.warn("quoteChar cannot be the empty string",SyntaxWarning,stacklevel=2) + raise SyntaxError() + + if endQuoteChar is None: + endQuoteChar = quoteChar + else: + endQuoteChar = endQuoteChar.strip() + if not endQuoteChar: + warnings.warn("endQuoteChar cannot be the empty string",SyntaxWarning,stacklevel=2) + raise SyntaxError() + + self.quoteChar = quoteChar + self.quoteCharLen = len(quoteChar) + self.firstQuoteChar = quoteChar[0] + self.endQuoteChar = endQuoteChar + self.endQuoteCharLen = len(endQuoteChar) + self.escChar = escChar + self.escQuote = escQuote + self.unquoteResults = unquoteResults + self.convertWhitespaceEscapes = convertWhitespaceEscapes + + if multiline: + self.flags = re.MULTILINE | re.DOTALL + self.pattern = r'%s(?:[^%s%s]' % \ + ( re.escape(self.quoteChar), + _escapeRegexRangeChars(self.endQuoteChar[0]), + (escChar is not None and _escapeRegexRangeChars(escChar) or '') ) + else: + self.flags = 0 + self.pattern = r'%s(?:[^%s\n\r%s]' % \ + ( re.escape(self.quoteChar), + _escapeRegexRangeChars(self.endQuoteChar[0]), + (escChar is not None and _escapeRegexRangeChars(escChar) or '') ) + if len(self.endQuoteChar) > 1: + self.pattern += ( + '|(?:' + ')|(?:'.join("%s[^%s]" % (re.escape(self.endQuoteChar[:i]), + _escapeRegexRangeChars(self.endQuoteChar[i])) + for i in range(len(self.endQuoteChar)-1,0,-1)) + ')' + ) + if escQuote: + self.pattern += (r'|(?:%s)' % re.escape(escQuote)) + if escChar: + self.pattern += (r'|(?:%s.)' % re.escape(escChar)) + self.escCharReplacePattern = re.escape(self.escChar)+"(.)" + self.pattern += (r')*%s' % re.escape(self.endQuoteChar)) + + try: + self.re = re.compile(self.pattern, self.flags) + self.reString = self.pattern + except sre_constants.error: + warnings.warn("invalid pattern (%s) passed to Regex" % self.pattern, + SyntaxWarning, stacklevel=2) + raise + + self.name = _ustr(self) + self.errmsg = "Expected " + self.name + self.mayIndexError = False + self.mayReturnEmpty = True + + def parseImpl( self, instring, loc, doActions=True ): + result = instring[loc] == self.firstQuoteChar and self.re.match(instring,loc) or None + if not result: + raise ParseException(instring, loc, self.errmsg, self) + + loc = result.end() + ret = result.group() + + if self.unquoteResults: + + # strip off quotes + ret = ret[self.quoteCharLen:-self.endQuoteCharLen] + + if isinstance(ret,basestring): + # replace escaped whitespace + if '\\' in ret and self.convertWhitespaceEscapes: + ws_map = { + r'\t' : '\t', + r'\n' : '\n', + r'\f' : '\f', + r'\r' : '\r', + } + for wslit,wschar in ws_map.items(): + ret = ret.replace(wslit, wschar) + + # replace escaped characters + if self.escChar: + ret = re.sub(self.escCharReplacePattern, r"\g<1>", ret) + + # replace escaped quotes + if self.escQuote: + ret = ret.replace(self.escQuote, self.endQuoteChar) + + return loc, ret + + def __str__( self ): + try: + return super(QuotedString,self).__str__() + except Exception: + pass + + if self.strRepr is None: + self.strRepr = "quoted string, starting with %s ending with %s" % (self.quoteChar, self.endQuoteChar) + + return self.strRepr + + +class CharsNotIn(Token): + """Token for matching words composed of characters *not* in a given + set (will include whitespace in matched characters if not listed in + the provided exclusion set - see example). Defined with string + containing all disallowed characters, and an optional minimum, + maximum, and/or exact length. The default value for ``min`` is + 1 (a minimum value < 1 is not valid); the default values for + ``max`` and ``exact`` are 0, meaning no maximum or exact + length restriction. + + Example:: + + # define a comma-separated-value as anything that is not a ',' + csv_value = CharsNotIn(',') + print(delimitedList(csv_value).parseString("dkls,lsdkjf,s12 34,@!#,213")) + + prints:: + + ['dkls', 'lsdkjf', 's12 34', '@!#', '213'] + """ + def __init__( self, notChars, min=1, max=0, exact=0 ): + super(CharsNotIn,self).__init__() + self.skipWhitespace = False + self.notChars = notChars + + if min < 1: + raise ValueError( + "cannot specify a minimum length < 1; use " + + "Optional(CharsNotIn()) if zero-length char group is permitted") + + self.minLen = min + + if max > 0: + self.maxLen = max + else: + self.maxLen = _MAX_INT + + if exact > 0: + self.maxLen = exact + self.minLen = exact + + self.name = _ustr(self) + self.errmsg = "Expected " + self.name + self.mayReturnEmpty = ( self.minLen == 0 ) + self.mayIndexError = False + + def parseImpl( self, instring, loc, doActions=True ): + if instring[loc] in self.notChars: + raise ParseException(instring, loc, self.errmsg, self) + + start = loc + loc += 1 + notchars = self.notChars + maxlen = min( start+self.maxLen, len(instring) ) + while loc < maxlen and \ + (instring[loc] not in notchars): + loc += 1 + + if loc - start < self.minLen: + raise ParseException(instring, loc, self.errmsg, self) + + return loc, instring[start:loc] + + def __str__( self ): + try: + return super(CharsNotIn, self).__str__() + except Exception: + pass + + if self.strRepr is None: + if len(self.notChars) > 4: + self.strRepr = "!W:(%s...)" % self.notChars[:4] + else: + self.strRepr = "!W:(%s)" % self.notChars + + return self.strRepr + +class White(Token): + """Special matching class for matching whitespace. Normally, + whitespace is ignored by pyparsing grammars. This class is included + when some whitespace structures are significant. Define with + a string containing the whitespace characters to be matched; default + is ``" \\t\\r\\n"``. Also takes optional ``min``, + ``max``, and ``exact`` arguments, as defined for the + :class:`Word` class. + """ + whiteStrs = { + ' ' : '<SP>', + '\t': '<TAB>', + '\n': '<LF>', + '\r': '<CR>', + '\f': '<FF>', + 'u\00A0': '<NBSP>', + 'u\1680': '<OGHAM_SPACE_MARK>', + 'u\180E': '<MONGOLIAN_VOWEL_SEPARATOR>', + 'u\2000': '<EN_QUAD>', + 'u\2001': '<EM_QUAD>', + 'u\2002': '<EN_SPACE>', + 'u\2003': '<EM_SPACE>', + 'u\2004': '<THREE-PER-EM_SPACE>', + 'u\2005': '<FOUR-PER-EM_SPACE>', + 'u\2006': '<SIX-PER-EM_SPACE>', + 'u\2007': '<FIGURE_SPACE>', + 'u\2008': '<PUNCTUATION_SPACE>', + 'u\2009': '<THIN_SPACE>', + 'u\200A': '<HAIR_SPACE>', + 'u\200B': '<ZERO_WIDTH_SPACE>', + 'u\202F': '<NNBSP>', + 'u\205F': '<MMSP>', + 'u\3000': '<IDEOGRAPHIC_SPACE>', + } + def __init__(self, ws=" \t\r\n", min=1, max=0, exact=0): + super(White,self).__init__() + self.matchWhite = ws + self.setWhitespaceChars( "".join(c for c in self.whiteChars if c not in self.matchWhite) ) + #~ self.leaveWhitespace() + self.name = ("".join(White.whiteStrs[c] for c in self.matchWhite)) + self.mayReturnEmpty = True + self.errmsg = "Expected " + self.name + + self.minLen = min + + if max > 0: + self.maxLen = max + else: + self.maxLen = _MAX_INT + + if exact > 0: + self.maxLen = exact + self.minLen = exact + + def parseImpl( self, instring, loc, doActions=True ): + if not(instring[ loc ] in self.matchWhite): + raise ParseException(instring, loc, self.errmsg, self) + start = loc + loc += 1 + maxloc = start + self.maxLen + maxloc = min( maxloc, len(instring) ) + while loc < maxloc and instring[loc] in self.matchWhite: + loc += 1 + + if loc - start < self.minLen: + raise ParseException(instring, loc, self.errmsg, self) + + return loc, instring[start:loc] + + +class _PositionToken(Token): + def __init__( self ): + super(_PositionToken,self).__init__() + self.name=self.__class__.__name__ + self.mayReturnEmpty = True + self.mayIndexError = False + +class GoToColumn(_PositionToken): + """Token to advance to a specific column of input text; useful for + tabular report scraping. + """ + def __init__( self, colno ): + super(GoToColumn,self).__init__() + self.col = colno + + def preParse( self, instring, loc ): + if col(loc,instring) != self.col: + instrlen = len(instring) + if self.ignoreExprs: + loc = self._skipIgnorables( instring, loc ) + while loc < instrlen and instring[loc].isspace() and col( loc, instring ) != self.col : + loc += 1 + return loc + + def parseImpl( self, instring, loc, doActions=True ): + thiscol = col( loc, instring ) + if thiscol > self.col: + raise ParseException( instring, loc, "Text not in expected column", self ) + newloc = loc + self.col - thiscol + ret = instring[ loc: newloc ] + return newloc, ret + + +class LineStart(_PositionToken): + """Matches if current position is at the beginning of a line within + the parse string + + Example:: + + test = '''\ + AAA this line + AAA and this line + AAA but not this one + B AAA and definitely not this one + ''' + + for t in (LineStart() + 'AAA' + restOfLine).searchString(test): + print(t) + + prints:: + + ['AAA', ' this line'] + ['AAA', ' and this line'] + + """ + def __init__( self ): + super(LineStart,self).__init__() + self.errmsg = "Expected start of line" + + def parseImpl( self, instring, loc, doActions=True ): + if col(loc, instring) == 1: + return loc, [] + raise ParseException(instring, loc, self.errmsg, self) + +class LineEnd(_PositionToken): + """Matches if current position is at the end of a line within the + parse string + """ + def __init__( self ): + super(LineEnd,self).__init__() + self.setWhitespaceChars( ParserElement.DEFAULT_WHITE_CHARS.replace("\n","") ) + self.errmsg = "Expected end of line" + + def parseImpl( self, instring, loc, doActions=True ): + if loc<len(instring): + if instring[loc] == "\n": + return loc+1, "\n" + else: + raise ParseException(instring, loc, self.errmsg, self) + elif loc == len(instring): + return loc+1, [] + else: + raise ParseException(instring, loc, self.errmsg, self) + +class StringStart(_PositionToken): + """Matches if current position is at the beginning of the parse + string + """ + def __init__( self ): + super(StringStart,self).__init__() + self.errmsg = "Expected start of text" + + def parseImpl( self, instring, loc, doActions=True ): + if loc != 0: + # see if entire string up to here is just whitespace and ignoreables + if loc != self.preParse( instring, 0 ): + raise ParseException(instring, loc, self.errmsg, self) + return loc, [] + +class StringEnd(_PositionToken): + """Matches if current position is at the end of the parse string + """ + def __init__( self ): + super(StringEnd,self).__init__() + self.errmsg = "Expected end of text" + + def parseImpl( self, instring, loc, doActions=True ): + if loc < len(instring): + raise ParseException(instring, loc, self.errmsg, self) + elif loc == len(instring): + return loc+1, [] + elif loc > len(instring): + return loc, [] + else: + raise ParseException(instring, loc, self.errmsg, self) + +class WordStart(_PositionToken): + """Matches if the current position is at the beginning of a Word, + and is not preceded by any character in a given set of + ``wordChars`` (default= ``printables``). To emulate the + ``\b`` behavior of regular expressions, use + ``WordStart(alphanums)``. ``WordStart`` will also match at + the beginning of the string being parsed, or at the beginning of + a line. + """ + def __init__(self, wordChars = printables): + super(WordStart,self).__init__() + self.wordChars = set(wordChars) + self.errmsg = "Not at the start of a word" + + def parseImpl(self, instring, loc, doActions=True ): + if loc != 0: + if (instring[loc-1] in self.wordChars or + instring[loc] not in self.wordChars): + raise ParseException(instring, loc, self.errmsg, self) + return loc, [] + +class WordEnd(_PositionToken): + """Matches if the current position is at the end of a Word, and is + not followed by any character in a given set of ``wordChars`` + (default= ``printables``). To emulate the ``\b`` behavior of + regular expressions, use ``WordEnd(alphanums)``. ``WordEnd`` + will also match at the end of the string being parsed, or at the end + of a line. + """ + def __init__(self, wordChars = printables): + super(WordEnd,self).__init__() + self.wordChars = set(wordChars) + self.skipWhitespace = False + self.errmsg = "Not at the end of a word" + + def parseImpl(self, instring, loc, doActions=True ): + instrlen = len(instring) + if instrlen>0 and loc<instrlen: + if (instring[loc] in self.wordChars or + instring[loc-1] not in self.wordChars): + raise ParseException(instring, loc, self.errmsg, self) + return loc, [] + + +class ParseExpression(ParserElement): + """Abstract subclass of ParserElement, for combining and + post-processing parsed tokens. + """ + def __init__( self, exprs, savelist = False ): + super(ParseExpression,self).__init__(savelist) + if isinstance( exprs, _generatorType ): + exprs = list(exprs) + + if isinstance( exprs, basestring ): + self.exprs = [ ParserElement._literalStringClass( exprs ) ] + elif isinstance( exprs, Iterable ): + exprs = list(exprs) + # if sequence of strings provided, wrap with Literal + if all(isinstance(expr, basestring) for expr in exprs): + exprs = map(ParserElement._literalStringClass, exprs) + self.exprs = list(exprs) + else: + try: + self.exprs = list( exprs ) + except TypeError: + self.exprs = [ exprs ] + self.callPreparse = False + + def __getitem__( self, i ): + return self.exprs[i] + + def append( self, other ): + self.exprs.append( other ) + self.strRepr = None + return self + + def leaveWhitespace( self ): + """Extends ``leaveWhitespace`` defined in base class, and also invokes ``leaveWhitespace`` on + all contained expressions.""" + self.skipWhitespace = False + self.exprs = [ e.copy() for e in self.exprs ] + for e in self.exprs: + e.leaveWhitespace() + return self + + def ignore( self, other ): + if isinstance( other, Suppress ): + if other not in self.ignoreExprs: + super( ParseExpression, self).ignore( other ) + for e in self.exprs: + e.ignore( self.ignoreExprs[-1] ) + else: + super( ParseExpression, self).ignore( other ) + for e in self.exprs: + e.ignore( self.ignoreExprs[-1] ) + return self + + def __str__( self ): + try: + return super(ParseExpression,self).__str__() + except Exception: + pass + + if self.strRepr is None: + self.strRepr = "%s:(%s)" % ( self.__class__.__name__, _ustr(self.exprs) ) + return self.strRepr + + def streamline( self ): + super(ParseExpression,self).streamline() + + for e in self.exprs: + e.streamline() + + # collapse nested And's of the form And( And( And( a,b), c), d) to And( a,b,c,d ) + # but only if there are no parse actions or resultsNames on the nested And's + # (likewise for Or's and MatchFirst's) + if ( len(self.exprs) == 2 ): + other = self.exprs[0] + if ( isinstance( other, self.__class__ ) and + not(other.parseAction) and + other.resultsName is None and + not other.debug ): + self.exprs = other.exprs[:] + [ self.exprs[1] ] + self.strRepr = None + self.mayReturnEmpty |= other.mayReturnEmpty + self.mayIndexError |= other.mayIndexError + + other = self.exprs[-1] + if ( isinstance( other, self.__class__ ) and + not(other.parseAction) and + other.resultsName is None and + not other.debug ): + self.exprs = self.exprs[:-1] + other.exprs[:] + self.strRepr = None + self.mayReturnEmpty |= other.mayReturnEmpty + self.mayIndexError |= other.mayIndexError + + self.errmsg = "Expected " + _ustr(self) + + return self + + def setResultsName( self, name, listAllMatches=False ): + ret = super(ParseExpression,self).setResultsName(name,listAllMatches) + return ret + + def validate( self, validateTrace=[] ): + tmp = validateTrace[:]+[self] + for e in self.exprs: + e.validate(tmp) + self.checkRecursion( [] ) + + def copy(self): + ret = super(ParseExpression,self).copy() + ret.exprs = [e.copy() for e in self.exprs] + return ret + +class And(ParseExpression): + """ + Requires all given :class:`ParseExpression` s to be found in the given order. + Expressions may be separated by whitespace. + May be constructed using the ``'+'`` operator. + May also be constructed using the ``'-'`` operator, which will + suppress backtracking. + + Example:: + + integer = Word(nums) + name_expr = OneOrMore(Word(alphas)) + + expr = And([integer("id"),name_expr("name"),integer("age")]) + # more easily written as: + expr = integer("id") + name_expr("name") + integer("age") + """ + + class _ErrorStop(Empty): + def __init__(self, *args, **kwargs): + super(And._ErrorStop,self).__init__(*args, **kwargs) + self.name = '-' + self.leaveWhitespace() + + def __init__( self, exprs, savelist = True ): + super(And,self).__init__(exprs, savelist) + self.mayReturnEmpty = all(e.mayReturnEmpty for e in self.exprs) + self.setWhitespaceChars( self.exprs[0].whiteChars ) + self.skipWhitespace = self.exprs[0].skipWhitespace + self.callPreparse = True + + def streamline(self): + super(And, self).streamline() + self.mayReturnEmpty = all(e.mayReturnEmpty for e in self.exprs) + return self + + def parseImpl( self, instring, loc, doActions=True ): + # pass False as last arg to _parse for first element, since we already + # pre-parsed the string as part of our And pre-parsing + loc, resultlist = self.exprs[0]._parse( instring, loc, doActions, callPreParse=False ) + errorStop = False + for e in self.exprs[1:]: + if isinstance(e, And._ErrorStop): + errorStop = True + continue + if errorStop: + try: + loc, exprtokens = e._parse( instring, loc, doActions ) + except ParseSyntaxException: + raise + except ParseBaseException as pe: + pe.__traceback__ = None + raise ParseSyntaxException._from_exception(pe) + except IndexError: + raise ParseSyntaxException(instring, len(instring), self.errmsg, self) + else: + loc, exprtokens = e._parse( instring, loc, doActions ) + if exprtokens or exprtokens.haskeys(): + resultlist += exprtokens + return loc, resultlist + + def __iadd__(self, other ): + if isinstance( other, basestring ): + other = ParserElement._literalStringClass( other ) + return self.append( other ) #And( [ self, other ] ) + + def checkRecursion( self, parseElementList ): + subRecCheckList = parseElementList[:] + [ self ] + for e in self.exprs: + e.checkRecursion( subRecCheckList ) + if not e.mayReturnEmpty: + break + + def __str__( self ): + if hasattr(self,"name"): + return self.name + + if self.strRepr is None: + self.strRepr = "{" + " ".join(_ustr(e) for e in self.exprs) + "}" + + return self.strRepr + + +class Or(ParseExpression): + """Requires that at least one :class:`ParseExpression` is found. If + two expressions match, the expression that matches the longest + string will be used. May be constructed using the ``'^'`` + operator. + + Example:: + + # construct Or using '^' operator + + number = Word(nums) ^ Combine(Word(nums) + '.' + Word(nums)) + print(number.searchString("123 3.1416 789")) + + prints:: + + [['123'], ['3.1416'], ['789']] + """ + def __init__( self, exprs, savelist = False ): + super(Or,self).__init__(exprs, savelist) + if self.exprs: + self.mayReturnEmpty = any(e.mayReturnEmpty for e in self.exprs) + else: + self.mayReturnEmpty = True + + def streamline(self): + super(Or, self).streamline() + self.saveAsList = any(e.saveAsList for e in self.exprs) + return self + + def parseImpl( self, instring, loc, doActions=True ): + maxExcLoc = -1 + maxException = None + matches = [] + for e in self.exprs: + try: + loc2 = e.tryParse( instring, loc ) + except ParseException as err: + err.__traceback__ = None + if err.loc > maxExcLoc: + maxException = err + maxExcLoc = err.loc + except IndexError: + if len(instring) > maxExcLoc: + maxException = ParseException(instring,len(instring),e.errmsg,self) + maxExcLoc = len(instring) + else: + # save match among all matches, to retry longest to shortest + matches.append((loc2, e)) + + if matches: + matches.sort(key=lambda x: -x[0]) + for _,e in matches: + try: + return e._parse( instring, loc, doActions ) + except ParseException as err: + err.__traceback__ = None + if err.loc > maxExcLoc: + maxException = err + maxExcLoc = err.loc + + if maxException is not None: + maxException.msg = self.errmsg + raise maxException + else: + raise ParseException(instring, loc, "no defined alternatives to match", self) + + + def __ixor__(self, other ): + if isinstance( other, basestring ): + other = ParserElement._literalStringClass( other ) + return self.append( other ) #Or( [ self, other ] ) + + def __str__( self ): + if hasattr(self,"name"): + return self.name + + if self.strRepr is None: + self.strRepr = "{" + " ^ ".join(_ustr(e) for e in self.exprs) + "}" + + return self.strRepr + + def checkRecursion( self, parseElementList ): + subRecCheckList = parseElementList[:] + [ self ] + for e in self.exprs: + e.checkRecursion( subRecCheckList ) + + +class MatchFirst(ParseExpression): + """Requires that at least one :class:`ParseExpression` is found. If + two expressions match, the first one listed is the one that will + match. May be constructed using the ``'|'`` operator. + + Example:: + + # construct MatchFirst using '|' operator + + # watch the order of expressions to match + number = Word(nums) | Combine(Word(nums) + '.' + Word(nums)) + print(number.searchString("123 3.1416 789")) # Fail! -> [['123'], ['3'], ['1416'], ['789']] + + # put more selective expression first + number = Combine(Word(nums) + '.' + Word(nums)) | Word(nums) + print(number.searchString("123 3.1416 789")) # Better -> [['123'], ['3.1416'], ['789']] + """ + def __init__( self, exprs, savelist = False ): + super(MatchFirst,self).__init__(exprs, savelist) + if self.exprs: + self.mayReturnEmpty = any(e.mayReturnEmpty for e in self.exprs) + # self.saveAsList = any(e.saveAsList for e in self.exprs) + else: + self.mayReturnEmpty = True + + def streamline(self): + super(MatchFirst, self).streamline() + self.saveAsList = any(e.saveAsList for e in self.exprs) + return self + + def parseImpl( self, instring, loc, doActions=True ): + maxExcLoc = -1 + maxException = None + for e in self.exprs: + try: + ret = e._parse( instring, loc, doActions ) + return ret + except ParseException as err: + if err.loc > maxExcLoc: + maxException = err + maxExcLoc = err.loc + except IndexError: + if len(instring) > maxExcLoc: + maxException = ParseException(instring,len(instring),e.errmsg,self) + maxExcLoc = len(instring) + + # only got here if no expression matched, raise exception for match that made it the furthest + else: + if maxException is not None: + maxException.msg = self.errmsg + raise maxException + else: + raise ParseException(instring, loc, "no defined alternatives to match", self) + + def __ior__(self, other ): + if isinstance( other, basestring ): + other = ParserElement._literalStringClass( other ) + return self.append( other ) #MatchFirst( [ self, other ] ) + + def __str__( self ): + if hasattr(self,"name"): + return self.name + + if self.strRepr is None: + self.strRepr = "{" + " | ".join(_ustr(e) for e in self.exprs) + "}" + + return self.strRepr + + def checkRecursion( self, parseElementList ): + subRecCheckList = parseElementList[:] + [ self ] + for e in self.exprs: + e.checkRecursion( subRecCheckList ) + + +class Each(ParseExpression): + """Requires all given :class:`ParseExpression` s to be found, but in + any order. Expressions may be separated by whitespace. + + May be constructed using the ``'&'`` operator. + + Example:: + + color = oneOf("RED ORANGE YELLOW GREEN BLUE PURPLE BLACK WHITE BROWN") + shape_type = oneOf("SQUARE CIRCLE TRIANGLE STAR HEXAGON OCTAGON") + integer = Word(nums) + shape_attr = "shape:" + shape_type("shape") + posn_attr = "posn:" + Group(integer("x") + ',' + integer("y"))("posn") + color_attr = "color:" + color("color") + size_attr = "size:" + integer("size") + + # use Each (using operator '&') to accept attributes in any order + # (shape and posn are required, color and size are optional) + shape_spec = shape_attr & posn_attr & Optional(color_attr) & Optional(size_attr) + + shape_spec.runTests(''' + shape: SQUARE color: BLACK posn: 100, 120 + shape: CIRCLE size: 50 color: BLUE posn: 50,80 + color:GREEN size:20 shape:TRIANGLE posn:20,40 + ''' + ) + + prints:: + + shape: SQUARE color: BLACK posn: 100, 120 + ['shape:', 'SQUARE', 'color:', 'BLACK', 'posn:', ['100', ',', '120']] + - color: BLACK + - posn: ['100', ',', '120'] + - x: 100 + - y: 120 + - shape: SQUARE + + + shape: CIRCLE size: 50 color: BLUE posn: 50,80 + ['shape:', 'CIRCLE', 'size:', '50', 'color:', 'BLUE', 'posn:', ['50', ',', '80']] + - color: BLUE + - posn: ['50', ',', '80'] + - x: 50 + - y: 80 + - shape: CIRCLE + - size: 50 + + + color: GREEN size: 20 shape: TRIANGLE posn: 20,40 + ['color:', 'GREEN', 'size:', '20', 'shape:', 'TRIANGLE', 'posn:', ['20', ',', '40']] + - color: GREEN + - posn: ['20', ',', '40'] + - x: 20 + - y: 40 + - shape: TRIANGLE + - size: 20 + """ + def __init__( self, exprs, savelist = True ): + super(Each,self).__init__(exprs, savelist) + self.mayReturnEmpty = all(e.mayReturnEmpty for e in self.exprs) + self.skipWhitespace = True + self.initExprGroups = True + self.saveAsList = True + + def streamline(self): + super(Each, self).streamline() + self.mayReturnEmpty = all(e.mayReturnEmpty for e in self.exprs) + return self + + def parseImpl( self, instring, loc, doActions=True ): + if self.initExprGroups: + self.opt1map = dict((id(e.expr),e) for e in self.exprs if isinstance(e,Optional)) + opt1 = [ e.expr for e in self.exprs if isinstance(e,Optional) ] + opt2 = [ e for e in self.exprs if e.mayReturnEmpty and not isinstance(e,Optional)] + self.optionals = opt1 + opt2 + self.multioptionals = [ e.expr for e in self.exprs if isinstance(e,ZeroOrMore) ] + self.multirequired = [ e.expr for e in self.exprs if isinstance(e,OneOrMore) ] + self.required = [ e for e in self.exprs if not isinstance(e,(Optional,ZeroOrMore,OneOrMore)) ] + self.required += self.multirequired + self.initExprGroups = False + tmpLoc = loc + tmpReqd = self.required[:] + tmpOpt = self.optionals[:] + matchOrder = [] + + keepMatching = True + while keepMatching: + tmpExprs = tmpReqd + tmpOpt + self.multioptionals + self.multirequired + failed = [] + for e in tmpExprs: + try: + tmpLoc = e.tryParse( instring, tmpLoc ) + except ParseException: + failed.append(e) + else: + matchOrder.append(self.opt1map.get(id(e),e)) + if e in tmpReqd: + tmpReqd.remove(e) + elif e in tmpOpt: + tmpOpt.remove(e) + if len(failed) == len(tmpExprs): + keepMatching = False + + if tmpReqd: + missing = ", ".join(_ustr(e) for e in tmpReqd) + raise ParseException(instring,loc,"Missing one or more required elements (%s)" % missing ) + + # add any unmatched Optionals, in case they have default values defined + matchOrder += [e for e in self.exprs if isinstance(e,Optional) and e.expr in tmpOpt] + + resultlist = [] + for e in matchOrder: + loc,results = e._parse(instring,loc,doActions) + resultlist.append(results) + + finalResults = sum(resultlist, ParseResults([])) + return loc, finalResults + + def __str__( self ): + if hasattr(self,"name"): + return self.name + + if self.strRepr is None: + self.strRepr = "{" + " & ".join(_ustr(e) for e in self.exprs) + "}" + + return self.strRepr + + def checkRecursion( self, parseElementList ): + subRecCheckList = parseElementList[:] + [ self ] + for e in self.exprs: + e.checkRecursion( subRecCheckList ) + + +class ParseElementEnhance(ParserElement): + """Abstract subclass of :class:`ParserElement`, for combining and + post-processing parsed tokens. + """ + def __init__( self, expr, savelist=False ): + super(ParseElementEnhance,self).__init__(savelist) + if isinstance( expr, basestring ): + if issubclass(ParserElement._literalStringClass, Token): + expr = ParserElement._literalStringClass(expr) + else: + expr = ParserElement._literalStringClass(Literal(expr)) + self.expr = expr + self.strRepr = None + if expr is not None: + self.mayIndexError = expr.mayIndexError + self.mayReturnEmpty = expr.mayReturnEmpty + self.setWhitespaceChars( expr.whiteChars ) + self.skipWhitespace = expr.skipWhitespace + self.saveAsList = expr.saveAsList + self.callPreparse = expr.callPreparse + self.ignoreExprs.extend(expr.ignoreExprs) + + def parseImpl( self, instring, loc, doActions=True ): + if self.expr is not None: + return self.expr._parse( instring, loc, doActions, callPreParse=False ) + else: + raise ParseException("",loc,self.errmsg,self) + + def leaveWhitespace( self ): + self.skipWhitespace = False + self.expr = self.expr.copy() + if self.expr is not None: + self.expr.leaveWhitespace() + return self + + def ignore( self, other ): + if isinstance( other, Suppress ): + if other not in self.ignoreExprs: + super( ParseElementEnhance, self).ignore( other ) + if self.expr is not None: + self.expr.ignore( self.ignoreExprs[-1] ) + else: + super( ParseElementEnhance, self).ignore( other ) + if self.expr is not None: + self.expr.ignore( self.ignoreExprs[-1] ) + return self + + def streamline( self ): + super(ParseElementEnhance,self).streamline() + if self.expr is not None: + self.expr.streamline() + return self + + def checkRecursion( self, parseElementList ): + if self in parseElementList: + raise RecursiveGrammarException( parseElementList+[self] ) + subRecCheckList = parseElementList[:] + [ self ] + if self.expr is not None: + self.expr.checkRecursion( subRecCheckList ) + + def validate( self, validateTrace=[] ): + tmp = validateTrace[:]+[self] + if self.expr is not None: + self.expr.validate(tmp) + self.checkRecursion( [] ) + + def __str__( self ): + try: + return super(ParseElementEnhance,self).__str__() + except Exception: + pass + + if self.strRepr is None and self.expr is not None: + self.strRepr = "%s:(%s)" % ( self.__class__.__name__, _ustr(self.expr) ) + return self.strRepr + + +class FollowedBy(ParseElementEnhance): + """Lookahead matching of the given parse expression. + ``FollowedBy`` does *not* advance the parsing position within + the input string, it only verifies that the specified parse + expression matches at the current position. ``FollowedBy`` + always returns a null token list. If any results names are defined + in the lookahead expression, those *will* be returned for access by + name. + + Example:: + + # use FollowedBy to match a label only if it is followed by a ':' + data_word = Word(alphas) + label = data_word + FollowedBy(':') + attr_expr = Group(label + Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join)) + + OneOrMore(attr_expr).parseString("shape: SQUARE color: BLACK posn: upper left").pprint() + + prints:: + + [['shape', 'SQUARE'], ['color', 'BLACK'], ['posn', 'upper left']] + """ + def __init__( self, expr ): + super(FollowedBy,self).__init__(expr) + self.mayReturnEmpty = True + + def parseImpl( self, instring, loc, doActions=True ): + _, ret = self.expr._parse(instring, loc, doActions=doActions) + del ret[:] + return loc, ret + + +class PrecededBy(ParseElementEnhance): + """Lookbehind matching of the given parse expression. + ``PrecededBy`` does not advance the parsing position within the + input string, it only verifies that the specified parse expression + matches prior to the current position. ``PrecededBy`` always + returns a null token list, but if a results name is defined on the + given expression, it is returned. + + Parameters: + + - expr - expression that must match prior to the current parse + location + - retreat - (default= ``None``) - (int) maximum number of characters + to lookbehind prior to the current parse location + + If the lookbehind expression is a string, Literal, Keyword, or + a Word or CharsNotIn with a specified exact or maximum length, then + the retreat parameter is not required. Otherwise, retreat must be + specified to give a maximum number of characters to look back from + the current parse position for a lookbehind match. + + Example:: + + # VB-style variable names with type prefixes + int_var = PrecededBy("#") + pyparsing_common.identifier + str_var = PrecededBy("$") + pyparsing_common.identifier + + """ + def __init__(self, expr, retreat=None): + super(PrecededBy, self).__init__(expr) + self.expr = self.expr().leaveWhitespace() + self.mayReturnEmpty = True + self.mayIndexError = False + self.exact = False + if isinstance(expr, str): + retreat = len(expr) + self.exact = True + elif isinstance(expr, (Literal, Keyword)): + retreat = expr.matchLen + self.exact = True + elif isinstance(expr, (Word, CharsNotIn)) and expr.maxLen != _MAX_INT: + retreat = expr.maxLen + self.exact = True + elif isinstance(expr, _PositionToken): + retreat = 0 + self.exact = True + self.retreat = retreat + self.errmsg = "not preceded by " + str(expr) + self.skipWhitespace = False + + def parseImpl(self, instring, loc=0, doActions=True): + if self.exact: + if loc < self.retreat: + raise ParseException(instring, loc, self.errmsg) + start = loc - self.retreat + _, ret = self.expr._parse(instring, start) + else: + # retreat specified a maximum lookbehind window, iterate + test_expr = self.expr + StringEnd() + instring_slice = instring[:loc] + last_expr = ParseException(instring, loc, self.errmsg) + for offset in range(1, min(loc, self.retreat+1)): + try: + _, ret = test_expr._parse(instring_slice, loc-offset) + except ParseBaseException as pbe: + last_expr = pbe + else: + break + else: + raise last_expr + # return empty list of tokens, but preserve any defined results names + del ret[:] + return loc, ret + + +class NotAny(ParseElementEnhance): + """Lookahead to disallow matching with the given parse expression. + ``NotAny`` does *not* advance the parsing position within the + input string, it only verifies that the specified parse expression + does *not* match at the current position. Also, ``NotAny`` does + *not* skip over leading whitespace. ``NotAny`` always returns + a null token list. May be constructed using the '~' operator. + + Example:: + + AND, OR, NOT = map(CaselessKeyword, "AND OR NOT".split()) + + # take care not to mistake keywords for identifiers + ident = ~(AND | OR | NOT) + Word(alphas) + boolean_term = Optional(NOT) + ident + + # very crude boolean expression - to support parenthesis groups and + # operation hierarchy, use infixNotation + boolean_expr = boolean_term + ZeroOrMore((AND | OR) + boolean_term) + + # integers that are followed by "." are actually floats + integer = Word(nums) + ~Char(".") + """ + def __init__( self, expr ): + super(NotAny,self).__init__(expr) + #~ self.leaveWhitespace() + self.skipWhitespace = False # do NOT use self.leaveWhitespace(), don't want to propagate to exprs + self.mayReturnEmpty = True + self.errmsg = "Found unwanted token, "+_ustr(self.expr) + + def parseImpl( self, instring, loc, doActions=True ): + if self.expr.canParseNext(instring, loc): + raise ParseException(instring, loc, self.errmsg, self) + return loc, [] + + def __str__( self ): + if hasattr(self,"name"): + return self.name + + if self.strRepr is None: + self.strRepr = "~{" + _ustr(self.expr) + "}" + + return self.strRepr + +class _MultipleMatch(ParseElementEnhance): + def __init__( self, expr, stopOn=None): + super(_MultipleMatch, self).__init__(expr) + self.saveAsList = True + ender = stopOn + if isinstance(ender, basestring): + ender = ParserElement._literalStringClass(ender) + self.not_ender = ~ender if ender is not None else None + + def parseImpl( self, instring, loc, doActions=True ): + self_expr_parse = self.expr._parse + self_skip_ignorables = self._skipIgnorables + check_ender = self.not_ender is not None + if check_ender: + try_not_ender = self.not_ender.tryParse + + # must be at least one (but first see if we are the stopOn sentinel; + # if so, fail) + if check_ender: + try_not_ender(instring, loc) + loc, tokens = self_expr_parse( instring, loc, doActions, callPreParse=False ) + try: + hasIgnoreExprs = (not not self.ignoreExprs) + while 1: + if check_ender: + try_not_ender(instring, loc) + if hasIgnoreExprs: + preloc = self_skip_ignorables( instring, loc ) + else: + preloc = loc + loc, tmptokens = self_expr_parse( instring, preloc, doActions ) + if tmptokens or tmptokens.haskeys(): + tokens += tmptokens + except (ParseException,IndexError): + pass + + return loc, tokens + +class OneOrMore(_MultipleMatch): + """Repetition of one or more of the given expression. + + Parameters: + - expr - expression that must match one or more times + - stopOn - (default= ``None``) - expression for a terminating sentinel + (only required if the sentinel would ordinarily match the repetition + expression) + + Example:: + + data_word = Word(alphas) + label = data_word + FollowedBy(':') + attr_expr = Group(label + Suppress(':') + OneOrMore(data_word).setParseAction(' '.join)) + + text = "shape: SQUARE posn: upper left color: BLACK" + OneOrMore(attr_expr).parseString(text).pprint() # Fail! read 'color' as data instead of next label -> [['shape', 'SQUARE color']] + + # use stopOn attribute for OneOrMore to avoid reading label string as part of the data + attr_expr = Group(label + Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join)) + OneOrMore(attr_expr).parseString(text).pprint() # Better -> [['shape', 'SQUARE'], ['posn', 'upper left'], ['color', 'BLACK']] + + # could also be written as + (attr_expr * (1,)).parseString(text).pprint() + """ + + def __str__( self ): + if hasattr(self,"name"): + return self.name + + if self.strRepr is None: + self.strRepr = "{" + _ustr(self.expr) + "}..." + + return self.strRepr + +class ZeroOrMore(_MultipleMatch): + """Optional repetition of zero or more of the given expression. + + Parameters: + - expr - expression that must match zero or more times + - stopOn - (default= ``None``) - expression for a terminating sentinel + (only required if the sentinel would ordinarily match the repetition + expression) + + Example: similar to :class:`OneOrMore` + """ + def __init__( self, expr, stopOn=None): + super(ZeroOrMore,self).__init__(expr, stopOn=stopOn) + self.mayReturnEmpty = True + + def parseImpl( self, instring, loc, doActions=True ): + try: + return super(ZeroOrMore, self).parseImpl(instring, loc, doActions) + except (ParseException,IndexError): + return loc, [] + + def __str__( self ): + if hasattr(self,"name"): + return self.name + + if self.strRepr is None: + self.strRepr = "[" + _ustr(self.expr) + "]..." + + return self.strRepr + +class _NullToken(object): + def __bool__(self): + return False + __nonzero__ = __bool__ + def __str__(self): + return "" + +_optionalNotMatched = _NullToken() +class Optional(ParseElementEnhance): + """Optional matching of the given expression. + + Parameters: + - expr - expression that must match zero or more times + - default (optional) - value to be returned if the optional expression is not found. + + Example:: + + # US postal code can be a 5-digit zip, plus optional 4-digit qualifier + zip = Combine(Word(nums, exact=5) + Optional('-' + Word(nums, exact=4))) + zip.runTests(''' + # traditional ZIP code + 12345 + + # ZIP+4 form + 12101-0001 + + # invalid ZIP + 98765- + ''') + + prints:: + + # traditional ZIP code + 12345 + ['12345'] + + # ZIP+4 form + 12101-0001 + ['12101-0001'] + + # invalid ZIP + 98765- + ^ + FAIL: Expected end of text (at char 5), (line:1, col:6) + """ + def __init__( self, expr, default=_optionalNotMatched ): + super(Optional,self).__init__( expr, savelist=False ) + self.saveAsList = self.expr.saveAsList + self.defaultValue = default + self.mayReturnEmpty = True + + def parseImpl( self, instring, loc, doActions=True ): + try: + loc, tokens = self.expr._parse( instring, loc, doActions, callPreParse=False ) + except (ParseException,IndexError): + if self.defaultValue is not _optionalNotMatched: + if self.expr.resultsName: + tokens = ParseResults([ self.defaultValue ]) + tokens[self.expr.resultsName] = self.defaultValue + else: + tokens = [ self.defaultValue ] + else: + tokens = [] + return loc, tokens + + def __str__( self ): + if hasattr(self,"name"): + return self.name + + if self.strRepr is None: + self.strRepr = "[" + _ustr(self.expr) + "]" + + return self.strRepr + +class SkipTo(ParseElementEnhance): + """Token for skipping over all undefined text until the matched + expression is found. + + Parameters: + - expr - target expression marking the end of the data to be skipped + - include - (default= ``False``) if True, the target expression is also parsed + (the skipped text and target expression are returned as a 2-element list). + - ignore - (default= ``None``) used to define grammars (typically quoted strings and + comments) that might contain false matches to the target expression + - failOn - (default= ``None``) define expressions that are not allowed to be + included in the skipped test; if found before the target expression is found, + the SkipTo is not a match + + Example:: + + report = ''' + Outstanding Issues Report - 1 Jan 2000 + + # | Severity | Description | Days Open + -----+----------+-------------------------------------------+----------- + 101 | Critical | Intermittent system crash | 6 + 94 | Cosmetic | Spelling error on Login ('log|n') | 14 + 79 | Minor | System slow when running too many reports | 47 + ''' + integer = Word(nums) + SEP = Suppress('|') + # use SkipTo to simply match everything up until the next SEP + # - ignore quoted strings, so that a '|' character inside a quoted string does not match + # - parse action will call token.strip() for each matched token, i.e., the description body + string_data = SkipTo(SEP, ignore=quotedString) + string_data.setParseAction(tokenMap(str.strip)) + ticket_expr = (integer("issue_num") + SEP + + string_data("sev") + SEP + + string_data("desc") + SEP + + integer("days_open")) + + for tkt in ticket_expr.searchString(report): + print tkt.dump() + + prints:: + + ['101', 'Critical', 'Intermittent system crash', '6'] + - days_open: 6 + - desc: Intermittent system crash + - issue_num: 101 + - sev: Critical + ['94', 'Cosmetic', "Spelling error on Login ('log|n')", '14'] + - days_open: 14 + - desc: Spelling error on Login ('log|n') + - issue_num: 94 + - sev: Cosmetic + ['79', 'Minor', 'System slow when running too many reports', '47'] + - days_open: 47 + - desc: System slow when running too many reports + - issue_num: 79 + - sev: Minor + """ + def __init__( self, other, include=False, ignore=None, failOn=None ): + super( SkipTo, self ).__init__( other ) + self.ignoreExpr = ignore + self.mayReturnEmpty = True + self.mayIndexError = False + self.includeMatch = include + self.saveAsList = False + if isinstance(failOn, basestring): + self.failOn = ParserElement._literalStringClass(failOn) + else: + self.failOn = failOn + self.errmsg = "No match found for "+_ustr(self.expr) + + def parseImpl( self, instring, loc, doActions=True ): + startloc = loc + instrlen = len(instring) + expr = self.expr + expr_parse = self.expr._parse + self_failOn_canParseNext = self.failOn.canParseNext if self.failOn is not None else None + self_ignoreExpr_tryParse = self.ignoreExpr.tryParse if self.ignoreExpr is not None else None + + tmploc = loc + while tmploc <= instrlen: + if self_failOn_canParseNext is not None: + # break if failOn expression matches + if self_failOn_canParseNext(instring, tmploc): + break + + if self_ignoreExpr_tryParse is not None: + # advance past ignore expressions + while 1: + try: + tmploc = self_ignoreExpr_tryParse(instring, tmploc) + except ParseBaseException: + break + + try: + expr_parse(instring, tmploc, doActions=False, callPreParse=False) + except (ParseException, IndexError): + # no match, advance loc in string + tmploc += 1 + else: + # matched skipto expr, done + break + + else: + # ran off the end of the input string without matching skipto expr, fail + raise ParseException(instring, loc, self.errmsg, self) + + # build up return values + loc = tmploc + skiptext = instring[startloc:loc] + skipresult = ParseResults(skiptext) + + if self.includeMatch: + loc, mat = expr_parse(instring,loc,doActions,callPreParse=False) + skipresult += mat + + return loc, skipresult + +class Forward(ParseElementEnhance): + """Forward declaration of an expression to be defined later - + used for recursive grammars, such as algebraic infix notation. + When the expression is known, it is assigned to the ``Forward`` + variable using the '<<' operator. + + Note: take care when assigning to ``Forward`` not to overlook + precedence of operators. + + Specifically, '|' has a lower precedence than '<<', so that:: + + fwdExpr << a | b | c + + will actually be evaluated as:: + + (fwdExpr << a) | b | c + + thereby leaving b and c out as parseable alternatives. It is recommended that you + explicitly group the values inserted into the ``Forward``:: + + fwdExpr << (a | b | c) + + Converting to use the '<<=' operator instead will avoid this problem. + + See :class:`ParseResults.pprint` for an example of a recursive + parser created using ``Forward``. + """ + def __init__( self, other=None ): + super(Forward,self).__init__( other, savelist=False ) + + def __lshift__( self, other ): + if isinstance( other, basestring ): + other = ParserElement._literalStringClass(other) + self.expr = other + self.strRepr = None + self.mayIndexError = self.expr.mayIndexError + self.mayReturnEmpty = self.expr.mayReturnEmpty + self.setWhitespaceChars( self.expr.whiteChars ) + self.skipWhitespace = self.expr.skipWhitespace + self.saveAsList = self.expr.saveAsList + self.ignoreExprs.extend(self.expr.ignoreExprs) + return self + + def __ilshift__(self, other): + return self << other + + def leaveWhitespace( self ): + self.skipWhitespace = False + return self + + def streamline( self ): + if not self.streamlined: + self.streamlined = True + if self.expr is not None: + self.expr.streamline() + return self + + def validate( self, validateTrace=[] ): + if self not in validateTrace: + tmp = validateTrace[:]+[self] + if self.expr is not None: + self.expr.validate(tmp) + self.checkRecursion([]) + + def __str__( self ): + if hasattr(self,"name"): + return self.name + return self.__class__.__name__ + ": ..." + + # stubbed out for now - creates awful memory and perf issues + self._revertClass = self.__class__ + self.__class__ = _ForwardNoRecurse + try: + if self.expr is not None: + retString = _ustr(self.expr) + else: + retString = "None" + finally: + self.__class__ = self._revertClass + return self.__class__.__name__ + ": " + retString + + def copy(self): + if self.expr is not None: + return super(Forward,self).copy() + else: + ret = Forward() + ret <<= self + return ret + +class _ForwardNoRecurse(Forward): + def __str__( self ): + return "..." + +class TokenConverter(ParseElementEnhance): + """ + Abstract subclass of :class:`ParseExpression`, for converting parsed results. + """ + def __init__( self, expr, savelist=False ): + super(TokenConverter,self).__init__( expr )#, savelist ) + self.saveAsList = False + +class Combine(TokenConverter): + """Converter to concatenate all matching tokens to a single string. + By default, the matching patterns must also be contiguous in the + input string; this can be disabled by specifying + ``'adjacent=False'`` in the constructor. + + Example:: + + real = Word(nums) + '.' + Word(nums) + print(real.parseString('3.1416')) # -> ['3', '.', '1416'] + # will also erroneously match the following + print(real.parseString('3. 1416')) # -> ['3', '.', '1416'] + + real = Combine(Word(nums) + '.' + Word(nums)) + print(real.parseString('3.1416')) # -> ['3.1416'] + # no match when there are internal spaces + print(real.parseString('3. 1416')) # -> Exception: Expected W:(0123...) + """ + def __init__( self, expr, joinString="", adjacent=True ): + super(Combine,self).__init__( expr ) + # suppress whitespace-stripping in contained parse expressions, but re-enable it on the Combine itself + if adjacent: + self.leaveWhitespace() + self.adjacent = adjacent + self.skipWhitespace = True + self.joinString = joinString + self.callPreparse = True + + def ignore( self, other ): + if self.adjacent: + ParserElement.ignore(self, other) + else: + super( Combine, self).ignore( other ) + return self + + def postParse( self, instring, loc, tokenlist ): + retToks = tokenlist.copy() + del retToks[:] + retToks += ParseResults([ "".join(tokenlist._asStringList(self.joinString)) ], modal=self.modalResults) + + if self.resultsName and retToks.haskeys(): + return [ retToks ] + else: + return retToks + +class Group(TokenConverter): + """Converter to return the matched tokens as a list - useful for + returning tokens of :class:`ZeroOrMore` and :class:`OneOrMore` expressions. + + Example:: + + ident = Word(alphas) + num = Word(nums) + term = ident | num + func = ident + Optional(delimitedList(term)) + print(func.parseString("fn a,b,100")) # -> ['fn', 'a', 'b', '100'] + + func = ident + Group(Optional(delimitedList(term))) + print(func.parseString("fn a,b,100")) # -> ['fn', ['a', 'b', '100']] + """ + def __init__( self, expr ): + super(Group,self).__init__( expr ) + self.saveAsList = expr.saveAsList + + def postParse( self, instring, loc, tokenlist ): + return [ tokenlist ] + +class Dict(TokenConverter): + """Converter to return a repetitive expression as a list, but also + as a dictionary. Each element can also be referenced using the first + token in the expression as its key. Useful for tabular report + scraping when the first column can be used as a item key. + + Example:: + + data_word = Word(alphas) + label = data_word + FollowedBy(':') + attr_expr = Group(label + Suppress(':') + OneOrMore(data_word).setParseAction(' '.join)) + + text = "shape: SQUARE posn: upper left color: light blue texture: burlap" + attr_expr = (label + Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join)) + + # print attributes as plain groups + print(OneOrMore(attr_expr).parseString(text).dump()) + + # instead of OneOrMore(expr), parse using Dict(OneOrMore(Group(expr))) - Dict will auto-assign names + result = Dict(OneOrMore(Group(attr_expr))).parseString(text) + print(result.dump()) + + # access named fields as dict entries, or output as dict + print(result['shape']) + print(result.asDict()) + + prints:: + + ['shape', 'SQUARE', 'posn', 'upper left', 'color', 'light blue', 'texture', 'burlap'] + [['shape', 'SQUARE'], ['posn', 'upper left'], ['color', 'light blue'], ['texture', 'burlap']] + - color: light blue + - posn: upper left + - shape: SQUARE + - texture: burlap + SQUARE + {'color': 'light blue', 'posn': 'upper left', 'texture': 'burlap', 'shape': 'SQUARE'} + + See more examples at :class:`ParseResults` of accessing fields by results name. + """ + def __init__( self, expr ): + super(Dict,self).__init__( expr ) + self.saveAsList = True + + def postParse( self, instring, loc, tokenlist ): + for i,tok in enumerate(tokenlist): + if len(tok) == 0: + continue + ikey = tok[0] + if isinstance(ikey,int): + ikey = _ustr(tok[0]).strip() + if len(tok)==1: + tokenlist[ikey] = _ParseResultsWithOffset("",i) + elif len(tok)==2 and not isinstance(tok[1],ParseResults): + tokenlist[ikey] = _ParseResultsWithOffset(tok[1],i) + else: + dictvalue = tok.copy() #ParseResults(i) + del dictvalue[0] + if len(dictvalue)!= 1 or (isinstance(dictvalue,ParseResults) and dictvalue.haskeys()): + tokenlist[ikey] = _ParseResultsWithOffset(dictvalue,i) + else: + tokenlist[ikey] = _ParseResultsWithOffset(dictvalue[0],i) + + if self.resultsName: + return [ tokenlist ] + else: + return tokenlist + + +class Suppress(TokenConverter): + """Converter for ignoring the results of a parsed expression. + + Example:: + + source = "a, b, c,d" + wd = Word(alphas) + wd_list1 = wd + ZeroOrMore(',' + wd) + print(wd_list1.parseString(source)) + + # often, delimiters that are useful during parsing are just in the + # way afterward - use Suppress to keep them out of the parsed output + wd_list2 = wd + ZeroOrMore(Suppress(',') + wd) + print(wd_list2.parseString(source)) + + prints:: + + ['a', ',', 'b', ',', 'c', ',', 'd'] + ['a', 'b', 'c', 'd'] + + (See also :class:`delimitedList`.) + """ + def postParse( self, instring, loc, tokenlist ): + return [] + + def suppress( self ): + return self + + +class OnlyOnce(object): + """Wrapper for parse actions, to ensure they are only called once. + """ + def __init__(self, methodCall): + self.callable = _trim_arity(methodCall) + self.called = False + def __call__(self,s,l,t): + if not self.called: + results = self.callable(s,l,t) + self.called = True + return results + raise ParseException(s,l,"") + def reset(self): + self.called = False + +def traceParseAction(f): + """Decorator for debugging parse actions. + + When the parse action is called, this decorator will print + ``">> entering method-name(line:<current_source_line>, <parse_location>, <matched_tokens>)"``. + When the parse action completes, the decorator will print + ``"<<"`` followed by the returned value, or any exception that the parse action raised. + + Example:: + + wd = Word(alphas) + + @traceParseAction + def remove_duplicate_chars(tokens): + return ''.join(sorted(set(''.join(tokens)))) + + wds = OneOrMore(wd).setParseAction(remove_duplicate_chars) + print(wds.parseString("slkdjs sld sldd sdlf sdljf")) + + prints:: + + >>entering remove_duplicate_chars(line: 'slkdjs sld sldd sdlf sdljf', 0, (['slkdjs', 'sld', 'sldd', 'sdlf', 'sdljf'], {})) + <<leaving remove_duplicate_chars (ret: 'dfjkls') + ['dfjkls'] + """ + f = _trim_arity(f) + def z(*paArgs): + thisFunc = f.__name__ + s,l,t = paArgs[-3:] + if len(paArgs)>3: + thisFunc = paArgs[0].__class__.__name__ + '.' + thisFunc + sys.stderr.write( ">>entering %s(line: '%s', %d, %r)\n" % (thisFunc,line(l,s),l,t) ) + try: + ret = f(*paArgs) + except Exception as exc: + sys.stderr.write( "<<leaving %s (exception: %s)\n" % (thisFunc,exc) ) + raise + sys.stderr.write( "<<leaving %s (ret: %r)\n" % (thisFunc,ret) ) + return ret + try: + z.__name__ = f.__name__ + except AttributeError: + pass + return z + +# +# global helpers +# +def delimitedList( expr, delim=",", combine=False ): + """Helper to define a delimited list of expressions - the delimiter + defaults to ','. By default, the list elements and delimiters can + have intervening whitespace, and comments, but this can be + overridden by passing ``combine=True`` in the constructor. If + ``combine`` is set to ``True``, the matching tokens are + returned as a single token string, with the delimiters included; + otherwise, the matching tokens are returned as a list of tokens, + with the delimiters suppressed. + + Example:: + + delimitedList(Word(alphas)).parseString("aa,bb,cc") # -> ['aa', 'bb', 'cc'] + delimitedList(Word(hexnums), delim=':', combine=True).parseString("AA:BB:CC:DD:EE") # -> ['AA:BB:CC:DD:EE'] + """ + dlName = _ustr(expr)+" ["+_ustr(delim)+" "+_ustr(expr)+"]..." + if combine: + return Combine( expr + ZeroOrMore( delim + expr ) ).setName(dlName) + else: + return ( expr + ZeroOrMore( Suppress( delim ) + expr ) ).setName(dlName) + +def countedArray( expr, intExpr=None ): + """Helper to define a counted list of expressions. + + This helper defines a pattern of the form:: + + integer expr expr expr... + + where the leading integer tells how many expr expressions follow. + The matched tokens returns the array of expr tokens as a list - the + leading count token is suppressed. + + If ``intExpr`` is specified, it should be a pyparsing expression + that produces an integer value. + + Example:: + + countedArray(Word(alphas)).parseString('2 ab cd ef') # -> ['ab', 'cd'] + + # in this parser, the leading integer value is given in binary, + # '10' indicating that 2 values are in the array + binaryConstant = Word('01').setParseAction(lambda t: int(t[0], 2)) + countedArray(Word(alphas), intExpr=binaryConstant).parseString('10 ab cd ef') # -> ['ab', 'cd'] + """ + arrayExpr = Forward() + def countFieldParseAction(s,l,t): + n = t[0] + arrayExpr << (n and Group(And([expr]*n)) or Group(empty)) + return [] + if intExpr is None: + intExpr = Word(nums).setParseAction(lambda t:int(t[0])) + else: + intExpr = intExpr.copy() + intExpr.setName("arrayLen") + intExpr.addParseAction(countFieldParseAction, callDuringTry=True) + return ( intExpr + arrayExpr ).setName('(len) ' + _ustr(expr) + '...') + +def _flatten(L): + ret = [] + for i in L: + if isinstance(i,list): + ret.extend(_flatten(i)) + else: + ret.append(i) + return ret + +def matchPreviousLiteral(expr): + """Helper to define an expression that is indirectly defined from + the tokens matched in a previous expression, that is, it looks for + a 'repeat' of a previous expression. For example:: + + first = Word(nums) + second = matchPreviousLiteral(first) + matchExpr = first + ":" + second + + will match ``"1:1"``, but not ``"1:2"``. Because this + matches a previous literal, will also match the leading + ``"1:1"`` in ``"1:10"``. If this is not desired, use + :class:`matchPreviousExpr`. Do *not* use with packrat parsing + enabled. + """ + rep = Forward() + def copyTokenToRepeater(s,l,t): + if t: + if len(t) == 1: + rep << t[0] + else: + # flatten t tokens + tflat = _flatten(t.asList()) + rep << And(Literal(tt) for tt in tflat) + else: + rep << Empty() + expr.addParseAction(copyTokenToRepeater, callDuringTry=True) + rep.setName('(prev) ' + _ustr(expr)) + return rep + +def matchPreviousExpr(expr): + """Helper to define an expression that is indirectly defined from + the tokens matched in a previous expression, that is, it looks for + a 'repeat' of a previous expression. For example:: + + first = Word(nums) + second = matchPreviousExpr(first) + matchExpr = first + ":" + second + + will match ``"1:1"``, but not ``"1:2"``. Because this + matches by expressions, will *not* match the leading ``"1:1"`` + in ``"1:10"``; the expressions are evaluated first, and then + compared, so ``"1"`` is compared with ``"10"``. Do *not* use + with packrat parsing enabled. + """ + rep = Forward() + e2 = expr.copy() + rep <<= e2 + def copyTokenToRepeater(s,l,t): + matchTokens = _flatten(t.asList()) + def mustMatchTheseTokens(s,l,t): + theseTokens = _flatten(t.asList()) + if theseTokens != matchTokens: + raise ParseException("",0,"") + rep.setParseAction( mustMatchTheseTokens, callDuringTry=True ) + expr.addParseAction(copyTokenToRepeater, callDuringTry=True) + rep.setName('(prev) ' + _ustr(expr)) + return rep + +def _escapeRegexRangeChars(s): + #~ escape these chars: ^-] + for c in r"\^-]": + s = s.replace(c,_bslash+c) + s = s.replace("\n",r"\n") + s = s.replace("\t",r"\t") + return _ustr(s) + +def oneOf( strs, caseless=False, useRegex=True ): + """Helper to quickly define a set of alternative Literals, and makes + sure to do longest-first testing when there is a conflict, + regardless of the input order, but returns + a :class:`MatchFirst` for best performance. + + Parameters: + + - strs - a string of space-delimited literals, or a collection of + string literals + - caseless - (default= ``False``) - treat all literals as + caseless + - useRegex - (default= ``True``) - as an optimization, will + generate a Regex object; otherwise, will generate + a :class:`MatchFirst` object (if ``caseless=True``, or if + creating a :class:`Regex` raises an exception) + + Example:: + + comp_oper = oneOf("< = > <= >= !=") + var = Word(alphas) + number = Word(nums) + term = var | number + comparison_expr = term + comp_oper + term + print(comparison_expr.searchString("B = 12 AA=23 B<=AA AA>12")) + + prints:: + + [['B', '=', '12'], ['AA', '=', '23'], ['B', '<=', 'AA'], ['AA', '>', '12']] + """ + if caseless: + isequal = ( lambda a,b: a.upper() == b.upper() ) + masks = ( lambda a,b: b.upper().startswith(a.upper()) ) + parseElementClass = CaselessLiteral + else: + isequal = ( lambda a,b: a == b ) + masks = ( lambda a,b: b.startswith(a) ) + parseElementClass = Literal + + symbols = [] + if isinstance(strs,basestring): + symbols = strs.split() + elif isinstance(strs, Iterable): + symbols = list(strs) + else: + warnings.warn("Invalid argument to oneOf, expected string or iterable", + SyntaxWarning, stacklevel=2) + if not symbols: + return NoMatch() + + i = 0 + while i < len(symbols)-1: + cur = symbols[i] + for j,other in enumerate(symbols[i+1:]): + if ( isequal(other, cur) ): + del symbols[i+j+1] + break + elif ( masks(cur, other) ): + del symbols[i+j+1] + symbols.insert(i,other) + cur = other + break + else: + i += 1 + + if not caseless and useRegex: + #~ print (strs,"->", "|".join( [ _escapeRegexChars(sym) for sym in symbols] )) + try: + if len(symbols)==len("".join(symbols)): + return Regex( "[%s]" % "".join(_escapeRegexRangeChars(sym) for sym in symbols) ).setName(' | '.join(symbols)) + else: + return Regex( "|".join(re.escape(sym) for sym in symbols) ).setName(' | '.join(symbols)) + except Exception: + warnings.warn("Exception creating Regex for oneOf, building MatchFirst", + SyntaxWarning, stacklevel=2) + + + # last resort, just use MatchFirst + return MatchFirst(parseElementClass(sym) for sym in symbols).setName(' | '.join(symbols)) + +def dictOf( key, value ): + """Helper to easily and clearly define a dictionary by specifying + the respective patterns for the key and value. Takes care of + defining the :class:`Dict`, :class:`ZeroOrMore`, and + :class:`Group` tokens in the proper order. The key pattern + can include delimiting markers or punctuation, as long as they are + suppressed, thereby leaving the significant key text. The value + pattern can include named results, so that the :class:`Dict` results + can include named token fields. + + Example:: + + text = "shape: SQUARE posn: upper left color: light blue texture: burlap" + attr_expr = (label + Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join)) + print(OneOrMore(attr_expr).parseString(text).dump()) + + attr_label = label + attr_value = Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join) + + # similar to Dict, but simpler call format + result = dictOf(attr_label, attr_value).parseString(text) + print(result.dump()) + print(result['shape']) + print(result.shape) # object attribute access works too + print(result.asDict()) + + prints:: + + [['shape', 'SQUARE'], ['posn', 'upper left'], ['color', 'light blue'], ['texture', 'burlap']] + - color: light blue + - posn: upper left + - shape: SQUARE + - texture: burlap + SQUARE + SQUARE + {'color': 'light blue', 'shape': 'SQUARE', 'posn': 'upper left', 'texture': 'burlap'} + """ + return Dict(OneOrMore(Group(key + value))) + +def originalTextFor(expr, asString=True): + """Helper to return the original, untokenized text for a given + expression. Useful to restore the parsed fields of an HTML start + tag into the raw tag text itself, or to revert separate tokens with + intervening whitespace back to the original matching input text. By + default, returns astring containing the original parsed text. + + If the optional ``asString`` argument is passed as + ``False``, then the return value is + a :class:`ParseResults` containing any results names that + were originally matched, and a single token containing the original + matched text from the input string. So if the expression passed to + :class:`originalTextFor` contains expressions with defined + results names, you must set ``asString`` to ``False`` if you + want to preserve those results name values. + + Example:: + + src = "this is test <b> bold <i>text</i> </b> normal text " + for tag in ("b","i"): + opener,closer = makeHTMLTags(tag) + patt = originalTextFor(opener + SkipTo(closer) + closer) + print(patt.searchString(src)[0]) + + prints:: + + ['<b> bold <i>text</i> </b>'] + ['<i>text</i>'] + """ + locMarker = Empty().setParseAction(lambda s,loc,t: loc) + endlocMarker = locMarker.copy() + endlocMarker.callPreparse = False + matchExpr = locMarker("_original_start") + expr + endlocMarker("_original_end") + if asString: + extractText = lambda s,l,t: s[t._original_start:t._original_end] + else: + def extractText(s,l,t): + t[:] = [s[t.pop('_original_start'):t.pop('_original_end')]] + matchExpr.setParseAction(extractText) + matchExpr.ignoreExprs = expr.ignoreExprs + return matchExpr + +def ungroup(expr): + """Helper to undo pyparsing's default grouping of And expressions, + even if all but one are non-empty. + """ + return TokenConverter(expr).setParseAction(lambda t:t[0]) + +def locatedExpr(expr): + """Helper to decorate a returned token with its starting and ending + locations in the input string. + + This helper adds the following results names: + + - locn_start = location where matched expression begins + - locn_end = location where matched expression ends + - value = the actual parsed results + + Be careful if the input text contains ``<TAB>`` characters, you + may want to call :class:`ParserElement.parseWithTabs` + + Example:: + + wd = Word(alphas) + for match in locatedExpr(wd).searchString("ljsdf123lksdjjf123lkkjj1222"): + print(match) + + prints:: + + [[0, 'ljsdf', 5]] + [[8, 'lksdjjf', 15]] + [[18, 'lkkjj', 23]] + """ + locator = Empty().setParseAction(lambda s,l,t: l) + return Group(locator("locn_start") + expr("value") + locator.copy().leaveWhitespace()("locn_end")) + + +# convenience constants for positional expressions +empty = Empty().setName("empty") +lineStart = LineStart().setName("lineStart") +lineEnd = LineEnd().setName("lineEnd") +stringStart = StringStart().setName("stringStart") +stringEnd = StringEnd().setName("stringEnd") + +_escapedPunc = Word( _bslash, r"\[]-*.$+^?()~ ", exact=2 ).setParseAction(lambda s,l,t:t[0][1]) +_escapedHexChar = Regex(r"\\0?[xX][0-9a-fA-F]+").setParseAction(lambda s,l,t:unichr(int(t[0].lstrip(r'\0x'),16))) +_escapedOctChar = Regex(r"\\0[0-7]+").setParseAction(lambda s,l,t:unichr(int(t[0][1:],8))) +_singleChar = _escapedPunc | _escapedHexChar | _escapedOctChar | CharsNotIn(r'\]', exact=1) +_charRange = Group(_singleChar + Suppress("-") + _singleChar) +_reBracketExpr = Literal("[") + Optional("^").setResultsName("negate") + Group( OneOrMore( _charRange | _singleChar ) ).setResultsName("body") + "]" + +def srange(s): + r"""Helper to easily define string ranges for use in Word + construction. Borrows syntax from regexp '[]' string range + definitions:: + + srange("[0-9]") -> "0123456789" + srange("[a-z]") -> "abcdefghijklmnopqrstuvwxyz" + srange("[a-z$_]") -> "abcdefghijklmnopqrstuvwxyz$_" + + The input string must be enclosed in []'s, and the returned string + is the expanded character set joined into a single string. The + values enclosed in the []'s may be: + + - a single character + - an escaped character with a leading backslash (such as ``\-`` + or ``\]``) + - an escaped hex character with a leading ``'\x'`` + (``\x21``, which is a ``'!'`` character) (``\0x##`` + is also supported for backwards compatibility) + - an escaped octal character with a leading ``'\0'`` + (``\041``, which is a ``'!'`` character) + - a range of any of the above, separated by a dash (``'a-z'``, + etc.) + - any combination of the above (``'aeiouy'``, + ``'a-zA-Z0-9_$'``, etc.) + """ + _expanded = lambda p: p if not isinstance(p,ParseResults) else ''.join(unichr(c) for c in range(ord(p[0]),ord(p[1])+1)) + try: + return "".join(_expanded(part) for part in _reBracketExpr.parseString(s).body) + except Exception: + return "" + +def matchOnlyAtCol(n): + """Helper method for defining parse actions that require matching at + a specific column in the input text. + """ + def verifyCol(strg,locn,toks): + if col(locn,strg) != n: + raise ParseException(strg,locn,"matched token not at column %d" % n) + return verifyCol + +def replaceWith(replStr): + """Helper method for common parse actions that simply return + a literal value. Especially useful when used with + :class:`transformString<ParserElement.transformString>` (). + + Example:: + + num = Word(nums).setParseAction(lambda toks: int(toks[0])) + na = oneOf("N/A NA").setParseAction(replaceWith(math.nan)) + term = na | num + + OneOrMore(term).parseString("324 234 N/A 234") # -> [324, 234, nan, 234] + """ + return lambda s,l,t: [replStr] + +def removeQuotes(s,l,t): + """Helper parse action for removing quotation marks from parsed + quoted strings. + + Example:: + + # by default, quotation marks are included in parsed results + quotedString.parseString("'Now is the Winter of our Discontent'") # -> ["'Now is the Winter of our Discontent'"] + + # use removeQuotes to strip quotation marks from parsed results + quotedString.setParseAction(removeQuotes) + quotedString.parseString("'Now is the Winter of our Discontent'") # -> ["Now is the Winter of our Discontent"] + """ + return t[0][1:-1] + +def tokenMap(func, *args): + """Helper to define a parse action by mapping a function to all + elements of a ParseResults list. If any additional args are passed, + they are forwarded to the given function as additional arguments + after the token, as in + ``hex_integer = Word(hexnums).setParseAction(tokenMap(int, 16))``, + which will convert the parsed data to an integer using base 16. + + Example (compare the last to example in :class:`ParserElement.transformString`:: + + hex_ints = OneOrMore(Word(hexnums)).setParseAction(tokenMap(int, 16)) + hex_ints.runTests(''' + 00 11 22 aa FF 0a 0d 1a + ''') + + upperword = Word(alphas).setParseAction(tokenMap(str.upper)) + OneOrMore(upperword).runTests(''' + my kingdom for a horse + ''') + + wd = Word(alphas).setParseAction(tokenMap(str.title)) + OneOrMore(wd).setParseAction(' '.join).runTests(''' + now is the winter of our discontent made glorious summer by this sun of york + ''') + + prints:: + + 00 11 22 aa FF 0a 0d 1a + [0, 17, 34, 170, 255, 10, 13, 26] + + my kingdom for a horse + ['MY', 'KINGDOM', 'FOR', 'A', 'HORSE'] + + now is the winter of our discontent made glorious summer by this sun of york + ['Now Is The Winter Of Our Discontent Made Glorious Summer By This Sun Of York'] + """ + def pa(s,l,t): + return [func(tokn, *args) for tokn in t] + + try: + func_name = getattr(func, '__name__', + getattr(func, '__class__').__name__) + except Exception: + func_name = str(func) + pa.__name__ = func_name + + return pa + +upcaseTokens = tokenMap(lambda t: _ustr(t).upper()) +"""(Deprecated) Helper parse action to convert tokens to upper case. +Deprecated in favor of :class:`pyparsing_common.upcaseTokens`""" + +downcaseTokens = tokenMap(lambda t: _ustr(t).lower()) +"""(Deprecated) Helper parse action to convert tokens to lower case. +Deprecated in favor of :class:`pyparsing_common.downcaseTokens`""" + +def _makeTags(tagStr, xml): + """Internal helper to construct opening and closing tag expressions, given a tag name""" + if isinstance(tagStr,basestring): + resname = tagStr + tagStr = Keyword(tagStr, caseless=not xml) + else: + resname = tagStr.name + + tagAttrName = Word(alphas,alphanums+"_-:") + if (xml): + tagAttrValue = dblQuotedString.copy().setParseAction( removeQuotes ) + openTag = Suppress("<") + tagStr("tag") + \ + Dict(ZeroOrMore(Group( tagAttrName + Suppress("=") + tagAttrValue ))) + \ + Optional("/",default=[False]).setResultsName("empty").setParseAction(lambda s,l,t:t[0]=='/') + Suppress(">") + else: + printablesLessRAbrack = "".join(c for c in printables if c not in ">") + tagAttrValue = quotedString.copy().setParseAction( removeQuotes ) | Word(printablesLessRAbrack) + openTag = Suppress("<") + tagStr("tag") + \ + Dict(ZeroOrMore(Group( tagAttrName.setParseAction(downcaseTokens) + \ + Optional( Suppress("=") + tagAttrValue ) ))) + \ + Optional("/",default=[False]).setResultsName("empty").setParseAction(lambda s,l,t:t[0]=='/') + Suppress(">") + closeTag = Combine(_L("</") + tagStr + ">") + + openTag = openTag.setResultsName("start"+"".join(resname.replace(":"," ").title().split())).setName("<%s>" % resname) + closeTag = closeTag.setResultsName("end"+"".join(resname.replace(":"," ").title().split())).setName("</%s>" % resname) + openTag.tag = resname + closeTag.tag = resname + return openTag, closeTag + +def makeHTMLTags(tagStr): + """Helper to construct opening and closing tag expressions for HTML, + given a tag name. Matches tags in either upper or lower case, + attributes with namespaces and with quoted or unquoted values. + + Example:: + + text = '<td>More info at the <a href="https://github.com/pyparsing/pyparsing/wiki">pyparsing</a> wiki page</td>' + # makeHTMLTags returns pyparsing expressions for the opening and + # closing tags as a 2-tuple + a,a_end = makeHTMLTags("A") + link_expr = a + SkipTo(a_end)("link_text") + a_end + + for link in link_expr.searchString(text): + # attributes in the <A> tag (like "href" shown here) are + # also accessible as named results + print(link.link_text, '->', link.href) + + prints:: + + pyparsing -> https://github.com/pyparsing/pyparsing/wiki + """ + return _makeTags( tagStr, False ) + +def makeXMLTags(tagStr): + """Helper to construct opening and closing tag expressions for XML, + given a tag name. Matches tags only in the given upper/lower case. + + Example: similar to :class:`makeHTMLTags` + """ + return _makeTags( tagStr, True ) + +def withAttribute(*args,**attrDict): + """Helper to create a validating parse action to be used with start + tags created with :class:`makeXMLTags` or + :class:`makeHTMLTags`. Use ``withAttribute`` to qualify + a starting tag with a required attribute value, to avoid false + matches on common tags such as ``<TD>`` or ``<DIV>``. + + Call ``withAttribute`` with a series of attribute names and + values. Specify the list of filter attributes names and values as: + + - keyword arguments, as in ``(align="right")``, or + - as an explicit dict with ``**`` operator, when an attribute + name is also a Python reserved word, as in ``**{"class":"Customer", "align":"right"}`` + - a list of name-value tuples, as in ``(("ns1:class", "Customer"), ("ns2:align","right"))`` + + For attribute names with a namespace prefix, you must use the second + form. Attribute names are matched insensitive to upper/lower case. + + If just testing for ``class`` (with or without a namespace), use + :class:`withClass`. + + To verify that the attribute exists, but without specifying a value, + pass ``withAttribute.ANY_VALUE`` as the value. + + Example:: + + html = ''' + <div> + Some text + <div type="grid">1 4 0 1 0</div> + <div type="graph">1,3 2,3 1,1</div> + <div>this has no type</div> + </div> + + ''' + div,div_end = makeHTMLTags("div") + + # only match div tag having a type attribute with value "grid" + div_grid = div().setParseAction(withAttribute(type="grid")) + grid_expr = div_grid + SkipTo(div | div_end)("body") + for grid_header in grid_expr.searchString(html): + print(grid_header.body) + + # construct a match with any div tag having a type attribute, regardless of the value + div_any_type = div().setParseAction(withAttribute(type=withAttribute.ANY_VALUE)) + div_expr = div_any_type + SkipTo(div | div_end)("body") + for div_header in div_expr.searchString(html): + print(div_header.body) + + prints:: + + 1 4 0 1 0 + + 1 4 0 1 0 + 1,3 2,3 1,1 + """ + if args: + attrs = args[:] + else: + attrs = attrDict.items() + attrs = [(k,v) for k,v in attrs] + def pa(s,l,tokens): + for attrName,attrValue in attrs: + if attrName not in tokens: + raise ParseException(s,l,"no matching attribute " + attrName) + if attrValue != withAttribute.ANY_VALUE and tokens[attrName] != attrValue: + raise ParseException(s,l,"attribute '%s' has value '%s', must be '%s'" % + (attrName, tokens[attrName], attrValue)) + return pa +withAttribute.ANY_VALUE = object() + +def withClass(classname, namespace=''): + """Simplified version of :class:`withAttribute` when + matching on a div class - made difficult because ``class`` is + a reserved word in Python. + + Example:: + + html = ''' + <div> + Some text + <div class="grid">1 4 0 1 0</div> + <div class="graph">1,3 2,3 1,1</div> + <div>this <div> has no class</div> + </div> + + ''' + div,div_end = makeHTMLTags("div") + div_grid = div().setParseAction(withClass("grid")) + + grid_expr = div_grid + SkipTo(div | div_end)("body") + for grid_header in grid_expr.searchString(html): + print(grid_header.body) + + div_any_type = div().setParseAction(withClass(withAttribute.ANY_VALUE)) + div_expr = div_any_type + SkipTo(div | div_end)("body") + for div_header in div_expr.searchString(html): + print(div_header.body) + + prints:: + + 1 4 0 1 0 + + 1 4 0 1 0 + 1,3 2,3 1,1 + """ + classattr = "%s:class" % namespace if namespace else "class" + return withAttribute(**{classattr : classname}) + +opAssoc = SimpleNamespace() +opAssoc.LEFT = object() +opAssoc.RIGHT = object() + +def infixNotation( baseExpr, opList, lpar=Suppress('('), rpar=Suppress(')') ): + """Helper method for constructing grammars of expressions made up of + operators working in a precedence hierarchy. Operators may be unary + or binary, left- or right-associative. Parse actions can also be + attached to operator expressions. The generated parser will also + recognize the use of parentheses to override operator precedences + (see example below). + + Note: if you define a deep operator list, you may see performance + issues when using infixNotation. See + :class:`ParserElement.enablePackrat` for a mechanism to potentially + improve your parser performance. + + Parameters: + - baseExpr - expression representing the most basic element for the + nested + - opList - list of tuples, one for each operator precedence level + in the expression grammar; each tuple is of the form ``(opExpr, + numTerms, rightLeftAssoc, parseAction)``, where: + + - opExpr is the pyparsing expression for the operator; may also + be a string, which will be converted to a Literal; if numTerms + is 3, opExpr is a tuple of two expressions, for the two + operators separating the 3 terms + - numTerms is the number of terms for this operator (must be 1, + 2, or 3) + - rightLeftAssoc is the indicator whether the operator is right + or left associative, using the pyparsing-defined constants + ``opAssoc.RIGHT`` and ``opAssoc.LEFT``. + - parseAction is the parse action to be associated with + expressions matching this operator expression (the parse action + tuple member may be omitted); if the parse action is passed + a tuple or list of functions, this is equivalent to calling + ``setParseAction(*fn)`` + (:class:`ParserElement.setParseAction`) + - lpar - expression for matching left-parentheses + (default= ``Suppress('(')``) + - rpar - expression for matching right-parentheses + (default= ``Suppress(')')``) + + Example:: + + # simple example of four-function arithmetic with ints and + # variable names + integer = pyparsing_common.signed_integer + varname = pyparsing_common.identifier + + arith_expr = infixNotation(integer | varname, + [ + ('-', 1, opAssoc.RIGHT), + (oneOf('* /'), 2, opAssoc.LEFT), + (oneOf('+ -'), 2, opAssoc.LEFT), + ]) + + arith_expr.runTests(''' + 5+3*6 + (5+3)*6 + -2--11 + ''', fullDump=False) + + prints:: + + 5+3*6 + [[5, '+', [3, '*', 6]]] + + (5+3)*6 + [[[5, '+', 3], '*', 6]] + + -2--11 + [[['-', 2], '-', ['-', 11]]] + """ + # captive version of FollowedBy that does not do parse actions or capture results names + class _FB(FollowedBy): + def parseImpl(self, instring, loc, doActions=True): + self.expr.tryParse(instring, loc) + return loc, [] + + ret = Forward() + lastExpr = baseExpr | ( lpar + ret + rpar ) + for i,operDef in enumerate(opList): + opExpr,arity,rightLeftAssoc,pa = (operDef + (None,))[:4] + termName = "%s term" % opExpr if arity < 3 else "%s%s term" % opExpr + if arity == 3: + if opExpr is None or len(opExpr) != 2: + raise ValueError( + "if numterms=3, opExpr must be a tuple or list of two expressions") + opExpr1, opExpr2 = opExpr + thisExpr = Forward().setName(termName) + if rightLeftAssoc == opAssoc.LEFT: + if arity == 1: + matchExpr = _FB(lastExpr + opExpr) + Group( lastExpr + OneOrMore( opExpr ) ) + elif arity == 2: + if opExpr is not None: + matchExpr = _FB(lastExpr + opExpr + lastExpr) + Group( lastExpr + OneOrMore( opExpr + lastExpr ) ) + else: + matchExpr = _FB(lastExpr+lastExpr) + Group( lastExpr + OneOrMore(lastExpr) ) + elif arity == 3: + matchExpr = _FB(lastExpr + opExpr1 + lastExpr + opExpr2 + lastExpr) + \ + Group( lastExpr + opExpr1 + lastExpr + opExpr2 + lastExpr ) + else: + raise ValueError("operator must be unary (1), binary (2), or ternary (3)") + elif rightLeftAssoc == opAssoc.RIGHT: + if arity == 1: + # try to avoid LR with this extra test + if not isinstance(opExpr, Optional): + opExpr = Optional(opExpr) + matchExpr = _FB(opExpr.expr + thisExpr) + Group( opExpr + thisExpr ) + elif arity == 2: + if opExpr is not None: + matchExpr = _FB(lastExpr + opExpr + thisExpr) + Group( lastExpr + OneOrMore( opExpr + thisExpr ) ) + else: + matchExpr = _FB(lastExpr + thisExpr) + Group( lastExpr + OneOrMore( thisExpr ) ) + elif arity == 3: + matchExpr = _FB(lastExpr + opExpr1 + thisExpr + opExpr2 + thisExpr) + \ + Group( lastExpr + opExpr1 + thisExpr + opExpr2 + thisExpr ) + else: + raise ValueError("operator must be unary (1), binary (2), or ternary (3)") + else: + raise ValueError("operator must indicate right or left associativity") + if pa: + if isinstance(pa, (tuple, list)): + matchExpr.setParseAction(*pa) + else: + matchExpr.setParseAction(pa) + thisExpr <<= ( matchExpr.setName(termName) | lastExpr ) + lastExpr = thisExpr + ret <<= lastExpr + return ret + +operatorPrecedence = infixNotation +"""(Deprecated) Former name of :class:`infixNotation`, will be +dropped in a future release.""" + +dblQuotedString = Combine(Regex(r'"(?:[^"\n\r\\]|(?:"")|(?:\\(?:[^x]|x[0-9a-fA-F]+)))*')+'"').setName("string enclosed in double quotes") +sglQuotedString = Combine(Regex(r"'(?:[^'\n\r\\]|(?:'')|(?:\\(?:[^x]|x[0-9a-fA-F]+)))*")+"'").setName("string enclosed in single quotes") +quotedString = Combine(Regex(r'"(?:[^"\n\r\\]|(?:"")|(?:\\(?:[^x]|x[0-9a-fA-F]+)))*')+'"'| + Regex(r"'(?:[^'\n\r\\]|(?:'')|(?:\\(?:[^x]|x[0-9a-fA-F]+)))*")+"'").setName("quotedString using single or double quotes") +unicodeString = Combine(_L('u') + quotedString.copy()).setName("unicode string literal") + +def nestedExpr(opener="(", closer=")", content=None, ignoreExpr=quotedString.copy()): + """Helper method for defining nested lists enclosed in opening and + closing delimiters ("(" and ")" are the default). + + Parameters: + - opener - opening character for a nested list + (default= ``"("``); can also be a pyparsing expression + - closer - closing character for a nested list + (default= ``")"``); can also be a pyparsing expression + - content - expression for items within the nested lists + (default= ``None``) + - ignoreExpr - expression for ignoring opening and closing + delimiters (default= :class:`quotedString`) + + If an expression is not provided for the content argument, the + nested expression will capture all whitespace-delimited content + between delimiters as a list of separate values. + + Use the ``ignoreExpr`` argument to define expressions that may + contain opening or closing characters that should not be treated as + opening or closing characters for nesting, such as quotedString or + a comment expression. Specify multiple expressions using an + :class:`Or` or :class:`MatchFirst`. The default is + :class:`quotedString`, but if no expressions are to be ignored, then + pass ``None`` for this argument. + + Example:: + + data_type = oneOf("void int short long char float double") + decl_data_type = Combine(data_type + Optional(Word('*'))) + ident = Word(alphas+'_', alphanums+'_') + number = pyparsing_common.number + arg = Group(decl_data_type + ident) + LPAR,RPAR = map(Suppress, "()") + + code_body = nestedExpr('{', '}', ignoreExpr=(quotedString | cStyleComment)) + + c_function = (decl_data_type("type") + + ident("name") + + LPAR + Optional(delimitedList(arg), [])("args") + RPAR + + code_body("body")) + c_function.ignore(cStyleComment) + + source_code = ''' + int is_odd(int x) { + return (x%2); + } + + int dec_to_hex(char hchar) { + if (hchar >= '0' && hchar <= '9') { + return (ord(hchar)-ord('0')); + } else { + return (10+ord(hchar)-ord('A')); + } + } + ''' + for func in c_function.searchString(source_code): + print("%(name)s (%(type)s) args: %(args)s" % func) + + + prints:: + + is_odd (int) args: [['int', 'x']] + dec_to_hex (int) args: [['char', 'hchar']] + """ + if opener == closer: + raise ValueError("opening and closing strings cannot be the same") + if content is None: + if isinstance(opener,basestring) and isinstance(closer,basestring): + if len(opener) == 1 and len(closer)==1: + if ignoreExpr is not None: + content = (Combine(OneOrMore(~ignoreExpr + + CharsNotIn(opener+closer+ParserElement.DEFAULT_WHITE_CHARS,exact=1)) + ).setParseAction(lambda t:t[0].strip())) + else: + content = (empty.copy()+CharsNotIn(opener+closer+ParserElement.DEFAULT_WHITE_CHARS + ).setParseAction(lambda t:t[0].strip())) + else: + if ignoreExpr is not None: + content = (Combine(OneOrMore(~ignoreExpr + + ~Literal(opener) + ~Literal(closer) + + CharsNotIn(ParserElement.DEFAULT_WHITE_CHARS,exact=1)) + ).setParseAction(lambda t:t[0].strip())) + else: + content = (Combine(OneOrMore(~Literal(opener) + ~Literal(closer) + + CharsNotIn(ParserElement.DEFAULT_WHITE_CHARS,exact=1)) + ).setParseAction(lambda t:t[0].strip())) + else: + raise ValueError("opening and closing arguments must be strings if no content expression is given") + ret = Forward() + if ignoreExpr is not None: + ret <<= Group( Suppress(opener) + ZeroOrMore( ignoreExpr | ret | content ) + Suppress(closer) ) + else: + ret <<= Group( Suppress(opener) + ZeroOrMore( ret | content ) + Suppress(closer) ) + ret.setName('nested %s%s expression' % (opener,closer)) + return ret + +def indentedBlock(blockStatementExpr, indentStack, indent=True): + """Helper method for defining space-delimited indentation blocks, + such as those used to define block statements in Python source code. + + Parameters: + + - blockStatementExpr - expression defining syntax of statement that + is repeated within the indented block + - indentStack - list created by caller to manage indentation stack + (multiple statementWithIndentedBlock expressions within a single + grammar should share a common indentStack) + - indent - boolean indicating whether block must be indented beyond + the the current level; set to False for block of left-most + statements (default= ``True``) + + A valid block must contain at least one ``blockStatement``. + + Example:: + + data = ''' + def A(z): + A1 + B = 100 + G = A2 + A2 + A3 + B + def BB(a,b,c): + BB1 + def BBA(): + bba1 + bba2 + bba3 + C + D + def spam(x,y): + def eggs(z): + pass + ''' + + + indentStack = [1] + stmt = Forward() + + identifier = Word(alphas, alphanums) + funcDecl = ("def" + identifier + Group( "(" + Optional( delimitedList(identifier) ) + ")" ) + ":") + func_body = indentedBlock(stmt, indentStack) + funcDef = Group( funcDecl + func_body ) + + rvalue = Forward() + funcCall = Group(identifier + "(" + Optional(delimitedList(rvalue)) + ")") + rvalue << (funcCall | identifier | Word(nums)) + assignment = Group(identifier + "=" + rvalue) + stmt << ( funcDef | assignment | identifier ) + + module_body = OneOrMore(stmt) + + parseTree = module_body.parseString(data) + parseTree.pprint() + + prints:: + + [['def', + 'A', + ['(', 'z', ')'], + ':', + [['A1'], [['B', '=', '100']], [['G', '=', 'A2']], ['A2'], ['A3']]], + 'B', + ['def', + 'BB', + ['(', 'a', 'b', 'c', ')'], + ':', + [['BB1'], [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]]]], + 'C', + 'D', + ['def', + 'spam', + ['(', 'x', 'y', ')'], + ':', + [[['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]]]]] + """ + def checkPeerIndent(s,l,t): + if l >= len(s): return + curCol = col(l,s) + if curCol != indentStack[-1]: + if curCol > indentStack[-1]: + raise ParseFatalException(s,l,"illegal nesting") + raise ParseException(s,l,"not a peer entry") + + def checkSubIndent(s,l,t): + curCol = col(l,s) + if curCol > indentStack[-1]: + indentStack.append( curCol ) + else: + raise ParseException(s,l,"not a subentry") + + def checkUnindent(s,l,t): + if l >= len(s): return + curCol = col(l,s) + if not(indentStack and curCol < indentStack[-1] and curCol <= indentStack[-2]): + raise ParseException(s,l,"not an unindent") + indentStack.pop() + + NL = OneOrMore(LineEnd().setWhitespaceChars("\t ").suppress()) + INDENT = (Empty() + Empty().setParseAction(checkSubIndent)).setName('INDENT') + PEER = Empty().setParseAction(checkPeerIndent).setName('') + UNDENT = Empty().setParseAction(checkUnindent).setName('UNINDENT') + if indent: + smExpr = Group( Optional(NL) + + #~ FollowedBy(blockStatementExpr) + + INDENT + (OneOrMore( PEER + Group(blockStatementExpr) + Optional(NL) )) + UNDENT) + else: + smExpr = Group( Optional(NL) + + (OneOrMore( PEER + Group(blockStatementExpr) + Optional(NL) )) ) + blockStatementExpr.ignore(_bslash + LineEnd()) + return smExpr.setName('indented block') + +alphas8bit = srange(r"[\0xc0-\0xd6\0xd8-\0xf6\0xf8-\0xff]") +punc8bit = srange(r"[\0xa1-\0xbf\0xd7\0xf7]") + +anyOpenTag,anyCloseTag = makeHTMLTags(Word(alphas,alphanums+"_:").setName('any tag')) +_htmlEntityMap = dict(zip("gt lt amp nbsp quot apos".split(),'><& "\'')) +commonHTMLEntity = Regex('&(?P<entity>' + '|'.join(_htmlEntityMap.keys()) +");").setName("common HTML entity") +def replaceHTMLEntity(t): + """Helper parser action to replace common HTML entities with their special characters""" + return _htmlEntityMap.get(t.entity) + +# it's easy to get these comment structures wrong - they're very common, so may as well make them available +cStyleComment = Combine(Regex(r"/\*(?:[^*]|\*(?!/))*") + '*/').setName("C style comment") +"Comment of the form ``/* ... */``" + +htmlComment = Regex(r"<!--[\s\S]*?-->").setName("HTML comment") +"Comment of the form ``<!-- ... -->``" + +restOfLine = Regex(r".*").leaveWhitespace().setName("rest of line") +dblSlashComment = Regex(r"//(?:\\\n|[^\n])*").setName("// comment") +"Comment of the form ``// ... (to end of line)``" + +cppStyleComment = Combine(Regex(r"/\*(?:[^*]|\*(?!/))*") + '*/'| dblSlashComment).setName("C++ style comment") +"Comment of either form :class:`cStyleComment` or :class:`dblSlashComment`" + +javaStyleComment = cppStyleComment +"Same as :class:`cppStyleComment`" + +pythonStyleComment = Regex(r"#.*").setName("Python style comment") +"Comment of the form ``# ... (to end of line)``" + +_commasepitem = Combine(OneOrMore(Word(printables, excludeChars=',') + + Optional( Word(" \t") + + ~Literal(",") + ~LineEnd() ) ) ).streamline().setName("commaItem") +commaSeparatedList = delimitedList( Optional( quotedString.copy() | _commasepitem, default="") ).setName("commaSeparatedList") +"""(Deprecated) Predefined expression of 1 or more printable words or +quoted strings, separated by commas. + +This expression is deprecated in favor of :class:`pyparsing_common.comma_separated_list`. +""" + +# some other useful expressions - using lower-case class name since we are really using this as a namespace +class pyparsing_common: + """Here are some common low-level expressions that may be useful in + jump-starting parser development: + + - numeric forms (:class:`integers<integer>`, :class:`reals<real>`, + :class:`scientific notation<sci_real>`) + - common :class:`programming identifiers<identifier>` + - network addresses (:class:`MAC<mac_address>`, + :class:`IPv4<ipv4_address>`, :class:`IPv6<ipv6_address>`) + - ISO8601 :class:`dates<iso8601_date>` and + :class:`datetime<iso8601_datetime>` + - :class:`UUID<uuid>` + - :class:`comma-separated list<comma_separated_list>` + + Parse actions: + + - :class:`convertToInteger` + - :class:`convertToFloat` + - :class:`convertToDate` + - :class:`convertToDatetime` + - :class:`stripHTMLTags` + - :class:`upcaseTokens` + - :class:`downcaseTokens` + + Example:: + + pyparsing_common.number.runTests(''' + # any int or real number, returned as the appropriate type + 100 + -100 + +100 + 3.14159 + 6.02e23 + 1e-12 + ''') + + pyparsing_common.fnumber.runTests(''' + # any int or real number, returned as float + 100 + -100 + +100 + 3.14159 + 6.02e23 + 1e-12 + ''') + + pyparsing_common.hex_integer.runTests(''' + # hex numbers + 100 + FF + ''') + + pyparsing_common.fraction.runTests(''' + # fractions + 1/2 + -3/4 + ''') + + pyparsing_common.mixed_integer.runTests(''' + # mixed fractions + 1 + 1/2 + -3/4 + 1-3/4 + ''') + + import uuid + pyparsing_common.uuid.setParseAction(tokenMap(uuid.UUID)) + pyparsing_common.uuid.runTests(''' + # uuid + 12345678-1234-5678-1234-567812345678 + ''') + + prints:: + + # any int or real number, returned as the appropriate type + 100 + [100] + + -100 + [-100] + + +100 + [100] + + 3.14159 + [3.14159] + + 6.02e23 + [6.02e+23] + + 1e-12 + [1e-12] + + # any int or real number, returned as float + 100 + [100.0] + + -100 + [-100.0] + + +100 + [100.0] + + 3.14159 + [3.14159] + + 6.02e23 + [6.02e+23] + + 1e-12 + [1e-12] + + # hex numbers + 100 + [256] + + FF + [255] + + # fractions + 1/2 + [0.5] + + -3/4 + [-0.75] + + # mixed fractions + 1 + [1] + + 1/2 + [0.5] + + -3/4 + [-0.75] + + 1-3/4 + [1.75] + + # uuid + 12345678-1234-5678-1234-567812345678 + [UUID('12345678-1234-5678-1234-567812345678')] + """ + + convertToInteger = tokenMap(int) + """ + Parse action for converting parsed integers to Python int + """ + + convertToFloat = tokenMap(float) + """ + Parse action for converting parsed numbers to Python float + """ + + integer = Word(nums).setName("integer").setParseAction(convertToInteger) + """expression that parses an unsigned integer, returns an int""" + + hex_integer = Word(hexnums).setName("hex integer").setParseAction(tokenMap(int,16)) + """expression that parses a hexadecimal integer, returns an int""" + + signed_integer = Regex(r'[+-]?\d+').setName("signed integer").setParseAction(convertToInteger) + """expression that parses an integer with optional leading sign, returns an int""" + + fraction = (signed_integer().setParseAction(convertToFloat) + '/' + signed_integer().setParseAction(convertToFloat)).setName("fraction") + """fractional expression of an integer divided by an integer, returns a float""" + fraction.addParseAction(lambda t: t[0]/t[-1]) + + mixed_integer = (fraction | signed_integer + Optional(Optional('-').suppress() + fraction)).setName("fraction or mixed integer-fraction") + """mixed integer of the form 'integer - fraction', with optional leading integer, returns float""" + mixed_integer.addParseAction(sum) + + real = Regex(r'[+-]?\d+\.\d*').setName("real number").setParseAction(convertToFloat) + """expression that parses a floating point number and returns a float""" + + sci_real = Regex(r'[+-]?\d+([eE][+-]?\d+|\.\d*([eE][+-]?\d+)?)').setName("real number with scientific notation").setParseAction(convertToFloat) + """expression that parses a floating point number with optional + scientific notation and returns a float""" + + # streamlining this expression makes the docs nicer-looking + number = (sci_real | real | signed_integer).streamline() + """any numeric expression, returns the corresponding Python type""" + + fnumber = Regex(r'[+-]?\d+\.?\d*([eE][+-]?\d+)?').setName("fnumber").setParseAction(convertToFloat) + """any int or real number, returned as float""" + + identifier = Word(alphas+'_', alphanums+'_').setName("identifier") + """typical code identifier (leading alpha or '_', followed by 0 or more alphas, nums, or '_')""" + + ipv4_address = Regex(r'(25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})(\.(25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})){3}').setName("IPv4 address") + "IPv4 address (``0.0.0.0 - 255.255.255.255``)" + + _ipv6_part = Regex(r'[0-9a-fA-F]{1,4}').setName("hex_integer") + _full_ipv6_address = (_ipv6_part + (':' + _ipv6_part)*7).setName("full IPv6 address") + _short_ipv6_address = (Optional(_ipv6_part + (':' + _ipv6_part)*(0,6)) + "::" + Optional(_ipv6_part + (':' + _ipv6_part)*(0,6))).setName("short IPv6 address") + _short_ipv6_address.addCondition(lambda t: sum(1 for tt in t if pyparsing_common._ipv6_part.matches(tt)) < 8) + _mixed_ipv6_address = ("::ffff:" + ipv4_address).setName("mixed IPv6 address") + ipv6_address = Combine((_full_ipv6_address | _mixed_ipv6_address | _short_ipv6_address).setName("IPv6 address")).setName("IPv6 address") + "IPv6 address (long, short, or mixed form)" + + mac_address = Regex(r'[0-9a-fA-F]{2}([:.-])[0-9a-fA-F]{2}(?:\1[0-9a-fA-F]{2}){4}').setName("MAC address") + "MAC address xx:xx:xx:xx:xx (may also have '-' or '.' delimiters)" + + @staticmethod + def convertToDate(fmt="%Y-%m-%d"): + """ + Helper to create a parse action for converting parsed date string to Python datetime.date + + Params - + - fmt - format to be passed to datetime.strptime (default= ``"%Y-%m-%d"``) + + Example:: + + date_expr = pyparsing_common.iso8601_date.copy() + date_expr.setParseAction(pyparsing_common.convertToDate()) + print(date_expr.parseString("1999-12-31")) + + prints:: + + [datetime.date(1999, 12, 31)] + """ + def cvt_fn(s,l,t): + try: + return datetime.strptime(t[0], fmt).date() + except ValueError as ve: + raise ParseException(s, l, str(ve)) + return cvt_fn + + @staticmethod + def convertToDatetime(fmt="%Y-%m-%dT%H:%M:%S.%f"): + """Helper to create a parse action for converting parsed + datetime string to Python datetime.datetime + + Params - + - fmt - format to be passed to datetime.strptime (default= ``"%Y-%m-%dT%H:%M:%S.%f"``) + + Example:: + + dt_expr = pyparsing_common.iso8601_datetime.copy() + dt_expr.setParseAction(pyparsing_common.convertToDatetime()) + print(dt_expr.parseString("1999-12-31T23:59:59.999")) + + prints:: + + [datetime.datetime(1999, 12, 31, 23, 59, 59, 999000)] + """ + def cvt_fn(s,l,t): + try: + return datetime.strptime(t[0], fmt) + except ValueError as ve: + raise ParseException(s, l, str(ve)) + return cvt_fn + + iso8601_date = Regex(r'(?P<year>\d{4})(?:-(?P<month>\d\d)(?:-(?P<day>\d\d))?)?').setName("ISO8601 date") + "ISO8601 date (``yyyy-mm-dd``)" + + iso8601_datetime = Regex(r'(?P<year>\d{4})-(?P<month>\d\d)-(?P<day>\d\d)[T ](?P<hour>\d\d):(?P<minute>\d\d)(:(?P<second>\d\d(\.\d*)?)?)?(?P<tz>Z|[+-]\d\d:?\d\d)?').setName("ISO8601 datetime") + "ISO8601 datetime (``yyyy-mm-ddThh:mm:ss.s(Z|+-00:00)``) - trailing seconds, milliseconds, and timezone optional; accepts separating ``'T'`` or ``' '``" + + uuid = Regex(r'[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}').setName("UUID") + "UUID (``xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx``)" + + _html_stripper = anyOpenTag.suppress() | anyCloseTag.suppress() + @staticmethod + def stripHTMLTags(s, l, tokens): + """Parse action to remove HTML tags from web page HTML source + + Example:: + + # strip HTML links from normal text + text = '<td>More info at the <a href="https://github.com/pyparsing/pyparsing/wiki">pyparsing</a> wiki page</td>' + td,td_end = makeHTMLTags("TD") + table_text = td + SkipTo(td_end).setParseAction(pyparsing_common.stripHTMLTags)("body") + td_end + print(table_text.parseString(text).body) + + Prints:: + + More info at the pyparsing wiki page + """ + return pyparsing_common._html_stripper.transformString(tokens[0]) + + _commasepitem = Combine(OneOrMore(~Literal(",") + ~LineEnd() + Word(printables, excludeChars=',') + + Optional( White(" \t") ) ) ).streamline().setName("commaItem") + comma_separated_list = delimitedList( Optional( quotedString.copy() | _commasepitem, default="") ).setName("comma separated list") + """Predefined expression of 1 or more printable words or quoted strings, separated by commas.""" + + upcaseTokens = staticmethod(tokenMap(lambda t: _ustr(t).upper())) + """Parse action to convert tokens to upper case.""" + + downcaseTokens = staticmethod(tokenMap(lambda t: _ustr(t).lower())) + """Parse action to convert tokens to lower case.""" + + +class _lazyclassproperty(object): + def __init__(self, fn): + self.fn = fn + self.__doc__ = fn.__doc__ + self.__name__ = fn.__name__ + + def __get__(self, obj, cls): + if cls is None: + cls = type(obj) + if not hasattr(cls, '_intern') or any(cls._intern is getattr(superclass, '_intern', []) for superclass in cls.__mro__[1:]): + cls._intern = {} + attrname = self.fn.__name__ + if attrname not in cls._intern: + cls._intern[attrname] = self.fn(cls) + return cls._intern[attrname] + + +class unicode_set(object): + """ + A set of Unicode characters, for language-specific strings for + ``alphas``, ``nums``, ``alphanums``, and ``printables``. + A unicode_set is defined by a list of ranges in the Unicode character + set, in a class attribute ``_ranges``, such as:: + + _ranges = [(0x0020, 0x007e), (0x00a0, 0x00ff),] + + A unicode set can also be defined using multiple inheritance of other unicode sets:: + + class CJK(Chinese, Japanese, Korean): + pass + """ + _ranges = [] + + @classmethod + def _get_chars_for_ranges(cls): + ret = [] + for cc in cls.__mro__: + if cc is unicode_set: + break + for rr in cc._ranges: + ret.extend(range(rr[0], rr[-1]+1)) + return [unichr(c) for c in sorted(set(ret))] + + @_lazyclassproperty + def printables(cls): + "all non-whitespace characters in this range" + return u''.join(filterfalse(unicode.isspace, cls._get_chars_for_ranges())) + + @_lazyclassproperty + def alphas(cls): + "all alphabetic characters in this range" + return u''.join(filter(unicode.isalpha, cls._get_chars_for_ranges())) + + @_lazyclassproperty + def nums(cls): + "all numeric digit characters in this range" + return u''.join(filter(unicode.isdigit, cls._get_chars_for_ranges())) + + @_lazyclassproperty + def alphanums(cls): + "all alphanumeric characters in this range" + return cls.alphas + cls.nums + + +class pyparsing_unicode(unicode_set): + """ + A namespace class for defining common language unicode_sets. + """ + _ranges = [(32, sys.maxunicode)] + + class Latin1(unicode_set): + "Unicode set for Latin-1 Unicode Character Range" + _ranges = [(0x0020, 0x007e), (0x00a0, 0x00ff),] + + class LatinA(unicode_set): + "Unicode set for Latin-A Unicode Character Range" + _ranges = [(0x0100, 0x017f),] + + class LatinB(unicode_set): + "Unicode set for Latin-B Unicode Character Range" + _ranges = [(0x0180, 0x024f),] + + class Greek(unicode_set): + "Unicode set for Greek Unicode Character Ranges" + _ranges = [ + (0x0370, 0x03ff), (0x1f00, 0x1f15), (0x1f18, 0x1f1d), (0x1f20, 0x1f45), (0x1f48, 0x1f4d), + (0x1f50, 0x1f57), (0x1f59,), (0x1f5b,), (0x1f5d,), (0x1f5f, 0x1f7d), (0x1f80, 0x1fb4), (0x1fb6, 0x1fc4), + (0x1fc6, 0x1fd3), (0x1fd6, 0x1fdb), (0x1fdd, 0x1fef), (0x1ff2, 0x1ff4), (0x1ff6, 0x1ffe), + ] + + class Cyrillic(unicode_set): + "Unicode set for Cyrillic Unicode Character Range" + _ranges = [(0x0400, 0x04ff)] + + class Chinese(unicode_set): + "Unicode set for Chinese Unicode Character Range" + _ranges = [(0x4e00, 0x9fff), (0x3000, 0x303f), ] + + class Japanese(unicode_set): + "Unicode set for Japanese Unicode Character Range, combining Kanji, Hiragana, and Katakana ranges" + _ranges = [ ] + + class Kanji(unicode_set): + "Unicode set for Kanji Unicode Character Range" + _ranges = [(0x4E00, 0x9Fbf), (0x3000, 0x303f), ] + + class Hiragana(unicode_set): + "Unicode set for Hiragana Unicode Character Range" + _ranges = [(0x3040, 0x309f), ] + + class Katakana(unicode_set): + "Unicode set for Katakana Unicode Character Range" + _ranges = [(0x30a0, 0x30ff), ] + + class Korean(unicode_set): + "Unicode set for Korean Unicode Character Range" + _ranges = [(0xac00, 0xd7af), (0x1100, 0x11ff), (0x3130, 0x318f), (0xa960, 0xa97f), (0xd7b0, 0xd7ff), (0x3000, 0x303f), ] + + class CJK(Chinese, Japanese, Korean): + "Unicode set for combined Chinese, Japanese, and Korean (CJK) Unicode Character Range" + pass + + class Thai(unicode_set): + "Unicode set for Thai Unicode Character Range" + _ranges = [(0x0e01, 0x0e3a), (0x0e3f, 0x0e5b), ] + + class Arabic(unicode_set): + "Unicode set for Arabic Unicode Character Range" + _ranges = [(0x0600, 0x061b), (0x061e, 0x06ff), (0x0700, 0x077f), ] + + class Hebrew(unicode_set): + "Unicode set for Hebrew Unicode Character Range" + _ranges = [(0x0590, 0x05ff), ] + + class Devanagari(unicode_set): + "Unicode set for Devanagari Unicode Character Range" + _ranges = [(0x0900, 0x097f), (0xa8e0, 0xa8ff)] + +pyparsing_unicode.Japanese._ranges = (pyparsing_unicode.Japanese.Kanji._ranges + + pyparsing_unicode.Japanese.Hiragana._ranges + + pyparsing_unicode.Japanese.Katakana._ranges) + +# define ranges in language character sets +if PY_3: + setattr(pyparsing_unicode, "العربية", pyparsing_unicode.Arabic) + setattr(pyparsing_unicode, "中文", pyparsing_unicode.Chinese) + setattr(pyparsing_unicode, "кириллица", pyparsing_unicode.Cyrillic) + setattr(pyparsing_unicode, "Ελληνικά", pyparsing_unicode.Greek) + setattr(pyparsing_unicode, "עִברִית", pyparsing_unicode.Hebrew) + setattr(pyparsing_unicode, "日本語", pyparsing_unicode.Japanese) + setattr(pyparsing_unicode.Japanese, "漢字", pyparsing_unicode.Japanese.Kanji) + setattr(pyparsing_unicode.Japanese, "カタカナ", pyparsing_unicode.Japanese.Katakana) + setattr(pyparsing_unicode.Japanese, "ひらがな", pyparsing_unicode.Japanese.Hiragana) + setattr(pyparsing_unicode, "한국어", pyparsing_unicode.Korean) + setattr(pyparsing_unicode, "ไทย", pyparsing_unicode.Thai) + setattr(pyparsing_unicode, "देवनागरी", pyparsing_unicode.Devanagari) + + +if __name__ == "__main__": + + selectToken = CaselessLiteral("select") + fromToken = CaselessLiteral("from") + + ident = Word(alphas, alphanums + "_$") + + columnName = delimitedList(ident, ".", combine=True).setParseAction(upcaseTokens) + columnNameList = Group(delimitedList(columnName)).setName("columns") + columnSpec = ('*' | columnNameList) + + tableName = delimitedList(ident, ".", combine=True).setParseAction(upcaseTokens) + tableNameList = Group(delimitedList(tableName)).setName("tables") + + simpleSQL = selectToken("command") + columnSpec("columns") + fromToken + tableNameList("tables") + + # demo runTests method, including embedded comments in test string + simpleSQL.runTests(""" + # '*' as column list and dotted table name + select * from SYS.XYZZY + + # caseless match on "SELECT", and casts back to "select" + SELECT * from XYZZY, ABC + + # list of column names, and mixed case SELECT keyword + Select AA,BB,CC from Sys.dual + + # multiple tables + Select A, B, C from Sys.dual, Table2 + + # invalid SELECT keyword - should fail + Xelect A, B, C from Sys.dual + + # incomplete command - should fail + Select + + # invalid column name - should fail + Select ^^^ frox Sys.dual + + """) + + pyparsing_common.number.runTests(""" + 100 + -100 + +100 + 3.14159 + 6.02e23 + 1e-12 + """) + + # any int or real number, returned as float + pyparsing_common.fnumber.runTests(""" + 100 + -100 + +100 + 3.14159 + 6.02e23 + 1e-12 + """) + + pyparsing_common.hex_integer.runTests(""" + 100 + FF + """) + + import uuid + pyparsing_common.uuid.setParseAction(tokenMap(uuid.UUID)) + pyparsing_common.uuid.runTests(""" + 12345678-1234-5678-1234-567812345678 + """) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/__init__.py new file mode 100644 index 0000000..8ed060f --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/__init__.py @@ -0,0 +1,4 @@ +from .core import TomlError +from .parser import load, loads +from .test import translate_to_test +from .writer import dump, dumps \ No newline at end of file diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6d2576a1099d6c306277b568aac6ccc2b0a72564 GIT binary patch literal 402 zcmX|7%Sr<=6rIeg4_eUAm_;W_wICF6BkoE;aWM!(oC(v>WD;)DmRY&-WBjFTUG*2- z=*=t)+`~Ed<Rmv)&gWBd`hEEbg5VqLe}%~Iu*@2v4r(F-NeV(d4@D@WB9d_t4>}Tw zOpA2ju^7p5F_x2Jf;xE&vh+moh>W<&lak^dKtUF|SSVJz#G^s)+yd*2V3wCwm6jXp z_tbl-UE<MfvZ;$J1swcjF4YVS2Z&HW>^rd!K{A*}Xf2wlH%ACx0n9x2@bgJ`N^&aO zX3xdd^@?u$YR5osLA~+H8q{{Dy65fY0mnJAo*sC2prU=HdT^HciW<CNp;`6L8g8g= z_2Tj-zsQ#h-J_lJrtwW$VzgG^gZOq@mTlMCvdnew#%rnSz2LY0cZ?r(M$X8L`~kKV BZ>InN literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/__pycache__/core.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/__pycache__/core.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7a393b8b69902ac0fa4fd2abebde67ee5b8681b1 GIT binary patch literal 965 zcmbVKO^Xvj5bd6iWHu&(iwBP`c-R3mqhwuBL>5H$7J`b0AT;B2Cz&{3R!>%vOb(L$ zGybKydh#y_qE#IXQS@RD^{Tt8tLF9V8uWS{{`JS(@0_tO>|i)Jzd+Ns5iXfzl3$}K zwzbDxTCbRI#~9fU3uhN-`W}K}c!rHFi6^hw*p{|*&^ywVE%dHzW4_lMy)Lr!1wa9@ zi&-?tx6q!W=>VZ(b6&HW*H&%U&er8LXTriY6E^NK;nWVID;XB$L%-E@UoP@0$&@MG zctRw3QVG$tGo^JjRgIG-xoYgVNE>gGq$-ax<-3ieRXPE>IS>yZBG5+o%-{&!w@=}$ z$W)jm(}haU9-W7yWju=@8$mHwaiwux&5HcZXm}Y_>SMGFuT*{&rpddoG?77Y9_pl0 z{W6N*BNH8#N!fq+ICu~Y`sEVCftpTfGZdIA3!p?)DU1tHLAeAQd63q+gTVMPZ<%j( zyw@`Lb>A4@)C}@;AtUM?oJc-rwGnoXGR{%NxwCapK5MwTx!#<vH}~(ZH~td>w`olZ z$fC+9aUcxo<a6-Q8Fh9*w3@aMx&k3cG)-(7U)?$+Xrlke?_^)+bbSIu^bhoX7jED$ z|Mrmo;EOE+szk!w1H!*4x(ict;aO@IY^RP8Ss@oG&AUQ;SVZYAVjc;o7W4>6h65mp mfZl{mQ<HhzYkRiY8~PTIVrFrWWNH|3y{EgsJ~Qcfl>G#XKGlu@ literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/__pycache__/parser.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/__pycache__/parser.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ee47bafe29843c8a5503a40485cca2040beccd05 GIT binary patch literal 10107 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 PKwZ99llm}qDkJ_M6<aqw literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/__pycache__/test.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/__pycache__/test.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2721bdba5129d35d1eeb49bf1b3e1f896f3ed5d7 GIT binary patch literal 1265 zcma)6OK%e~5VpOKB-^A91V})IK!QUK-7N|afvO4#5E6%~Y7vhJ6m8dTy6wKOokB`- zpy`Pl;>w8||A8OD*+)3_FH}M>vni!27dG;&XFkvPo6p{~8V!%`|9bJ$BIE}-_DsP1 zE)2B-h7(Q`(k7g7E1@ZCGfMiWg(d8D)^>y|D)6p8CE2V^L~YBH_bI`jun=umpOcI| zBi!cB9%*}=u9Bv^4|U1XJ_XyPW^z53X{bALJ!-XDw<8SW!(ae4au0_34n~s!(R9S* zET^39fw##<<USce(Gs%&d(16vBZl!I9T52lG47lj=RO+1YVHmwuY6*MdG@9anHjHY zX8>8p5EtU_c@3)UaxY_i;uux|>@%<H>WQ2h#J}<epWO6LAQOOm<5R$9ymy^XkJpUo zF69KInOQn&A6vI!tYZ7;!NkzU%Tq7dkPaEN#71;LKeAW$D*1vk&S)8CDhajd=)9wa z(oM@Sf8Nk7L$@WCD$T*WU?WdOkjCAfNUq<w87%jsjZmh`GT#)DR^aQ6JbSXd^bm@@ z4*S8j$hLzdUJHs6Y56w;6>Bk9gwa;m6)Gs=V(!{)f8KA+6@7qx(d}X|=s+sZB_`%+ z5+EzT=pT3sJdSjfr^R9e+ry)F$<Eb(TJRT=JPH%F=>N?)QV6q-6gmw~7Zs`xDX2q7 z^h2pl*>jUh2k<77F1!qV^H&a8g9s2xVl^f-1^#~#I?9lEV~rC^8TOmZ*t%Z`<7|gX zPnaqP4RxFfW3T0T0-%JbvkpB8Q;9Pzx<Z1V<e}bi-`?@B-5MHKX&GnTowL16yeZ&J z1iw_4yL0L7WjSm%j2EjoQ##BdD2!Sf2M#1v#zt0h8VE_eKyn7Dc^%lOgS3>f0G4Mk z>W;rV)98%1J6up->19axft0xf#j3cLh9?v&^~664bp;He9z6wP60FTUT8G)6h)1Vk z?j4@MM9IxKJsl@%OmP-BsPwWp%DIpi(X)Urw326Cc>(>}Qg}$H-1iul@>=5&n(9KD X^Ijqr@iY`FP^ERoC|F=)Q;+=y2zEf0 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/__pycache__/utils.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/__pycache__/utils.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a3faee5edbe64fcd97ea800e027aa80d87766ddf GIT binary patch literal 2166 zcmZ`)QEwYX5Z>84pU-ZRx@|}c0)$G9at*fAxD?f@Xao<<3sIz0NSL70;XNnk*gmtj zE{${d09W`g`~!Z=zVhV1&=;85i{mzwvvziOW@l!1=9_VQb+rofe~x~282g*O@!7cE z#gXhG5lq04b&DCg5W;{9o<r9Xmat#3t}RN!!MP;L!o}Hn#zaL_UolY)*`S<TU01*% z^RCU&8rz>8Y#xd8hnd%)d1pC4zu0%K%$rBeBeCT@-F({Vrkg)(HGVAg7U#SkkYW7z z#rOv2<USI`29UBGGDu;CB_F4BcgT@<YRS8T9WrI5xX0V^eMx3KTUTYj*KW5T`!dv} zQJ{J!x^yh#=|tBiflNYwDfhUB7aB%?GU=l7>)%=@@hEJKqT^{eeE7wq*1=itB#@&6 z84tpqN^q}E;_-I}`_BRu{t}$EUWDTptzq<2Yhonr=A%{;sjx8#dZ)p0n6xI*r19W! zbGzAYOwLf;43CeA+450U#F7-_(XcgD(J*OF&h+YAm&DYvgzm<m3hQ8ltm67IVzi-Q zBK8+96jK<T0nbgof9LPBoMZIZz@nVXZDlXk7*#&Dg_Uu`u~GWc=prg|5T%?8XT7jy ziE_cY%`!`slrty`E44_Tqt(nF*A`r16`T}~oUD|w%*o1`n^jQ9NlPh9owS^~X$3uT z;i5jIcJ5;SD*JPK>%5G_WO7cgp3~#zPl!~IM7v*KXP&FAQ83X~G*;R%nN1`?UYGjA zI8eIcKaWOXHy(%D6__W5J6$0v!l4Shsw5{GB*G)=$ymd&=4z(lOoPy{r{P--hXxS^ zA=k2mWCcgEj)cJm=A*`KUWI$G!E3w*=EP-YEIdRiCNqEF0;9}wMo1Ryv?4#j2q2ns zjDUa-*cfZl$oMIjJCv1i6HoF}TkZ-QcU4isOu;p@Ae@1f;+ph`Zm_(_qAeAA!8*pM z^4nM)X6G(;R4*83c^z+KLad?t8n#|TV^%xg&dwinws*45`3_C9_4@aX`lwMC&+B`g z`nR3>VYA+!-S`jJb97~@dU3y>gi78-(|T3KDj51n*o(&^(M~^>ScdwV33kENZlYwL zQsP;X^4_({f_9Q=zaPE45_`Q?m{?TqN2rk8LBha=54j7D88$eW3J2D>ypOUT9awzS zT6S?HpCbub7n9J%Rw6hyy#H;4qJjad%J)#EM+WG7t49$!Q>-o@s|}CBz6ZMO7qP(J zVkhCSubqq75T2KK(ys4E<4F1b1LP;hJj`xhLbtgPzvY=)oIw=Dj1YC<Rc_(l<C0#d zxlmUEDDNTvA&!NgTT4He$$PgWDy)mg8KW0YWDEIMyl6`#>dQC0tS-Hv<kCKs1(`Ju z*~0}rWB}N*5YPy6EQM2s?cK@{<_LIdQ#P%Q+(ziz0@m3bl!(%Rr&fx*+`>>eZ-85V zik9VFB(t^i?7Y)NR2LK>N8yrnBA+4gN+xi{n@n%8WSD3;x%xmy&Bnnf?4V9kL&9JU z5om+Uali`9YReZFNB6xlWty~nUsrv96pQJQ)+@gM^E4P164^v!CQEXgR&63nz?hZk zLWD&+Vg3_ba4q^7gnAXZfdb9(Z?D{oN0Vq6N`jU7$1u&wl!eAeL}M%{GW9MW+I>=7 U@+(4HLOl;1@hW#6_lA4xUmG~rrT_o{ literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/__pycache__/writer.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/__pycache__/writer.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..16e12078dd4f401bb34ba387b4dc141566ab46c6 GIT binary patch literal 3594 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 I*KwEs3nscKvH$=8 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/core.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/core.py new file mode 100644 index 0000000..c182734 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/core.py @@ -0,0 +1,13 @@ +class TomlError(RuntimeError): + def __init__(self, message, line, col, filename): + RuntimeError.__init__(self, message, line, col, filename) + self.message = message + self.line = line + self.col = col + self.filename = filename + + def __str__(self): + return '{}({}, {}): {}'.format(self.filename, self.line, self.col, self.message) + + def __repr__(self): + return 'TomlError({!r}, {!r}, {!r}, {!r})'.format(self.message, self.line, self.col, self.filename) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/parser.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/parser.py new file mode 100644 index 0000000..3493aa6 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/parser.py @@ -0,0 +1,341 @@ +import string, re, sys, datetime +from .core import TomlError +from .utils import rfc3339_re, parse_rfc3339_re + +if sys.version_info[0] == 2: + _chr = unichr +else: + _chr = chr + +def load(fin, translate=lambda t, x, v: v, object_pairs_hook=dict): + return loads(fin.read(), translate=translate, object_pairs_hook=object_pairs_hook, filename=getattr(fin, 'name', repr(fin))) + +def loads(s, filename='<string>', translate=lambda t, x, v: v, object_pairs_hook=dict): + if isinstance(s, bytes): + s = s.decode('utf-8') + + s = s.replace('\r\n', '\n') + + root = object_pairs_hook() + tables = object_pairs_hook() + scope = root + + src = _Source(s, filename=filename) + ast = _p_toml(src, object_pairs_hook=object_pairs_hook) + + def error(msg): + raise TomlError(msg, pos[0], pos[1], filename) + + def process_value(v, object_pairs_hook): + kind, text, value, pos = v + if kind == 'str' and value.startswith('\n'): + value = value[1:] + if kind == 'array': + if value and any(k != value[0][0] for k, t, v, p in value[1:]): + error('array-type-mismatch') + value = [process_value(item, object_pairs_hook=object_pairs_hook) for item in value] + elif kind == 'table': + value = object_pairs_hook([(k, process_value(value[k], object_pairs_hook=object_pairs_hook)) for k in value]) + return translate(kind, text, value) + + for kind, value, pos in ast: + if kind == 'kv': + k, v = value + if k in scope: + error('duplicate_keys. Key "{0}" was used more than once.'.format(k)) + scope[k] = process_value(v, object_pairs_hook=object_pairs_hook) + else: + is_table_array = (kind == 'table_array') + cur = tables + for name in value[:-1]: + if isinstance(cur.get(name), list): + d, cur = cur[name][-1] + else: + d, cur = cur.setdefault(name, (None, object_pairs_hook())) + + scope = object_pairs_hook() + name = value[-1] + if name not in cur: + if is_table_array: + cur[name] = [(scope, object_pairs_hook())] + else: + cur[name] = (scope, object_pairs_hook()) + elif isinstance(cur[name], list): + if not is_table_array: + error('table_type_mismatch') + cur[name].append((scope, object_pairs_hook())) + else: + if is_table_array: + error('table_type_mismatch') + old_scope, next_table = cur[name] + if old_scope is not None: + error('duplicate_tables') + cur[name] = (scope, next_table) + + def merge_tables(scope, tables): + if scope is None: + scope = object_pairs_hook() + for k in tables: + if k in scope: + error('key_table_conflict') + v = tables[k] + if isinstance(v, list): + scope[k] = [merge_tables(sc, tbl) for sc, tbl in v] + else: + scope[k] = merge_tables(v[0], v[1]) + return scope + + return merge_tables(root, tables) + +class _Source: + def __init__(self, s, filename=None): + self.s = s + self._pos = (1, 1) + self._last = None + self._filename = filename + self.backtrack_stack = [] + + def last(self): + return self._last + + def pos(self): + return self._pos + + def fail(self): + return self._expect(None) + + def consume_dot(self): + if self.s: + self._last = self.s[0] + self.s = self[1:] + self._advance(self._last) + return self._last + return None + + def expect_dot(self): + return self._expect(self.consume_dot()) + + def consume_eof(self): + if not self.s: + self._last = '' + return True + return False + + def expect_eof(self): + return self._expect(self.consume_eof()) + + def consume(self, s): + if self.s.startswith(s): + self.s = self.s[len(s):] + self._last = s + self._advance(s) + return True + return False + + def expect(self, s): + return self._expect(self.consume(s)) + + def consume_re(self, re): + m = re.match(self.s) + if m: + self.s = self.s[len(m.group(0)):] + self._last = m + self._advance(m.group(0)) + return m + return None + + def expect_re(self, re): + return self._expect(self.consume_re(re)) + + def __enter__(self): + self.backtrack_stack.append((self.s, self._pos)) + + def __exit__(self, type, value, traceback): + if type is None: + self.backtrack_stack.pop() + else: + self.s, self._pos = self.backtrack_stack.pop() + return type == TomlError + + def commit(self): + self.backtrack_stack[-1] = (self.s, self._pos) + + def _expect(self, r): + if not r: + raise TomlError('msg', self._pos[0], self._pos[1], self._filename) + return r + + def _advance(self, s): + suffix_pos = s.rfind('\n') + if suffix_pos == -1: + self._pos = (self._pos[0], self._pos[1] + len(s)) + else: + self._pos = (self._pos[0] + s.count('\n'), len(s) - suffix_pos) + +_ews_re = re.compile(r'(?:[ \t]|#[^\n]*\n|#[^\n]*\Z|\n)*') +def _p_ews(s): + s.expect_re(_ews_re) + +_ws_re = re.compile(r'[ \t]*') +def _p_ws(s): + s.expect_re(_ws_re) + +_escapes = { 'b': '\b', 'n': '\n', 'r': '\r', 't': '\t', '"': '"', + '\\': '\\', 'f': '\f' } + +_basicstr_re = re.compile(r'[^"\\\000-\037]*') +_short_uni_re = re.compile(r'u([0-9a-fA-F]{4})') +_long_uni_re = re.compile(r'U([0-9a-fA-F]{8})') +_escapes_re = re.compile(r'[btnfr\"\\]') +_newline_esc_re = re.compile('\n[ \t\n]*') +def _p_basicstr_content(s, content=_basicstr_re): + res = [] + while True: + res.append(s.expect_re(content).group(0)) + if not s.consume('\\'): + break + if s.consume_re(_newline_esc_re): + pass + elif s.consume_re(_short_uni_re) or s.consume_re(_long_uni_re): + v = int(s.last().group(1), 16) + if 0xd800 <= v < 0xe000: + s.fail() + res.append(_chr(v)) + else: + s.expect_re(_escapes_re) + res.append(_escapes[s.last().group(0)]) + return ''.join(res) + +_key_re = re.compile(r'[0-9a-zA-Z-_]+') +def _p_key(s): + with s: + s.expect('"') + r = _p_basicstr_content(s, _basicstr_re) + s.expect('"') + return r + if s.consume('\''): + if s.consume('\'\''): + r = s.expect_re(_litstr_ml_re).group(0) + s.expect('\'\'\'') + else: + r = s.expect_re(_litstr_re).group(0) + s.expect('\'') + return r + return s.expect_re(_key_re).group(0) + +_float_re = re.compile(r'[+-]?(?:0|[1-9](?:_?\d)*)(?:\.\d(?:_?\d)*)?(?:[eE][+-]?(?:\d(?:_?\d)*))?') + +_basicstr_ml_re = re.compile(r'(?:""?(?!")|[^"\\\000-\011\013-\037])*') +_litstr_re = re.compile(r"[^'\000\010\012-\037]*") +_litstr_ml_re = re.compile(r"(?:(?:|'|'')(?:[^'\000-\010\013-\037]))*") +def _p_value(s, object_pairs_hook): + pos = s.pos() + + if s.consume('true'): + return 'bool', s.last(), True, pos + if s.consume('false'): + return 'bool', s.last(), False, pos + + if s.consume('"'): + if s.consume('""'): + r = _p_basicstr_content(s, _basicstr_ml_re) + s.expect('"""') + else: + r = _p_basicstr_content(s, _basicstr_re) + s.expect('"') + return 'str', r, r, pos + + if s.consume('\''): + if s.consume('\'\''): + r = s.expect_re(_litstr_ml_re).group(0) + s.expect('\'\'\'') + else: + r = s.expect_re(_litstr_re).group(0) + s.expect('\'') + return 'str', r, r, pos + + if s.consume_re(rfc3339_re): + m = s.last() + return 'datetime', m.group(0), parse_rfc3339_re(m), pos + + if s.consume_re(_float_re): + m = s.last().group(0) + r = m.replace('_','') + if '.' in m or 'e' in m or 'E' in m: + return 'float', m, float(r), pos + else: + return 'int', m, int(r, 10), pos + + if s.consume('['): + items = [] + with s: + while True: + _p_ews(s) + items.append(_p_value(s, object_pairs_hook=object_pairs_hook)) + s.commit() + _p_ews(s) + s.expect(',') + s.commit() + _p_ews(s) + s.expect(']') + return 'array', None, items, pos + + if s.consume('{'): + _p_ws(s) + items = object_pairs_hook() + if not s.consume('}'): + k = _p_key(s) + _p_ws(s) + s.expect('=') + _p_ws(s) + items[k] = _p_value(s, object_pairs_hook=object_pairs_hook) + _p_ws(s) + while s.consume(','): + _p_ws(s) + k = _p_key(s) + _p_ws(s) + s.expect('=') + _p_ws(s) + items[k] = _p_value(s, object_pairs_hook=object_pairs_hook) + _p_ws(s) + s.expect('}') + return 'table', None, items, pos + + s.fail() + +def _p_stmt(s, object_pairs_hook): + pos = s.pos() + if s.consume( '['): + is_array = s.consume('[') + _p_ws(s) + keys = [_p_key(s)] + _p_ws(s) + while s.consume('.'): + _p_ws(s) + keys.append(_p_key(s)) + _p_ws(s) + s.expect(']') + if is_array: + s.expect(']') + return 'table_array' if is_array else 'table', keys, pos + + key = _p_key(s) + _p_ws(s) + s.expect('=') + _p_ws(s) + value = _p_value(s, object_pairs_hook=object_pairs_hook) + return 'kv', (key, value), pos + +_stmtsep_re = re.compile(r'(?:[ \t]*(?:#[^\n]*)?\n)+[ \t]*') +def _p_toml(s, object_pairs_hook): + stmts = [] + _p_ews(s) + with s: + stmts.append(_p_stmt(s, object_pairs_hook=object_pairs_hook)) + while True: + s.commit() + s.expect_re(_stmtsep_re) + stmts.append(_p_stmt(s, object_pairs_hook=object_pairs_hook)) + _p_ews(s) + s.expect_eof() + return stmts diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/test.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/test.py new file mode 100644 index 0000000..ec8abfc --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/test.py @@ -0,0 +1,30 @@ +import datetime +from .utils import format_rfc3339 + +try: + _string_types = (str, unicode) + _int_types = (int, long) +except NameError: + _string_types = str + _int_types = int + +def translate_to_test(v): + if isinstance(v, dict): + return { k: translate_to_test(v) for k, v in v.items() } + if isinstance(v, list): + a = [translate_to_test(x) for x in v] + if v and isinstance(v[0], dict): + return a + else: + return {'type': 'array', 'value': a} + if isinstance(v, datetime.datetime): + return {'type': 'datetime', 'value': format_rfc3339(v)} + if isinstance(v, bool): + return {'type': 'bool', 'value': 'true' if v else 'false'} + if isinstance(v, _int_types): + return {'type': 'integer', 'value': str(v)} + if isinstance(v, float): + return {'type': 'float', 'value': '{:.17}'.format(v)} + if isinstance(v, _string_types): + return {'type': 'string', 'value': v} + raise RuntimeError('unexpected value: {!r}'.format(v)) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/utils.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/utils.py new file mode 100644 index 0000000..636a680 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/utils.py @@ -0,0 +1,67 @@ +import datetime +import re + +rfc3339_re = re.compile(r'(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(\.\d+)?(?:Z|([+-]\d{2}):(\d{2}))') + +def parse_rfc3339(v): + m = rfc3339_re.match(v) + if not m or m.group(0) != v: + return None + return parse_rfc3339_re(m) + +def parse_rfc3339_re(m): + r = map(int, m.groups()[:6]) + if m.group(7): + micro = float(m.group(7)) + else: + micro = 0 + + if m.group(8): + g = int(m.group(8), 10) * 60 + int(m.group(9), 10) + tz = _TimeZone(datetime.timedelta(0, g * 60)) + else: + tz = _TimeZone(datetime.timedelta(0, 0)) + + y, m, d, H, M, S = r + return datetime.datetime(y, m, d, H, M, S, int(micro * 1000000), tz) + + +def format_rfc3339(v): + offs = v.utcoffset() + offs = int(offs.total_seconds()) // 60 if offs is not None else 0 + + if offs == 0: + suffix = 'Z' + else: + if offs > 0: + suffix = '+' + else: + suffix = '-' + offs = -offs + suffix = '{0}{1:02}:{2:02}'.format(suffix, offs // 60, offs % 60) + + if v.microsecond: + return v.strftime('%Y-%m-%dT%H:%M:%S.%f') + suffix + else: + return v.strftime('%Y-%m-%dT%H:%M:%S') + suffix + +class _TimeZone(datetime.tzinfo): + def __init__(self, offset): + self._offset = offset + + def utcoffset(self, dt): + return self._offset + + def dst(self, dt): + return None + + def tzname(self, dt): + m = self._offset.total_seconds() // 60 + if m < 0: + res = '-' + m = -m + else: + res = '+' + h = m // 60 + m = m - h * 60 + return '{}{:.02}{:.02}'.format(res, h, m) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/writer.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/writer.py new file mode 100644 index 0000000..73b5089 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/writer.py @@ -0,0 +1,106 @@ +from __future__ import unicode_literals +import io, datetime, math, string, sys + +from .utils import format_rfc3339 + +if sys.version_info[0] == 3: + long = int + unicode = str + + +def dumps(obj, sort_keys=False): + fout = io.StringIO() + dump(obj, fout, sort_keys=sort_keys) + return fout.getvalue() + + +_escapes = {'\n': 'n', '\r': 'r', '\\': '\\', '\t': 't', '\b': 'b', '\f': 'f', '"': '"'} + + +def _escape_string(s): + res = [] + start = 0 + + def flush(): + if start != i: + res.append(s[start:i]) + return i + 1 + + i = 0 + while i < len(s): + c = s[i] + if c in '"\\\n\r\t\b\f': + start = flush() + res.append('\\' + _escapes[c]) + elif ord(c) < 0x20: + start = flush() + res.append('\\u%04x' % ord(c)) + i += 1 + + flush() + return '"' + ''.join(res) + '"' + + +_key_chars = string.digits + string.ascii_letters + '-_' +def _escape_id(s): + if any(c not in _key_chars for c in s): + return _escape_string(s) + return s + + +def _format_value(v): + if isinstance(v, bool): + return 'true' if v else 'false' + if isinstance(v, int) or isinstance(v, long): + return unicode(v) + if isinstance(v, float): + if math.isnan(v) or math.isinf(v): + raise ValueError("{0} is not a valid TOML value".format(v)) + else: + return repr(v) + elif isinstance(v, unicode) or isinstance(v, bytes): + return _escape_string(v) + elif isinstance(v, datetime.datetime): + return format_rfc3339(v) + elif isinstance(v, list): + return '[{0}]'.format(', '.join(_format_value(obj) for obj in v)) + elif isinstance(v, dict): + return '{{{0}}}'.format(', '.join('{} = {}'.format(_escape_id(k), _format_value(obj)) for k, obj in v.items())) + else: + raise RuntimeError(v) + + +def dump(obj, fout, sort_keys=False): + tables = [((), obj, False)] + + while tables: + name, table, is_array = tables.pop() + if name: + section_name = '.'.join(_escape_id(c) for c in name) + if is_array: + fout.write('[[{0}]]\n'.format(section_name)) + else: + fout.write('[{0}]\n'.format(section_name)) + + table_keys = sorted(table.keys()) if sort_keys else table.keys() + new_tables = [] + has_kv = False + for k in table_keys: + v = table[k] + if isinstance(v, dict): + new_tables.append((name + (k,), v, False)) + elif isinstance(v, list) and v and all(isinstance(o, dict) for o in v): + new_tables.extend((name + (k,), d, True) for d in v) + elif v is None: + # based on mojombo's comment: https://github.com/toml-lang/toml/issues/146#issuecomment-25019344 + fout.write( + '#{} = null # To use: uncomment and replace null with value\n'.format(_escape_id(k))) + has_kv = True + else: + fout.write('{0} = {1}\n'.format(_escape_id(k), _format_value(v))) + has_kv = True + + tables.extend(reversed(new_tables)) + + if (name or has_kv) and tables: + fout.write('\n') diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__init__.py new file mode 100644 index 0000000..80c4ce1 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__init__.py @@ -0,0 +1,133 @@ +# -*- coding: utf-8 -*- + +# __ +# /__) _ _ _ _ _/ _ +# / ( (- (/ (/ (- _) / _) +# / + +""" +Requests HTTP Library +~~~~~~~~~~~~~~~~~~~~~ + +Requests is an HTTP library, written in Python, for human beings. Basic GET +usage: + + >>> import requests + >>> r = requests.get('https://www.python.org') + >>> r.status_code + 200 + >>> 'Python is a programming language' in r.content + True + +... or POST: + + >>> payload = dict(key1='value1', key2='value2') + >>> r = requests.post('https://httpbin.org/post', data=payload) + >>> print(r.text) + { + ... + "form": { + "key2": "value2", + "key1": "value1" + }, + ... + } + +The other HTTP methods are supported - see `requests.api`. Full documentation +is at <http://python-requests.org>. + +:copyright: (c) 2017 by Kenneth Reitz. +:license: Apache 2.0, see LICENSE for more details. +""" + +from pip._vendor import urllib3 +from pip._vendor import chardet +import warnings +from .exceptions import RequestsDependencyWarning + + +def check_compatibility(urllib3_version, chardet_version): + urllib3_version = urllib3_version.split('.') + assert urllib3_version != ['dev'] # Verify urllib3 isn't installed from git. + + # Sometimes, urllib3 only reports its version as 16.1. + if len(urllib3_version) == 2: + urllib3_version.append('0') + + # Check urllib3 for compatibility. + major, minor, patch = urllib3_version # noqa: F811 + major, minor, patch = int(major), int(minor), int(patch) + # urllib3 >= 1.21.1, <= 1.24 + assert major == 1 + assert minor >= 21 + assert minor <= 24 + + # Check chardet for compatibility. + major, minor, patch = chardet_version.split('.')[:3] + major, minor, patch = int(major), int(minor), int(patch) + # chardet >= 3.0.2, < 3.1.0 + assert major == 3 + assert minor < 1 + assert patch >= 2 + + +def _check_cryptography(cryptography_version): + # cryptography < 1.3.4 + try: + cryptography_version = list(map(int, cryptography_version.split('.'))) + except ValueError: + return + + if cryptography_version < [1, 3, 4]: + warning = 'Old version of cryptography ({}) may cause slowdown.'.format(cryptography_version) + warnings.warn(warning, RequestsDependencyWarning) + +# Check imported dependencies for compatibility. +try: + check_compatibility(urllib3.__version__, chardet.__version__) +except (AssertionError, ValueError): + warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported " + "version!".format(urllib3.__version__, chardet.__version__), + RequestsDependencyWarning) + +# Attempt to enable urllib3's SNI support, if possible +from pip._internal.utils.compat import WINDOWS +if not WINDOWS: + try: + from pip._vendor.urllib3.contrib import pyopenssl + pyopenssl.inject_into_urllib3() + + # Check cryptography version + from cryptography import __version__ as cryptography_version + _check_cryptography(cryptography_version) + except ImportError: + pass + +# urllib3's DependencyWarnings should be silenced. +from pip._vendor.urllib3.exceptions import DependencyWarning +warnings.simplefilter('ignore', DependencyWarning) + +from .__version__ import __title__, __description__, __url__, __version__ +from .__version__ import __build__, __author__, __author_email__, __license__ +from .__version__ import __copyright__, __cake__ + +from . import utils +from . import packages +from .models import Request, Response, PreparedRequest +from .api import request, get, head, post, patch, put, delete, options +from .sessions import session, Session +from .status_codes import codes +from .exceptions import ( + RequestException, Timeout, URLRequired, + TooManyRedirects, HTTPError, ConnectionError, + FileModeWarning, ConnectTimeout, ReadTimeout +) + +# Set default logging handler to avoid "No handler found" warnings. +import logging +from logging import NullHandler + +logging.getLogger(__name__).addHandler(NullHandler()) + +# FileModeWarnings go off per the default. +warnings.simplefilter('default', FileModeWarning, append=True) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..400f018635ad1e1b4a25a880542acf09c3a9fcdf GIT binary patch literal 3513 zcma)8$#UGt5yjFgxJ#5oYAsQkAzLERT(ojTij+hxwuWL*v^1`m2ng&dHPMX%;Hqj- zts#9F+A$}8i2uMJ;1BR&!UtS^qR&40VrQbkCBkzsIy#Y+wPjYme1(O90mnT2&-ecv zGK_y1r=D}5ufSgwEW=<1HJHh)&=eN6Ow?`AZE9zFAuP}WE3#5p6eU^$TbWh<V9+wF zG6&w3?ipU@R;$YGR`mepzc-@Ug25f$_t9!Q@<-FaA1}1}Szl}5WF#-)=-(QV^&Rfn z9}bEkIs_w!)Ze?)U>OL9#Rwe%%Sh|Y0jvSG!SJl8(owKg_~?O|?KTR#or9fz?(KBE z;!t>AT%Z@Sy~o%vzkvHeBqL!}jMH&(kzN#+=p|UMn%U2Q{W85QuFxyuD!nSM(QBFg zEZ7Mp;yS&awMWAVaf9B-^mCx!q&GADeE604ntm-N>7<yVQ<?2TSQEGCEpeOP7SnWE z%+ML(QdiVzUCh#1F-PaJabw}USfC5y4!x7L$HTkg9=(_87vbdZ)BEB9eIOpvhhmW~ zif`yQ;t_o$mgtgLrpw|neGFqwRtQ(<3cN3cD`J(dLhLK8C;aJw*?PuT4-7mp$ix`C z%$L{|cJ)t~<HB2`cFq46K*8DMzw2<N6?wU}wLxA7+tQa^=l8$#I46SxMf|8YCG1U^ zCc84wnnxsv$VON1#L+bQ7)!F#5ioR{2T@bG<cY6>26?fz<#d$a<cp3&2w7fUCV@y| zsfo<pIWkMKbZm2*Tu)8zXq~9VdVP0y*G;m0+*mdzYsWKOrG4E|UL$54jq|g!M}3n$ z#|XMl5*at8F9bM7LO*JDz@JI<Ub>Aqf=Dz@+mapbIIimwh-Kr=+pQCq6TchAJ_8R~ z(9lzD-kn>T{N#rnJ~uf{pgEs6=TCWeI-Vp}rvk#jwu1<xsbdeU!F=s6<=Y$wn8+Z~ zQ_|J^v(Ah^pr3?*k3D4qj$KSFlH5+n1o{GoiOjkAiRs?BUdP;V$J|8EzMuE!3+_A4 z)($7J-r=&Ba={_J49-w;qB;pCjx#bt6zAl_Q3hQ<2|l>wc_$1BiyIvQ2kPq}jvPFF zO&(#qkjGvQXO5>q_{*;2EH>h#D}&~aUL;eE8f0<qKH2V)U-Kw}?a3w&^cUAz41)%b z6kjB(iQfP>=iS-q%#qixp02IGUCS^iV(^r4?FXT9okQfsnwge6G6eK4pxW5+B@9?U zG<$vHM|JUxCp=<2YINWGG6JkLplY(G2(keGr|?%lgV-}#P>=`aK4{Epnr&N+Y4b-@ zTYFH3%x+uKg)ufOU{UTF-`o4vzP(@2g+1%Q1ZigydTqlpdVPBqE4D550oU2HS*cxA zVXl|kruv-eW^Z3+u*x5;@&9+-3atB=e63>JP=C$z0{B@}e?y%aKoiyV)O1su@lS^s zcxui{4Ehi+l*2I;Hi%j=Evh68bUL`I6qlIiH7R46+98k9lAquyrZynAR-{Au!F!*$ zR4|eb<;Q<yNQ=U6!Q>(oC%zJ2H+KGPNZj<_Kh<|)!RsPuc6fN_?!Ed(7pIF28Mk;t zD`+G8yxUlR;cLF@ck7>c^r;S+&at-O-m9xX^BF))8;V}llOUOyd+5%(3o}U<x?SFc z8Vr&;I25s1){oFx_q-qqwC4f!q-OzdjW+O%0RMvR0K)Iifrsic2*Y&DLA&2{Y{$H8 z^_%ds$8t?xfc^#|4Iez#e)wlNdIw5(OdC2w4PXWEbO7ks$4eHjJzaonZ@PEwVSc{L zu*LvWO}lN#O;&6b5pDaXF15;grmkdHAZD_(E=#a_mOhCa9%3TD+<6l+k|%=1A4x-Y z6OGK6>~zW05BoJD{4Qzu9R<Z6#=9)ujoex_Erfy6sV)3Oj^MHbAX4WY(qAw0C8Qx= zr<L7a;i$BLn#8)PS?TEMjgAvv&If0y?uqlb@L4ZE>{H(T3Odvv2*a|>F>}x?S%Yxu z@;X?)JkBxJ3jw%0hgh%8Vy>b|4WR+B;4U~}vHT>iBPqOpwf^kQ`?sK0lWq(MRw{%> zpLgW0=RtGie<&g?1x>&$uNBg&=jlL)-1E{Q&tqIQWRPHWfT8Sp;H2lto8WM7>~<#z z8FV?G=XU_b67=C?oeLl^uz&+O?STVUI^Y2YbFzfq3N-yT><GRUI~phtl*$p-Yj#@B zxh<`1a+Soup6Sqr<O$F@%e!iow47r;wc*-L3p?CrX#wvgISTHkcGA&liSdwYo|fY* zCI!xv6<1i(Y58qWK`-zsR)Cq|eEGG{4W7+N%UglqF)Y>ho6XnQ8-Nq(@Kzju>qp&9 z&Y%r7omTPlq=&1ar!iasjT4F)dLD%QTi7CJ=yWh2alG~>IG;DboxXLrlV17}3%N|o zjDPeyq28*Qav1ZlhIxSt3(pxSz|AQ@Vwp<hI(Y@-clc2ZDnoQu(;4)#bV|gfyoBN^ z3Z#VeVzwS|AeWIJx>;`ETLbAsPT+t`r#5tR0B0W~5<aqS;E1z9gd_(nq+>)6-e0u; zbScSeIIizi_C3`*v8%td>?!}h!WsPvKEXo%F$lpuISD2?g`$Sy7K+;_rcunGa8cAj zq=uYD9l0+p2}ne!<UCpyP}~7QZTK3Hcd>a7#eEbHP#~D(LllcBz5ziiIfj&cgtjFR z;NHnsos!FFe~e-U#VU#?D3C<uGZbqmo}+jHA}xn;vkBL?e2J|pVEQ!}002-fkuR`7 z9iOor7N_V3?;M$NP~{QC)(QDC9*IKsDP+W60cx*|SNbjU4E!oULH$7d1=9l3uYlH% a)P!$q3}|XNn=@)onZwXCU544#8T-E&MB%vr literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/__version__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/__version__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0cedeeb7922d20a52348e9fd60caf2382cc67ba2 GIT binary patch literal 576 zcmZ8f%W4!s6s?}jqo?Db=prC4+GW70nui7rK_V^;2%*v7q7aHs*R{Jc{j#chLiZ;K z{(<0DcP{*zS?bE2Yd3m(l96Z?bvgH3PEqGj^U=t2e*Av@)gk0Nxw5b)hj`3AERt{{ z9qz~u@5n8_CA+*Ud%P$6ye|iQAYJatAs<TbCE49xxf<S9V616&g4!lU?jN0;1pb>s z`$tt4=7u)66Kl(T#>(}4yb;hs$4!4mXHz;+<Zg#Fqvw$4U=#lZDBCo*GB{jZFuEny z0`Ex~MhW;cI%)1aEy`M}II;e0GJWX(Bd@NZnQtFH`9D9t|KcM!-t|^PA*`|~2(h{@ zgai|5Ra#Z#NDPFibc$eGh$U!q!J^`{QmI7V6C$k8qDFk<FNQ2sm#S1nkel}Mkr2`5 zZP>clh6@~gCc1sry8L>_k|G0^sknml{)0Uh)KL=ZEYQUnMAl&62Kp*Eeim9d4{NrB ze92OEdKu-M?lGe*j4_f$7=vM@D#z1DbVBFjvc@rmIBrRXj&fOOwh5nI@kq;h<sM{( RtWtQ~YyZJbEM4dS{RdO@x#j=> literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/_internal_utils.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/_internal_utils.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0984e0854727128013a545b147d3dea9d998d172 GIT binary patch literal 1334 zcmZ8hPmkO*6t^>(nQht~Er=6`%11_GlhQ3Ku|kNdl+pvMRkt8CLP|aH+ljl09c*WZ ztfm}j&wLLqocI=egIqcFD{z5lXQnE(<ji}|@1K9~=Q-NnPw4A^fBYsU<ZtrU8ln6p zZkysqkOdJ`L=~;0MO2R#qdH#1l!zN57UNfRF%}aseMJ@%v3E}9$@L$JfuCBi&ZfCk z4vgYe-a1*?<d^@gBsnwsN(!*dA4}J<i&hm*YGs)#xntY_D^P1|5NwyL>e#YlPqsCZ zbt#LI31~nGrWJ#qoq-zA>jKtZ3k|Rmss@Z@AK4b&xy8J7!`(c2P4SZRQ9qG3Z@Rnv z&1EYqCsl5p=|}!E=C+Wsh|te3kB;9Da0i4O*$_uxM&@8cUPS6c7a6u8&qo{jlA@lV z91rp)LWJn`UytM!D8?CPmukiI@;MalV`gB*ji|s{rZ1T58t^vP8pMO6)EKa!9QO#J zN5XIgoVIzSLKT=ohb!16AJTv-wD7e!q9kCetV=Ku(kLjfEH_=so|Y2JSr58p_s<_Z ze#}}GnsT~Ah_QrOOABcToR9lNTB)q#ssQ7GF&?RY5=ufp3Dv+OJha*G?V9OFx^=%3 za|`|d`7JAT4OuN$EmZeDJ<iU$qU5GVj(Bt|>aNu4`?J$W+`*c68De;qRdSg%;p8Yi z&a8BB*zn?#ufS%FYz{y9EWMK+9X1^vr?6UiW0qs6&?egvHG7AsY18!wPUi!Xo(Txu z%+K4mO2!GDL@~V;C6V#g!c)jE|9ca6pvEx@J8IaOi+-iu%+o?3E%5mu6=LGz%f#HF z7>Jh9Ir)Kz7%4Ko{_`t9;?`0DlNX4;#EHEbsaD8td>4)*?%NT0tayPjHci4{P8u}S zo&~Jk-r(fjL{77!gyJ$~-?rAVCF~qR22U?f7o{B=z-M>aGfenw82yRy+&W=Pt*a1V z#(3qYU!Ts$W`dHz{}s~D?pq7SQ}&@T+L);~zW?2DqlccB5Dw;avA1h9Fk<-Zd-sDa z06D(V@EC8Sb(qC;MkAWgn9itq53Q$j8rqmo`)QsFUF3N`8Qyx}<-kziSr}c2d8?eC auL(8xKCiWCEBNAuujTI(M<0xmgZ}`76NCx? literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/adapters.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/adapters.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..77a45369a93f4bf7e867678e3524620606dcec10 GIT binary patch literal 16925 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 KjsMKV;eQ8`PsG>& literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/api.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/api.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e790845d30cfdaa0d66d8f4549bd0a00f47fd72a GIT binary patch literal 6517 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 Qf?rx$SYB8zt<c~90IFM+4*&oF literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/auth.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/auth.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..045fa1ad71a6e13faeb3df95d1ecebbfa6d5849d GIT binary patch literal 8368 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/certs.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/certs.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c70991ccbe2b0ddbef2dd9993b53db4d22c25f31 GIT binary patch literal 659 zcmY*X!HN_y5KZ^axI=Kg_ydIpabPA<Mi>MNkA;23<TXLdbNgyW@5zZIYg~FCwg; z;7|BDUgxN%{RJ<Y?rA{-DJqrJtM@9kIy$1s)$e!T6GDEHe^wg(Cvp4R(I|38RHD)< zsnfGGA$Xt;&Qo^_CzxK6%OoLc@`lW(?ehpj9e!xh2hTEe!P8IwElN*I?V+}+tq>fB z))^0>L}(o5=o~6gn9H^b@a!q{5IWbH3<#Uns0taJmgo?)r`A**ScCB6^Vb2Q_j70K z;V`B`BeQc^AfxnU4xMd5#_WAin*v^sY!`s6U<=5t0|~FRX+MI}J~+K;gSG~Scr8uD zQWVWrJ8Nn*VKIPa(m+;9Q{YfMO3+5{^K!W88Q+;hu%qHw!DAy`lvQ<fWT<+<qeyxc z+fL@mZaU=dW<u0b8zD~S)7_yE%4R~G-E4Hj#1@URZs>MwmFs`5e{W=sLhPoE(<Xc) z?l8s&^Xm&QZH>IvMT^z_2giKfMe43zJNq89;Nv-z*1TPxyodxZWXEHPEwA*3H^a?} z9doY(E=T5`M<UC657}L|S~gw0W>^$`kdN&6-=W~cP_U-k%^vNC;PH(}%wLOUl3Y(` F$shYz)!hI9 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/compat.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/compat.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..bcae15a5c0c95b1303b3b96ecbd9f693c90c24c3 GIT binary patch literal 1638 zcmZuxO^@3|81_d#9LGua`-?4gyOff$Yi~D8B_xE9S_yI3cBLW?BP7d-C&}#2c)T-{ zE#|<DI~RTg960k^=E`ZW9J#<dPPT-yvHbXX-x<Goo|$(%=yZJh=I?KRZd%qK*3!=f z{sr9fH`}r@3t5?+In-tja%{t0>LM4r7d2GJ^~~P2vf8DC8Vg<r-mGSM$iofsC-4Ss zF(3J?joK_g0qdX+>!L2}p&na7D{K|5vNg0;Rd3RDwvN`>2HIeoXp?QBEw+uet1*x6 zuwAsfP_c*hpmvMC$M(^FmGkL6b`RaFc$>b@?xXuGL?L^C9<Yb#p>5#<^a0$D@Q3IC zKSq!7N4Srlj9v7xVPgj!=D*|SPqz3KDhKrFe@cw%cb(j->(I!kyVF&d#_SmFRmxiQ z>5}4;w~Bk9xKauKy+Q}e>fb6qz>h#ZAZRt}pTHBek8O0Axv#DM>i1W^z*jRYm5fH5 z6{+%n`0vm6zn&5qGM>#S4yS3JQ7l8k3NBPQe}xPQC8`XGlu#)gV)X{&JUlPel;`0| z2=DldU=aB?rg!?bZjPp@$gp~O<3QrZv{ApM>sK?bux`%sIq|DUQqY;y!6G@2S~Ed$ zKH?eH{sgN+@b3tQNrsfkuq;w3_0DpX;QX2ho->>)z4h-q%lUp?dr-JYg@n4mX8D{q zfnRWvSHrRZ!`djw@K~f1u+yuiB~zt}gc7MB)i~o&g#z<lD?#$fSFidt?LAK^O@|ar zo~1<rY27`WDU-R4+pl0@1kPTNk?Q-R3riz<238EL8fY1)8)z7SLum=mz#2fmF4hhA z4YUme208#BrZwXHlHiL}^lh<ga<14i<J$&yOyX2GlO*G#B+>1H6j5@G^Nb5&c1pXl zgk`?QLK2=QBp-8Bg9$=6h)jy|Wbqv6+J)q~Zon#0GQ3l4<>C&NcUm^ipfRdyCzZil zD^OlHo>#8KhB2{ernX0%Qan<iQodubvJFO*(Cy)jP(|{@1odI5pogIQ$h@(Jsf4p( z_D;J5x~4`s(E6D2RH05jV_1+;qRIl^>c9j%!D0~xbEQ$$7pS|47N<?uOrwZB(1`*= z;q;kJk=h|#_m-4L>2UOmB~Fbk1AqM(PdUReBa<1Xr=L8F&r5TX*ty^r;8sFx&fPcX zFTYF`ev_6lY~FPYYZMpN$RK(aOQP^mk&Z6Y36?Qz@zK*yqvL3BRFp6r;mO1#<Hf$m zx8I0(e&C~`)ZS<FPr~PB59JGhniDu)v*8AA(DE8J`_SFD1KWc;uy@>=J->Y0cN+Gw OZN}!;hBF`WVD3K=4bfr% literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/cookies.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/cookies.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..97bda576610bfb76677d89f295078ba1f8cb64af GIT binary patch literal 18813 zcmds9OK=?5b?u%%1|NdppQ7Y8O^O5!4)mdA8)6(ul=ZU+(-I^~6Ul?-yaq79%=GAW z4*^WTxMHxZ{G^mqaVk}Dyh*%pQmIOoS;Un^Hpw!{s;jc{Caz?aN)}PM;+%6|ch3g{ z%5r&;%AorH`hD)b@7{CoyNxHOr_1(_fBMe<yl7cJvIc(BIDZCP@DX;(s#?lcnWkN} z<(R2v<e05yRaWJixmLcKw=JCKn}t@fT5Of7rPf4sqE)VzTa(pE+uEIyH>Rpnx2^WM zoaIe#m37m$_$N<hs#9-U?aW)&i<T;=;(bdMy(9bC>MX8HY6902a(z^l)#QDvI;W=8 zG>*sAr__u(a^J2VN6A@r6eW*(C-CM;T+gXvxIX3;H&1z!`?>0AbzGgmTW8csbqdF` z>a;q8<3q|(52<sg<(zt0J%T$AtIX@x{HJ?=QP$pjT`vfOO5OLj8eUNTwUJ-Be8X>b z+^}({(QJgfPTg0Y6Z*~_&vEZG<+K}k&Z>F8*|<}=AvL|?>Q!gE5pFnX6Xkwu-LTON zoJOnT>o9QEwBK?zJnbzwfz(`gwYS!7n)l;UmGY0lE^GP6Hum#&G#mQ0Hu`nfs|BHM zwAbhJ(L~ydsMOWXj;jMND&wr%Hs^(#K5jLmnVa2^-M{H}I(W6tnv-7^C(mFDKE%$m zAQl!y0^*QSSr9L$aw?Bw-mtP-Ff6PVW9F4&=1mCetZErdJgVkE{z-LA9mktf>V!Ip z<Fq=ZPUAS^9Z_f0+56VMU7f`_nZ@&?I2VTDd```RWll7C)30y6X1M152WW9yyPd#s zoz;}i@zYhZsnuvT>U;_!fH_Z8l82RY*}-pR!!s;xv=8B-x6|?JU{biz0LR*)r`O!N zhcn05%F}G5?rV)Q&0VRo<+j~*)=GhLI)1ZJhhQx@jfz)UaFmA{T8*~nY;SlWn2yfH zMeA;xVikDdg0l|3w$Y|1RVu&bHrj#XukltQQI6YIa&6up7?H0V>y5VCOiTKAHqk)` zBha3!uKMlfZpDnf+3?!&gP`NLg9e3q&DZEuvx#>g9nuB1+xE60rY=SuICmQ$>be)! zaI+TQyga`ueG)2lw8xj(!IlFt(|$)c+|XmoZ~I-T6gTfc40oMv7oCvm%vj<YS4pom z5KDnDO@F&0Z`CspO#XP}b^}}BV7F)QSv9L+VQ+_-J!{k2%<kKpIb7$J1^Ka;=L=D$ zrlYCBe(OBmjj|Ats1VfAUoXmqyB%*n6Xh^l)}mr8TR*V$Q55~?TZ<ch%Uf(U*1KNw z+UK5HytP~3aCPgJ_DSae*WrfWe)HDyix}~?ySoT(-d%(ME_UR}la;3ygGT6G?YQ+V zNK3HTX>_hW{>92;l_#%ucJa94t*`UuVhyh<UoR%&y=W*DR64s+sa9*W8)2<>5xoiu z*jaV~f4$=av!s#~s#A0D$0IkP8{Z<O40UWhgX?))AHhKeYj$(Ej7sD;33CNkfpB4@ zsieSAQz?sBb;!o-%?#L*HBIJ({JP8rr`SxP?S)Oh{-925_(6E}L7iZMp-!aZE#Wne zcRwBRN!&T4v11&NnN2k?pvGz+8))}agLEEKHtj+dFBP!~$yab9!U;Mkd*2RD$`$Al zLR2BNu*7F9s@o4T_v|olp6=WCGGSpavsr|gXEsaNCa{&UO|BRAZBR3}9OYg@7kl|` zxOVjmuo5M&4U0wVFeMa@it${HvgoeRTeEM52b2X(co5}a@;0IZtcKePqCAYGhPbV1 zcfAFDF`pIrh;pQdlnOjGDlJo_2dr4LhKcngDh<egD?4MCGRN(yOvawGd#6VUn7oiu zZb(>js6cU~ndKE}?-0HnX#}-y`>v-OYYp1DXW4u#un!G3IZ|%CYN3EowU9Ggh0bv~ z&ukTp{AP{lo<$)&iQRlACQjRJd80%rZ@59M+@2rk)5*a;^@}Xm$s7K7q?Qu-VN<3z zn;Gd#R*so{{3UZrrjzvPA(S>9GhEXba3d;0vAW%6c%XyinvoIU#*}D79qbnw>R&p~ zIg3N^Y2W@PkR^JQ?cFq53mVYD@SL{qG`;mk*l0mNIs{NOIbvd4u!_EV+HsX~8liIs z3est;IlF$>fhACm-}WlKU%FweYhsOp4Zqu@k>G2v76QC*3L(&*YS21+DjwG5`DILu zW6OT{a;wvXvWHDqU)I{!iCAa1yxk~!*KHmk4y!b6zLF9r(;FgAzsL}A$UtEpC&8ZB zrak*Q;J0CzeUL+WbO6(i2FL6~2cJ4*RLg09?A~VvrRk9J<LB3?F%WqkZw!u53I>e- z*9JN;G{r{Bjc@p%R{jj?J7jiG4Nh$;Q!}+Q!`fu9(9hcFslyvRGGYea8fbTDyd&j) z)}{})LfS!7?+i3IJIG(EVB(r%L<3YgwOUlJ)mpylHhDf(tG(BCoAHxkt)~2Xt)`Em zK7E`!Hmo^teV#kgT@z2}OWb{yJDOTu!7eHh$9X#3)r-7GTPWQd5K|FY%Br5g?hLlz z5$sCkT&9#SW#w;%`*OCF<8dlCm6Nh{6ia{9CeL6CE@StzxgnTJ6Va3*j(}OO_qVBg zun~qGx@Rw~tlYZk1p!dkI1izM`O;{w`LJ25F`}+iD%%@w_{+|7ZqTT^&F1cc1Fyh` z)*>nv&q_J0H$}(d(eYv6X;>kkZquI>N&^!P_#3ONkHC@MMBquitp|Z!YIkb>T5Jt_ z-@55;LHRj@gBP8;nkrryE#ZGWEV@5SV&Ic*FQI}lWP+muSnoFdb-x=p@J;n@4D6E^ zWmv3_nza;b$RIX^TCC8p8WZu`Aa}`TE8jaY*zr$@SU-;%4$%}jveHl6v3o~{+Tqjj zCVv+17!$h(Glnomtfw=Ytwm)hwb=F~qoh?Gm<2KczQ}vn66kSisP%pw%kxG3ILki4 z9kG(W#+^*kFYrui>eH}4$DYDd7h6CLTFPUN6-!yoyQ%phZpdQ0fh}Ndz~IE48Gi=Y z(GHH&M#EjgK<{P4EbndRa84|m-^=Y~_cI`XvE%>#<(*Kwa3v|+u_t2U7rc>(IsIfG z!ep%UE3S@3E*7^<S1-jcb4I46oXc%LgqK<8^wbUbg{~9(>p@y*UW6^KDRzpM9L!h8 z-)<)kZ;<%;j`4hl-!XG>$uTj3Cq*T^7SGVZ7oxcs`@2n`fAba{$RZ$&8-`jhftaGX zgy2!O6|6@`JVT*cOdW(}vKX+YL`9{fnkb8|a~F)rOmuSO{Tkvtc>gY$M_^?Y%kc2P z=ggF?pTl)3z~nKflknNW3HVH&5^TU@pcsR<nSD6L#AeWznck*Q27asRBB+4?#DJ$B zvoD_Hj)^kGv9Ewp13_7<F%RIYLr*Ldo|(|f60AhWTjG1tNK`O9oHxooI!a_>h!krK zF)^BW6-ew$I2fYYdXz>-i7AF&eIKQb16(NCWm~_1>pHy!{)lQ)@cd0&tXubTJ8$k; z&s*;<-^=giH$kYatUmi5oGE2*P3Q^`S{`6Ot1Gw%a^c={ds*De;NEk%m)qo(%{$nv zHN+Wg>%H=AYscBkq2AN)Wbb9}W$)2#$f33@Sdm4EJGT>+z4b;Lp&o{=%t)L&yAG}N z0#9Oe?)bDGFgZ>V0%FXEzF81c+1NKjSx&Ti({uIZd4!t+=c||7^TvuS&*u&7FPM7t zIZz=gfY}HxM0t4$f*r>XDXyZ<=mAL4YFUcVl?tMQ>F+30PH3-%?k0S>vny!i_fSPZ zh+*Y(U`*Mj+h?}3nOR%EiYIkGPJZ<Fp1~Gy!VKGedJ@qwGu9h^dkvAbP=I^yPgWQ{ zbr3dn!fgiRB$x{&<%Ukn^I~<S5ph8b$_Zd=;TXbCKoqa9$Q+E@kn0VY_6lT7qFEJi zDGqDZn_WbI4GHBIIe}K!85!)y1L20Wd~_vlr=IX2H&)4y)9N=d_V1GjoX^nbydI)b z7B~0{{uR3+Dm}@lJ%X(W(yD@lX^X0aV?j-*GLA(xsitr&scAKX<Age*W^pV_kk&dp zNUN?%kk+mqdEZ*IB}iMU&c+e-qX_aksAW!lTAj!7n3Va9x^TZ#Juc@L)uT8+p+2WB zsmti!N%fSPS66U$N_|!>;GNUzs;c04MlGtxa6GFXS5M&h(EC=-s-6S)KOY@EU=Q5C z0*yvu^i4Mip5_cl=GKsz!367uF@j?e1u+s0l}2~txwRr8Uxt3YzA1CIVfX-};I|IU zQ@XFQB1Dy#qXBGK1MyUmL8)E&?Mq=S6T5U{5$$iZp>+eq5}mpPVgsiIU}(T#YE6^1 z3Dzq$#dW9m2^zZ{t|iD=93phA450ORAPLbRx*nbHP+V>fi({v?PNUj51JrBof_&kn zz}f5uA#tR%TOV2p5$z9SB`?JN$IMe+#d#JAE2W04n8XhHwy(FODjyt(quF=-9b-w7 zx?uO=W!!Dhkw?@!bU`GEeXp*jdTtfw#;dHGnYFt5>g`(tkAwlMt1mQ~-oV|M7H_nh z4S~wqTkkeq-RJBAcm<iMQ+g;ooko2N+7vo3ezj6Tpjx*9ewUVnav-s*!ON81!fjDQ zZC|%YM=0UP=Y^}#3IhtcPJ_fBk94zdU=v?wcZR?d=svrb+eb_=XN5M_)6Sdqv_0Uk zw-OWbqvyfCt1=#FtIP9o^G&QG#R37kbtnl~3phk=2|EDY`|1mz#Bbh3xZlM(#X4Au zl@lY&;?{H_wd<7M#BM=tik(VpY9X%FKxic~S~2<9$Pfurx+TVHL1dE@GmPaM%ZS1s zt1<LbYx_0Tg%elD<O`zGSG-*lw#l1lwV13&K}Mb0tq~g~*y3+UXrg7Sn6YQ@*E^BS zk5pQy{D<%}A;eesBHexg2_=1*v25}Q@mioOIRXZ#+y^<XdkUt`gh0>wI^w!0aWB`N zK{OXwYz=_mLxZpj;Ia*5mV<uF_x`faQJ9_o!yF}R_*?E18=g=~csMk)>_YIU4DpHQ zu`c3nGz;^Hg%v{Ex|r%{+NjjzvW&sU=Rhv979reS;M;{Q%)<2`vg;%4jk0*{?@>gs zg9Rjb4nP^8BQpcwF^<hBpT=isYPr=}0V5VWr^(=b8)$9{IL_X*-^8*BF&>!<@cjFI zW)WE+Y8WIO!{S$0L;C|!^N}0EK0x0Q--#+S!w%9ZlLia~gQT}HT@Vg%F`=PxSdqj8 z*$Qopz?sl%;d*$!<oHA&T;iQlc1NjIVkvey;)n$-7cd*n9-IwH!IV}6X{41XEqW!S z)TX@;YJoC#Z@*8Ou~c!OQN#d@5+wB{QxZIYAfv<>CInaS*o=M~{hJ>j#LTgGKf-h4 zp%;254-TG1(t&?+A^A?96eMHXXThe2h>0mgf%$pmB&Pa<q(oDdY0jtz2}!x%>3<`g zQZYGqkW&4kDZM^UQ117sa|mTpQ8_@APb4eD1R0eST_r6TV?9Jr3a0h{Bnc=3R-t$L zAOTFFbnq;g#U>hs`fKNrRHMupjRLI#V=$suMnnc=Wq*xvKSW|UkFHAdP6!i;L>8l- zos>w%yGd^!&@96QO67D=v1E<Nq?-6aax+0;ke>ep1MiE?LkFprmP`rvaZ>YNeW@8w zoK$EI&?TiuN(m|$B36H!*pKNDSCb?k278^=RRxrF`9QztS53Bq_=#z4cincQ*>oMV z&L89PH3!sn40}3mLnpYLJQ`xe027QX4Qh6fTg3G1Am|}tnip~)T`QK-V(-*}epjSS zN^1%zw;N;=<M{}V*gKD=f_fJ5qYMHa_Eu5PP+WN>!H${RKtH1HpLhfLOw5ili+79> ziGnBj#LI~DS7LXY6i0+d^p7Bhm(Xmo_*RS~9eSL}nqswB!H{&A84i<?a4VAoj4Ru- zcJGmc!ySC(7dq<4K4#Psrb$8!gJWj!MGuZSFGa_WxGde5=O@REcZ?S9zc7BZ46F%{ zucbV`Y<MhTt}8LO3;GIUzM~vh%-YEH?!FcSoE6<gGL+;c#Q~U6^gl>}bebfuzW{9G zIX;9$Z#RO((c-*F!iRT!znQ+ayz;_ff}>YS)p0^IoAf9VoJUAVq86(_!8vZ{C_3j4 ziq7bZLoNX=p-dVs1vjjF*_~%nf?h-L97!BorQiZ0g`7MYOdiG-OTkmPgGnTJa)=_r z&D+dfx8CD)B5^alAFg0A2iQ^IBcN`VYt)32hx>9sgQ;b3I!$DYr8M)gFmCdZQf)M# z6-6BlAPr+>l9*XqiAKg9meJXfLFJV&i5fC3%V1-FZi}!JWf(jfqxsZPh{}A|IMQRe zCrL*v^VyVZMQ|-MXU`#iI1a5sA=mgq8W^V?p2S8q7hJ(^cQ%Am4Q!8aI78&(WM|=I zUr3Tx#mVNH4-!r0b5S1dG!Qix*}0%v_uC;8^01D|$XsFvX&A8pHh}_+A>e6$on`~i zp5_R|^F#!6mY(Mrbv0P~&<HpRkvFP56C#Mw_D`S3XiXTPR>SD2;A=G?29w7(n7%4O z8)N0-Sk20YhUH6{=k3%zi5QGbYQ{4GSs{ac$6qR=ELEJB8AwI2weAMqLRuLUJE;F9 z8j7eEQz1hKJw)GPQ$fdYcun$?hX`N{ze>`Z#2b;bQD0|rfH2RJ4Fckdy@wA@`hk+^ ze5d4a6Z$7>gLLF&Y0P+o|1`)2IF^PBzaSnkmf7UuE!V`1Q()p}pgB1(sALmnq-+qT zq#?gyW}u^Em_Y^1AJ%jAZIX5%bx2%>G4xG`{7OpS{CN7NC5PlYr7tsNs7Wz1x$tPH z+kD<@B6SvINQQ4xWL+74#WCw3tE+}KL-F3#)k}T(UR@o#Oo7x@Eccs1n_<7oVLw=+ zln2nmsrI#W#JTY!PD`dEruE>68QTch7DkK+1D9p>HJ%|g5Fw-Z9J$x&d5!`8edsOZ zxaN@%NG*nxz%@wY_av+Yt(9Mn$_Shyxtw$KBl~<W^UnFmnlI_6(Ujp}3unv^R8odH zuCN<*Pp`8CHJxT^4OZ(U{6fPT<rsI-Z}7IQ8!XaSa4dYAbYQ5=vM<o2jzK5jeH_?H zNkK9s<OrU@1xXQt03gM}PGye)nB%gFnGIno8A%iTIft(eW(P^YyRo=D`$k7GN(l9X zsRQt3Ld>x{ZJYoXfp8{Z-;fa0D~w`lF_EH5mqDzrp);CYizd=SLX{|2_dC0NQbmQX zw3mR`ywoiA>>#DOsPG+9N=yNkam)5e<Srf5M5fMk8IzG>Za1(6^i_ABPXWgl05}q$ zVHPn<!Iczfm?g|oa2<C5H~>AkfQg7BgIQr-L72Eixt2YN01k5YIOVeLKckOHr>H$* zVy2244xTI(5bo0nGQ>4*&LBv5c@Q1KbjrG&i7d-9-GU?GU4+f=G>}{%3;*>EANe&1 zm2o*anU=33GiFRAI7ttbByw1&z6lFy+Yo^p=s;T8n2rp@spI?ts#a#j#B1NN-DlrL z>81giwAT1N<Do1$mlMP`Kc<Q}Ab)5j1pOaV1&j2-TfY|u3nobx74aq0r^~&E*!y3) zsF7YTu9TdzE}YC42E6<frWuuS3qm&(kL^Dn2fXvbEJaZlv^_;94Y&;f*>QfUluo66 zXwiNT4J*XUciu`R{#9AHABNTyS&lc*nv3?O;2GR85<jz-6aQu<%u(Krq~mG+UQVEQ zPOmWr9~Kmr>JQ9@ocrGx#&ej~hzAHls2SBC2LV?3@dC~zVjwzat=kq{%eXBT(%K$Y z@>3RIHYvx0>w}L#0Ic8_Cll@ekqo+U=mO^}@hT1Ikc2b2+`~mkWZA_lnw;TF+Pq*i z?Tx|peR-F<+AQ%WZdt5x`o^8rm^FVltZ$e($`EKW3$Yv*PdeVEz^5Ep`j{zmdF9aN zjcMVOT5vAv2T!iz*vUmFVqk_9239=M8CETYzVVvJxk&<mcR14|*J8>9L^#(<HVg~` zBssfxF%h!Vm{rE8(==*8h@3hdr*T22gF$`?UBa1_bt?nUuBFSWX5q7MR3EUa8coMg zAgJMck1Zs3Acd8l8$72F?M2y+--$68T(A%ZeH3@X8N<YrN446wIevj3nKG7r#(P)& z;wb<b8YrDOGf;Yl1QfhN@XHA^_?igMYEU3FkiDO4(0T_A&_&+GQ4<S96R=Z&_Ao0^ z{<T*@2`Q6+&tGLZ!C5KTq7Mon6%YFl`@<%d7(eWO@$vjUk5)o_6cdM~E#`?C{z8Ao zXBf2ILm-q(TQG`*K*kBdd_E{zK#t-s%UYg%2DdADlQnZLLyyN;#V0@8wfg4BFhvNy z$I%(2RFEj&xHTGfB^?)D82@=w@6ovL^hwPexW&)&cA<blOXgxwF<0Qj7vo+6y$Sps zroaAmH1U0QjG|*@#sOW(SyD%Kc^RwN1KY!66M^JI4SHL$Vx@nDXM}nBUG5n5)iv&1 z?&{nr?$)?tctLM+x5ZtPJ0fzSvfkzyU1Uu|s=vV<Czy-_v(UsV>K?w;iDMQVZ-QJU zm6fdgb8G=qR7<m1R-GyxElre4@y4@KX}UZ+RluEMsW6qFDwU6y&+xod6j4Yyltmqc z)i+q-YuN2s%GxUFDW=)d!iyX92qqr14er1lq6`|nvk&I(oRj1|dIk87Or9rR!BcTm zI<qW8gcOR)Bg1_eO&PDo<QG<pl)Fu&yN!b{v(QeR-B?Aj)Sr>#q=p5p3JM?xvy8Jc zB8d7v?xqTbI*48@YYqMsJ1P+b1o1@|Kc2<0fGwknD$}rWUHa}cGH;Pruy13J9D>tG zP~6MuSJlM5JOWjDWalDFAjT|N%t(~9`L$S9mCt}OI8I(S*HiKJ^mWvvaJ89NGg9J6 zTw*pZaTM2u&Egu$eMl`n*ZYS!i#$g1Cf%dW?>*CuIY}7jH>?T5e=bc{q^4&&d_$JH zS7{K<3dySAPks)K^#JpQtAs^ZJhsP|E{P?kS(emNA21$(X*WqDaxM#~f}&xz6uuh* zvLMz1jB=gx5}h-hJ|8cIYw*fi);{(h*^4i%M5UMT0l-)B;p_Z#R7BOxXfdIp1(d-D zZ%Ci&=P%$xP_N$AUQ|Tb3W3i6A51j@<i4w@h%_k1L8Hm|gx|MCIg|<EM6cDKc>J+1 z_O1=(Ga$mU&ZMih$?QU>vCxBDD0DuK?gmTF#X$cCdoshG)KZE|pQ2eqr~d88u0(V3 zO@0H~K#sEVLzCD!Luk`43s076C7M`4LawCDn1v)UJ~;;1HG=`->1xhN_y8ApgOm|> zKPq5&$m*#U@3=~mFR}=Sj;ia|QT(qtM=CgBcFnlIf?dka0*xT%j@dJdzd4*~zB{BJ zPT_{=hrh!Kus>#y%AB$Et=)4B-cmD&rog>@`;=&h+tzy+LzqDz_f-?f4e>t=%zI|; zyp0lXS?%+<mqT4z<?&5rZWD8C6M+=oV@QvhCM@E*aK;Kt=7_u=-YKC30l@^$C-9A? zt;#r?JY!)V7p1J3e-^&WwAAz&tMfyC2LHh{=GScRIiOmI9%A|UP=gsTake?^&p^IB z46B5f>1J|@FygwkcvogtWw}>uxjR?!^-Axd_=KY4w3w)exy4+*b@1l5K(*ePi!LCk zx_a@>)r)UC7hhVscysCE>&}ZeSM=}T`3rq{*Wbc*RN~hk{5V|yCNA~++;JYwPfL0I z0dM>^cLGb<h7pu=JfrmL54rnY?xYHlAl5TK8D-Hod{~XS8<pSWw{1ogzk{by36mM2 zC|5@X7FcgZCHUM3MB@`miiZ9J?&i5;m4J!`lS3o}txmIG4Y4?cunvGkO$+lcluIse zTG<?QcE&yjFmalC9Dj587_|UB&V2^g-1Dl8b9s9ujRZ3QL-j7A`6f=xI**=-!4pIR zx#F)ux#NE&>>+doVao0-h`G7|rJf0v_(=uu<P}EwsMui|Ab1ozWEWkD%~#I7fgT&Y z!k}jg+2hz1HOQjqRS8*{1(eu%jDrwHAqt>gau}Q@SW90+G{-0Ip*V{8r7f6%%TOgS zenXLnXJgk3_gM`x`9)Gqi>!I54kod0GZ|p04upkd^>4x01v-Rr2=ahmmxR9i>&LOr zg?~tZ*#T1o$1hzmOa~%&ms71mtd_+_c@i_e4y5sJSx|-b?aX`d{zaqB+alD+AIel7 z8;1-&DqrU!E7M`WG=W+L1s1H{B{O~yrAE^!l&@TeYlB73FX1G42T?-8DFe{h8+;=I zW5QsVyrW;iy=WpOTXlxEG%%H-b~EROA!&4MOyfVH&~v%Mnkd<YOiA$blzlp*zmIz< zTp>{=v58Fga6-ijl?YWB9ES>pAM{NE6FWrQSyv>5(R`ksy=S#wk|!oydsmWI3&wLo zcy<BmxCnI|8g;yLk~8An842d%19p-4uiv)JKZn@^XRx&VkIzDy%wR-D({V}8n@$qz zuz;l3VM%W!(c5vt4`MC#OC;L%<0Uq3-b@=aw-_8w+Zw0|Iv3&(ui*hQ*!wj8;|1^v zSI-cGke-iBx)<OIk?opraeks7de#B&eiyqaN8eajC$K)6c@`fbHIU36Yf=J!$d*VC zP>KXstJCHL|0qI$?ugV(OJ5Q<{3wN)p1xI_!dLoKfinmnm^4|y+>HJKn=r1-%KRhd zD>Z@Ee}o76kFkr6peYj?uF1c-k^e8ik4Cr-X)p$rsHPT`bWlz2PT%9ZllUYX=tm4g zbVPMqt=(GRIWCxwx%yvR$@fq4t&e1zMpLhK+q4A6ut-!zs3)`SK3m~z6OC@j$l(m2 z7$FV;epI?{KA`<l8CQa5@WmCZ1;4sF2Wv3}!pvl6Uz$AuFKDuSY_@Rx8`d}A7aS>F KD1EAY;(r0;Qu?3( literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/exceptions.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/exceptions.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a6fd50437e64ddd0e8f0b35921d6f783e7ee2a68 GIT binary patch literal 5533 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/hooks.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/hooks.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..89dde7ecf52ff14b863a465757b996707c954ba1 GIT binary patch literal 1006 zcmY*YL2uJA6t<Hl?IMZ*A#p*-NC>IYmJAIhF-;SQNgxe%6`eq;m@+SR6R&BV*=|Rt zl*@MJ!mr@S-^rB|KY+_F@RGG`d)0e!zW4mq?|aT#v+3dAe?R}R5c-9#8N8!c;QA2+ zhI)wM822!<n0=0V7OOD_o;Gv4s8v7x=_!6Z=GtgKk#eBDuQ$x|_7b7VP_l8#Nv7mP zFs_M7IEiRR4@D}B0H7~b1%8;5k&2AysWyD*d*15_6)8Ogjw-R?c?SoI>r9R`KRDR% z2-qHwE-(`F5m(f3M*2z)2_<u8-zyr6q6ixNZ)MwW!1Zki4B9<M25qA=3~k!&2+s@4 zvKn|7T;GErP>%M!8IDnozgx$(F8YB~S=F)%%U>-VKH(!%Ayv3I4-z@#!BE6wo<4uE z9(1NrLe;RN<PndIhIf<5(Z^2vEu8;^P6HsA1gSU-vMRIYuLoKfzLL>sKx3|hOk^w1 zUiz#4+DbNsw9n(X1cMN^GO2>ajNq?fMt(NE@HUx<OeBZdR@sFvPwb-8$Bg&sI5pvA z;btl$n(8h8s=9>>=iTn^PWP&%%asERMf1k~y9;K7RRh+M4WTp_yi{=qTz4SkICBM> z;T#`<o@cmRsrLpV!)KOyn!_EO;V(~eyp8rB&T4rrxB57@zu}paJIop^spZ_6S;xzt zP;QkYJ6+!vI-@2^;Cj*O+K{qkAxBhAi5vkK3($vTf=8UlK4H{Qzi5OZ^qhua8zyMS z+!XbMYHEyXxrII8)5595=`EFyu-sI*gA=M^UDQgb=T+)enQJ1=^_d^4DtS=0e;)#} z8rZ`%a2Na*Zop670leL+74<M=G73Xg2cXiiN?oHaho>t3#^&Xxw$%hkS2APQZn*yd Dk&O*C literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/models.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/models.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..00664e4fc3068d5437f36e5952bd88662d9bc61e GIT binary patch literal 24188 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/packages.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/packages.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a319cc042e4b9def8284fdb7b913837e8dcb05c9 GIT binary patch literal 551 zcmYjN&2G~`5T3P@*flidMAQrS9I^{as8lJcI3RIBQ6wZPSs=?~huEqAvb%2M9=KSD zXW<EWm%Vc8D{z4^O{A{0-_CyX`_1h1G+_6CKmBq5e#4_PAo~qn{f$6^WEq68ucZGL zJ|`iQePm+@9dyxY8TML0wt)S6>?3RkEu*N*&_fTMYez59+xqCp!5CVm=ER=Je#<2L z?wmmwbQ$QKLH9}zgE1^%H@|}2@QV6=fXT@{%>Ya5)hf%<FEiUqWf5C%oy1C_xqDir z6_0MPkfq|5@w*p~35B~Fwb8ta*Vpj|HJ`YO<brZL=n+hwSXVdNdWVp3^iT|CbYN@{ zMQL7@%0!VJWaT=}wC!c7HrC5aS!bxNONI@!iIvf}sY$GxVG$1NqEh%Z-BU3N_zCJ+ z*S3Q{KSWaIDDreuV>W+%E>=yaDPO5_i)*9lZ<4b3xLUr84c^9$pt)`Y?LbujJu`kT zbZT&V)Fw#z^wkA_$!F85Aved(rX$5+KjOF!aZKS=WBtX0h)YIe=^=sN517w}?ub2S GBlZu5-lF#a literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/sessions.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/sessions.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d06e15835656f605c92a8bc52398368601255b22 GIT binary patch literal 19452 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 T9V*V_m8t1p%iY7pzcc>_8Fqb~ literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/status_codes.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/status_codes.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cadee150a549c986ec524cbb714c4ce298a92c02 GIT binary patch literal 4804 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 DCDOpz literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/structures.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/structures.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..83e0ba79ccb320ff44712f694bb5909faf577eb8 GIT binary patch literal 4405 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 UC{O2y)KyAq0UT?`zV+LG127yd{{R30 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/utils.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__pycache__/utils.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e4f6609f856726ec92da79e0bbea15c3f08971fd GIT binary patch literal 22186 zcmch9dvF{_df&|K6AKUoA(A3_Jl!0R6u1<y;7b$*k(BrVB}x=XfgmZZC@mM;17LxD zv1dR6tA*|X`Ra1^UF_7Q;@B$tVmmJ9>Jlec&Xsd<IhCt(DyedkixXE;<9||d>_nBs zcAZnM6#r3vzprN&3y3<OT~0vmOixdDPtVui`}=xMY}=NzKlt!YdD*gl-|G2Gp!@=U z{x3L|rL3Z*Y~|GKqAh2q=*T%yOvpJ|Ov*V`OvyQ2Ov^b_%*Z)g%*wg1*eB;)F(>E# zV!ukLWNn~6P#mx=lvA~B^}*txl+(5C^`YXBlryy*_2J@UQqH2hv$(UqtGKJaySTgl zc=7T2p5mVR-s0Z+zT&?6CyJk_?=SAJf3o<=`V++`>Yplps_quu`lpMZt{*5KkTLpd zpQ#@#9+YyfcBuYj@kuH7*GB4xi-+s^V!nQ)c%=SR@hQ|V7Dv6o#j$m(SWts%yBd1m zDUN&D#iMG+lJk?cKCXt<WA9nTV``_`h4UxWZuL0M$JHLS7v~ddNqs`?f6p$SRG(B& zpyp}yDdpmPN_|=#!1)>V8Fdin)9R3V66a^th&qh(gsQ2$I)a|hsi)K^YR;%JRlxbI z8dpbgKBtbU<2XOBPN<VOzo4F0r*J;6o>8Z9zM!5}6F6V=E~)yuU7S>B)j3>WR?n*! zaDGvpR~K-8NnKQzaK54@)n%MtRxhfTaDK&e7O$!+>gD$=^nO*nqOPKLN;TB0Y6|nZ zrmm^$sJX71YFgbu&1-5#-9*i_x}|R8d_%pyIHTS`@0;FDRorP6Z{hqV&bQSa^%h#Z zuHIH9oZnD)RT<}^ms)&N&7#L0DOFH<ODW~y-rH(U&Es5B3#y9qUFF=c@~!sQa@xDM z?D>ITSPrT+KlkpYzg%u+q3XN!rdqCfZc8`sSC!|xY+4Og-MQsPC8#zVz8fr*1GlU_ zciH!p`=A;uR2%MeG<2?ew_Nj^Y%;f8bLX1c^;QB;H_A1)f<cz+Ee=-5eL#|$`oP99 zZ-@P*(tS_+xKk?OGF9<(;G-}UG)s+gP`&S!{6JS5^Qhb2Dr?^>Ed)WURIB<yetVd@ zx7-Z8FuSa4ax+ZLt_GeTCeSJDzowO^J$0#C3Bt^B!?exKdjZ~crHW<)EUcDhS6gM@ z4|5o0xnai1&6a%tj!zD^RU3gf@99#o+Cryv)i1SHPlS7VJD0r1{i<#@>RuxVcW*pm zQ+?*ua;s(D<*`b$xm5KQ%epkDoAr{y9Px^eUBqLrG<>h&SNZasdOjKEt~BnKYgKh~ z`f9i>D!=5F@pj?%%hj6qYEyZ)%eukY?z-8~-h*mGm1k?-g{E4a)Vir3rV9-((3LP< zlJf`G0srbh#VX{TFiDVxDIWbWg}x__SGYd>OXIf-zl-?!{~L$ZeSxKiz^km9y=FJa z#jKjMX5Y3NJCjzBSjy>wZSfzm@O5kTRL5RS;+Im1b!W{9(kN#-j!LeBW9|h7ttFzG zl&M)uMq_0$R=ansPGZ3Fztl+%So$Y8dMCNqr_vZ9x$=4^dC7X~`dX@!Qkf-3|C-8n ztfdUjeQ1|j%&Dx(;rY0aa=#krmba-a%R&F*Kqu9)aNf3_(C@R~z4vd+TjU3)Gy!tC z{oIY_T<`$2aOc%(MK^t1-MI~5Hy`+SE-q`0<-cX{`OXz!jRvsY8(t7#W&C3Qb)ws3 zgDX?qCKuO${TgKV(0;C+Ia6y^%C&Q$U6^S*cM73>r0o=rJhY$B59(n&K1^e6v^O7S zN>QQzO1;(8fh=*Dxz_R;uXwBBj+b7Ue4}*n=JfRB)J*B-jmhaS0UQnoUR(C`>aB8Z z*_&KJ^BbmL%5Q<-!;JP?wQ|J^9qomwdO4^pg!Ywu8tBmkB|M1<6o*I(e5s9h5-Nz_ zNiO1d3X>qk;O|-bX>@(~-uObZ?v2;0^UGfC<kP3dudh}X%DN6PEP9o|$91sKY}~p& z^<p{j9+X$d?}MhsYt`BDmfSf}I5iHc@Wxu@%2IjW^T%7&*4VLU3r7nl#z2sTQw48+ zo|WU^DOeIc9<#r3VSk0zYPd^g7*Tu)umm5`tK*oUe;NnNcI>2`a|Y}|JMB1j7RRhT z;G}Vl8hgM_rgBaW^;xtVkbgrc>u1onOEW|j=m>^p_Ms41>y{o2><+N~h7~yGtWeH7 z?Vp+Uf@R%sXY{f+>Q?8#ZatSEcm0Lta!t9jo@+RirwX~88~t5e@G46_+4jn+>qjW& z&X>^}JkKRpk&${BlZ@`Syh?Sh>Z#H0P~g>kW(<u&_r_E{p?6~b`Y|5(j(J<3V3|v5 z4yRZe#NifxKG}tpPTN^W>NbId3Y4&s-6#ZB2MW}>qlY`zqP=dd;ab2kZouKY<%Vmp z4HCqsuxV60mwXb!qO4cl<(2}X6v7m6qV9u@WfsbQIS91oN`jf%YRfdkA$Bi8w8Z1h zqNSO00*mVC=WyMfa}pQ(@sl|p$D%504ay!^80YR_?)%M>f(_0}9T=Q0@O@BoU24GO z^t-DAsB`d+2{5+ZWRi<Xu(qOMZEskOgRfgbYBAkOtb;Y;8DK+;Sun46gFY~;bkM)< z*al*mbt+f8WyArD=wQTy7;#%LIOkx@@0c+=V9HB<`r94M7USQ+_?$BsUGul)URFkV z63^KV2HwZ<QRaw1(#7o^r}ZaT9ox1r{u3MHqu0)eA>$n}vh%vt9q%AuV+Rlo9lPV~ zvDT@C<P75k$12r4$oMdUQ<$EE&}uY8d$xQCaE(<77Ypbr4;-dmZ2*Ufl+YalFx4@% zpAQy9uYmgD16f70fxZFODlKQLf);+Y?YT`uMSRQzXz76mHajY<SS8Py^}L4L1jodK zpw0x)R;UVj?%`^|D~OiUTn?nq$n1zaS1Zp;JIsmA@&(suPvup&22tz=O@pzOCZs?m z*fQ~gdu2mqa!(YFj=KJGi@Y08s?|v2+N(G3lX5|hoTa~MS_N{`S}jcap11S?xl4YB zeikQvmWOjVgif^??z{<IO9u87<bj3`)og@L6M}ut56WQkeo!Ke!X#fK%tDw^Z}7t; zOPcITzre#7hs<2LCPG4==T)L!UV%DdH^YIT8I)^WQ>;pHsA5E4snw+3(rn0lwo+do zCI&4EeU>no{{jvcxM&jmRCp@R4mj!%c<w+lhdWL>ofwe1;ZzoFb~+9?b2d3_@01=% zM_<Djmn#GZ{|4}*pfp?tn6>(6VpLgmP)Z$&1`Qf03oi!_l!Xgxsny-2MW`l8P+w{t z7{8W|l#dLk>E#I56I5iRWwrx#L+|gT*OJ$*d;4!g1yPBmtZpc@3Hr#`*D@-#mJM=L zB|!aO?PM1RL`lhZGK<?52RqqyaFM;%S|3y+r;`NDZ}0S>U#^qWzte#kxYyFZsqBWM zGHd;vT&I7ph1%?1YYr4;=&_RshJ@aK5YxN<qc2#79?@bSD0W9M%od<nn2Y>p?sA^_ zzV>r5mnDsL=`UDrfjY{|5uugcdFY@G7kaUgC!#tQL=^(RP03}reTs_Zb?WAVDpT#` zyW{Vy{VBk2O@yhkU#V6#S4dyLA^(`B>ZxDDA?%-;oSD8@x_ss8<PAN^nq&(CEX;W; zt#U)bmeAl8O$}uv%tEs<`byecfz<YOmK}0cFaRJngoDnpBCWg%5j&09L7&nER2B#M zPGBR|N;zn1U%!G%eVEM$&qHEVXO{yr`TRhb!0Q$Vbh!#!!=vu(Z_K!ulXou3EbTdP zvu35}=xQ-5IuvvXBOX7=hh}Qc`D&w7-AV_8Fb|9tUgETV1#OM;k#OuGhveYcyY0aw z$N)r;PC(UgvPq~V_%{TlWDwUwAc5foRFK3@TbD6HS85T`lw3jsgt%~ixGL5Y;O(|P z2bpCDlwRk+xf6RWm0U_lIfHVVWkVAkP{R$Q{$|@pXEY2ZGC8PkK21VTm{g-&?{Zs% zEX`S}b6{7zWw`%C`-~vKL;KtZAL0)>Wd<-1SzW{o^$-tSe|-~&FiYc$-GO8YjHhRL zYqQD`4$4GIB1zEn_t3;AMp%H_KCls8MY#)=3@*A*`3+nIkkX5yi0L6}9&()^{oa8w zv*xUv1gvJFR)7Rd4s!)#C29jl4-A_`$C-CPz0SP@w~Z9XeP79#DHuAqT1%477qja$ zNZyq@kn51ODH%W6NzFlGE@HfO`{$gmT5IX(x!^VaucK!_`lpoh6=yBoNrQe9?e9$+ zW!-Hw8$u31ZkJdYS?e{Jmu{`P<Z-1|AzS7=D0vW3Zr!WTq6`UHcH7mK=z3*cSpcPr z(37R5AwoVb%^I}ib-5BiI8~ah)mXX)WsOxFb!qC?d{0JNT!!ANjY3NtfqF`>f|9wp z@F*;l8}rm-sl`6D$DvPh$@2pn%dg)+g^+ESTx?bwVFuIWGLzOzaXC}0wl1?WOGKeN zAk0D!j2dEIyiipgW}?aGGX}Xb(aVNu1Bo!*0(7b?#Vm#vbP5wey;U6SzO+#LR`lB$ z-R6W^o{~2H?_=h^i-VOKaFR(9>5x4Pf+kUem_f>Wa2|B@1GMQPCpje*XCYbgE2_p2 zDg(3-NWK9GHb?}?IjWOS20(>%`wKQKX|X5riSqX`#7r5h4W-!-AWG0lV1IGdp)=61 zs6s121JO0`(x5ReDRi!~EXRg!U2tzUpnyOFF+Cd1;1Rw2<;ucnyx8T2jM3wA8FjtF zd|}jBEE5wOmdm+w=R};8mb}#x{2JoSIsE3~5nPXqx+AC>$-kAC@rWipWB!m<j~;cz z_;5xxMl<Fw`T7K*!B>N2LB-DiuE*WQd&kE_DEi&mJo-8B$mA!?<kvQy_QU5cgHCAr zl_q*$Q|hPMPyGev2lN(JN*Sp8a0rvL&1OwM#bR#brFB0lU>v0YWq1R&Fx4I6jOtw% zs7#j6L9HRmp<!A{@8Igu$om5B{D{a)v`zz^Ps85GfEQW;95$3VK<A(Mt48N5J;=X- zvS5&)584XUd;A}YurL~X!SX{8aVsKk!kn$cd>r2Vg$DU6L-NSI5Mw04^Or%zzAdPz zSAZ6RiF%c#T|Cf850m1@wRM{{TX1pv7Fg{kCeqPhZI3ZgZ1y$Obg?mkixhssO7EaB z4~uqXnoM-vhR%O^&4KF?+R%?V(5m5tR5nXVD`71;&6CjOokr4uwya-<p5!P;rFft6 z9ZpL0rA>Tq5PCl`HC=Y_Kv8`Km%vGB!1@(vl;EthtM2sWi|+BGr%uBOD2@yFcm!jZ zgYYy%AziMOVVa898Pc_0FOT^iuHf2G(U=eD(Gjui)jT?wec-ID3ni@Ja2-}?wNa@p zgN=!sTa6jU=NDY}{N^e=1zsiTPvg1_<F{;{EN!7sjF}-^GlXdmn;8m%+%Sgef)V)j zs!}!B%kFFR!~+1BYHZ0uyKO>shtgfEt-9qo820j_FgIf;K(3VisKJA#hC@q~mI($Q zChiJU;H(Ks3*zm*>xzCM5eM=5$XoE`;aK;|+O03wf+}s8pjzi-AOkDVB_RNfL!EIA zI1fblX&BqlG-d$DNNEwa$TnrXKKhrnawjS^#0Mts64ZAiK}IoPrpMZ7euqbb=91SK zbq_=kl+g}E(&tTcmm;qB_Q+dCG|n{LiuSPXc(i%l4JY2F8Mx(nEZQhTEyN0eK?E>` zFiRI!aR4W#YGPI0l_^cg>oK}vbiT4dBlB3JoJ|;jOl*F8^RP%_@y(@TDpKzcXb&VO zhkPO&hEl|UO%H&=olzJjnk2>lGHf+2Uqiv$NJbE*p_^bK!z9;uD_hv{kwH(BG0^n4 z9#6tJIt-m_(AMway2}=*`ghqv2NzYc1>I!}b8BD<9S7?9K?OqZIA=iQP{|qFg;NhE zL4poSu!Dp!4og7?>tP(XU_`}?qelNO;<o9CaiAYYOmM`AZDh)C!%DkO;0WAF&n~3P zs97A~RaO5etc3V2@CO~k!6nYBI{1L-`NnB34$~f#RqojcZN(L87X0wYT(f!hfFS)` z)n7O;3aZp+4}h6HfX^w$U!pu!mBT7e0^tDibULo3zy>~CTAn(r3PPWU^F|edIKzm< z{AkRP{HQCBWnK5dQ2PumKwbm0!Afwe(Tu=C$5@$gqFNez&F)UY0Qx9VZhAWkZbmKP z&oc-Y5u^y;Eq5kd4!HKClO&&X_x}k=a^#2;d<;p-vjz0A$YzaHJhaams?_fS-FxX$ zf0h+AGxX<h$R~~T{Q@i2d3cny9Z?;Jk4X1*QXPW>)^1WABO-8L2=&4E{vztTZaE-3 z<ZC39-$tQh=_1uch+s?gb;a)!J>r-59hD;uf%0H}`<GFZG~!s?6lk#shlPSm9Oo?Q z6p=m#5&GNz?WT$Ll8r~aR5%Uf)ZuA5gM9=QKy(q?6n4CcCEd*%kc*F3H6crA3`86k zvI5-=CnF1m_sD&~82PM591w$x6okRNOu;A1VcgWjU_NU@08VUT%9Q85)1~beG0YeP zjI994EW?T`&N$b&%v0iGL+tR*L;DU+z5LkLjB@22S?yv!OzGHlvW3G6R=mU26}3Nm zFg1|b4NF$)yBwA4*>$KKz=d$sJsk^5))1AfMRGlGQ1HE6#P{s>=VG^`(DAseNpDO? zqE==1q6EiZF6+&rtFkz;aVxfS0iwthhoZumx-VjLGrYQF5xu|QI7F0FSq%G4HwnQP z)8=9eNW#Yi@x?eY4G_5h8bKr;rwq;eAxD21V0bjr6Os@%3;;4JVz<A$0f>w7%NlY2 zXvq99KmY=8fs+55xlun0nh^jDewiEciWBZ7@)aX-%nFEKFB(FmM|Vn_q1de!+=J_e zfjmI;OE~Gj#={mBepgv3c_?FUW)1+{FA{L%307ABIF4PMB0hC-Y6cf{gDG)VBK!qM zy@D5nc?58T*>auiUh@vP0~B>;6NqO7*eB=5txh5?QE6}2V&IG64`MVZ6M4I%h*PBf zZUMZBMomDqr*B0Rs2&8|Je~nw`<I~V$AM@Q`Jw-}+tlQL#1D<dTBJf3+{<7Y^(G}@ z!#Kj>m4mr}kdvsj#x77*zq0Hzi^j$Os_!p*?q`l4KXt0$9u^K31$p9#a<f5w+^Eb= zc+Ly?_NUL(;gKyId7eReXxwMtJaA{^ts{pEPd%S!@!VT<8ZZjxx1Z{^HQ<QaKG*Hr z)2n^(?K5|tU#ZtHbo|bb7(1h{V7>LrIE2HOJSgbK0eRa*r}R<Y$iO~o!RM!s%heo{ zTxvB0q;Nx`gvDGmdqnn&eJx#{ua{X&<M}vmMbCX7zYza`I7+v)l|mdUk%q&4$j&8( zZT(ZI>tZbFx{I+thYOKObos)`t{}S@+NPUbB`L`qgrU|F;FQ4BwbaT&CjoAGmrh*? zf#a-?chV}2c9}JVnidfP!dQKsK9z-I{)@Pm?DTP@MVsNOwM-|Cdx^&(8GCB8oopwG zU{hk<0{1-*?hE%bgGUJb{Bn%@F~(7#h@m8$g2C5K)L_JsQHLU7WvV730uf%&H5N<+ ziDSb=p=|ufW5`K?sEpu8RxEvdR7&B;<<pH|qe$71Zd2{Vfe~a#{1|I#V?b-61{0=8 zgsm`1TnJM&M0#~T7pBb=!?c)V$n%P3AsJk7`0`mu$1!Ka_y<K_mD~UsF(o&{1awCu zF}LFh-b$%CS3=|&scs)ZrpVgqeN?1Ue3!_?Oad#LLu|r?Jefekh)&iXMzm+h)<28; zUBsezC5ya>pMMF5Uc~Z;nf$~!P8_XJh(au-^+|Xv5YYkJAgYMiO{!y~_63EQfusax z+H3Lh$F#U<v0s{*x$eFsrnX3l&CJgL)t~4U*pFa-j}X7Hy3&ppVvJZf1-doNrtORz zV0?QeXy>lnxHfkB^wZCd9fN#MfI<Z@`fmURsK`W<(0>cp`lor=B6Ifk618EjQJ>%I z(sU;0a1jQO+cSut{yN6#3T}GhNz)ble2oL-iSfrDSV6K1C^kp^<`$ep_lA%kMjt(0 zLuiG-E*9V`kU=Z1wA_QxPhv5_ATKk|^h75m{U$(@sHZ-w(vW7n*D&`aD=5?6cO!t7 zS%)`?zG>>QKu~yvnz}G$G&ws=oABhHVvg2~uxF$|kRN8_)eWJ~U<5zh1*pJ51hE4D zQMqPD)%s2JL^LiNj~&`tY=AHmwLnJZ!g6B?Ibrv=0{RK8DrQ(REx}&>7V<p3(sHB9 zhyDqny@yjv5X~6_88&Ae5yG_fH*v2Ebs~Hh>Q`~0#O0=(rL4ab9MoPy*xlIcu-uPy zBnfBTUa~ao0`ND$|8a{vknrWzGvKxNo`~}I5^eX2fDc}NX#cKXt5yJ1C_&{|&I_}d zf>OhL3Se5AoTV{e9FVqArbC!OhQn4s^b>j|Go%BeHNFU77&F5LLEidT`KEw}{P9hh zPjwML|2_`AS`OWn0m6`r#2CDletC5uU^-A5u164k(h8WE@KPN1U(6bpqzUe?4#jN+ z4-x7|`#!X9MeQ*TQyEkevLMy|FEKNq-4UrM@H)mUdlq?iP&;6O$bxQW28f<aM=Rc= zi37{x=G|eaHAj7C5JXmyH{w{qji}$~z0p&JGl&Q{UU26i-r<VCH0a5T@)KQFMst!O z7@36Fhy>AQ1F8LskJP@R?uI?YnA`O!{Qp+IB6`+;2gop$&uyqe`YWgr?xcU7C8`_x zCvgY|Zkk1rj0pXCR`tz*r^+?_XiO?7ZU+V<G#N7kU;h&OKZ;*I5*`D@Wf5BgMh8kJ z$TyjzGiVPnSpjGLEk5bw`3n~>O<sQSr7JJLa`n}zYu8_!zA<z2*6r8dD3)g{%A1>C zs4gzm>WyaWp7w*~`wv!D+wH-l$Bv&sD(Ew(pB*cd-tAHdJ$2jg6AJm4C~OG7m2U;$ zvGA}#^sPJK#b2jmz5}|Cb*!}n?jn(n9y$FDa#`eFeq(hwNP;%7n_`{8dS)2App7(W zBQUfPWE2wcc7un1Ax>;d23d&DpN1}Fo{&@-av0bXxQ1r+9h2(TQ?u`*HQ+$m#Xing z^sisJ*%(8Bpe#z)s*8lE3OI6H73U?2i@ogLoW24-Se$&1)L&S6@LCI|lXwi~N113a z3GP!+fI8xaNcgPPym>e)NI&%KpTBYO$`xb1L}Aa^2OfKnVp;vrK4csV<Xhrb_<;Iw z`%sjB{&7=B4D^scG8H2CFH+GoL;k{6!%P*9m&S5EOjH(hPeh1vA{@LqH9d)B<y(`N zN;f8F^b#ubDdyu;L#kteAKKN>MpklVD-sXKZsp}Jke(*??!ypPIwx`Xoxt2-@?%K+ zea^50kH$a4-7eOVFEcnQST}(JBoJ_I%>h@XvIWebCjS+~g_&%5GQu3-ClxQ=>GIZZ zPJ1SdB7qx|8iVDG86i^`WB)vKUmu$dHaEnTZZ6L+VC7;L(73p%+{$W&0gk3%0pc3V zFb<=L2;HUFeL>@nkq?Mtc<6y%s4x+Sn1@FW{CKU~J3sxIgNL3RIh;T8)adxcb7!A_ z;mx<+Z9j(Et(8zSl74y4V`?yyY6OOw>xYW(;8fhf+u~I%Mc7^3*{z}rHmcpahW(U4 zh#{4*-miAWXcmf^?I4w6Fsc7JhVLp2e0Vo$qK1oDj6&VQQei6rNR`Y1ZUL|Zap5O7 z+5{=2Pe91ZKhsvSap-Qq2<Tx(=%ijiJ`NNLoMCL?xP)cSC)<B4hIMxhL3Z%{xvR}( zI_)Y<&SuI5R`1Gn<WAI@^fKU1*+m8!BVEY<oJG-yt;v;g9X9<0D3`h5z9fT7%0>$g z`(w`@FC05{x^S#;%n&l9Y;Wz+@#7~28^n_0As*&33>B05@gt0L^k_jw+9XJsL?9Jy z=j>HukSzk(`HUz?%h*|y=AN0#60Vz-B`*m3kh>d{ps6+t{ST@pl5rF>-s)w4NvIy( z9hhwi)D_d!7TiR-n85`LNL;9b)OpGFQXs&#;>$1_BT1!%96PjS6Cy|CwL}7){RE6H z{o6zu@-Y74K2)NJ#-Buip<ozK)*kB|Or$;5dFo%Vu89P&wSfe}w^QxUUo<fm?3co% zjLI^;vcha#ggCjfD=RC7p5K;*1ujTOQ0VcK8>AmE)bXdEF2uj1k5*-BWKbV|_QTI6 zEMd$axVUaR=dQpO{vL`E;Nki!>+kX!xs;V9ZtoGW|0`5&0ipgEtRu__6DtFb$eJ#+ z2(>OpJc5hWLBfXQC5hooWrwi|PKaHD{72gb9FPQ(XzzYB9$lURqu_k?Z{ZN8#D>Y+ z#Xh5Nm#VETvkbSxS6yx0KUs<ve6736NhU)gU)a{agR#2v<|=nJY&s`n{Q=g5qd$kF zU%Ug1WDq}@1oVO4-Af23%DYI?FF3xlWce@SoLoxkDW=b^?g@}G+#Mms5eSca?*Sf2 zBnCV>y<;@MfM9?#aWB)pB~ZDAeK@XPCCx{?0;UMH@Jdx7``h3YRPRQ!WHxx*FY79| z4Q*lIUFy^%N<oXu`d_oiwVMH%r4a3J1V+?K%ttaXy71Tk4(;+zaWH~@L`eGk9Ak^7 zxDD$7k9}2@ILj|_6^wixgk&YX(My&@g6bYxKF}2Pf50eRhD{tBU<H0Yy}N*^z0@aG z&H>_;NynuB)?nEgtBqu6+H<tBVGB(`e`8+UC3F9*)yN?cS}^hq@s1jn)BZQun<TL8 z+4+J9qJf_~f?Dh>ta~G*S>~E8dn1P6ZZN|Ep2z#u=CW^Mj-&2s)vKvdVY^r#dUAc( z;FP#q+rp5<4Q?ioC1!&^X9m$?BG?(tgYui<$5B@`8F0cr%XtdgNk9vUjAo0Wrk^pN zEW*e)Z({sY+vHVBPz#x08TK`6$^<*NE@MCQDWb8y&P9|UUY7o-0hs0vQtOj2Tyu{8 zk9bgb`IuAIC8|-N7g^_fB4N2?k_EpXY7h-qEFhT#oF7Rz@R=WfT%{14v-N*s!0tV| zR2+otu<rzHHpk2y=_T!vU;nk0c8A$IqsWkjYXmi)qqG*MCo<|e*1cJC4T7FE*HGy% zu@2HYxtP)a5YEzmn8zru(;1Lnc~ZuF0!~x3f=Z5h|NC&VN=biPM)@{!cynO<2qymZ zQ#Ki1KU-sV*~nxV2#~`cW!4WzWInK#jdSl+;x%g;$k^cyo5LJa4FD~-wXX_R#1=Pl zdVnAr@%7jzZ?<^JelEta;PwXsd>pxVSslro?Cu7BVykTsQVSb34N=hq5;0~^K~@l% z^zZUOL<&>bEdr-0wo83P!e-CZ%Jo@QKKGkM6EwEkBW6!pyn&9)39~Jjos0fC6ikmP z<mE=ZYo<F{PLw|m<ui8FvECY#q;#lh;umui<G1#d;4DO!Q#ksl{bmpQ&dg)u&Pq$4 z`?s7L2TfY-!++l7;!Y23SN~)5d1#Ne6BF;OUCwVey9u(~cSr6ZCb<ccQ?v*t6IB9I z6&VitHY(|6Q$7<5gi>U~oBl^^P4*gQk)>mVTc3WLwM<bj_R&2lJiRy&L#TvAYVk^A zdv!4@HzDwfgPcsHNb{K|*gtLXWGhkcdgQBro4`4PZdR5X2pFT!Iv{W4Cht!e=koxh zXAX9K8s{N|F?T1j@QYHeBIb))?6LU+^zX6(1L{bFBKs$)laqhN(L+_NUVw;4<Ze#1 z&-WlbRA2i3>2&Mmi!lmqR(jY{`obYcxJ@C<$a!e`1yJq+bSoepGwxs6j4f~mdj2WF zKwH5|BMIBle~41|g;-C~bP+#s$93#hn!)UdhcT2*L6ybMK8h$>2jpH*3?<=!91H;% zwvr>&Mky<2KDh>gh5bfPNT6po-Mr$Fe;p14s134*=ykY)jXUn|-#~sJ08|zxfDQQI z0hA)xk0Lua5wL^XvR4a`7zOW7U^ALDgsH)(OWZYb>Io#H=uHIg3HN-jA0Lb2!)RgB z9G)5%X+;tV#c~n6giGS8iO@`i3D`U!pYic_8YP^;T(W?o{?9xJb4i<#@@ZMHFcUqz z7;V@O{9;aqWo|8Ys7aZDJMPM7<YkKnGT;k@4E=n_RTcMCnurY}KS8%Lx9l>q!n(Ah z{|DysaJxx{8jHiQU5-TdnZQpLpUMgJ3}Ez}vzvU#X<yrnzeY)d4iII}6VzNGIJnA4 zSYv(&Qk1}DwleOnp`AM9j~~JZ4m6*N(=1L~-*Pw_uEgO=GTdG?HzD)1{$J=)!LR#A z43-x#<VXU<&J+n9ngGN5kjZ$RZ2MV*2$A(4L!*G%!H|O=!7n`G`vcOa?Tor%avqx< z7#ctrIPltuBjZQfxh2nQjX^8C@4+a}-Ncl~&JzOd?dK~MuN90<GP@p-3e%<{%)yju zm~>cB@*iRL`j2sdp7S`%d_VF1^uR^%;1q6z+hgEFL7fAH4E>@Oi~+8`W9uK_s=LJ0 zTPSM;LgeLiv4bid8U=KoGqKO#$9!Ho7fIRBT^wj1zp$2A-3bRG3`Bmc03L+oS_)bK z_rvlt2X7ncPp2XRwzwDVu%rHAF>qUjF0yhR9~{64l6`z(Eweg|z$|nh@knIXxSvmU z1Y^8kHsf8l%sBD<;C0BFnZo7R2Djj@BkT-9_~|gOu(Eya-!O`W8zpjroWUFTwT@b~ zu@vPLna$!9*M`^1KG&<bKjEI?w;v|P3x&cs-1R`;#g;dJ?m1w3?W|NhCz*f95v&6r z$9ea_Xw*r1(MjLiiPz836~C#=W**;7A8jYxkpu1IsC(p$K7bW6en$#uVH@q#nR93$ z!QXsJB7u?*V8pZ7GoMG>e4i-7hyvr4{NlDKTtJOj<BK3rkB!t|(2$AejV1lJ`G}w4 zVGE-f7U;zpVKQKWi1sAfT3N_X?&*Oj83wxTqz&o}!uB!##jLXjSNhM;@*(obshJt~ zDF)a;OI~!v4y`R@w?Uz%f0-H)RX6+`D4J>Q(tf0jHBo-lBTZeOqH-y<l4*)sy0=o& zV_Ic+Z!sMJ4QXK^f56cT@+}Mp*>jG5UwYceQboWRer`v9QRQU3emrNR_I;|aRO``# zTgT%$^x^u~)wZ|?=Z#1c+NeQDe<J1f_O4CrCgy=tAMm}~>E&Q<?8I^Xe|XWyi_>F% zb>3vK$<1S@#ENaF<fdtJ?9>=`uYvPNeQ;g#%&im0ajRRbdGJ5~U9<}aE?j%HbaUqN ziQ}cKlf73LCc|uW?{v5R*s0!DxVkW@|2>CEl^XD@^7|<`9gof@5GYLIGX!OLzr=%A z?Bi`?b8o?^Xv5;7k8j=Jjou(W(Wzo(xaT<u-*gg|vk_fnWW2@?-fG^ZWv!EtS6#)0 zqLxn3i}=a@QKN~0QKgw>LWZ=KhOv|I4<dq*0E<E$H#K0(BDNfYtz_oFMzB(L`x`IH zMqfr8u0o>0p~a+nXaYPj^HH+@%aLM${38$-lwT2k#<y(*y-9hx6z5BJBX;b-?Pk#c zh_qpgF(oIAU1~dKk05e`;V*?Uyv!)|7TYIAABYT5GPdKj^I0Kj?#g{oGBeQs9rgMS z4>x%bYER)?0eUse&M_khLvJN_e9A}OCmN$vor6cw!?wj$E)pMSrFSC{2sUwsOF*@O ze<WgR4YC9mP>6I!8!jRcF~0d=%Ng8%4uJ&l`u%hf1tij(J`-7wxD#=F<2ZXKUJUNL z7D#cMFs9Aj%gpg&8WaGBjUd>vWVU7!nBCNGlY|px*HDR|MKj7M1DvE=<2{D~*irmU zqPCbt0I@J%9-z7jxcQp+&Qdg3n2kr%Z{dbmJ&@m`mH$_^OmfOw!MuaIId7P_D_-x* zgfEA-(phmFAw|H^{eZ8}^?m!!jW^%Eqwh4{I&!e{_QCe{Efw8`AV=vg#2hX<mf6OO z1#zGdIeJe3nrI+j5JG()ggTUTnExlSml6wQqJCJOBUm2#@9vtV;Z94&`T~5f2urvr zIw%|IlkMMyE03R3VfY4QW3-YeVIAHakc^}eAV0WTS%6!|^BW`P;}A%Y68^}qM^KSO z3*;2SXA7#(kq5sgz8yvRfT`G$4~-llTjsn0NoADi!PN$LUjs>E>M<sQxjSJty1|&h z_bxzuk)QFfpof`rl=j?yCXVtM2ld80IJbDlX0jM89{!NuK6i^AH8DV<DZO(DDMN?+ zHEhnoZaZu~rK^)kXMhYxlT^x4;WCH(DUfs#>u0tw?kQcoI(dGo^wQ+{OOw;3>B$!- zUoTyFV`egZ{84vq%uMTJ?7Wu;TH;75!joW^{7u$~vfXBN0$ZiGV&^Ui+Qc#+>Oxgv zyU@=QL&Zauf$0p3f&p-3`$Fi$!HG{RY;XfI<1RzKj0?jJz>Xn;V}{&u`~%!GZc+h_ zZOL!Rs3fCR3~a{?S|uX(oNC{eCGKSlCPl%lV#L&9AEkW1p@&-l13r$IKD1xx(X~8G z8AMES#}*v<pn(=Hn=yp_2+pcg0Dw;O@HD!agXrnoK;2N)F*g$YuMvu(rKfi$$VZVa zjV~8&z>X5VOTc$=LD<pmj=x&~H+&y<;8SbIMraW9%<3Rug{#Q<eg~wBn4WOf>k;{8 zsCP4*e-B^4X=D-Nhb8m{j0vHaYR|ojTp;<1f!o49b0m?tl4}CLFal7ZKzz!DTi3A< z3>)=8q4C#EWHs=uyWaiO_yP=G6|?~U3@>n%-+(dFP@l)^OtqgokA3vqcI-AQ^0^dz zNzXWx@hvZ50FgcB&f=qOLO|Vd+E3k-kA~4@Z9eXXlllJ5M;n8J$N{<kSFH*$6$eW! zZ+x9)2kx71V2rW!2^<gu7@`!!{yl|UE*U)RlWzRt%+}>au$I%7aes@8JBTr?<RG+R z`i_Q?AEI|-fgwt0qHBH-BX3{E|MrEyOs>f0Oc8hpVLSg%j#=iXg;cXrDj97rCwW9G z0lpiiFY?KgJRIfWdpvv>2YeoI)z>XvO4f0WCA@@X#2$r7aXZ3_zzF2iL0QAM6Lku; zOsA`pb)?x?_R)~wjfAA3X)<&eGt<Oo@m3kXAPLEQ=R$x#%*)4kAa9W!u|;Gt%l-vP zt1srj9wVz<>|%Zth4wUfyD#x}!{uo6%K~bKRPgmaZksCZMl#O%n^$K_7tfb2+?={} zb+UB*{LD+mZE^keYtu6~AjM(GQwqqpz2xgx@<ko_qKJGzLq1d>8@@I7+3NRr_#zLV z<KfFZ{5TIk#lz3?@O2)($-}Sm@GTs|J{Xa0<SHPW^PjMii5C*i7oVz$L((=EKWjJ` ztzo^~fVHWOcl8f=`ww}bOUHN#e!vn9Eu=!q9)A5HYY;I)0E`DJ%%ZZ1PNBcbyZEXq z7KR6MZ(&1%sy!$!yiC|w_6)v~gwJE1<Ldf+T`J^{_=m5K4De@PO7gfTfp$(VF_6fP zWCyZ+*|WJ5*=*L$?#=GU@iV!-+3nf>>`q+o$_{69*+UM$^s*<rTk89>dj@x-&p>ux Xt`Gg66n|C%J$Gbxz;T;EuO0svTe&4J literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__version__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__version__.py new file mode 100644 index 0000000..f5b5d03 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__version__.py @@ -0,0 +1,14 @@ +# .-. .-. .-. . . .-. .-. .-. .-. +# |( |- |.| | | |- `-. | `-. +# ' ' `-' `-`.`-' `-' `-' ' `-' + +__title__ = 'requests' +__description__ = 'Python HTTP for Humans.' +__url__ = 'http://python-requests.org' +__version__ = '2.21.0' +__build__ = 0x022100 +__author__ = 'Kenneth Reitz' +__author_email__ = 'me@kennethreitz.org' +__license__ = 'Apache 2.0' +__copyright__ = 'Copyright 2018 Kenneth Reitz' +__cake__ = u'\u2728 \U0001f370 \u2728' diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/_internal_utils.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/_internal_utils.py new file mode 100644 index 0000000..759d9a5 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/_internal_utils.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- + +""" +requests._internal_utils +~~~~~~~~~~~~~~ + +Provides utility functions that are consumed internally by Requests +which depend on extremely few external helpers (such as compat) +""" + +from .compat import is_py2, builtin_str, str + + +def to_native_string(string, encoding='ascii'): + """Given a string object, regardless of type, returns a representation of + that string in the native string type, encoding and decoding where + necessary. This assumes ASCII unless told otherwise. + """ + if isinstance(string, builtin_str): + out = string + else: + if is_py2: + out = string.encode(encoding) + else: + out = string.decode(encoding) + + return out + + +def unicode_is_ascii(u_string): + """Determine if unicode string only contains ASCII characters. + + :param str u_string: unicode string to check. Must be unicode + and not Python 2 `str`. + :rtype: bool + """ + assert isinstance(u_string, str) + try: + u_string.encode('ascii') + return True + except UnicodeEncodeError: + return False diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/adapters.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/adapters.py new file mode 100644 index 0000000..c30e7c9 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/adapters.py @@ -0,0 +1,533 @@ +# -*- coding: utf-8 -*- + +""" +requests.adapters +~~~~~~~~~~~~~~~~~ + +This module contains the transport adapters that Requests uses to define +and maintain connections. +""" + +import os.path +import socket + +from pip._vendor.urllib3.poolmanager import PoolManager, proxy_from_url +from pip._vendor.urllib3.response import HTTPResponse +from pip._vendor.urllib3.util import parse_url +from pip._vendor.urllib3.util import Timeout as TimeoutSauce +from pip._vendor.urllib3.util.retry import Retry +from pip._vendor.urllib3.exceptions import ClosedPoolError +from pip._vendor.urllib3.exceptions import ConnectTimeoutError +from pip._vendor.urllib3.exceptions import HTTPError as _HTTPError +from pip._vendor.urllib3.exceptions import MaxRetryError +from pip._vendor.urllib3.exceptions import NewConnectionError +from pip._vendor.urllib3.exceptions import ProxyError as _ProxyError +from pip._vendor.urllib3.exceptions import ProtocolError +from pip._vendor.urllib3.exceptions import ReadTimeoutError +from pip._vendor.urllib3.exceptions import SSLError as _SSLError +from pip._vendor.urllib3.exceptions import ResponseError +from pip._vendor.urllib3.exceptions import LocationValueError + +from .models import Response +from .compat import urlparse, basestring +from .utils import (DEFAULT_CA_BUNDLE_PATH, extract_zipped_paths, + get_encoding_from_headers, prepend_scheme_if_needed, + get_auth_from_url, urldefragauth, select_proxy) +from .structures import CaseInsensitiveDict +from .cookies import extract_cookies_to_jar +from .exceptions import (ConnectionError, ConnectTimeout, ReadTimeout, SSLError, + ProxyError, RetryError, InvalidSchema, InvalidProxyURL, + InvalidURL) +from .auth import _basic_auth_str + +try: + from pip._vendor.urllib3.contrib.socks import SOCKSProxyManager +except ImportError: + def SOCKSProxyManager(*args, **kwargs): + raise InvalidSchema("Missing dependencies for SOCKS support.") + +DEFAULT_POOLBLOCK = False +DEFAULT_POOLSIZE = 10 +DEFAULT_RETRIES = 0 +DEFAULT_POOL_TIMEOUT = None + + +class BaseAdapter(object): + """The Base Transport Adapter""" + + def __init__(self): + super(BaseAdapter, self).__init__() + + def send(self, request, stream=False, timeout=None, verify=True, + cert=None, proxies=None): + """Sends PreparedRequest object. Returns Response object. + + :param request: The :class:`PreparedRequest <PreparedRequest>` being sent. + :param stream: (optional) Whether to stream the request content. + :param timeout: (optional) How long to wait for the server to send + data before giving up, as a float, or a :ref:`(connect timeout, + read timeout) <timeouts>` tuple. + :type timeout: float or tuple + :param verify: (optional) Either a boolean, in which case it controls whether we verify + the server's TLS certificate, or a string, in which case it must be a path + to a CA bundle to use + :param cert: (optional) Any user-provided SSL certificate to be trusted. + :param proxies: (optional) The proxies dictionary to apply to the request. + """ + raise NotImplementedError + + def close(self): + """Cleans up adapter specific items.""" + raise NotImplementedError + + +class HTTPAdapter(BaseAdapter): + """The built-in HTTP Adapter for urllib3. + + Provides a general-case interface for Requests sessions to contact HTTP and + HTTPS urls by implementing the Transport Adapter interface. This class will + usually be created by the :class:`Session <Session>` class under the + covers. + + :param pool_connections: The number of urllib3 connection pools to cache. + :param pool_maxsize: The maximum number of connections to save in the pool. + :param max_retries: The maximum number of retries each connection + should attempt. Note, this applies only to failed DNS lookups, socket + connections and connection timeouts, never to requests where data has + made it to the server. By default, Requests does not retry failed + connections. If you need granular control over the conditions under + which we retry a request, import urllib3's ``Retry`` class and pass + that instead. + :param pool_block: Whether the connection pool should block for connections. + + Usage:: + + >>> import requests + >>> s = requests.Session() + >>> a = requests.adapters.HTTPAdapter(max_retries=3) + >>> s.mount('http://', a) + """ + __attrs__ = ['max_retries', 'config', '_pool_connections', '_pool_maxsize', + '_pool_block'] + + def __init__(self, pool_connections=DEFAULT_POOLSIZE, + pool_maxsize=DEFAULT_POOLSIZE, max_retries=DEFAULT_RETRIES, + pool_block=DEFAULT_POOLBLOCK): + if max_retries == DEFAULT_RETRIES: + self.max_retries = Retry(0, read=False) + else: + self.max_retries = Retry.from_int(max_retries) + self.config = {} + self.proxy_manager = {} + + super(HTTPAdapter, self).__init__() + + self._pool_connections = pool_connections + self._pool_maxsize = pool_maxsize + self._pool_block = pool_block + + self.init_poolmanager(pool_connections, pool_maxsize, block=pool_block) + + def __getstate__(self): + return {attr: getattr(self, attr, None) for attr in self.__attrs__} + + def __setstate__(self, state): + # Can't handle by adding 'proxy_manager' to self.__attrs__ because + # self.poolmanager uses a lambda function, which isn't pickleable. + self.proxy_manager = {} + self.config = {} + + for attr, value in state.items(): + setattr(self, attr, value) + + self.init_poolmanager(self._pool_connections, self._pool_maxsize, + block=self._pool_block) + + def init_poolmanager(self, connections, maxsize, block=DEFAULT_POOLBLOCK, **pool_kwargs): + """Initializes a urllib3 PoolManager. + + This method should not be called from user code, and is only + exposed for use when subclassing the + :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`. + + :param connections: The number of urllib3 connection pools to cache. + :param maxsize: The maximum number of connections to save in the pool. + :param block: Block when no free connections are available. + :param pool_kwargs: Extra keyword arguments used to initialize the Pool Manager. + """ + # save these values for pickling + self._pool_connections = connections + self._pool_maxsize = maxsize + self._pool_block = block + + self.poolmanager = PoolManager(num_pools=connections, maxsize=maxsize, + block=block, strict=True, **pool_kwargs) + + def proxy_manager_for(self, proxy, **proxy_kwargs): + """Return urllib3 ProxyManager for the given proxy. + + This method should not be called from user code, and is only + exposed for use when subclassing the + :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`. + + :param proxy: The proxy to return a urllib3 ProxyManager for. + :param proxy_kwargs: Extra keyword arguments used to configure the Proxy Manager. + :returns: ProxyManager + :rtype: urllib3.ProxyManager + """ + if proxy in self.proxy_manager: + manager = self.proxy_manager[proxy] + elif proxy.lower().startswith('socks'): + username, password = get_auth_from_url(proxy) + manager = self.proxy_manager[proxy] = SOCKSProxyManager( + proxy, + username=username, + password=password, + num_pools=self._pool_connections, + maxsize=self._pool_maxsize, + block=self._pool_block, + **proxy_kwargs + ) + else: + proxy_headers = self.proxy_headers(proxy) + manager = self.proxy_manager[proxy] = proxy_from_url( + proxy, + proxy_headers=proxy_headers, + num_pools=self._pool_connections, + maxsize=self._pool_maxsize, + block=self._pool_block, + **proxy_kwargs) + + return manager + + def cert_verify(self, conn, url, verify, cert): + """Verify a SSL certificate. This method should not be called from user + code, and is only exposed for use when subclassing the + :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`. + + :param conn: The urllib3 connection object associated with the cert. + :param url: The requested URL. + :param verify: Either a boolean, in which case it controls whether we verify + the server's TLS certificate, or a string, in which case it must be a path + to a CA bundle to use + :param cert: The SSL certificate to verify. + """ + if url.lower().startswith('https') and verify: + + cert_loc = None + + # Allow self-specified cert location. + if verify is not True: + cert_loc = verify + + if not cert_loc: + cert_loc = extract_zipped_paths(DEFAULT_CA_BUNDLE_PATH) + + if not cert_loc or not os.path.exists(cert_loc): + raise IOError("Could not find a suitable TLS CA certificate bundle, " + "invalid path: {}".format(cert_loc)) + + conn.cert_reqs = 'CERT_REQUIRED' + + if not os.path.isdir(cert_loc): + conn.ca_certs = cert_loc + else: + conn.ca_cert_dir = cert_loc + else: + conn.cert_reqs = 'CERT_NONE' + conn.ca_certs = None + conn.ca_cert_dir = None + + if cert: + if not isinstance(cert, basestring): + conn.cert_file = cert[0] + conn.key_file = cert[1] + else: + conn.cert_file = cert + conn.key_file = None + if conn.cert_file and not os.path.exists(conn.cert_file): + raise IOError("Could not find the TLS certificate file, " + "invalid path: {}".format(conn.cert_file)) + if conn.key_file and not os.path.exists(conn.key_file): + raise IOError("Could not find the TLS key file, " + "invalid path: {}".format(conn.key_file)) + + def build_response(self, req, resp): + """Builds a :class:`Response <requests.Response>` object from a urllib3 + response. This should not be called from user code, and is only exposed + for use when subclassing the + :class:`HTTPAdapter <requests.adapters.HTTPAdapter>` + + :param req: The :class:`PreparedRequest <PreparedRequest>` used to generate the response. + :param resp: The urllib3 response object. + :rtype: requests.Response + """ + response = Response() + + # Fallback to None if there's no status_code, for whatever reason. + response.status_code = getattr(resp, 'status', None) + + # Make headers case-insensitive. + response.headers = CaseInsensitiveDict(getattr(resp, 'headers', {})) + + # Set encoding. + response.encoding = get_encoding_from_headers(response.headers) + response.raw = resp + response.reason = response.raw.reason + + if isinstance(req.url, bytes): + response.url = req.url.decode('utf-8') + else: + response.url = req.url + + # Add new cookies from the server. + extract_cookies_to_jar(response.cookies, req, resp) + + # Give the Response some context. + response.request = req + response.connection = self + + return response + + def get_connection(self, url, proxies=None): + """Returns a urllib3 connection for the given URL. This should not be + called from user code, and is only exposed for use when subclassing the + :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`. + + :param url: The URL to connect to. + :param proxies: (optional) A Requests-style dictionary of proxies used on this request. + :rtype: urllib3.ConnectionPool + """ + proxy = select_proxy(url, proxies) + + if proxy: + proxy = prepend_scheme_if_needed(proxy, 'http') + proxy_url = parse_url(proxy) + if not proxy_url.host: + raise InvalidProxyURL("Please check proxy URL. It is malformed" + " and could be missing the host.") + proxy_manager = self.proxy_manager_for(proxy) + conn = proxy_manager.connection_from_url(url) + else: + # Only scheme should be lower case + parsed = urlparse(url) + url = parsed.geturl() + conn = self.poolmanager.connection_from_url(url) + + return conn + + def close(self): + """Disposes of any internal state. + + Currently, this closes the PoolManager and any active ProxyManager, + which closes any pooled connections. + """ + self.poolmanager.clear() + for proxy in self.proxy_manager.values(): + proxy.clear() + + def request_url(self, request, proxies): + """Obtain the url to use when making the final request. + + If the message is being sent through a HTTP proxy, the full URL has to + be used. Otherwise, we should only use the path portion of the URL. + + This should not be called from user code, and is only exposed for use + when subclassing the + :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`. + + :param request: The :class:`PreparedRequest <PreparedRequest>` being sent. + :param proxies: A dictionary of schemes or schemes and hosts to proxy URLs. + :rtype: str + """ + proxy = select_proxy(request.url, proxies) + scheme = urlparse(request.url).scheme + + is_proxied_http_request = (proxy and scheme != 'https') + using_socks_proxy = False + if proxy: + proxy_scheme = urlparse(proxy).scheme.lower() + using_socks_proxy = proxy_scheme.startswith('socks') + + url = request.path_url + if is_proxied_http_request and not using_socks_proxy: + url = urldefragauth(request.url) + + return url + + def add_headers(self, request, **kwargs): + """Add any headers needed by the connection. As of v2.0 this does + nothing by default, but is left for overriding by users that subclass + the :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`. + + This should not be called from user code, and is only exposed for use + when subclassing the + :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`. + + :param request: The :class:`PreparedRequest <PreparedRequest>` to add headers to. + :param kwargs: The keyword arguments from the call to send(). + """ + pass + + def proxy_headers(self, proxy): + """Returns a dictionary of the headers to add to any request sent + through a proxy. This works with urllib3 magic to ensure that they are + correctly sent to the proxy, rather than in a tunnelled request if + CONNECT is being used. + + This should not be called from user code, and is only exposed for use + when subclassing the + :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`. + + :param proxy: The url of the proxy being used for this request. + :rtype: dict + """ + headers = {} + username, password = get_auth_from_url(proxy) + + if username: + headers['Proxy-Authorization'] = _basic_auth_str(username, + password) + + return headers + + def send(self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None): + """Sends PreparedRequest object. Returns Response object. + + :param request: The :class:`PreparedRequest <PreparedRequest>` being sent. + :param stream: (optional) Whether to stream the request content. + :param timeout: (optional) How long to wait for the server to send + data before giving up, as a float, or a :ref:`(connect timeout, + read timeout) <timeouts>` tuple. + :type timeout: float or tuple or urllib3 Timeout object + :param verify: (optional) Either a boolean, in which case it controls whether + we verify the server's TLS certificate, or a string, in which case it + must be a path to a CA bundle to use + :param cert: (optional) Any user-provided SSL certificate to be trusted. + :param proxies: (optional) The proxies dictionary to apply to the request. + :rtype: requests.Response + """ + + try: + conn = self.get_connection(request.url, proxies) + except LocationValueError as e: + raise InvalidURL(e, request=request) + + self.cert_verify(conn, request.url, verify, cert) + url = self.request_url(request, proxies) + self.add_headers(request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies) + + chunked = not (request.body is None or 'Content-Length' in request.headers) + + if isinstance(timeout, tuple): + try: + connect, read = timeout + timeout = TimeoutSauce(connect=connect, read=read) + except ValueError as e: + # this may raise a string formatting error. + err = ("Invalid timeout {}. Pass a (connect, read) " + "timeout tuple, or a single float to set " + "both timeouts to the same value".format(timeout)) + raise ValueError(err) + elif isinstance(timeout, TimeoutSauce): + pass + else: + timeout = TimeoutSauce(connect=timeout, read=timeout) + + try: + if not chunked: + resp = conn.urlopen( + method=request.method, + url=url, + body=request.body, + headers=request.headers, + redirect=False, + assert_same_host=False, + preload_content=False, + decode_content=False, + retries=self.max_retries, + timeout=timeout + ) + + # Send the request. + else: + if hasattr(conn, 'proxy_pool'): + conn = conn.proxy_pool + + low_conn = conn._get_conn(timeout=DEFAULT_POOL_TIMEOUT) + + try: + low_conn.putrequest(request.method, + url, + skip_accept_encoding=True) + + for header, value in request.headers.items(): + low_conn.putheader(header, value) + + low_conn.endheaders() + + for i in request.body: + low_conn.send(hex(len(i))[2:].encode('utf-8')) + low_conn.send(b'\r\n') + low_conn.send(i) + low_conn.send(b'\r\n') + low_conn.send(b'0\r\n\r\n') + + # Receive the response from the server + try: + # For Python 2.7, use buffering of HTTP responses + r = low_conn.getresponse(buffering=True) + except TypeError: + # For compatibility with Python 3.3+ + r = low_conn.getresponse() + + resp = HTTPResponse.from_httplib( + r, + pool=conn, + connection=low_conn, + preload_content=False, + decode_content=False + ) + except: + # If we hit any problems here, clean up the connection. + # Then, reraise so that we can handle the actual exception. + low_conn.close() + raise + + except (ProtocolError, socket.error) as err: + raise ConnectionError(err, request=request) + + except MaxRetryError as e: + if isinstance(e.reason, ConnectTimeoutError): + # TODO: Remove this in 3.0.0: see #2811 + if not isinstance(e.reason, NewConnectionError): + raise ConnectTimeout(e, request=request) + + if isinstance(e.reason, ResponseError): + raise RetryError(e, request=request) + + if isinstance(e.reason, _ProxyError): + raise ProxyError(e, request=request) + + if isinstance(e.reason, _SSLError): + # This branch is for urllib3 v1.22 and later. + raise SSLError(e, request=request) + + raise ConnectionError(e, request=request) + + except ClosedPoolError as e: + raise ConnectionError(e, request=request) + + except _ProxyError as e: + raise ProxyError(e) + + except (_SSLError, _HTTPError) as e: + if isinstance(e, _SSLError): + # This branch is for urllib3 versions earlier than v1.22 + raise SSLError(e, request=request) + elif isinstance(e, ReadTimeoutError): + raise ReadTimeout(e, request=request) + else: + raise + + return self.build_response(request, resp) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/api.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/api.py new file mode 100644 index 0000000..abada96 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/api.py @@ -0,0 +1,158 @@ +# -*- coding: utf-8 -*- + +""" +requests.api +~~~~~~~~~~~~ + +This module implements the Requests API. + +:copyright: (c) 2012 by Kenneth Reitz. +:license: Apache2, see LICENSE for more details. +""" + +from . import sessions + + +def request(method, url, **kwargs): + """Constructs and sends a :class:`Request <Request>`. + + :param method: method for the new :class:`Request` object. + :param url: URL for the new :class:`Request` object. + :param params: (optional) Dictionary, list of tuples or bytes to send + in the body of the :class:`Request`. + :param data: (optional) Dictionary, list of tuples, bytes, or file-like + object to send in the body of the :class:`Request`. + :param json: (optional) A JSON serializable Python object to send in the body of the :class:`Request`. + :param headers: (optional) Dictionary of HTTP Headers to send with the :class:`Request`. + :param cookies: (optional) Dict or CookieJar object to send with the :class:`Request`. + :param files: (optional) Dictionary of ``'name': file-like-objects`` (or ``{'name': file-tuple}``) for multipart encoding upload. + ``file-tuple`` can be a 2-tuple ``('filename', fileobj)``, 3-tuple ``('filename', fileobj, 'content_type')`` + or a 4-tuple ``('filename', fileobj, 'content_type', custom_headers)``, where ``'content-type'`` is a string + defining the content type of the given file and ``custom_headers`` a dict-like object containing additional headers + to add for the file. + :param auth: (optional) Auth tuple to enable Basic/Digest/Custom HTTP Auth. + :param timeout: (optional) How many seconds to wait for the server to send data + before giving up, as a float, or a :ref:`(connect timeout, read + timeout) <timeouts>` tuple. + :type timeout: float or tuple + :param allow_redirects: (optional) Boolean. Enable/disable GET/OPTIONS/POST/PUT/PATCH/DELETE/HEAD redirection. Defaults to ``True``. + :type allow_redirects: bool + :param proxies: (optional) Dictionary mapping protocol to the URL of the proxy. + :param verify: (optional) Either a boolean, in which case it controls whether we verify + the server's TLS certificate, or a string, in which case it must be a path + to a CA bundle to use. Defaults to ``True``. + :param stream: (optional) if ``False``, the response content will be immediately downloaded. + :param cert: (optional) if String, path to ssl client cert file (.pem). If Tuple, ('cert', 'key') pair. + :return: :class:`Response <Response>` object + :rtype: requests.Response + + Usage:: + + >>> import requests + >>> req = requests.request('GET', 'https://httpbin.org/get') + <Response [200]> + """ + + # By using the 'with' statement we are sure the session is closed, thus we + # avoid leaving sockets open which can trigger a ResourceWarning in some + # cases, and look like a memory leak in others. + with sessions.Session() as session: + return session.request(method=method, url=url, **kwargs) + + +def get(url, params=None, **kwargs): + r"""Sends a GET request. + + :param url: URL for the new :class:`Request` object. + :param params: (optional) Dictionary, list of tuples or bytes to send + in the body of the :class:`Request`. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :return: :class:`Response <Response>` object + :rtype: requests.Response + """ + + kwargs.setdefault('allow_redirects', True) + return request('get', url, params=params, **kwargs) + + +def options(url, **kwargs): + r"""Sends an OPTIONS request. + + :param url: URL for the new :class:`Request` object. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :return: :class:`Response <Response>` object + :rtype: requests.Response + """ + + kwargs.setdefault('allow_redirects', True) + return request('options', url, **kwargs) + + +def head(url, **kwargs): + r"""Sends a HEAD request. + + :param url: URL for the new :class:`Request` object. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :return: :class:`Response <Response>` object + :rtype: requests.Response + """ + + kwargs.setdefault('allow_redirects', False) + return request('head', url, **kwargs) + + +def post(url, data=None, json=None, **kwargs): + r"""Sends a POST request. + + :param url: URL for the new :class:`Request` object. + :param data: (optional) Dictionary, list of tuples, bytes, or file-like + object to send in the body of the :class:`Request`. + :param json: (optional) json data to send in the body of the :class:`Request`. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :return: :class:`Response <Response>` object + :rtype: requests.Response + """ + + return request('post', url, data=data, json=json, **kwargs) + + +def put(url, data=None, **kwargs): + r"""Sends a PUT request. + + :param url: URL for the new :class:`Request` object. + :param data: (optional) Dictionary, list of tuples, bytes, or file-like + object to send in the body of the :class:`Request`. + :param json: (optional) json data to send in the body of the :class:`Request`. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :return: :class:`Response <Response>` object + :rtype: requests.Response + """ + + return request('put', url, data=data, **kwargs) + + +def patch(url, data=None, **kwargs): + r"""Sends a PATCH request. + + :param url: URL for the new :class:`Request` object. + :param data: (optional) Dictionary, list of tuples, bytes, or file-like + object to send in the body of the :class:`Request`. + :param json: (optional) json data to send in the body of the :class:`Request`. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :return: :class:`Response <Response>` object + :rtype: requests.Response + """ + + return request('patch', url, data=data, **kwargs) + + +def delete(url, **kwargs): + r"""Sends a DELETE request. + + :param url: URL for the new :class:`Request` object. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :return: :class:`Response <Response>` object + :rtype: requests.Response + """ + + return request('delete', url, **kwargs) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/auth.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/auth.py new file mode 100644 index 0000000..bdde51c --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/auth.py @@ -0,0 +1,305 @@ +# -*- coding: utf-8 -*- + +""" +requests.auth +~~~~~~~~~~~~~ + +This module contains the authentication handlers for Requests. +""" + +import os +import re +import time +import hashlib +import threading +import warnings + +from base64 import b64encode + +from .compat import urlparse, str, basestring +from .cookies import extract_cookies_to_jar +from ._internal_utils import to_native_string +from .utils import parse_dict_header + +CONTENT_TYPE_FORM_URLENCODED = 'application/x-www-form-urlencoded' +CONTENT_TYPE_MULTI_PART = 'multipart/form-data' + + +def _basic_auth_str(username, password): + """Returns a Basic Auth string.""" + + # "I want us to put a big-ol' comment on top of it that + # says that this behaviour is dumb but we need to preserve + # it because people are relying on it." + # - Lukasa + # + # These are here solely to maintain backwards compatibility + # for things like ints. This will be removed in 3.0.0. + if not isinstance(username, basestring): + warnings.warn( + "Non-string usernames will no longer be supported in Requests " + "3.0.0. Please convert the object you've passed in ({!r}) to " + "a string or bytes object in the near future to avoid " + "problems.".format(username), + category=DeprecationWarning, + ) + username = str(username) + + if not isinstance(password, basestring): + warnings.warn( + "Non-string passwords will no longer be supported in Requests " + "3.0.0. Please convert the object you've passed in ({!r}) to " + "a string or bytes object in the near future to avoid " + "problems.".format(password), + category=DeprecationWarning, + ) + password = str(password) + # -- End Removal -- + + if isinstance(username, str): + username = username.encode('latin1') + + if isinstance(password, str): + password = password.encode('latin1') + + authstr = 'Basic ' + to_native_string( + b64encode(b':'.join((username, password))).strip() + ) + + return authstr + + +class AuthBase(object): + """Base class that all auth implementations derive from""" + + def __call__(self, r): + raise NotImplementedError('Auth hooks must be callable.') + + +class HTTPBasicAuth(AuthBase): + """Attaches HTTP Basic Authentication to the given Request object.""" + + def __init__(self, username, password): + self.username = username + self.password = password + + def __eq__(self, other): + return all([ + self.username == getattr(other, 'username', None), + self.password == getattr(other, 'password', None) + ]) + + def __ne__(self, other): + return not self == other + + def __call__(self, r): + r.headers['Authorization'] = _basic_auth_str(self.username, self.password) + return r + + +class HTTPProxyAuth(HTTPBasicAuth): + """Attaches HTTP Proxy Authentication to a given Request object.""" + + def __call__(self, r): + r.headers['Proxy-Authorization'] = _basic_auth_str(self.username, self.password) + return r + + +class HTTPDigestAuth(AuthBase): + """Attaches HTTP Digest Authentication to the given Request object.""" + + def __init__(self, username, password): + self.username = username + self.password = password + # Keep state in per-thread local storage + self._thread_local = threading.local() + + def init_per_thread_state(self): + # Ensure state is initialized just once per-thread + if not hasattr(self._thread_local, 'init'): + self._thread_local.init = True + self._thread_local.last_nonce = '' + self._thread_local.nonce_count = 0 + self._thread_local.chal = {} + self._thread_local.pos = None + self._thread_local.num_401_calls = None + + def build_digest_header(self, method, url): + """ + :rtype: str + """ + + realm = self._thread_local.chal['realm'] + nonce = self._thread_local.chal['nonce'] + qop = self._thread_local.chal.get('qop') + algorithm = self._thread_local.chal.get('algorithm') + opaque = self._thread_local.chal.get('opaque') + hash_utf8 = None + + if algorithm is None: + _algorithm = 'MD5' + else: + _algorithm = algorithm.upper() + # lambdas assume digest modules are imported at the top level + if _algorithm == 'MD5' or _algorithm == 'MD5-SESS': + def md5_utf8(x): + if isinstance(x, str): + x = x.encode('utf-8') + return hashlib.md5(x).hexdigest() + hash_utf8 = md5_utf8 + elif _algorithm == 'SHA': + def sha_utf8(x): + if isinstance(x, str): + x = x.encode('utf-8') + return hashlib.sha1(x).hexdigest() + hash_utf8 = sha_utf8 + elif _algorithm == 'SHA-256': + def sha256_utf8(x): + if isinstance(x, str): + x = x.encode('utf-8') + return hashlib.sha256(x).hexdigest() + hash_utf8 = sha256_utf8 + elif _algorithm == 'SHA-512': + def sha512_utf8(x): + if isinstance(x, str): + x = x.encode('utf-8') + return hashlib.sha512(x).hexdigest() + hash_utf8 = sha512_utf8 + + KD = lambda s, d: hash_utf8("%s:%s" % (s, d)) + + if hash_utf8 is None: + return None + + # XXX not implemented yet + entdig = None + p_parsed = urlparse(url) + #: path is request-uri defined in RFC 2616 which should not be empty + path = p_parsed.path or "/" + if p_parsed.query: + path += '?' + p_parsed.query + + A1 = '%s:%s:%s' % (self.username, realm, self.password) + A2 = '%s:%s' % (method, path) + + HA1 = hash_utf8(A1) + HA2 = hash_utf8(A2) + + if nonce == self._thread_local.last_nonce: + self._thread_local.nonce_count += 1 + else: + self._thread_local.nonce_count = 1 + ncvalue = '%08x' % self._thread_local.nonce_count + s = str(self._thread_local.nonce_count).encode('utf-8') + s += nonce.encode('utf-8') + s += time.ctime().encode('utf-8') + s += os.urandom(8) + + cnonce = (hashlib.sha1(s).hexdigest()[:16]) + if _algorithm == 'MD5-SESS': + HA1 = hash_utf8('%s:%s:%s' % (HA1, nonce, cnonce)) + + if not qop: + respdig = KD(HA1, "%s:%s" % (nonce, HA2)) + elif qop == 'auth' or 'auth' in qop.split(','): + noncebit = "%s:%s:%s:%s:%s" % ( + nonce, ncvalue, cnonce, 'auth', HA2 + ) + respdig = KD(HA1, noncebit) + else: + # XXX handle auth-int. + return None + + self._thread_local.last_nonce = nonce + + # XXX should the partial digests be encoded too? + base = 'username="%s", realm="%s", nonce="%s", uri="%s", ' \ + 'response="%s"' % (self.username, realm, nonce, path, respdig) + if opaque: + base += ', opaque="%s"' % opaque + if algorithm: + base += ', algorithm="%s"' % algorithm + if entdig: + base += ', digest="%s"' % entdig + if qop: + base += ', qop="auth", nc=%s, cnonce="%s"' % (ncvalue, cnonce) + + return 'Digest %s' % (base) + + def handle_redirect(self, r, **kwargs): + """Reset num_401_calls counter on redirects.""" + if r.is_redirect: + self._thread_local.num_401_calls = 1 + + def handle_401(self, r, **kwargs): + """ + Takes the given response and tries digest-auth, if needed. + + :rtype: requests.Response + """ + + # If response is not 4xx, do not auth + # See https://github.com/requests/requests/issues/3772 + if not 400 <= r.status_code < 500: + self._thread_local.num_401_calls = 1 + return r + + if self._thread_local.pos is not None: + # Rewind the file position indicator of the body to where + # it was to resend the request. + r.request.body.seek(self._thread_local.pos) + s_auth = r.headers.get('www-authenticate', '') + + if 'digest' in s_auth.lower() and self._thread_local.num_401_calls < 2: + + self._thread_local.num_401_calls += 1 + pat = re.compile(r'digest ', flags=re.IGNORECASE) + self._thread_local.chal = parse_dict_header(pat.sub('', s_auth, count=1)) + + # Consume content and release the original connection + # to allow our new request to reuse the same one. + r.content + r.close() + prep = r.request.copy() + extract_cookies_to_jar(prep._cookies, r.request, r.raw) + prep.prepare_cookies(prep._cookies) + + prep.headers['Authorization'] = self.build_digest_header( + prep.method, prep.url) + _r = r.connection.send(prep, **kwargs) + _r.history.append(r) + _r.request = prep + + return _r + + self._thread_local.num_401_calls = 1 + return r + + def __call__(self, r): + # Initialize per-thread state, if needed + self.init_per_thread_state() + # If we have a saved nonce, skip the 401 + if self._thread_local.last_nonce: + r.headers['Authorization'] = self.build_digest_header(r.method, r.url) + try: + self._thread_local.pos = r.body.tell() + except AttributeError: + # In the case of HTTPDigestAuth being reused and the body of + # the previous request was a file-like object, pos has the + # file position of the previous body. Ensure it's set to + # None. + self._thread_local.pos = None + r.register_hook('response', self.handle_401) + r.register_hook('response', self.handle_redirect) + self._thread_local.num_401_calls = 1 + + return r + + def __eq__(self, other): + return all([ + self.username == getattr(other, 'username', None), + self.password == getattr(other, 'password', None) + ]) + + def __ne__(self, other): + return not self == other diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/certs.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/certs.py new file mode 100644 index 0000000..06a594e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/certs.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +""" +requests.certs +~~~~~~~~~~~~~~ + +This module returns the preferred default CA certificate bundle. There is +only one — the one from the certifi package. + +If you are packaging Requests, e.g., for a Linux distribution or a managed +environment, you can change the definition of where() to return a separately +packaged CA bundle. +""" +from pip._vendor.certifi import where + +if __name__ == '__main__': + print(where()) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/compat.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/compat.py new file mode 100644 index 0000000..6a86893 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/compat.py @@ -0,0 +1,74 @@ +# -*- coding: utf-8 -*- + +""" +requests.compat +~~~~~~~~~~~~~~~ + +This module handles import compatibility issues between Python 2 and +Python 3. +""" + +from pip._vendor import chardet + +import sys + +# ------- +# Pythons +# ------- + +# Syntax sugar. +_ver = sys.version_info + +#: Python 2.x? +is_py2 = (_ver[0] == 2) + +#: Python 3.x? +is_py3 = (_ver[0] == 3) + +# Note: We've patched out simplejson support in pip because it prevents +# upgrading simplejson on Windows. +# try: +# import simplejson as json +# except (ImportError, SyntaxError): +# # simplejson does not support Python 3.2, it throws a SyntaxError +# # because of u'...' Unicode literals. +import json + +# --------- +# Specifics +# --------- + +if is_py2: + from urllib import ( + quote, unquote, quote_plus, unquote_plus, urlencode, getproxies, + proxy_bypass, proxy_bypass_environment, getproxies_environment) + from urlparse import urlparse, urlunparse, urljoin, urlsplit, urldefrag + from urllib2 import parse_http_list + import cookielib + from Cookie import Morsel + from StringIO import StringIO + from collections import Callable, Mapping, MutableMapping, OrderedDict + + + builtin_str = str + bytes = str + str = unicode + basestring = basestring + numeric_types = (int, long, float) + integer_types = (int, long) + +elif is_py3: + from urllib.parse import urlparse, urlunparse, urljoin, urlsplit, urlencode, quote, unquote, quote_plus, unquote_plus, urldefrag + from urllib.request import parse_http_list, getproxies, proxy_bypass, proxy_bypass_environment, getproxies_environment + from http import cookiejar as cookielib + from http.cookies import Morsel + from io import StringIO + from collections import OrderedDict + from collections.abc import Callable, Mapping, MutableMapping + + builtin_str = str + str = str + bytes = bytes + basestring = (str, bytes) + numeric_types = (int, float) + integer_types = (int,) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/cookies.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/cookies.py new file mode 100644 index 0000000..56fccd9 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/cookies.py @@ -0,0 +1,549 @@ +# -*- coding: utf-8 -*- + +""" +requests.cookies +~~~~~~~~~~~~~~~~ + +Compatibility code to be able to use `cookielib.CookieJar` with requests. + +requests.utils imports from here, so be careful with imports. +""" + +import copy +import time +import calendar + +from ._internal_utils import to_native_string +from .compat import cookielib, urlparse, urlunparse, Morsel, MutableMapping + +try: + import threading +except ImportError: + import dummy_threading as threading + + +class MockRequest(object): + """Wraps a `requests.Request` to mimic a `urllib2.Request`. + + The code in `cookielib.CookieJar` expects this interface in order to correctly + manage cookie policies, i.e., determine whether a cookie can be set, given the + domains of the request and the cookie. + + The original request object is read-only. The client is responsible for collecting + the new headers via `get_new_headers()` and interpreting them appropriately. You + probably want `get_cookie_header`, defined below. + """ + + def __init__(self, request): + self._r = request + self._new_headers = {} + self.type = urlparse(self._r.url).scheme + + def get_type(self): + return self.type + + def get_host(self): + return urlparse(self._r.url).netloc + + def get_origin_req_host(self): + return self.get_host() + + def get_full_url(self): + # Only return the response's URL if the user hadn't set the Host + # header + if not self._r.headers.get('Host'): + return self._r.url + # If they did set it, retrieve it and reconstruct the expected domain + host = to_native_string(self._r.headers['Host'], encoding='utf-8') + parsed = urlparse(self._r.url) + # Reconstruct the URL as we expect it + return urlunparse([ + parsed.scheme, host, parsed.path, parsed.params, parsed.query, + parsed.fragment + ]) + + def is_unverifiable(self): + return True + + def has_header(self, name): + return name in self._r.headers or name in self._new_headers + + def get_header(self, name, default=None): + return self._r.headers.get(name, self._new_headers.get(name, default)) + + def add_header(self, key, val): + """cookielib has no legitimate use for this method; add it back if you find one.""" + raise NotImplementedError("Cookie headers should be added with add_unredirected_header()") + + def add_unredirected_header(self, name, value): + self._new_headers[name] = value + + def get_new_headers(self): + return self._new_headers + + @property + def unverifiable(self): + return self.is_unverifiable() + + @property + def origin_req_host(self): + return self.get_origin_req_host() + + @property + def host(self): + return self.get_host() + + +class MockResponse(object): + """Wraps a `httplib.HTTPMessage` to mimic a `urllib.addinfourl`. + + ...what? Basically, expose the parsed HTTP headers from the server response + the way `cookielib` expects to see them. + """ + + def __init__(self, headers): + """Make a MockResponse for `cookielib` to read. + + :param headers: a httplib.HTTPMessage or analogous carrying the headers + """ + self._headers = headers + + def info(self): + return self._headers + + def getheaders(self, name): + self._headers.getheaders(name) + + +def extract_cookies_to_jar(jar, request, response): + """Extract the cookies from the response into a CookieJar. + + :param jar: cookielib.CookieJar (not necessarily a RequestsCookieJar) + :param request: our own requests.Request object + :param response: urllib3.HTTPResponse object + """ + if not (hasattr(response, '_original_response') and + response._original_response): + return + # the _original_response field is the wrapped httplib.HTTPResponse object, + req = MockRequest(request) + # pull out the HTTPMessage with the headers and put it in the mock: + res = MockResponse(response._original_response.msg) + jar.extract_cookies(res, req) + + +def get_cookie_header(jar, request): + """ + Produce an appropriate Cookie header string to be sent with `request`, or None. + + :rtype: str + """ + r = MockRequest(request) + jar.add_cookie_header(r) + return r.get_new_headers().get('Cookie') + + +def remove_cookie_by_name(cookiejar, name, domain=None, path=None): + """Unsets a cookie by name, by default over all domains and paths. + + Wraps CookieJar.clear(), is O(n). + """ + clearables = [] + for cookie in cookiejar: + if cookie.name != name: + continue + if domain is not None and domain != cookie.domain: + continue + if path is not None and path != cookie.path: + continue + clearables.append((cookie.domain, cookie.path, cookie.name)) + + for domain, path, name in clearables: + cookiejar.clear(domain, path, name) + + +class CookieConflictError(RuntimeError): + """There are two cookies that meet the criteria specified in the cookie jar. + Use .get and .set and include domain and path args in order to be more specific. + """ + + +class RequestsCookieJar(cookielib.CookieJar, MutableMapping): + """Compatibility class; is a cookielib.CookieJar, but exposes a dict + interface. + + This is the CookieJar we create by default for requests and sessions that + don't specify one, since some clients may expect response.cookies and + session.cookies to support dict operations. + + Requests does not use the dict interface internally; it's just for + compatibility with external client code. All requests code should work + out of the box with externally provided instances of ``CookieJar``, e.g. + ``LWPCookieJar`` and ``FileCookieJar``. + + Unlike a regular CookieJar, this class is pickleable. + + .. warning:: dictionary operations that are normally O(1) may be O(n). + """ + + def get(self, name, default=None, domain=None, path=None): + """Dict-like get() that also supports optional domain and path args in + order to resolve naming collisions from using one cookie jar over + multiple domains. + + .. warning:: operation is O(n), not O(1). + """ + try: + return self._find_no_duplicates(name, domain, path) + except KeyError: + return default + + def set(self, name, value, **kwargs): + """Dict-like set() that also supports optional domain and path args in + order to resolve naming collisions from using one cookie jar over + multiple domains. + """ + # support client code that unsets cookies by assignment of a None value: + if value is None: + remove_cookie_by_name(self, name, domain=kwargs.get('domain'), path=kwargs.get('path')) + return + + if isinstance(value, Morsel): + c = morsel_to_cookie(value) + else: + c = create_cookie(name, value, **kwargs) + self.set_cookie(c) + return c + + def iterkeys(self): + """Dict-like iterkeys() that returns an iterator of names of cookies + from the jar. + + .. seealso:: itervalues() and iteritems(). + """ + for cookie in iter(self): + yield cookie.name + + def keys(self): + """Dict-like keys() that returns a list of names of cookies from the + jar. + + .. seealso:: values() and items(). + """ + return list(self.iterkeys()) + + def itervalues(self): + """Dict-like itervalues() that returns an iterator of values of cookies + from the jar. + + .. seealso:: iterkeys() and iteritems(). + """ + for cookie in iter(self): + yield cookie.value + + def values(self): + """Dict-like values() that returns a list of values of cookies from the + jar. + + .. seealso:: keys() and items(). + """ + return list(self.itervalues()) + + def iteritems(self): + """Dict-like iteritems() that returns an iterator of name-value tuples + from the jar. + + .. seealso:: iterkeys() and itervalues(). + """ + for cookie in iter(self): + yield cookie.name, cookie.value + + def items(self): + """Dict-like items() that returns a list of name-value tuples from the + jar. Allows client-code to call ``dict(RequestsCookieJar)`` and get a + vanilla python dict of key value pairs. + + .. seealso:: keys() and values(). + """ + return list(self.iteritems()) + + def list_domains(self): + """Utility method to list all the domains in the jar.""" + domains = [] + for cookie in iter(self): + if cookie.domain not in domains: + domains.append(cookie.domain) + return domains + + def list_paths(self): + """Utility method to list all the paths in the jar.""" + paths = [] + for cookie in iter(self): + if cookie.path not in paths: + paths.append(cookie.path) + return paths + + def multiple_domains(self): + """Returns True if there are multiple domains in the jar. + Returns False otherwise. + + :rtype: bool + """ + domains = [] + for cookie in iter(self): + if cookie.domain is not None and cookie.domain in domains: + return True + domains.append(cookie.domain) + return False # there is only one domain in jar + + def get_dict(self, domain=None, path=None): + """Takes as an argument an optional domain and path and returns a plain + old Python dict of name-value pairs of cookies that meet the + requirements. + + :rtype: dict + """ + dictionary = {} + for cookie in iter(self): + if ( + (domain is None or cookie.domain == domain) and + (path is None or cookie.path == path) + ): + dictionary[cookie.name] = cookie.value + return dictionary + + def __contains__(self, name): + try: + return super(RequestsCookieJar, self).__contains__(name) + except CookieConflictError: + return True + + def __getitem__(self, name): + """Dict-like __getitem__() for compatibility with client code. Throws + exception if there are more than one cookie with name. In that case, + use the more explicit get() method instead. + + .. warning:: operation is O(n), not O(1). + """ + return self._find_no_duplicates(name) + + def __setitem__(self, name, value): + """Dict-like __setitem__ for compatibility with client code. Throws + exception if there is already a cookie of that name in the jar. In that + case, use the more explicit set() method instead. + """ + self.set(name, value) + + def __delitem__(self, name): + """Deletes a cookie given a name. Wraps ``cookielib.CookieJar``'s + ``remove_cookie_by_name()``. + """ + remove_cookie_by_name(self, name) + + def set_cookie(self, cookie, *args, **kwargs): + if hasattr(cookie.value, 'startswith') and cookie.value.startswith('"') and cookie.value.endswith('"'): + cookie.value = cookie.value.replace('\\"', '') + return super(RequestsCookieJar, self).set_cookie(cookie, *args, **kwargs) + + def update(self, other): + """Updates this jar with cookies from another CookieJar or dict-like""" + if isinstance(other, cookielib.CookieJar): + for cookie in other: + self.set_cookie(copy.copy(cookie)) + else: + super(RequestsCookieJar, self).update(other) + + def _find(self, name, domain=None, path=None): + """Requests uses this method internally to get cookie values. + + If there are conflicting cookies, _find arbitrarily chooses one. + See _find_no_duplicates if you want an exception thrown if there are + conflicting cookies. + + :param name: a string containing name of cookie + :param domain: (optional) string containing domain of cookie + :param path: (optional) string containing path of cookie + :return: cookie.value + """ + for cookie in iter(self): + if cookie.name == name: + if domain is None or cookie.domain == domain: + if path is None or cookie.path == path: + return cookie.value + + raise KeyError('name=%r, domain=%r, path=%r' % (name, domain, path)) + + def _find_no_duplicates(self, name, domain=None, path=None): + """Both ``__get_item__`` and ``get`` call this function: it's never + used elsewhere in Requests. + + :param name: a string containing name of cookie + :param domain: (optional) string containing domain of cookie + :param path: (optional) string containing path of cookie + :raises KeyError: if cookie is not found + :raises CookieConflictError: if there are multiple cookies + that match name and optionally domain and path + :return: cookie.value + """ + toReturn = None + for cookie in iter(self): + if cookie.name == name: + if domain is None or cookie.domain == domain: + if path is None or cookie.path == path: + if toReturn is not None: # if there are multiple cookies that meet passed in criteria + raise CookieConflictError('There are multiple cookies with name, %r' % (name)) + toReturn = cookie.value # we will eventually return this as long as no cookie conflict + + if toReturn: + return toReturn + raise KeyError('name=%r, domain=%r, path=%r' % (name, domain, path)) + + def __getstate__(self): + """Unlike a normal CookieJar, this class is pickleable.""" + state = self.__dict__.copy() + # remove the unpickleable RLock object + state.pop('_cookies_lock') + return state + + def __setstate__(self, state): + """Unlike a normal CookieJar, this class is pickleable.""" + self.__dict__.update(state) + if '_cookies_lock' not in self.__dict__: + self._cookies_lock = threading.RLock() + + def copy(self): + """Return a copy of this RequestsCookieJar.""" + new_cj = RequestsCookieJar() + new_cj.set_policy(self.get_policy()) + new_cj.update(self) + return new_cj + + def get_policy(self): + """Return the CookiePolicy instance used.""" + return self._policy + + +def _copy_cookie_jar(jar): + if jar is None: + return None + + if hasattr(jar, 'copy'): + # We're dealing with an instance of RequestsCookieJar + return jar.copy() + # We're dealing with a generic CookieJar instance + new_jar = copy.copy(jar) + new_jar.clear() + for cookie in jar: + new_jar.set_cookie(copy.copy(cookie)) + return new_jar + + +def create_cookie(name, value, **kwargs): + """Make a cookie from underspecified parameters. + + By default, the pair of `name` and `value` will be set for the domain '' + and sent on every request (this is sometimes called a "supercookie"). + """ + result = { + 'version': 0, + 'name': name, + 'value': value, + 'port': None, + 'domain': '', + 'path': '/', + 'secure': False, + 'expires': None, + 'discard': True, + 'comment': None, + 'comment_url': None, + 'rest': {'HttpOnly': None}, + 'rfc2109': False, + } + + badargs = set(kwargs) - set(result) + if badargs: + err = 'create_cookie() got unexpected keyword arguments: %s' + raise TypeError(err % list(badargs)) + + result.update(kwargs) + result['port_specified'] = bool(result['port']) + result['domain_specified'] = bool(result['domain']) + result['domain_initial_dot'] = result['domain'].startswith('.') + result['path_specified'] = bool(result['path']) + + return cookielib.Cookie(**result) + + +def morsel_to_cookie(morsel): + """Convert a Morsel object into a Cookie containing the one k/v pair.""" + + expires = None + if morsel['max-age']: + try: + expires = int(time.time() + int(morsel['max-age'])) + except ValueError: + raise TypeError('max-age: %s must be integer' % morsel['max-age']) + elif morsel['expires']: + time_template = '%a, %d-%b-%Y %H:%M:%S GMT' + expires = calendar.timegm( + time.strptime(morsel['expires'], time_template) + ) + return create_cookie( + comment=morsel['comment'], + comment_url=bool(morsel['comment']), + discard=False, + domain=morsel['domain'], + expires=expires, + name=morsel.key, + path=morsel['path'], + port=None, + rest={'HttpOnly': morsel['httponly']}, + rfc2109=False, + secure=bool(morsel['secure']), + value=morsel.value, + version=morsel['version'] or 0, + ) + + +def cookiejar_from_dict(cookie_dict, cookiejar=None, overwrite=True): + """Returns a CookieJar from a key/value dictionary. + + :param cookie_dict: Dict of key/values to insert into CookieJar. + :param cookiejar: (optional) A cookiejar to add the cookies to. + :param overwrite: (optional) If False, will not replace cookies + already in the jar with new ones. + :rtype: CookieJar + """ + if cookiejar is None: + cookiejar = RequestsCookieJar() + + if cookie_dict is not None: + names_from_jar = [cookie.name for cookie in cookiejar] + for name in cookie_dict: + if overwrite or (name not in names_from_jar): + cookiejar.set_cookie(create_cookie(name, cookie_dict[name])) + + return cookiejar + + +def merge_cookies(cookiejar, cookies): + """Add cookies to cookiejar and returns a merged CookieJar. + + :param cookiejar: CookieJar object to add the cookies to. + :param cookies: Dictionary or CookieJar object to be added. + :rtype: CookieJar + """ + if not isinstance(cookiejar, cookielib.CookieJar): + raise ValueError('You can only merge into CookieJar') + + if isinstance(cookies, dict): + cookiejar = cookiejar_from_dict( + cookies, cookiejar=cookiejar, overwrite=False) + elif isinstance(cookies, cookielib.CookieJar): + try: + cookiejar.update(cookies) + except AttributeError: + for cookie_in_jar in cookies: + cookiejar.set_cookie(cookie_in_jar) + + return cookiejar diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/exceptions.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/exceptions.py new file mode 100644 index 0000000..a91e1fd --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/exceptions.py @@ -0,0 +1,126 @@ +# -*- coding: utf-8 -*- + +""" +requests.exceptions +~~~~~~~~~~~~~~~~~~~ + +This module contains the set of Requests' exceptions. +""" +from pip._vendor.urllib3.exceptions import HTTPError as BaseHTTPError + + +class RequestException(IOError): + """There was an ambiguous exception that occurred while handling your + request. + """ + + def __init__(self, *args, **kwargs): + """Initialize RequestException with `request` and `response` objects.""" + response = kwargs.pop('response', None) + self.response = response + self.request = kwargs.pop('request', None) + if (response is not None and not self.request and + hasattr(response, 'request')): + self.request = self.response.request + super(RequestException, self).__init__(*args, **kwargs) + + +class HTTPError(RequestException): + """An HTTP error occurred.""" + + +class ConnectionError(RequestException): + """A Connection error occurred.""" + + +class ProxyError(ConnectionError): + """A proxy error occurred.""" + + +class SSLError(ConnectionError): + """An SSL error occurred.""" + + +class Timeout(RequestException): + """The request timed out. + + Catching this error will catch both + :exc:`~requests.exceptions.ConnectTimeout` and + :exc:`~requests.exceptions.ReadTimeout` errors. + """ + + +class ConnectTimeout(ConnectionError, Timeout): + """The request timed out while trying to connect to the remote server. + + Requests that produced this error are safe to retry. + """ + + +class ReadTimeout(Timeout): + """The server did not send any data in the allotted amount of time.""" + + +class URLRequired(RequestException): + """A valid URL is required to make a request.""" + + +class TooManyRedirects(RequestException): + """Too many redirects.""" + + +class MissingSchema(RequestException, ValueError): + """The URL schema (e.g. http or https) is missing.""" + + +class InvalidSchema(RequestException, ValueError): + """See defaults.py for valid schemas.""" + + +class InvalidURL(RequestException, ValueError): + """The URL provided was somehow invalid.""" + + +class InvalidHeader(RequestException, ValueError): + """The header value provided was somehow invalid.""" + + +class InvalidProxyURL(InvalidURL): + """The proxy URL provided is invalid.""" + + +class ChunkedEncodingError(RequestException): + """The server declared chunked encoding but sent an invalid chunk.""" + + +class ContentDecodingError(RequestException, BaseHTTPError): + """Failed to decode response content""" + + +class StreamConsumedError(RequestException, TypeError): + """The content for this response was already consumed""" + + +class RetryError(RequestException): + """Custom retries logic failed""" + + +class UnrewindableBodyError(RequestException): + """Requests encountered an error when trying to rewind a body""" + +# Warnings + + +class RequestsWarning(Warning): + """Base warning for Requests.""" + pass + + +class FileModeWarning(RequestsWarning, DeprecationWarning): + """A file was opened in text mode, but Requests determined its binary length.""" + pass + + +class RequestsDependencyWarning(RequestsWarning): + """An imported dependency doesn't match the expected version range.""" + pass diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/help.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/help.py new file mode 100644 index 0000000..3c3072b --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/help.py @@ -0,0 +1,119 @@ +"""Module containing bug report helper(s).""" +from __future__ import print_function + +import json +import platform +import sys +import ssl + +from pip._vendor import idna +from pip._vendor import urllib3 +from pip._vendor import chardet + +from . import __version__ as requests_version + +try: + from pip._vendor.urllib3.contrib import pyopenssl +except ImportError: + pyopenssl = None + OpenSSL = None + cryptography = None +else: + import OpenSSL + import cryptography + + +def _implementation(): + """Return a dict with the Python implementation and version. + + Provide both the name and the version of the Python implementation + currently running. For example, on CPython 2.7.5 it will return + {'name': 'CPython', 'version': '2.7.5'}. + + This function works best on CPython and PyPy: in particular, it probably + doesn't work for Jython or IronPython. Future investigation should be done + to work out the correct shape of the code for those platforms. + """ + implementation = platform.python_implementation() + + if implementation == 'CPython': + implementation_version = platform.python_version() + elif implementation == 'PyPy': + implementation_version = '%s.%s.%s' % (sys.pypy_version_info.major, + sys.pypy_version_info.minor, + sys.pypy_version_info.micro) + if sys.pypy_version_info.releaselevel != 'final': + implementation_version = ''.join([ + implementation_version, sys.pypy_version_info.releaselevel + ]) + elif implementation == 'Jython': + implementation_version = platform.python_version() # Complete Guess + elif implementation == 'IronPython': + implementation_version = platform.python_version() # Complete Guess + else: + implementation_version = 'Unknown' + + return {'name': implementation, 'version': implementation_version} + + +def info(): + """Generate information for a bug report.""" + try: + platform_info = { + 'system': platform.system(), + 'release': platform.release(), + } + except IOError: + platform_info = { + 'system': 'Unknown', + 'release': 'Unknown', + } + + implementation_info = _implementation() + urllib3_info = {'version': urllib3.__version__} + chardet_info = {'version': chardet.__version__} + + pyopenssl_info = { + 'version': None, + 'openssl_version': '', + } + if OpenSSL: + pyopenssl_info = { + 'version': OpenSSL.__version__, + 'openssl_version': '%x' % OpenSSL.SSL.OPENSSL_VERSION_NUMBER, + } + cryptography_info = { + 'version': getattr(cryptography, '__version__', ''), + } + idna_info = { + 'version': getattr(idna, '__version__', ''), + } + + system_ssl = ssl.OPENSSL_VERSION_NUMBER + system_ssl_info = { + 'version': '%x' % system_ssl if system_ssl is not None else '' + } + + return { + 'platform': platform_info, + 'implementation': implementation_info, + 'system_ssl': system_ssl_info, + 'using_pyopenssl': pyopenssl is not None, + 'pyOpenSSL': pyopenssl_info, + 'urllib3': urllib3_info, + 'chardet': chardet_info, + 'cryptography': cryptography_info, + 'idna': idna_info, + 'requests': { + 'version': requests_version, + }, + } + + +def main(): + """Pretty-print the bug information as JSON.""" + print(json.dumps(info(), sort_keys=True, indent=2)) + + +if __name__ == '__main__': + main() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/hooks.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/hooks.py new file mode 100644 index 0000000..7a51f21 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/hooks.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- + +""" +requests.hooks +~~~~~~~~~~~~~~ + +This module provides the capabilities for the Requests hooks system. + +Available hooks: + +``response``: + The response generated from a Request. +""" +HOOKS = ['response'] + + +def default_hooks(): + return {event: [] for event in HOOKS} + +# TODO: response is the only one + + +def dispatch_hook(key, hooks, hook_data, **kwargs): + """Dispatches a hook dictionary on a given piece of data.""" + hooks = hooks or {} + hooks = hooks.get(key) + if hooks: + if hasattr(hooks, '__call__'): + hooks = [hooks] + for hook in hooks: + _hook_data = hook(hook_data, **kwargs) + if _hook_data is not None: + hook_data = _hook_data + return hook_data diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/models.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/models.py new file mode 100644 index 0000000..0839957 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/models.py @@ -0,0 +1,953 @@ +# -*- coding: utf-8 -*- + +""" +requests.models +~~~~~~~~~~~~~~~ + +This module contains the primary objects that power Requests. +""" + +import datetime +import sys + +# Import encoding now, to avoid implicit import later. +# Implicit import within threads may cause LookupError when standard library is in a ZIP, +# such as in Embedded Python. See https://github.com/requests/requests/issues/3578. +import encodings.idna + +from pip._vendor.urllib3.fields import RequestField +from pip._vendor.urllib3.filepost import encode_multipart_formdata +from pip._vendor.urllib3.util import parse_url +from pip._vendor.urllib3.exceptions import ( + DecodeError, ReadTimeoutError, ProtocolError, LocationParseError) + +from io import UnsupportedOperation +from .hooks import default_hooks +from .structures import CaseInsensitiveDict + +from .auth import HTTPBasicAuth +from .cookies import cookiejar_from_dict, get_cookie_header, _copy_cookie_jar +from .exceptions import ( + HTTPError, MissingSchema, InvalidURL, ChunkedEncodingError, + ContentDecodingError, ConnectionError, StreamConsumedError) +from ._internal_utils import to_native_string, unicode_is_ascii +from .utils import ( + guess_filename, get_auth_from_url, requote_uri, + stream_decode_response_unicode, to_key_val_list, parse_header_links, + iter_slices, guess_json_utf, super_len, check_header_validity) +from .compat import ( + Callable, Mapping, + cookielib, urlunparse, urlsplit, urlencode, str, bytes, + is_py2, chardet, builtin_str, basestring) +from .compat import json as complexjson +from .status_codes import codes + +#: The set of HTTP status codes that indicate an automatically +#: processable redirect. +REDIRECT_STATI = ( + codes.moved, # 301 + codes.found, # 302 + codes.other, # 303 + codes.temporary_redirect, # 307 + codes.permanent_redirect, # 308 +) + +DEFAULT_REDIRECT_LIMIT = 30 +CONTENT_CHUNK_SIZE = 10 * 1024 +ITER_CHUNK_SIZE = 512 + + +class RequestEncodingMixin(object): + @property + def path_url(self): + """Build the path URL to use.""" + + url = [] + + p = urlsplit(self.url) + + path = p.path + if not path: + path = '/' + + url.append(path) + + query = p.query + if query: + url.append('?') + url.append(query) + + return ''.join(url) + + @staticmethod + def _encode_params(data): + """Encode parameters in a piece of data. + + Will successfully encode parameters when passed as a dict or a list of + 2-tuples. Order is retained if data is a list of 2-tuples but arbitrary + if parameters are supplied as a dict. + """ + + if isinstance(data, (str, bytes)): + return data + elif hasattr(data, 'read'): + return data + elif hasattr(data, '__iter__'): + result = [] + for k, vs in to_key_val_list(data): + if isinstance(vs, basestring) or not hasattr(vs, '__iter__'): + vs = [vs] + for v in vs: + if v is not None: + result.append( + (k.encode('utf-8') if isinstance(k, str) else k, + v.encode('utf-8') if isinstance(v, str) else v)) + return urlencode(result, doseq=True) + else: + return data + + @staticmethod + def _encode_files(files, data): + """Build the body for a multipart/form-data request. + + Will successfully encode files when passed as a dict or a list of + tuples. Order is retained if data is a list of tuples but arbitrary + if parameters are supplied as a dict. + The tuples may be 2-tuples (filename, fileobj), 3-tuples (filename, fileobj, contentype) + or 4-tuples (filename, fileobj, contentype, custom_headers). + """ + if (not files): + raise ValueError("Files must be provided.") + elif isinstance(data, basestring): + raise ValueError("Data must not be a string.") + + new_fields = [] + fields = to_key_val_list(data or {}) + files = to_key_val_list(files or {}) + + for field, val in fields: + if isinstance(val, basestring) or not hasattr(val, '__iter__'): + val = [val] + for v in val: + if v is not None: + # Don't call str() on bytestrings: in Py3 it all goes wrong. + if not isinstance(v, bytes): + v = str(v) + + new_fields.append( + (field.decode('utf-8') if isinstance(field, bytes) else field, + v.encode('utf-8') if isinstance(v, str) else v)) + + for (k, v) in files: + # support for explicit filename + ft = None + fh = None + if isinstance(v, (tuple, list)): + if len(v) == 2: + fn, fp = v + elif len(v) == 3: + fn, fp, ft = v + else: + fn, fp, ft, fh = v + else: + fn = guess_filename(v) or k + fp = v + + if isinstance(fp, (str, bytes, bytearray)): + fdata = fp + elif hasattr(fp, 'read'): + fdata = fp.read() + elif fp is None: + continue + else: + fdata = fp + + rf = RequestField(name=k, data=fdata, filename=fn, headers=fh) + rf.make_multipart(content_type=ft) + new_fields.append(rf) + + body, content_type = encode_multipart_formdata(new_fields) + + return body, content_type + + +class RequestHooksMixin(object): + def register_hook(self, event, hook): + """Properly register a hook.""" + + if event not in self.hooks: + raise ValueError('Unsupported event specified, with event name "%s"' % (event)) + + if isinstance(hook, Callable): + self.hooks[event].append(hook) + elif hasattr(hook, '__iter__'): + self.hooks[event].extend(h for h in hook if isinstance(h, Callable)) + + def deregister_hook(self, event, hook): + """Deregister a previously registered hook. + Returns True if the hook existed, False if not. + """ + + try: + self.hooks[event].remove(hook) + return True + except ValueError: + return False + + +class Request(RequestHooksMixin): + """A user-created :class:`Request <Request>` object. + + Used to prepare a :class:`PreparedRequest <PreparedRequest>`, which is sent to the server. + + :param method: HTTP method to use. + :param url: URL to send. + :param headers: dictionary of headers to send. + :param files: dictionary of {filename: fileobject} files to multipart upload. + :param data: the body to attach to the request. If a dictionary or + list of tuples ``[(key, value)]`` is provided, form-encoding will + take place. + :param json: json for the body to attach to the request (if files or data is not specified). + :param params: URL parameters to append to the URL. If a dictionary or + list of tuples ``[(key, value)]`` is provided, form-encoding will + take place. + :param auth: Auth handler or (user, pass) tuple. + :param cookies: dictionary or CookieJar of cookies to attach to this request. + :param hooks: dictionary of callback hooks, for internal usage. + + Usage:: + + >>> import requests + >>> req = requests.Request('GET', 'https://httpbin.org/get') + >>> req.prepare() + <PreparedRequest [GET]> + """ + + def __init__(self, + method=None, url=None, headers=None, files=None, data=None, + params=None, auth=None, cookies=None, hooks=None, json=None): + + # Default empty dicts for dict params. + data = [] if data is None else data + files = [] if files is None else files + headers = {} if headers is None else headers + params = {} if params is None else params + hooks = {} if hooks is None else hooks + + self.hooks = default_hooks() + for (k, v) in list(hooks.items()): + self.register_hook(event=k, hook=v) + + self.method = method + self.url = url + self.headers = headers + self.files = files + self.data = data + self.json = json + self.params = params + self.auth = auth + self.cookies = cookies + + def __repr__(self): + return '<Request [%s]>' % (self.method) + + def prepare(self): + """Constructs a :class:`PreparedRequest <PreparedRequest>` for transmission and returns it.""" + p = PreparedRequest() + p.prepare( + method=self.method, + url=self.url, + headers=self.headers, + files=self.files, + data=self.data, + json=self.json, + params=self.params, + auth=self.auth, + cookies=self.cookies, + hooks=self.hooks, + ) + return p + + +class PreparedRequest(RequestEncodingMixin, RequestHooksMixin): + """The fully mutable :class:`PreparedRequest <PreparedRequest>` object, + containing the exact bytes that will be sent to the server. + + Generated from either a :class:`Request <Request>` object or manually. + + Usage:: + + >>> import requests + >>> req = requests.Request('GET', 'https://httpbin.org/get') + >>> r = req.prepare() + <PreparedRequest [GET]> + + >>> s = requests.Session() + >>> s.send(r) + <Response [200]> + """ + + def __init__(self): + #: HTTP verb to send to the server. + self.method = None + #: HTTP URL to send the request to. + self.url = None + #: dictionary of HTTP headers. + self.headers = None + # The `CookieJar` used to create the Cookie header will be stored here + # after prepare_cookies is called + self._cookies = None + #: request body to send to the server. + self.body = None + #: dictionary of callback hooks, for internal usage. + self.hooks = default_hooks() + #: integer denoting starting position of a readable file-like body. + self._body_position = None + + def prepare(self, + method=None, url=None, headers=None, files=None, data=None, + params=None, auth=None, cookies=None, hooks=None, json=None): + """Prepares the entire request with the given parameters.""" + + self.prepare_method(method) + self.prepare_url(url, params) + self.prepare_headers(headers) + self.prepare_cookies(cookies) + self.prepare_body(data, files, json) + self.prepare_auth(auth, url) + + # Note that prepare_auth must be last to enable authentication schemes + # such as OAuth to work on a fully prepared request. + + # This MUST go after prepare_auth. Authenticators could add a hook + self.prepare_hooks(hooks) + + def __repr__(self): + return '<PreparedRequest [%s]>' % (self.method) + + def copy(self): + p = PreparedRequest() + p.method = self.method + p.url = self.url + p.headers = self.headers.copy() if self.headers is not None else None + p._cookies = _copy_cookie_jar(self._cookies) + p.body = self.body + p.hooks = self.hooks + p._body_position = self._body_position + return p + + def prepare_method(self, method): + """Prepares the given HTTP method.""" + self.method = method + if self.method is not None: + self.method = to_native_string(self.method.upper()) + + @staticmethod + def _get_idna_encoded_host(host): + from pip._vendor import idna + + try: + host = idna.encode(host, uts46=True).decode('utf-8') + except idna.IDNAError: + raise UnicodeError + return host + + def prepare_url(self, url, params): + """Prepares the given HTTP URL.""" + #: Accept objects that have string representations. + #: We're unable to blindly call unicode/str functions + #: as this will include the bytestring indicator (b'') + #: on python 3.x. + #: https://github.com/requests/requests/pull/2238 + if isinstance(url, bytes): + url = url.decode('utf8') + else: + url = unicode(url) if is_py2 else str(url) + + # Remove leading whitespaces from url + url = url.lstrip() + + # Don't do any URL preparation for non-HTTP schemes like `mailto`, + # `data` etc to work around exceptions from `url_parse`, which + # handles RFC 3986 only. + if ':' in url and not url.lower().startswith('http'): + self.url = url + return + + # Support for unicode domain names and paths. + try: + scheme, auth, host, port, path, query, fragment = parse_url(url) + except LocationParseError as e: + raise InvalidURL(*e.args) + + if not scheme: + error = ("Invalid URL {0!r}: No schema supplied. Perhaps you meant http://{0}?") + error = error.format(to_native_string(url, 'utf8')) + + raise MissingSchema(error) + + if not host: + raise InvalidURL("Invalid URL %r: No host supplied" % url) + + # In general, we want to try IDNA encoding the hostname if the string contains + # non-ASCII characters. This allows users to automatically get the correct IDNA + # behaviour. For strings containing only ASCII characters, we need to also verify + # it doesn't start with a wildcard (*), before allowing the unencoded hostname. + if not unicode_is_ascii(host): + try: + host = self._get_idna_encoded_host(host) + except UnicodeError: + raise InvalidURL('URL has an invalid label.') + elif host.startswith(u'*'): + raise InvalidURL('URL has an invalid label.') + + # Carefully reconstruct the network location + netloc = auth or '' + if netloc: + netloc += '@' + netloc += host + if port: + netloc += ':' + str(port) + + # Bare domains aren't valid URLs. + if not path: + path = '/' + + if is_py2: + if isinstance(scheme, str): + scheme = scheme.encode('utf-8') + if isinstance(netloc, str): + netloc = netloc.encode('utf-8') + if isinstance(path, str): + path = path.encode('utf-8') + if isinstance(query, str): + query = query.encode('utf-8') + if isinstance(fragment, str): + fragment = fragment.encode('utf-8') + + if isinstance(params, (str, bytes)): + params = to_native_string(params) + + enc_params = self._encode_params(params) + if enc_params: + if query: + query = '%s&%s' % (query, enc_params) + else: + query = enc_params + + url = requote_uri(urlunparse([scheme, netloc, path, None, query, fragment])) + self.url = url + + def prepare_headers(self, headers): + """Prepares the given HTTP headers.""" + + self.headers = CaseInsensitiveDict() + if headers: + for header in headers.items(): + # Raise exception on invalid header value. + check_header_validity(header) + name, value = header + self.headers[to_native_string(name)] = value + + def prepare_body(self, data, files, json=None): + """Prepares the given HTTP body data.""" + + # Check if file, fo, generator, iterator. + # If not, run through normal process. + + # Nottin' on you. + body = None + content_type = None + + if not data and json is not None: + # urllib3 requires a bytes-like body. Python 2's json.dumps + # provides this natively, but Python 3 gives a Unicode string. + content_type = 'application/json' + body = complexjson.dumps(json) + if not isinstance(body, bytes): + body = body.encode('utf-8') + + is_stream = all([ + hasattr(data, '__iter__'), + not isinstance(data, (basestring, list, tuple, Mapping)) + ]) + + try: + length = super_len(data) + except (TypeError, AttributeError, UnsupportedOperation): + length = None + + if is_stream: + body = data + + if getattr(body, 'tell', None) is not None: + # Record the current file position before reading. + # This will allow us to rewind a file in the event + # of a redirect. + try: + self._body_position = body.tell() + except (IOError, OSError): + # This differentiates from None, allowing us to catch + # a failed `tell()` later when trying to rewind the body + self._body_position = object() + + if files: + raise NotImplementedError('Streamed bodies and files are mutually exclusive.') + + if length: + self.headers['Content-Length'] = builtin_str(length) + else: + self.headers['Transfer-Encoding'] = 'chunked' + else: + # Multi-part file uploads. + if files: + (body, content_type) = self._encode_files(files, data) + else: + if data: + body = self._encode_params(data) + if isinstance(data, basestring) or hasattr(data, 'read'): + content_type = None + else: + content_type = 'application/x-www-form-urlencoded' + + self.prepare_content_length(body) + + # Add content-type if it wasn't explicitly provided. + if content_type and ('content-type' not in self.headers): + self.headers['Content-Type'] = content_type + + self.body = body + + def prepare_content_length(self, body): + """Prepare Content-Length header based on request method and body""" + if body is not None: + length = super_len(body) + if length: + # If length exists, set it. Otherwise, we fallback + # to Transfer-Encoding: chunked. + self.headers['Content-Length'] = builtin_str(length) + elif self.method not in ('GET', 'HEAD') and self.headers.get('Content-Length') is None: + # Set Content-Length to 0 for methods that can have a body + # but don't provide one. (i.e. not GET or HEAD) + self.headers['Content-Length'] = '0' + + def prepare_auth(self, auth, url=''): + """Prepares the given HTTP auth data.""" + + # If no Auth is explicitly provided, extract it from the URL first. + if auth is None: + url_auth = get_auth_from_url(self.url) + auth = url_auth if any(url_auth) else None + + if auth: + if isinstance(auth, tuple) and len(auth) == 2: + # special-case basic HTTP auth + auth = HTTPBasicAuth(*auth) + + # Allow auth to make its changes. + r = auth(self) + + # Update self to reflect the auth changes. + self.__dict__.update(r.__dict__) + + # Recompute Content-Length + self.prepare_content_length(self.body) + + def prepare_cookies(self, cookies): + """Prepares the given HTTP cookie data. + + This function eventually generates a ``Cookie`` header from the + given cookies using cookielib. Due to cookielib's design, the header + will not be regenerated if it already exists, meaning this function + can only be called once for the life of the + :class:`PreparedRequest <PreparedRequest>` object. Any subsequent calls + to ``prepare_cookies`` will have no actual effect, unless the "Cookie" + header is removed beforehand. + """ + if isinstance(cookies, cookielib.CookieJar): + self._cookies = cookies + else: + self._cookies = cookiejar_from_dict(cookies) + + cookie_header = get_cookie_header(self._cookies, self) + if cookie_header is not None: + self.headers['Cookie'] = cookie_header + + def prepare_hooks(self, hooks): + """Prepares the given hooks.""" + # hooks can be passed as None to the prepare method and to this + # method. To prevent iterating over None, simply use an empty list + # if hooks is False-y + hooks = hooks or [] + for event in hooks: + self.register_hook(event, hooks[event]) + + +class Response(object): + """The :class:`Response <Response>` object, which contains a + server's response to an HTTP request. + """ + + __attrs__ = [ + '_content', 'status_code', 'headers', 'url', 'history', + 'encoding', 'reason', 'cookies', 'elapsed', 'request' + ] + + def __init__(self): + self._content = False + self._content_consumed = False + self._next = None + + #: Integer Code of responded HTTP Status, e.g. 404 or 200. + self.status_code = None + + #: Case-insensitive Dictionary of Response Headers. + #: For example, ``headers['content-encoding']`` will return the + #: value of a ``'Content-Encoding'`` response header. + self.headers = CaseInsensitiveDict() + + #: File-like object representation of response (for advanced usage). + #: Use of ``raw`` requires that ``stream=True`` be set on the request. + # This requirement does not apply for use internally to Requests. + self.raw = None + + #: Final URL location of Response. + self.url = None + + #: Encoding to decode with when accessing r.text. + self.encoding = None + + #: A list of :class:`Response <Response>` objects from + #: the history of the Request. Any redirect responses will end + #: up here. The list is sorted from the oldest to the most recent request. + self.history = [] + + #: Textual reason of responded HTTP Status, e.g. "Not Found" or "OK". + self.reason = None + + #: A CookieJar of Cookies the server sent back. + self.cookies = cookiejar_from_dict({}) + + #: The amount of time elapsed between sending the request + #: and the arrival of the response (as a timedelta). + #: This property specifically measures the time taken between sending + #: the first byte of the request and finishing parsing the headers. It + #: is therefore unaffected by consuming the response content or the + #: value of the ``stream`` keyword argument. + self.elapsed = datetime.timedelta(0) + + #: The :class:`PreparedRequest <PreparedRequest>` object to which this + #: is a response. + self.request = None + + def __enter__(self): + return self + + def __exit__(self, *args): + self.close() + + def __getstate__(self): + # Consume everything; accessing the content attribute makes + # sure the content has been fully read. + if not self._content_consumed: + self.content + + return {attr: getattr(self, attr, None) for attr in self.__attrs__} + + def __setstate__(self, state): + for name, value in state.items(): + setattr(self, name, value) + + # pickled objects do not have .raw + setattr(self, '_content_consumed', True) + setattr(self, 'raw', None) + + def __repr__(self): + return '<Response [%s]>' % (self.status_code) + + def __bool__(self): + """Returns True if :attr:`status_code` is less than 400. + + This attribute checks if the status code of the response is between + 400 and 600 to see if there was a client error or a server error. If + the status code, is between 200 and 400, this will return True. This + is **not** a check to see if the response code is ``200 OK``. + """ + return self.ok + + def __nonzero__(self): + """Returns True if :attr:`status_code` is less than 400. + + This attribute checks if the status code of the response is between + 400 and 600 to see if there was a client error or a server error. If + the status code, is between 200 and 400, this will return True. This + is **not** a check to see if the response code is ``200 OK``. + """ + return self.ok + + def __iter__(self): + """Allows you to use a response as an iterator.""" + return self.iter_content(128) + + @property + def ok(self): + """Returns True if :attr:`status_code` is less than 400, False if not. + + This attribute checks if the status code of the response is between + 400 and 600 to see if there was a client error or a server error. If + the status code is between 200 and 400, this will return True. This + is **not** a check to see if the response code is ``200 OK``. + """ + try: + self.raise_for_status() + except HTTPError: + return False + return True + + @property + def is_redirect(self): + """True if this Response is a well-formed HTTP redirect that could have + been processed automatically (by :meth:`Session.resolve_redirects`). + """ + return ('location' in self.headers and self.status_code in REDIRECT_STATI) + + @property + def is_permanent_redirect(self): + """True if this Response one of the permanent versions of redirect.""" + return ('location' in self.headers and self.status_code in (codes.moved_permanently, codes.permanent_redirect)) + + @property + def next(self): + """Returns a PreparedRequest for the next request in a redirect chain, if there is one.""" + return self._next + + @property + def apparent_encoding(self): + """The apparent encoding, provided by the chardet library.""" + return chardet.detect(self.content)['encoding'] + + def iter_content(self, chunk_size=1, decode_unicode=False): + """Iterates over the response data. When stream=True is set on the + request, this avoids reading the content at once into memory for + large responses. The chunk size is the number of bytes it should + read into memory. This is not necessarily the length of each item + returned as decoding can take place. + + chunk_size must be of type int or None. A value of None will + function differently depending on the value of `stream`. + stream=True will read data as it arrives in whatever size the + chunks are received. If stream=False, data is returned as + a single chunk. + + If decode_unicode is True, content will be decoded using the best + available encoding based on the response. + """ + + def generate(): + # Special case for urllib3. + if hasattr(self.raw, 'stream'): + try: + for chunk in self.raw.stream(chunk_size, decode_content=True): + yield chunk + except ProtocolError as e: + raise ChunkedEncodingError(e) + except DecodeError as e: + raise ContentDecodingError(e) + except ReadTimeoutError as e: + raise ConnectionError(e) + else: + # Standard file-like object. + while True: + chunk = self.raw.read(chunk_size) + if not chunk: + break + yield chunk + + self._content_consumed = True + + if self._content_consumed and isinstance(self._content, bool): + raise StreamConsumedError() + elif chunk_size is not None and not isinstance(chunk_size, int): + raise TypeError("chunk_size must be an int, it is instead a %s." % type(chunk_size)) + # simulate reading small chunks of the content + reused_chunks = iter_slices(self._content, chunk_size) + + stream_chunks = generate() + + chunks = reused_chunks if self._content_consumed else stream_chunks + + if decode_unicode: + chunks = stream_decode_response_unicode(chunks, self) + + return chunks + + def iter_lines(self, chunk_size=ITER_CHUNK_SIZE, decode_unicode=False, delimiter=None): + """Iterates over the response data, one line at a time. When + stream=True is set on the request, this avoids reading the + content at once into memory for large responses. + + .. note:: This method is not reentrant safe. + """ + + pending = None + + for chunk in self.iter_content(chunk_size=chunk_size, decode_unicode=decode_unicode): + + if pending is not None: + chunk = pending + chunk + + if delimiter: + lines = chunk.split(delimiter) + else: + lines = chunk.splitlines() + + if lines and lines[-1] and chunk and lines[-1][-1] == chunk[-1]: + pending = lines.pop() + else: + pending = None + + for line in lines: + yield line + + if pending is not None: + yield pending + + @property + def content(self): + """Content of the response, in bytes.""" + + if self._content is False: + # Read the contents. + if self._content_consumed: + raise RuntimeError( + 'The content for this response was already consumed') + + if self.status_code == 0 or self.raw is None: + self._content = None + else: + self._content = b''.join(self.iter_content(CONTENT_CHUNK_SIZE)) or b'' + + self._content_consumed = True + # don't need to release the connection; that's been handled by urllib3 + # since we exhausted the data. + return self._content + + @property + def text(self): + """Content of the response, in unicode. + + If Response.encoding is None, encoding will be guessed using + ``chardet``. + + The encoding of the response content is determined based solely on HTTP + headers, following RFC 2616 to the letter. If you can take advantage of + non-HTTP knowledge to make a better guess at the encoding, you should + set ``r.encoding`` appropriately before accessing this property. + """ + + # Try charset from content-type + content = None + encoding = self.encoding + + if not self.content: + return str('') + + # Fallback to auto-detected encoding. + if self.encoding is None: + encoding = self.apparent_encoding + + # Decode unicode from given encoding. + try: + content = str(self.content, encoding, errors='replace') + except (LookupError, TypeError): + # A LookupError is raised if the encoding was not found which could + # indicate a misspelling or similar mistake. + # + # A TypeError can be raised if encoding is None + # + # So we try blindly encoding. + content = str(self.content, errors='replace') + + return content + + def json(self, **kwargs): + r"""Returns the json-encoded content of a response, if any. + + :param \*\*kwargs: Optional arguments that ``json.loads`` takes. + :raises ValueError: If the response body does not contain valid json. + """ + + if not self.encoding and self.content and len(self.content) > 3: + # No encoding set. JSON RFC 4627 section 3 states we should expect + # UTF-8, -16 or -32. Detect which one to use; If the detection or + # decoding fails, fall back to `self.text` (using chardet to make + # a best guess). + encoding = guess_json_utf(self.content) + if encoding is not None: + try: + return complexjson.loads( + self.content.decode(encoding), **kwargs + ) + except UnicodeDecodeError: + # Wrong UTF codec detected; usually because it's not UTF-8 + # but some other 8-bit codec. This is an RFC violation, + # and the server didn't bother to tell us what codec *was* + # used. + pass + return complexjson.loads(self.text, **kwargs) + + @property + def links(self): + """Returns the parsed header links of the response, if any.""" + + header = self.headers.get('link') + + # l = MultiDict() + l = {} + + if header: + links = parse_header_links(header) + + for link in links: + key = link.get('rel') or link.get('url') + l[key] = link + + return l + + def raise_for_status(self): + """Raises stored :class:`HTTPError`, if one occurred.""" + + http_error_msg = '' + if isinstance(self.reason, bytes): + # We attempt to decode utf-8 first because some servers + # choose to localize their reason strings. If the string + # isn't utf-8, we fall back to iso-8859-1 for all other + # encodings. (See PR #3538) + try: + reason = self.reason.decode('utf-8') + except UnicodeDecodeError: + reason = self.reason.decode('iso-8859-1') + else: + reason = self.reason + + if 400 <= self.status_code < 500: + http_error_msg = u'%s Client Error: %s for url: %s' % (self.status_code, reason, self.url) + + elif 500 <= self.status_code < 600: + http_error_msg = u'%s Server Error: %s for url: %s' % (self.status_code, reason, self.url) + + if http_error_msg: + raise HTTPError(http_error_msg, response=self) + + def close(self): + """Releases the connection back to the pool. Once this method has been + called the underlying ``raw`` object must not be accessed again. + + *Note: Should not normally need to be called explicitly.* + """ + if not self._content_consumed: + self.raw.close() + + release_conn = getattr(self.raw, 'release_conn', None) + if release_conn is not None: + release_conn() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/packages.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/packages.py new file mode 100644 index 0000000..9582fa7 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/packages.py @@ -0,0 +1,16 @@ +import sys + +# This code exists for backwards compatibility reasons. +# I don't like it either. Just look the other way. :) + +for package in ('urllib3', 'idna', 'chardet'): + vendored_package = "pip._vendor." + package + locals()[package] = __import__(vendored_package) + # This traversal is apparently necessary such that the identities are + # preserved (requests.packages.urllib3.* is urllib3.*) + for mod in list(sys.modules): + if mod == vendored_package or mod.startswith(vendored_package + '.'): + unprefixed_mod = mod[len("pip._vendor."):] + sys.modules['pip._vendor.requests.packages.' + unprefixed_mod] = sys.modules[mod] + +# Kinda cool, though, right? diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/sessions.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/sessions.py new file mode 100644 index 0000000..d73d700 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/sessions.py @@ -0,0 +1,770 @@ +# -*- coding: utf-8 -*- + +""" +requests.session +~~~~~~~~~~~~~~~~ + +This module provides a Session object to manage and persist settings across +requests (cookies, auth, proxies). +""" +import os +import sys +import time +from datetime import timedelta + +from .auth import _basic_auth_str +from .compat import cookielib, is_py3, OrderedDict, urljoin, urlparse, Mapping +from .cookies import ( + cookiejar_from_dict, extract_cookies_to_jar, RequestsCookieJar, merge_cookies) +from .models import Request, PreparedRequest, DEFAULT_REDIRECT_LIMIT +from .hooks import default_hooks, dispatch_hook +from ._internal_utils import to_native_string +from .utils import to_key_val_list, default_headers, DEFAULT_PORTS +from .exceptions import ( + TooManyRedirects, InvalidSchema, ChunkedEncodingError, ContentDecodingError) + +from .structures import CaseInsensitiveDict +from .adapters import HTTPAdapter + +from .utils import ( + requote_uri, get_environ_proxies, get_netrc_auth, should_bypass_proxies, + get_auth_from_url, rewind_body +) + +from .status_codes import codes + +# formerly defined here, reexposed here for backward compatibility +from .models import REDIRECT_STATI + +# Preferred clock, based on which one is more accurate on a given system. +if sys.platform == 'win32': + try: # Python 3.4+ + preferred_clock = time.perf_counter + except AttributeError: # Earlier than Python 3. + preferred_clock = time.clock +else: + preferred_clock = time.time + + +def merge_setting(request_setting, session_setting, dict_class=OrderedDict): + """Determines appropriate setting for a given request, taking into account + the explicit setting on that request, and the setting in the session. If a + setting is a dictionary, they will be merged together using `dict_class` + """ + + if session_setting is None: + return request_setting + + if request_setting is None: + return session_setting + + # Bypass if not a dictionary (e.g. verify) + if not ( + isinstance(session_setting, Mapping) and + isinstance(request_setting, Mapping) + ): + return request_setting + + merged_setting = dict_class(to_key_val_list(session_setting)) + merged_setting.update(to_key_val_list(request_setting)) + + # Remove keys that are set to None. Extract keys first to avoid altering + # the dictionary during iteration. + none_keys = [k for (k, v) in merged_setting.items() if v is None] + for key in none_keys: + del merged_setting[key] + + return merged_setting + + +def merge_hooks(request_hooks, session_hooks, dict_class=OrderedDict): + """Properly merges both requests and session hooks. + + This is necessary because when request_hooks == {'response': []}, the + merge breaks Session hooks entirely. + """ + if session_hooks is None or session_hooks.get('response') == []: + return request_hooks + + if request_hooks is None or request_hooks.get('response') == []: + return session_hooks + + return merge_setting(request_hooks, session_hooks, dict_class) + + +class SessionRedirectMixin(object): + + def get_redirect_target(self, resp): + """Receives a Response. Returns a redirect URI or ``None``""" + # Due to the nature of how requests processes redirects this method will + # be called at least once upon the original response and at least twice + # on each subsequent redirect response (if any). + # If a custom mixin is used to handle this logic, it may be advantageous + # to cache the redirect location onto the response object as a private + # attribute. + if resp.is_redirect: + location = resp.headers['location'] + # Currently the underlying http module on py3 decode headers + # in latin1, but empirical evidence suggests that latin1 is very + # rarely used with non-ASCII characters in HTTP headers. + # It is more likely to get UTF8 header rather than latin1. + # This causes incorrect handling of UTF8 encoded location headers. + # To solve this, we re-encode the location in latin1. + if is_py3: + location = location.encode('latin1') + return to_native_string(location, 'utf8') + return None + + def should_strip_auth(self, old_url, new_url): + """Decide whether Authorization header should be removed when redirecting""" + old_parsed = urlparse(old_url) + new_parsed = urlparse(new_url) + if old_parsed.hostname != new_parsed.hostname: + return True + # Special case: allow http -> https redirect when using the standard + # ports. This isn't specified by RFC 7235, but is kept to avoid + # breaking backwards compatibility with older versions of requests + # that allowed any redirects on the same host. + if (old_parsed.scheme == 'http' and old_parsed.port in (80, None) + and new_parsed.scheme == 'https' and new_parsed.port in (443, None)): + return False + + # Handle default port usage corresponding to scheme. + changed_port = old_parsed.port != new_parsed.port + changed_scheme = old_parsed.scheme != new_parsed.scheme + default_port = (DEFAULT_PORTS.get(old_parsed.scheme, None), None) + if (not changed_scheme and old_parsed.port in default_port + and new_parsed.port in default_port): + return False + + # Standard case: root URI must match + return changed_port or changed_scheme + + def resolve_redirects(self, resp, req, stream=False, timeout=None, + verify=True, cert=None, proxies=None, yield_requests=False, **adapter_kwargs): + """Receives a Response. Returns a generator of Responses or Requests.""" + + hist = [] # keep track of history + + url = self.get_redirect_target(resp) + previous_fragment = urlparse(req.url).fragment + while url: + prepared_request = req.copy() + + # Update history and keep track of redirects. + # resp.history must ignore the original request in this loop + hist.append(resp) + resp.history = hist[1:] + + try: + resp.content # Consume socket so it can be released + except (ChunkedEncodingError, ContentDecodingError, RuntimeError): + resp.raw.read(decode_content=False) + + if len(resp.history) >= self.max_redirects: + raise TooManyRedirects('Exceeded %s redirects.' % self.max_redirects, response=resp) + + # Release the connection back into the pool. + resp.close() + + # Handle redirection without scheme (see: RFC 1808 Section 4) + if url.startswith('//'): + parsed_rurl = urlparse(resp.url) + url = '%s:%s' % (to_native_string(parsed_rurl.scheme), url) + + # Normalize url case and attach previous fragment if needed (RFC 7231 7.1.2) + parsed = urlparse(url) + if parsed.fragment == '' and previous_fragment: + parsed = parsed._replace(fragment=previous_fragment) + elif parsed.fragment: + previous_fragment = parsed.fragment + url = parsed.geturl() + + # Facilitate relative 'location' headers, as allowed by RFC 7231. + # (e.g. '/path/to/resource' instead of 'http://domain.tld/path/to/resource') + # Compliant with RFC3986, we percent encode the url. + if not parsed.netloc: + url = urljoin(resp.url, requote_uri(url)) + else: + url = requote_uri(url) + + prepared_request.url = to_native_string(url) + + self.rebuild_method(prepared_request, resp) + + # https://github.com/requests/requests/issues/1084 + if resp.status_code not in (codes.temporary_redirect, codes.permanent_redirect): + # https://github.com/requests/requests/issues/3490 + purged_headers = ('Content-Length', 'Content-Type', 'Transfer-Encoding') + for header in purged_headers: + prepared_request.headers.pop(header, None) + prepared_request.body = None + + headers = prepared_request.headers + try: + del headers['Cookie'] + except KeyError: + pass + + # Extract any cookies sent on the response to the cookiejar + # in the new request. Because we've mutated our copied prepared + # request, use the old one that we haven't yet touched. + extract_cookies_to_jar(prepared_request._cookies, req, resp.raw) + merge_cookies(prepared_request._cookies, self.cookies) + prepared_request.prepare_cookies(prepared_request._cookies) + + # Rebuild auth and proxy information. + proxies = self.rebuild_proxies(prepared_request, proxies) + self.rebuild_auth(prepared_request, resp) + + # A failed tell() sets `_body_position` to `object()`. This non-None + # value ensures `rewindable` will be True, allowing us to raise an + # UnrewindableBodyError, instead of hanging the connection. + rewindable = ( + prepared_request._body_position is not None and + ('Content-Length' in headers or 'Transfer-Encoding' in headers) + ) + + # Attempt to rewind consumed file-like object. + if rewindable: + rewind_body(prepared_request) + + # Override the original request. + req = prepared_request + + if yield_requests: + yield req + else: + + resp = self.send( + req, + stream=stream, + timeout=timeout, + verify=verify, + cert=cert, + proxies=proxies, + allow_redirects=False, + **adapter_kwargs + ) + + extract_cookies_to_jar(self.cookies, prepared_request, resp.raw) + + # extract redirect url, if any, for the next loop + url = self.get_redirect_target(resp) + yield resp + + def rebuild_auth(self, prepared_request, response): + """When being redirected we may want to strip authentication from the + request to avoid leaking credentials. This method intelligently removes + and reapplies authentication where possible to avoid credential loss. + """ + headers = prepared_request.headers + url = prepared_request.url + + if 'Authorization' in headers and self.should_strip_auth(response.request.url, url): + # If we get redirected to a new host, we should strip out any + # authentication headers. + del headers['Authorization'] + + # .netrc might have more auth for us on our new host. + new_auth = get_netrc_auth(url) if self.trust_env else None + if new_auth is not None: + prepared_request.prepare_auth(new_auth) + + return + + def rebuild_proxies(self, prepared_request, proxies): + """This method re-evaluates the proxy configuration by considering the + environment variables. If we are redirected to a URL covered by + NO_PROXY, we strip the proxy configuration. Otherwise, we set missing + proxy keys for this URL (in case they were stripped by a previous + redirect). + + This method also replaces the Proxy-Authorization header where + necessary. + + :rtype: dict + """ + proxies = proxies if proxies is not None else {} + headers = prepared_request.headers + url = prepared_request.url + scheme = urlparse(url).scheme + new_proxies = proxies.copy() + no_proxy = proxies.get('no_proxy') + + bypass_proxy = should_bypass_proxies(url, no_proxy=no_proxy) + if self.trust_env and not bypass_proxy: + environ_proxies = get_environ_proxies(url, no_proxy=no_proxy) + + proxy = environ_proxies.get(scheme, environ_proxies.get('all')) + + if proxy: + new_proxies.setdefault(scheme, proxy) + + if 'Proxy-Authorization' in headers: + del headers['Proxy-Authorization'] + + try: + username, password = get_auth_from_url(new_proxies[scheme]) + except KeyError: + username, password = None, None + + if username and password: + headers['Proxy-Authorization'] = _basic_auth_str(username, password) + + return new_proxies + + def rebuild_method(self, prepared_request, response): + """When being redirected we may want to change the method of the request + based on certain specs or browser behavior. + """ + method = prepared_request.method + + # https://tools.ietf.org/html/rfc7231#section-6.4.4 + if response.status_code == codes.see_other and method != 'HEAD': + method = 'GET' + + # Do what the browsers do, despite standards... + # First, turn 302s into GETs. + if response.status_code == codes.found and method != 'HEAD': + method = 'GET' + + # Second, if a POST is responded to with a 301, turn it into a GET. + # This bizarre behaviour is explained in Issue 1704. + if response.status_code == codes.moved and method == 'POST': + method = 'GET' + + prepared_request.method = method + + +class Session(SessionRedirectMixin): + """A Requests session. + + Provides cookie persistence, connection-pooling, and configuration. + + Basic Usage:: + + >>> import requests + >>> s = requests.Session() + >>> s.get('https://httpbin.org/get') + <Response [200]> + + Or as a context manager:: + + >>> with requests.Session() as s: + >>> s.get('https://httpbin.org/get') + <Response [200]> + """ + + __attrs__ = [ + 'headers', 'cookies', 'auth', 'proxies', 'hooks', 'params', 'verify', + 'cert', 'prefetch', 'adapters', 'stream', 'trust_env', + 'max_redirects', + ] + + def __init__(self): + + #: A case-insensitive dictionary of headers to be sent on each + #: :class:`Request <Request>` sent from this + #: :class:`Session <Session>`. + self.headers = default_headers() + + #: Default Authentication tuple or object to attach to + #: :class:`Request <Request>`. + self.auth = None + + #: Dictionary mapping protocol or protocol and host to the URL of the proxy + #: (e.g. {'http': 'foo.bar:3128', 'http://host.name': 'foo.bar:4012'}) to + #: be used on each :class:`Request <Request>`. + self.proxies = {} + + #: Event-handling hooks. + self.hooks = default_hooks() + + #: Dictionary of querystring data to attach to each + #: :class:`Request <Request>`. The dictionary values may be lists for + #: representing multivalued query parameters. + self.params = {} + + #: Stream response content default. + self.stream = False + + #: SSL Verification default. + self.verify = True + + #: SSL client certificate default, if String, path to ssl client + #: cert file (.pem). If Tuple, ('cert', 'key') pair. + self.cert = None + + #: Maximum number of redirects allowed. If the request exceeds this + #: limit, a :class:`TooManyRedirects` exception is raised. + #: This defaults to requests.models.DEFAULT_REDIRECT_LIMIT, which is + #: 30. + self.max_redirects = DEFAULT_REDIRECT_LIMIT + + #: Trust environment settings for proxy configuration, default + #: authentication and similar. + self.trust_env = True + + #: A CookieJar containing all currently outstanding cookies set on this + #: session. By default it is a + #: :class:`RequestsCookieJar <requests.cookies.RequestsCookieJar>`, but + #: may be any other ``cookielib.CookieJar`` compatible object. + self.cookies = cookiejar_from_dict({}) + + # Default connection adapters. + self.adapters = OrderedDict() + self.mount('https://', HTTPAdapter()) + self.mount('http://', HTTPAdapter()) + + def __enter__(self): + return self + + def __exit__(self, *args): + self.close() + + def prepare_request(self, request): + """Constructs a :class:`PreparedRequest <PreparedRequest>` for + transmission and returns it. The :class:`PreparedRequest` has settings + merged from the :class:`Request <Request>` instance and those of the + :class:`Session`. + + :param request: :class:`Request` instance to prepare with this + session's settings. + :rtype: requests.PreparedRequest + """ + cookies = request.cookies or {} + + # Bootstrap CookieJar. + if not isinstance(cookies, cookielib.CookieJar): + cookies = cookiejar_from_dict(cookies) + + # Merge with session cookies + merged_cookies = merge_cookies( + merge_cookies(RequestsCookieJar(), self.cookies), cookies) + + # Set environment's basic authentication if not explicitly set. + auth = request.auth + if self.trust_env and not auth and not self.auth: + auth = get_netrc_auth(request.url) + + p = PreparedRequest() + p.prepare( + method=request.method.upper(), + url=request.url, + files=request.files, + data=request.data, + json=request.json, + headers=merge_setting(request.headers, self.headers, dict_class=CaseInsensitiveDict), + params=merge_setting(request.params, self.params), + auth=merge_setting(auth, self.auth), + cookies=merged_cookies, + hooks=merge_hooks(request.hooks, self.hooks), + ) + return p + + def request(self, method, url, + params=None, data=None, headers=None, cookies=None, files=None, + auth=None, timeout=None, allow_redirects=True, proxies=None, + hooks=None, stream=None, verify=None, cert=None, json=None): + """Constructs a :class:`Request <Request>`, prepares it and sends it. + Returns :class:`Response <Response>` object. + + :param method: method for the new :class:`Request` object. + :param url: URL for the new :class:`Request` object. + :param params: (optional) Dictionary or bytes to be sent in the query + string for the :class:`Request`. + :param data: (optional) Dictionary, list of tuples, bytes, or file-like + object to send in the body of the :class:`Request`. + :param json: (optional) json to send in the body of the + :class:`Request`. + :param headers: (optional) Dictionary of HTTP Headers to send with the + :class:`Request`. + :param cookies: (optional) Dict or CookieJar object to send with the + :class:`Request`. + :param files: (optional) Dictionary of ``'filename': file-like-objects`` + for multipart encoding upload. + :param auth: (optional) Auth tuple or callable to enable + Basic/Digest/Custom HTTP Auth. + :param timeout: (optional) How long to wait for the server to send + data before giving up, as a float, or a :ref:`(connect timeout, + read timeout) <timeouts>` tuple. + :type timeout: float or tuple + :param allow_redirects: (optional) Set to True by default. + :type allow_redirects: bool + :param proxies: (optional) Dictionary mapping protocol or protocol and + hostname to the URL of the proxy. + :param stream: (optional) whether to immediately download the response + content. Defaults to ``False``. + :param verify: (optional) Either a boolean, in which case it controls whether we verify + the server's TLS certificate, or a string, in which case it must be a path + to a CA bundle to use. Defaults to ``True``. + :param cert: (optional) if String, path to ssl client cert file (.pem). + If Tuple, ('cert', 'key') pair. + :rtype: requests.Response + """ + # Create the Request. + req = Request( + method=method.upper(), + url=url, + headers=headers, + files=files, + data=data or {}, + json=json, + params=params or {}, + auth=auth, + cookies=cookies, + hooks=hooks, + ) + prep = self.prepare_request(req) + + proxies = proxies or {} + + settings = self.merge_environment_settings( + prep.url, proxies, stream, verify, cert + ) + + # Send the request. + send_kwargs = { + 'timeout': timeout, + 'allow_redirects': allow_redirects, + } + send_kwargs.update(settings) + resp = self.send(prep, **send_kwargs) + + return resp + + def get(self, url, **kwargs): + r"""Sends a GET request. Returns :class:`Response` object. + + :param url: URL for the new :class:`Request` object. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :rtype: requests.Response + """ + + kwargs.setdefault('allow_redirects', True) + return self.request('GET', url, **kwargs) + + def options(self, url, **kwargs): + r"""Sends a OPTIONS request. Returns :class:`Response` object. + + :param url: URL for the new :class:`Request` object. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :rtype: requests.Response + """ + + kwargs.setdefault('allow_redirects', True) + return self.request('OPTIONS', url, **kwargs) + + def head(self, url, **kwargs): + r"""Sends a HEAD request. Returns :class:`Response` object. + + :param url: URL for the new :class:`Request` object. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :rtype: requests.Response + """ + + kwargs.setdefault('allow_redirects', False) + return self.request('HEAD', url, **kwargs) + + def post(self, url, data=None, json=None, **kwargs): + r"""Sends a POST request. Returns :class:`Response` object. + + :param url: URL for the new :class:`Request` object. + :param data: (optional) Dictionary, list of tuples, bytes, or file-like + object to send in the body of the :class:`Request`. + :param json: (optional) json to send in the body of the :class:`Request`. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :rtype: requests.Response + """ + + return self.request('POST', url, data=data, json=json, **kwargs) + + def put(self, url, data=None, **kwargs): + r"""Sends a PUT request. Returns :class:`Response` object. + + :param url: URL for the new :class:`Request` object. + :param data: (optional) Dictionary, list of tuples, bytes, or file-like + object to send in the body of the :class:`Request`. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :rtype: requests.Response + """ + + return self.request('PUT', url, data=data, **kwargs) + + def patch(self, url, data=None, **kwargs): + r"""Sends a PATCH request. Returns :class:`Response` object. + + :param url: URL for the new :class:`Request` object. + :param data: (optional) Dictionary, list of tuples, bytes, or file-like + object to send in the body of the :class:`Request`. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :rtype: requests.Response + """ + + return self.request('PATCH', url, data=data, **kwargs) + + def delete(self, url, **kwargs): + r"""Sends a DELETE request. Returns :class:`Response` object. + + :param url: URL for the new :class:`Request` object. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :rtype: requests.Response + """ + + return self.request('DELETE', url, **kwargs) + + def send(self, request, **kwargs): + """Send a given PreparedRequest. + + :rtype: requests.Response + """ + # Set defaults that the hooks can utilize to ensure they always have + # the correct parameters to reproduce the previous request. + kwargs.setdefault('stream', self.stream) + kwargs.setdefault('verify', self.verify) + kwargs.setdefault('cert', self.cert) + kwargs.setdefault('proxies', self.proxies) + + # It's possible that users might accidentally send a Request object. + # Guard against that specific failure case. + if isinstance(request, Request): + raise ValueError('You can only send PreparedRequests.') + + # Set up variables needed for resolve_redirects and dispatching of hooks + allow_redirects = kwargs.pop('allow_redirects', True) + stream = kwargs.get('stream') + hooks = request.hooks + + # Get the appropriate adapter to use + adapter = self.get_adapter(url=request.url) + + # Start time (approximately) of the request + start = preferred_clock() + + # Send the request + r = adapter.send(request, **kwargs) + + # Total elapsed time of the request (approximately) + elapsed = preferred_clock() - start + r.elapsed = timedelta(seconds=elapsed) + + # Response manipulation hooks + r = dispatch_hook('response', hooks, r, **kwargs) + + # Persist cookies + if r.history: + + # If the hooks create history then we want those cookies too + for resp in r.history: + extract_cookies_to_jar(self.cookies, resp.request, resp.raw) + + extract_cookies_to_jar(self.cookies, request, r.raw) + + # Redirect resolving generator. + gen = self.resolve_redirects(r, request, **kwargs) + + # Resolve redirects if allowed. + history = [resp for resp in gen] if allow_redirects else [] + + # Shuffle things around if there's history. + if history: + # Insert the first (original) request at the start + history.insert(0, r) + # Get the last request made + r = history.pop() + r.history = history + + # If redirects aren't being followed, store the response on the Request for Response.next(). + if not allow_redirects: + try: + r._next = next(self.resolve_redirects(r, request, yield_requests=True, **kwargs)) + except StopIteration: + pass + + if not stream: + r.content + + return r + + def merge_environment_settings(self, url, proxies, stream, verify, cert): + """ + Check the environment and merge it with some settings. + + :rtype: dict + """ + # Gather clues from the surrounding environment. + if self.trust_env: + # Set environment's proxies. + no_proxy = proxies.get('no_proxy') if proxies is not None else None + env_proxies = get_environ_proxies(url, no_proxy=no_proxy) + for (k, v) in env_proxies.items(): + proxies.setdefault(k, v) + + # Look for requests environment configuration and be compatible + # with cURL. + if verify is True or verify is None: + verify = (os.environ.get('REQUESTS_CA_BUNDLE') or + os.environ.get('CURL_CA_BUNDLE')) + + # Merge all the kwargs. + proxies = merge_setting(proxies, self.proxies) + stream = merge_setting(stream, self.stream) + verify = merge_setting(verify, self.verify) + cert = merge_setting(cert, self.cert) + + return {'verify': verify, 'proxies': proxies, 'stream': stream, + 'cert': cert} + + def get_adapter(self, url): + """ + Returns the appropriate connection adapter for the given URL. + + :rtype: requests.adapters.BaseAdapter + """ + for (prefix, adapter) in self.adapters.items(): + + if url.lower().startswith(prefix.lower()): + return adapter + + # Nothing matches :-/ + raise InvalidSchema("No connection adapters were found for '%s'" % url) + + def close(self): + """Closes all adapters and as such the session""" + for v in self.adapters.values(): + v.close() + + def mount(self, prefix, adapter): + """Registers a connection adapter to a prefix. + + Adapters are sorted in descending order by prefix length. + """ + self.adapters[prefix] = adapter + keys_to_move = [k for k in self.adapters if len(k) < len(prefix)] + + for key in keys_to_move: + self.adapters[key] = self.adapters.pop(key) + + def __getstate__(self): + state = {attr: getattr(self, attr, None) for attr in self.__attrs__} + return state + + def __setstate__(self, state): + for attr, value in state.items(): + setattr(self, attr, value) + + +def session(): + """ + Returns a :class:`Session` for context-management. + + .. deprecated:: 1.0.0 + + This method has been deprecated since version 1.0.0 and is only kept for + backwards compatibility. New code should use :class:`~requests.sessions.Session` + to create a session. This may be removed at a future date. + + :rtype: Session + """ + return Session() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/status_codes.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/status_codes.py new file mode 100644 index 0000000..813e8c4 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/status_codes.py @@ -0,0 +1,120 @@ +# -*- coding: utf-8 -*- + +r""" +The ``codes`` object defines a mapping from common names for HTTP statuses +to their numerical codes, accessible either as attributes or as dictionary +items. + +>>> requests.codes['temporary_redirect'] +307 +>>> requests.codes.teapot +418 +>>> requests.codes['\o/'] +200 + +Some codes have multiple names, and both upper- and lower-case versions of +the names are allowed. For example, ``codes.ok``, ``codes.OK``, and +``codes.okay`` all correspond to the HTTP status code 200. +""" + +from .structures import LookupDict + +_codes = { + + # Informational. + 100: ('continue',), + 101: ('switching_protocols',), + 102: ('processing',), + 103: ('checkpoint',), + 122: ('uri_too_long', 'request_uri_too_long'), + 200: ('ok', 'okay', 'all_ok', 'all_okay', 'all_good', '\\o/', '✓'), + 201: ('created',), + 202: ('accepted',), + 203: ('non_authoritative_info', 'non_authoritative_information'), + 204: ('no_content',), + 205: ('reset_content', 'reset'), + 206: ('partial_content', 'partial'), + 207: ('multi_status', 'multiple_status', 'multi_stati', 'multiple_stati'), + 208: ('already_reported',), + 226: ('im_used',), + + # Redirection. + 300: ('multiple_choices',), + 301: ('moved_permanently', 'moved', '\\o-'), + 302: ('found',), + 303: ('see_other', 'other'), + 304: ('not_modified',), + 305: ('use_proxy',), + 306: ('switch_proxy',), + 307: ('temporary_redirect', 'temporary_moved', 'temporary'), + 308: ('permanent_redirect', + 'resume_incomplete', 'resume',), # These 2 to be removed in 3.0 + + # Client Error. + 400: ('bad_request', 'bad'), + 401: ('unauthorized',), + 402: ('payment_required', 'payment'), + 403: ('forbidden',), + 404: ('not_found', '-o-'), + 405: ('method_not_allowed', 'not_allowed'), + 406: ('not_acceptable',), + 407: ('proxy_authentication_required', 'proxy_auth', 'proxy_authentication'), + 408: ('request_timeout', 'timeout'), + 409: ('conflict',), + 410: ('gone',), + 411: ('length_required',), + 412: ('precondition_failed', 'precondition'), + 413: ('request_entity_too_large',), + 414: ('request_uri_too_large',), + 415: ('unsupported_media_type', 'unsupported_media', 'media_type'), + 416: ('requested_range_not_satisfiable', 'requested_range', 'range_not_satisfiable'), + 417: ('expectation_failed',), + 418: ('im_a_teapot', 'teapot', 'i_am_a_teapot'), + 421: ('misdirected_request',), + 422: ('unprocessable_entity', 'unprocessable'), + 423: ('locked',), + 424: ('failed_dependency', 'dependency'), + 425: ('unordered_collection', 'unordered'), + 426: ('upgrade_required', 'upgrade'), + 428: ('precondition_required', 'precondition'), + 429: ('too_many_requests', 'too_many'), + 431: ('header_fields_too_large', 'fields_too_large'), + 444: ('no_response', 'none'), + 449: ('retry_with', 'retry'), + 450: ('blocked_by_windows_parental_controls', 'parental_controls'), + 451: ('unavailable_for_legal_reasons', 'legal_reasons'), + 499: ('client_closed_request',), + + # Server Error. + 500: ('internal_server_error', 'server_error', '/o\\', '✗'), + 501: ('not_implemented',), + 502: ('bad_gateway',), + 503: ('service_unavailable', 'unavailable'), + 504: ('gateway_timeout',), + 505: ('http_version_not_supported', 'http_version'), + 506: ('variant_also_negotiates',), + 507: ('insufficient_storage',), + 509: ('bandwidth_limit_exceeded', 'bandwidth'), + 510: ('not_extended',), + 511: ('network_authentication_required', 'network_auth', 'network_authentication'), +} + +codes = LookupDict(name='status_codes') + +def _init(): + for code, titles in _codes.items(): + for title in titles: + setattr(codes, title, code) + if not title.startswith(('\\', '/')): + setattr(codes, title.upper(), code) + + def doc(code): + names = ', '.join('``%s``' % n for n in _codes[code]) + return '* %d: %s' % (code, names) + + global __doc__ + __doc__ = (__doc__ + '\n' + + '\n'.join(doc(code) for code in sorted(_codes)) + if __doc__ is not None else None) + +_init() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/structures.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/structures.py new file mode 100644 index 0000000..da930e2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/structures.py @@ -0,0 +1,103 @@ +# -*- coding: utf-8 -*- + +""" +requests.structures +~~~~~~~~~~~~~~~~~~~ + +Data structures that power Requests. +""" + +from .compat import OrderedDict, Mapping, MutableMapping + + +class CaseInsensitiveDict(MutableMapping): + """A case-insensitive ``dict``-like object. + + Implements all methods and operations of + ``MutableMapping`` as well as dict's ``copy``. Also + provides ``lower_items``. + + All keys are expected to be strings. The structure remembers the + case of the last key to be set, and ``iter(instance)``, + ``keys()``, ``items()``, ``iterkeys()``, and ``iteritems()`` + will contain case-sensitive keys. However, querying and contains + testing is case insensitive:: + + cid = CaseInsensitiveDict() + cid['Accept'] = 'application/json' + cid['aCCEPT'] == 'application/json' # True + list(cid) == ['Accept'] # True + + For example, ``headers['content-encoding']`` will return the + value of a ``'Content-Encoding'`` response header, regardless + of how the header name was originally stored. + + If the constructor, ``.update``, or equality comparison + operations are given keys that have equal ``.lower()``s, the + behavior is undefined. + """ + + def __init__(self, data=None, **kwargs): + self._store = OrderedDict() + if data is None: + data = {} + self.update(data, **kwargs) + + def __setitem__(self, key, value): + # Use the lowercased key for lookups, but store the actual + # key alongside the value. + self._store[key.lower()] = (key, value) + + def __getitem__(self, key): + return self._store[key.lower()][1] + + def __delitem__(self, key): + del self._store[key.lower()] + + def __iter__(self): + return (casedkey for casedkey, mappedvalue in self._store.values()) + + def __len__(self): + return len(self._store) + + def lower_items(self): + """Like iteritems(), but with all lowercase keys.""" + return ( + (lowerkey, keyval[1]) + for (lowerkey, keyval) + in self._store.items() + ) + + def __eq__(self, other): + if isinstance(other, Mapping): + other = CaseInsensitiveDict(other) + else: + return NotImplemented + # Compare insensitively + return dict(self.lower_items()) == dict(other.lower_items()) + + # Copy is required + def copy(self): + return CaseInsensitiveDict(self._store.values()) + + def __repr__(self): + return str(dict(self.items())) + + +class LookupDict(dict): + """Dictionary lookup object.""" + + def __init__(self, name=None): + self.name = name + super(LookupDict, self).__init__() + + def __repr__(self): + return '<lookup \'%s\'>' % (self.name) + + def __getitem__(self, key): + # We allow fall-through here, so values default to None + + return self.__dict__.get(key, None) + + def get(self, key, default=None): + return self.__dict__.get(key, default) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/utils.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/utils.py new file mode 100644 index 0000000..8170a8d --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/utils.py @@ -0,0 +1,977 @@ +# -*- coding: utf-8 -*- + +""" +requests.utils +~~~~~~~~~~~~~~ + +This module provides utility functions that are used within Requests +that are also useful for external consumption. +""" + +import codecs +import contextlib +import io +import os +import re +import socket +import struct +import sys +import tempfile +import warnings +import zipfile + +from .__version__ import __version__ +from . import certs +# to_native_string is unused here, but imported here for backwards compatibility +from ._internal_utils import to_native_string +from .compat import parse_http_list as _parse_list_header +from .compat import ( + quote, urlparse, bytes, str, OrderedDict, unquote, getproxies, + proxy_bypass, urlunparse, basestring, integer_types, is_py3, + proxy_bypass_environment, getproxies_environment, Mapping) +from .cookies import cookiejar_from_dict +from .structures import CaseInsensitiveDict +from .exceptions import ( + InvalidURL, InvalidHeader, FileModeWarning, UnrewindableBodyError) + +NETRC_FILES = ('.netrc', '_netrc') + +DEFAULT_CA_BUNDLE_PATH = certs.where() + +DEFAULT_PORTS = {'http': 80, 'https': 443} + + +if sys.platform == 'win32': + # provide a proxy_bypass version on Windows without DNS lookups + + def proxy_bypass_registry(host): + try: + if is_py3: + import winreg + else: + import _winreg as winreg + except ImportError: + return False + + try: + internetSettings = winreg.OpenKey(winreg.HKEY_CURRENT_USER, + r'Software\Microsoft\Windows\CurrentVersion\Internet Settings') + # ProxyEnable could be REG_SZ or REG_DWORD, normalizing it + proxyEnable = int(winreg.QueryValueEx(internetSettings, + 'ProxyEnable')[0]) + # ProxyOverride is almost always a string + proxyOverride = winreg.QueryValueEx(internetSettings, + 'ProxyOverride')[0] + except OSError: + return False + if not proxyEnable or not proxyOverride: + return False + + # make a check value list from the registry entry: replace the + # '<local>' string by the localhost entry and the corresponding + # canonical entry. + proxyOverride = proxyOverride.split(';') + # now check if we match one of the registry values. + for test in proxyOverride: + if test == '<local>': + if '.' not in host: + return True + test = test.replace(".", r"\.") # mask dots + test = test.replace("*", r".*") # change glob sequence + test = test.replace("?", r".") # change glob char + if re.match(test, host, re.I): + return True + return False + + def proxy_bypass(host): # noqa + """Return True, if the host should be bypassed. + + Checks proxy settings gathered from the environment, if specified, + or the registry. + """ + if getproxies_environment(): + return proxy_bypass_environment(host) + else: + return proxy_bypass_registry(host) + + +def dict_to_sequence(d): + """Returns an internal sequence dictionary update.""" + + if hasattr(d, 'items'): + d = d.items() + + return d + + +def super_len(o): + total_length = None + current_position = 0 + + if hasattr(o, '__len__'): + total_length = len(o) + + elif hasattr(o, 'len'): + total_length = o.len + + elif hasattr(o, 'fileno'): + try: + fileno = o.fileno() + except io.UnsupportedOperation: + pass + else: + total_length = os.fstat(fileno).st_size + + # Having used fstat to determine the file length, we need to + # confirm that this file was opened up in binary mode. + if 'b' not in o.mode: + warnings.warn(( + "Requests has determined the content-length for this " + "request using the binary size of the file: however, the " + "file has been opened in text mode (i.e. without the 'b' " + "flag in the mode). This may lead to an incorrect " + "content-length. In Requests 3.0, support will be removed " + "for files in text mode."), + FileModeWarning + ) + + if hasattr(o, 'tell'): + try: + current_position = o.tell() + except (OSError, IOError): + # This can happen in some weird situations, such as when the file + # is actually a special file descriptor like stdin. In this + # instance, we don't know what the length is, so set it to zero and + # let requests chunk it instead. + if total_length is not None: + current_position = total_length + else: + if hasattr(o, 'seek') and total_length is None: + # StringIO and BytesIO have seek but no useable fileno + try: + # seek to end of file + o.seek(0, 2) + total_length = o.tell() + + # seek back to current position to support + # partially read file-like objects + o.seek(current_position or 0) + except (OSError, IOError): + total_length = 0 + + if total_length is None: + total_length = 0 + + return max(0, total_length - current_position) + + +def get_netrc_auth(url, raise_errors=False): + """Returns the Requests tuple auth for a given url from netrc.""" + + try: + from netrc import netrc, NetrcParseError + + netrc_path = None + + for f in NETRC_FILES: + try: + loc = os.path.expanduser('~/{}'.format(f)) + except KeyError: + # os.path.expanduser can fail when $HOME is undefined and + # getpwuid fails. See https://bugs.python.org/issue20164 & + # https://github.com/requests/requests/issues/1846 + return + + if os.path.exists(loc): + netrc_path = loc + break + + # Abort early if there isn't one. + if netrc_path is None: + return + + ri = urlparse(url) + + # Strip port numbers from netloc. This weird `if...encode`` dance is + # used for Python 3.2, which doesn't support unicode literals. + splitstr = b':' + if isinstance(url, str): + splitstr = splitstr.decode('ascii') + host = ri.netloc.split(splitstr)[0] + + try: + _netrc = netrc(netrc_path).authenticators(host) + if _netrc: + # Return with login / password + login_i = (0 if _netrc[0] else 1) + return (_netrc[login_i], _netrc[2]) + except (NetrcParseError, IOError): + # If there was a parsing error or a permissions issue reading the file, + # we'll just skip netrc auth unless explicitly asked to raise errors. + if raise_errors: + raise + + # AppEngine hackiness. + except (ImportError, AttributeError): + pass + + +def guess_filename(obj): + """Tries to guess the filename of the given object.""" + name = getattr(obj, 'name', None) + if (name and isinstance(name, basestring) and name[0] != '<' and + name[-1] != '>'): + return os.path.basename(name) + + +def extract_zipped_paths(path): + """Replace nonexistent paths that look like they refer to a member of a zip + archive with the location of an extracted copy of the target, or else + just return the provided path unchanged. + """ + if os.path.exists(path): + # this is already a valid path, no need to do anything further + return path + + # find the first valid part of the provided path and treat that as a zip archive + # assume the rest of the path is the name of a member in the archive + archive, member = os.path.split(path) + while archive and not os.path.exists(archive): + archive, prefix = os.path.split(archive) + member = '/'.join([prefix, member]) + + if not zipfile.is_zipfile(archive): + return path + + zip_file = zipfile.ZipFile(archive) + if member not in zip_file.namelist(): + return path + + # we have a valid zip archive and a valid member of that archive + tmp = tempfile.gettempdir() + extracted_path = os.path.join(tmp, *member.split('/')) + if not os.path.exists(extracted_path): + extracted_path = zip_file.extract(member, path=tmp) + + return extracted_path + + +def from_key_val_list(value): + """Take an object and test to see if it can be represented as a + dictionary. Unless it can not be represented as such, return an + OrderedDict, e.g., + + :: + + >>> from_key_val_list([('key', 'val')]) + OrderedDict([('key', 'val')]) + >>> from_key_val_list('string') + ValueError: cannot encode objects that are not 2-tuples + >>> from_key_val_list({'key': 'val'}) + OrderedDict([('key', 'val')]) + + :rtype: OrderedDict + """ + if value is None: + return None + + if isinstance(value, (str, bytes, bool, int)): + raise ValueError('cannot encode objects that are not 2-tuples') + + return OrderedDict(value) + + +def to_key_val_list(value): + """Take an object and test to see if it can be represented as a + dictionary. If it can be, return a list of tuples, e.g., + + :: + + >>> to_key_val_list([('key', 'val')]) + [('key', 'val')] + >>> to_key_val_list({'key': 'val'}) + [('key', 'val')] + >>> to_key_val_list('string') + ValueError: cannot encode objects that are not 2-tuples. + + :rtype: list + """ + if value is None: + return None + + if isinstance(value, (str, bytes, bool, int)): + raise ValueError('cannot encode objects that are not 2-tuples') + + if isinstance(value, Mapping): + value = value.items() + + return list(value) + + +# From mitsuhiko/werkzeug (used with permission). +def parse_list_header(value): + """Parse lists as described by RFC 2068 Section 2. + + In particular, parse comma-separated lists where the elements of + the list may include quoted-strings. A quoted-string could + contain a comma. A non-quoted string could have quotes in the + middle. Quotes are removed automatically after parsing. + + It basically works like :func:`parse_set_header` just that items + may appear multiple times and case sensitivity is preserved. + + The return value is a standard :class:`list`: + + >>> parse_list_header('token, "quoted value"') + ['token', 'quoted value'] + + To create a header from the :class:`list` again, use the + :func:`dump_header` function. + + :param value: a string with a list header. + :return: :class:`list` + :rtype: list + """ + result = [] + for item in _parse_list_header(value): + if item[:1] == item[-1:] == '"': + item = unquote_header_value(item[1:-1]) + result.append(item) + return result + + +# From mitsuhiko/werkzeug (used with permission). +def parse_dict_header(value): + """Parse lists of key, value pairs as described by RFC 2068 Section 2 and + convert them into a python dict: + + >>> d = parse_dict_header('foo="is a fish", bar="as well"') + >>> type(d) is dict + True + >>> sorted(d.items()) + [('bar', 'as well'), ('foo', 'is a fish')] + + If there is no value for a key it will be `None`: + + >>> parse_dict_header('key_without_value') + {'key_without_value': None} + + To create a header from the :class:`dict` again, use the + :func:`dump_header` function. + + :param value: a string with a dict header. + :return: :class:`dict` + :rtype: dict + """ + result = {} + for item in _parse_list_header(value): + if '=' not in item: + result[item] = None + continue + name, value = item.split('=', 1) + if value[:1] == value[-1:] == '"': + value = unquote_header_value(value[1:-1]) + result[name] = value + return result + + +# From mitsuhiko/werkzeug (used with permission). +def unquote_header_value(value, is_filename=False): + r"""Unquotes a header value. (Reversal of :func:`quote_header_value`). + This does not use the real unquoting but what browsers are actually + using for quoting. + + :param value: the header value to unquote. + :rtype: str + """ + if value and value[0] == value[-1] == '"': + # this is not the real unquoting, but fixing this so that the + # RFC is met will result in bugs with internet explorer and + # probably some other browsers as well. IE for example is + # uploading files with "C:\foo\bar.txt" as filename + value = value[1:-1] + + # if this is a filename and the starting characters look like + # a UNC path, then just return the value without quotes. Using the + # replace sequence below on a UNC path has the effect of turning + # the leading double slash into a single slash and then + # _fix_ie_filename() doesn't work correctly. See #458. + if not is_filename or value[:2] != '\\\\': + return value.replace('\\\\', '\\').replace('\\"', '"') + return value + + +def dict_from_cookiejar(cj): + """Returns a key/value dictionary from a CookieJar. + + :param cj: CookieJar object to extract cookies from. + :rtype: dict + """ + + cookie_dict = {} + + for cookie in cj: + cookie_dict[cookie.name] = cookie.value + + return cookie_dict + + +def add_dict_to_cookiejar(cj, cookie_dict): + """Returns a CookieJar from a key/value dictionary. + + :param cj: CookieJar to insert cookies into. + :param cookie_dict: Dict of key/values to insert into CookieJar. + :rtype: CookieJar + """ + + return cookiejar_from_dict(cookie_dict, cj) + + +def get_encodings_from_content(content): + """Returns encodings from given content string. + + :param content: bytestring to extract encodings from. + """ + warnings.warn(( + 'In requests 3.0, get_encodings_from_content will be removed. For ' + 'more information, please see the discussion on issue #2266. (This' + ' warning should only appear once.)'), + DeprecationWarning) + + charset_re = re.compile(r'<meta.*?charset=["\']*(.+?)["\'>]', flags=re.I) + pragma_re = re.compile(r'<meta.*?content=["\']*;?charset=(.+?)["\'>]', flags=re.I) + xml_re = re.compile(r'^<\?xml.*?encoding=["\']*(.+?)["\'>]') + + return (charset_re.findall(content) + + pragma_re.findall(content) + + xml_re.findall(content)) + + +def _parse_content_type_header(header): + """Returns content type and parameters from given header + + :param header: string + :return: tuple containing content type and dictionary of + parameters + """ + + tokens = header.split(';') + content_type, params = tokens[0].strip(), tokens[1:] + params_dict = {} + items_to_strip = "\"' " + + for param in params: + param = param.strip() + if param: + key, value = param, True + index_of_equals = param.find("=") + if index_of_equals != -1: + key = param[:index_of_equals].strip(items_to_strip) + value = param[index_of_equals + 1:].strip(items_to_strip) + params_dict[key.lower()] = value + return content_type, params_dict + + +def get_encoding_from_headers(headers): + """Returns encodings from given HTTP Header Dict. + + :param headers: dictionary to extract encoding from. + :rtype: str + """ + + content_type = headers.get('content-type') + + if not content_type: + return None + + content_type, params = _parse_content_type_header(content_type) + + if 'charset' in params: + return params['charset'].strip("'\"") + + if 'text' in content_type: + return 'ISO-8859-1' + + +def stream_decode_response_unicode(iterator, r): + """Stream decodes a iterator.""" + + if r.encoding is None: + for item in iterator: + yield item + return + + decoder = codecs.getincrementaldecoder(r.encoding)(errors='replace') + for chunk in iterator: + rv = decoder.decode(chunk) + if rv: + yield rv + rv = decoder.decode(b'', final=True) + if rv: + yield rv + + +def iter_slices(string, slice_length): + """Iterate over slices of a string.""" + pos = 0 + if slice_length is None or slice_length <= 0: + slice_length = len(string) + while pos < len(string): + yield string[pos:pos + slice_length] + pos += slice_length + + +def get_unicode_from_response(r): + """Returns the requested content back in unicode. + + :param r: Response object to get unicode content from. + + Tried: + + 1. charset from content-type + 2. fall back and replace all unicode characters + + :rtype: str + """ + warnings.warn(( + 'In requests 3.0, get_unicode_from_response will be removed. For ' + 'more information, please see the discussion on issue #2266. (This' + ' warning should only appear once.)'), + DeprecationWarning) + + tried_encodings = [] + + # Try charset from content-type + encoding = get_encoding_from_headers(r.headers) + + if encoding: + try: + return str(r.content, encoding) + except UnicodeError: + tried_encodings.append(encoding) + + # Fall back: + try: + return str(r.content, encoding, errors='replace') + except TypeError: + return r.content + + +# The unreserved URI characters (RFC 3986) +UNRESERVED_SET = frozenset( + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" + "0123456789-._~") + + +def unquote_unreserved(uri): + """Un-escape any percent-escape sequences in a URI that are unreserved + characters. This leaves all reserved, illegal and non-ASCII bytes encoded. + + :rtype: str + """ + parts = uri.split('%') + for i in range(1, len(parts)): + h = parts[i][0:2] + if len(h) == 2 and h.isalnum(): + try: + c = chr(int(h, 16)) + except ValueError: + raise InvalidURL("Invalid percent-escape sequence: '%s'" % h) + + if c in UNRESERVED_SET: + parts[i] = c + parts[i][2:] + else: + parts[i] = '%' + parts[i] + else: + parts[i] = '%' + parts[i] + return ''.join(parts) + + +def requote_uri(uri): + """Re-quote the given URI. + + This function passes the given URI through an unquote/quote cycle to + ensure that it is fully and consistently quoted. + + :rtype: str + """ + safe_with_percent = "!#$%&'()*+,/:;=?@[]~" + safe_without_percent = "!#$&'()*+,/:;=?@[]~" + try: + # Unquote only the unreserved characters + # Then quote only illegal characters (do not quote reserved, + # unreserved, or '%') + return quote(unquote_unreserved(uri), safe=safe_with_percent) + except InvalidURL: + # We couldn't unquote the given URI, so let's try quoting it, but + # there may be unquoted '%'s in the URI. We need to make sure they're + # properly quoted so they do not cause issues elsewhere. + return quote(uri, safe=safe_without_percent) + + +def address_in_network(ip, net): + """This function allows you to check if an IP belongs to a network subnet + + Example: returns True if ip = 192.168.1.1 and net = 192.168.1.0/24 + returns False if ip = 192.168.1.1 and net = 192.168.100.0/24 + + :rtype: bool + """ + ipaddr = struct.unpack('=L', socket.inet_aton(ip))[0] + netaddr, bits = net.split('/') + netmask = struct.unpack('=L', socket.inet_aton(dotted_netmask(int(bits))))[0] + network = struct.unpack('=L', socket.inet_aton(netaddr))[0] & netmask + return (ipaddr & netmask) == (network & netmask) + + +def dotted_netmask(mask): + """Converts mask from /xx format to xxx.xxx.xxx.xxx + + Example: if mask is 24 function returns 255.255.255.0 + + :rtype: str + """ + bits = 0xffffffff ^ (1 << 32 - mask) - 1 + return socket.inet_ntoa(struct.pack('>I', bits)) + + +def is_ipv4_address(string_ip): + """ + :rtype: bool + """ + try: + socket.inet_aton(string_ip) + except socket.error: + return False + return True + + +def is_valid_cidr(string_network): + """ + Very simple check of the cidr format in no_proxy variable. + + :rtype: bool + """ + if string_network.count('/') == 1: + try: + mask = int(string_network.split('/')[1]) + except ValueError: + return False + + if mask < 1 or mask > 32: + return False + + try: + socket.inet_aton(string_network.split('/')[0]) + except socket.error: + return False + else: + return False + return True + + +@contextlib.contextmanager +def set_environ(env_name, value): + """Set the environment variable 'env_name' to 'value' + + Save previous value, yield, and then restore the previous value stored in + the environment variable 'env_name'. + + If 'value' is None, do nothing""" + value_changed = value is not None + if value_changed: + old_value = os.environ.get(env_name) + os.environ[env_name] = value + try: + yield + finally: + if value_changed: + if old_value is None: + del os.environ[env_name] + else: + os.environ[env_name] = old_value + + +def should_bypass_proxies(url, no_proxy): + """ + Returns whether we should bypass proxies or not. + + :rtype: bool + """ + # Prioritize lowercase environment variables over uppercase + # to keep a consistent behaviour with other http projects (curl, wget). + get_proxy = lambda k: os.environ.get(k) or os.environ.get(k.upper()) + + # First check whether no_proxy is defined. If it is, check that the URL + # we're getting isn't in the no_proxy list. + no_proxy_arg = no_proxy + if no_proxy is None: + no_proxy = get_proxy('no_proxy') + parsed = urlparse(url) + + if parsed.hostname is None: + # URLs don't always have hostnames, e.g. file:/// urls. + return True + + if no_proxy: + # We need to check whether we match here. We need to see if we match + # the end of the hostname, both with and without the port. + no_proxy = ( + host for host in no_proxy.replace(' ', '').split(',') if host + ) + + if is_ipv4_address(parsed.hostname): + for proxy_ip in no_proxy: + if is_valid_cidr(proxy_ip): + if address_in_network(parsed.hostname, proxy_ip): + return True + elif parsed.hostname == proxy_ip: + # If no_proxy ip was defined in plain IP notation instead of cidr notation & + # matches the IP of the index + return True + else: + host_with_port = parsed.hostname + if parsed.port: + host_with_port += ':{}'.format(parsed.port) + + for host in no_proxy: + if parsed.hostname.endswith(host) or host_with_port.endswith(host): + # The URL does match something in no_proxy, so we don't want + # to apply the proxies on this URL. + return True + + with set_environ('no_proxy', no_proxy_arg): + # parsed.hostname can be `None` in cases such as a file URI. + try: + bypass = proxy_bypass(parsed.hostname) + except (TypeError, socket.gaierror): + bypass = False + + if bypass: + return True + + return False + + +def get_environ_proxies(url, no_proxy=None): + """ + Return a dict of environment proxies. + + :rtype: dict + """ + if should_bypass_proxies(url, no_proxy=no_proxy): + return {} + else: + return getproxies() + + +def select_proxy(url, proxies): + """Select a proxy for the url, if applicable. + + :param url: The url being for the request + :param proxies: A dictionary of schemes or schemes and hosts to proxy URLs + """ + proxies = proxies or {} + urlparts = urlparse(url) + if urlparts.hostname is None: + return proxies.get(urlparts.scheme, proxies.get('all')) + + proxy_keys = [ + urlparts.scheme + '://' + urlparts.hostname, + urlparts.scheme, + 'all://' + urlparts.hostname, + 'all', + ] + proxy = None + for proxy_key in proxy_keys: + if proxy_key in proxies: + proxy = proxies[proxy_key] + break + + return proxy + + +def default_user_agent(name="python-requests"): + """ + Return a string representing the default user agent. + + :rtype: str + """ + return '%s/%s' % (name, __version__) + + +def default_headers(): + """ + :rtype: requests.structures.CaseInsensitiveDict + """ + return CaseInsensitiveDict({ + 'User-Agent': default_user_agent(), + 'Accept-Encoding': ', '.join(('gzip', 'deflate')), + 'Accept': '*/*', + 'Connection': 'keep-alive', + }) + + +def parse_header_links(value): + """Return a list of parsed link headers proxies. + + i.e. Link: <http:/.../front.jpeg>; rel=front; type="image/jpeg",<http://.../back.jpeg>; rel=back;type="image/jpeg" + + :rtype: list + """ + + links = [] + + replace_chars = ' \'"' + + value = value.strip(replace_chars) + if not value: + return links + + for val in re.split(', *<', value): + try: + url, params = val.split(';', 1) + except ValueError: + url, params = val, '' + + link = {'url': url.strip('<> \'"')} + + for param in params.split(';'): + try: + key, value = param.split('=') + except ValueError: + break + + link[key.strip(replace_chars)] = value.strip(replace_chars) + + links.append(link) + + return links + + +# Null bytes; no need to recreate these on each call to guess_json_utf +_null = '\x00'.encode('ascii') # encoding to ASCII for Python 3 +_null2 = _null * 2 +_null3 = _null * 3 + + +def guess_json_utf(data): + """ + :rtype: str + """ + # JSON always starts with two ASCII characters, so detection is as + # easy as counting the nulls and from their location and count + # determine the encoding. Also detect a BOM, if present. + sample = data[:4] + if sample in (codecs.BOM_UTF32_LE, codecs.BOM_UTF32_BE): + return 'utf-32' # BOM included + if sample[:3] == codecs.BOM_UTF8: + return 'utf-8-sig' # BOM included, MS style (discouraged) + if sample[:2] in (codecs.BOM_UTF16_LE, codecs.BOM_UTF16_BE): + return 'utf-16' # BOM included + nullcount = sample.count(_null) + if nullcount == 0: + return 'utf-8' + if nullcount == 2: + if sample[::2] == _null2: # 1st and 3rd are null + return 'utf-16-be' + if sample[1::2] == _null2: # 2nd and 4th are null + return 'utf-16-le' + # Did not detect 2 valid UTF-16 ascii-range characters + if nullcount == 3: + if sample[:3] == _null3: + return 'utf-32-be' + if sample[1:] == _null3: + return 'utf-32-le' + # Did not detect a valid UTF-32 ascii-range character + return None + + +def prepend_scheme_if_needed(url, new_scheme): + """Given a URL that may or may not have a scheme, prepend the given scheme. + Does not replace a present scheme with the one provided as an argument. + + :rtype: str + """ + scheme, netloc, path, params, query, fragment = urlparse(url, new_scheme) + + # urlparse is a finicky beast, and sometimes decides that there isn't a + # netloc present. Assume that it's being over-cautious, and switch netloc + # and path if urlparse decided there was no netloc. + if not netloc: + netloc, path = path, netloc + + return urlunparse((scheme, netloc, path, params, query, fragment)) + + +def get_auth_from_url(url): + """Given a url with authentication components, extract them into a tuple of + username,password. + + :rtype: (str,str) + """ + parsed = urlparse(url) + + try: + auth = (unquote(parsed.username), unquote(parsed.password)) + except (AttributeError, TypeError): + auth = ('', '') + + return auth + + +# Moved outside of function to avoid recompile every call +_CLEAN_HEADER_REGEX_BYTE = re.compile(b'^\\S[^\\r\\n]*$|^$') +_CLEAN_HEADER_REGEX_STR = re.compile(r'^\S[^\r\n]*$|^$') + + +def check_header_validity(header): + """Verifies that header value is a string which doesn't contain + leading whitespace or return characters. This prevents unintended + header injection. + + :param header: tuple, in the format (name, value). + """ + name, value = header + + if isinstance(value, bytes): + pat = _CLEAN_HEADER_REGEX_BYTE + else: + pat = _CLEAN_HEADER_REGEX_STR + try: + if not pat.match(value): + raise InvalidHeader("Invalid return character or leading space in header: %s" % name) + except TypeError: + raise InvalidHeader("Value for header {%s: %s} must be of type str or " + "bytes, not %s" % (name, value, type(value))) + + +def urldefragauth(url): + """ + Given a url remove the fragment and the authentication part. + + :rtype: str + """ + scheme, netloc, path, params, query, fragment = urlparse(url) + + # see func:`prepend_scheme_if_needed` + if not netloc: + netloc, path = path, netloc + + netloc = netloc.rsplit('@', 1)[-1] + + return urlunparse((scheme, netloc, path, params, query, '')) + + +def rewind_body(prepared_request): + """Move file pointer back to its recorded starting position + so it can be read again on redirect. + """ + body_seek = getattr(prepared_request.body, 'seek', None) + if body_seek is not None and isinstance(prepared_request._body_position, integer_types): + try: + body_seek(prepared_request._body_position) + except (IOError, OSError): + raise UnrewindableBodyError("An error occurred when rewinding request " + "body for redirect.") + else: + raise UnrewindableBodyError("Unable to rewind request body for redirect.") diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/retrying.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/retrying.py new file mode 100644 index 0000000..6d1e627 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/retrying.py @@ -0,0 +1,267 @@ +## Copyright 2013-2014 Ray Holder +## +## Licensed under the Apache License, Version 2.0 (the "License"); +## you may not use this file except in compliance with the License. +## You may obtain a copy of the License at +## +## http://www.apache.org/licenses/LICENSE-2.0 +## +## Unless required by applicable law or agreed to in writing, software +## distributed under the License is distributed on an "AS IS" BASIS, +## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +## See the License for the specific language governing permissions and +## limitations under the License. + +import random +from pip._vendor import six +import sys +import time +import traceback + + +# sys.maxint / 2, since Python 3.2 doesn't have a sys.maxint... +MAX_WAIT = 1073741823 + + +def retry(*dargs, **dkw): + """ + Decorator function that instantiates the Retrying object + @param *dargs: positional arguments passed to Retrying object + @param **dkw: keyword arguments passed to the Retrying object + """ + # support both @retry and @retry() as valid syntax + if len(dargs) == 1 and callable(dargs[0]): + def wrap_simple(f): + + @six.wraps(f) + def wrapped_f(*args, **kw): + return Retrying().call(f, *args, **kw) + + return wrapped_f + + return wrap_simple(dargs[0]) + + else: + def wrap(f): + + @six.wraps(f) + def wrapped_f(*args, **kw): + return Retrying(*dargs, **dkw).call(f, *args, **kw) + + return wrapped_f + + return wrap + + +class Retrying(object): + + def __init__(self, + stop=None, wait=None, + stop_max_attempt_number=None, + stop_max_delay=None, + wait_fixed=None, + wait_random_min=None, wait_random_max=None, + wait_incrementing_start=None, wait_incrementing_increment=None, + wait_exponential_multiplier=None, wait_exponential_max=None, + retry_on_exception=None, + retry_on_result=None, + wrap_exception=False, + stop_func=None, + wait_func=None, + wait_jitter_max=None): + + self._stop_max_attempt_number = 5 if stop_max_attempt_number is None else stop_max_attempt_number + self._stop_max_delay = 100 if stop_max_delay is None else stop_max_delay + self._wait_fixed = 1000 if wait_fixed is None else wait_fixed + self._wait_random_min = 0 if wait_random_min is None else wait_random_min + self._wait_random_max = 1000 if wait_random_max is None else wait_random_max + self._wait_incrementing_start = 0 if wait_incrementing_start is None else wait_incrementing_start + self._wait_incrementing_increment = 100 if wait_incrementing_increment is None else wait_incrementing_increment + self._wait_exponential_multiplier = 1 if wait_exponential_multiplier is None else wait_exponential_multiplier + self._wait_exponential_max = MAX_WAIT if wait_exponential_max is None else wait_exponential_max + self._wait_jitter_max = 0 if wait_jitter_max is None else wait_jitter_max + + # TODO add chaining of stop behaviors + # stop behavior + stop_funcs = [] + if stop_max_attempt_number is not None: + stop_funcs.append(self.stop_after_attempt) + + if stop_max_delay is not None: + stop_funcs.append(self.stop_after_delay) + + if stop_func is not None: + self.stop = stop_func + + elif stop is None: + self.stop = lambda attempts, delay: any(f(attempts, delay) for f in stop_funcs) + + else: + self.stop = getattr(self, stop) + + # TODO add chaining of wait behaviors + # wait behavior + wait_funcs = [lambda *args, **kwargs: 0] + if wait_fixed is not None: + wait_funcs.append(self.fixed_sleep) + + if wait_random_min is not None or wait_random_max is not None: + wait_funcs.append(self.random_sleep) + + if wait_incrementing_start is not None or wait_incrementing_increment is not None: + wait_funcs.append(self.incrementing_sleep) + + if wait_exponential_multiplier is not None or wait_exponential_max is not None: + wait_funcs.append(self.exponential_sleep) + + if wait_func is not None: + self.wait = wait_func + + elif wait is None: + self.wait = lambda attempts, delay: max(f(attempts, delay) for f in wait_funcs) + + else: + self.wait = getattr(self, wait) + + # retry on exception filter + if retry_on_exception is None: + self._retry_on_exception = self.always_reject + else: + self._retry_on_exception = retry_on_exception + + # TODO simplify retrying by Exception types + # retry on result filter + if retry_on_result is None: + self._retry_on_result = self.never_reject + else: + self._retry_on_result = retry_on_result + + self._wrap_exception = wrap_exception + + def stop_after_attempt(self, previous_attempt_number, delay_since_first_attempt_ms): + """Stop after the previous attempt >= stop_max_attempt_number.""" + return previous_attempt_number >= self._stop_max_attempt_number + + def stop_after_delay(self, previous_attempt_number, delay_since_first_attempt_ms): + """Stop after the time from the first attempt >= stop_max_delay.""" + return delay_since_first_attempt_ms >= self._stop_max_delay + + def no_sleep(self, previous_attempt_number, delay_since_first_attempt_ms): + """Don't sleep at all before retrying.""" + return 0 + + def fixed_sleep(self, previous_attempt_number, delay_since_first_attempt_ms): + """Sleep a fixed amount of time between each retry.""" + return self._wait_fixed + + def random_sleep(self, previous_attempt_number, delay_since_first_attempt_ms): + """Sleep a random amount of time between wait_random_min and wait_random_max""" + return random.randint(self._wait_random_min, self._wait_random_max) + + def incrementing_sleep(self, previous_attempt_number, delay_since_first_attempt_ms): + """ + Sleep an incremental amount of time after each attempt, starting at + wait_incrementing_start and incrementing by wait_incrementing_increment + """ + result = self._wait_incrementing_start + (self._wait_incrementing_increment * (previous_attempt_number - 1)) + if result < 0: + result = 0 + return result + + def exponential_sleep(self, previous_attempt_number, delay_since_first_attempt_ms): + exp = 2 ** previous_attempt_number + result = self._wait_exponential_multiplier * exp + if result > self._wait_exponential_max: + result = self._wait_exponential_max + if result < 0: + result = 0 + return result + + def never_reject(self, result): + return False + + def always_reject(self, result): + return True + + def should_reject(self, attempt): + reject = False + if attempt.has_exception: + reject |= self._retry_on_exception(attempt.value[1]) + else: + reject |= self._retry_on_result(attempt.value) + + return reject + + def call(self, fn, *args, **kwargs): + start_time = int(round(time.time() * 1000)) + attempt_number = 1 + while True: + try: + attempt = Attempt(fn(*args, **kwargs), attempt_number, False) + except: + tb = sys.exc_info() + attempt = Attempt(tb, attempt_number, True) + + if not self.should_reject(attempt): + return attempt.get(self._wrap_exception) + + delay_since_first_attempt_ms = int(round(time.time() * 1000)) - start_time + if self.stop(attempt_number, delay_since_first_attempt_ms): + if not self._wrap_exception and attempt.has_exception: + # get() on an attempt with an exception should cause it to be raised, but raise just in case + raise attempt.get() + else: + raise RetryError(attempt) + else: + sleep = self.wait(attempt_number, delay_since_first_attempt_ms) + if self._wait_jitter_max: + jitter = random.random() * self._wait_jitter_max + sleep = sleep + max(0, jitter) + time.sleep(sleep / 1000.0) + + attempt_number += 1 + + +class Attempt(object): + """ + An Attempt encapsulates a call to a target function that may end as a + normal return value from the function or an Exception depending on what + occurred during the execution. + """ + + def __init__(self, value, attempt_number, has_exception): + self.value = value + self.attempt_number = attempt_number + self.has_exception = has_exception + + def get(self, wrap_exception=False): + """ + Return the return value of this Attempt instance or raise an Exception. + If wrap_exception is true, this Attempt is wrapped inside of a + RetryError before being raised. + """ + if self.has_exception: + if wrap_exception: + raise RetryError(self) + else: + six.reraise(self.value[0], self.value[1], self.value[2]) + else: + return self.value + + def __repr__(self): + if self.has_exception: + return "Attempts: {0}, Error:\n{1}".format(self.attempt_number, "".join(traceback.format_tb(self.value[2]))) + else: + return "Attempts: {0}, Value: {1}".format(self.attempt_number, self.value) + + +class RetryError(Exception): + """ + A RetryError encapsulates the last Attempt instance right before giving up. + """ + + def __init__(self, last_attempt): + self.last_attempt = last_attempt + + def __str__(self): + return "RetryError[{0}]".format(self.last_attempt) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/six.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/six.py new file mode 100644 index 0000000..89b2188 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/six.py @@ -0,0 +1,952 @@ +# Copyright (c) 2010-2018 Benjamin Peterson +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +"""Utilities for writing code that runs on Python 2 and 3""" + +from __future__ import absolute_import + +import functools +import itertools +import operator +import sys +import types + +__author__ = "Benjamin Peterson <benjamin@python.org>" +__version__ = "1.12.0" + + +# Useful for very coarse version differentiation. +PY2 = sys.version_info[0] == 2 +PY3 = sys.version_info[0] == 3 +PY34 = sys.version_info[0:2] >= (3, 4) + +if PY3: + string_types = str, + integer_types = int, + class_types = type, + text_type = str + binary_type = bytes + + MAXSIZE = sys.maxsize +else: + string_types = basestring, + integer_types = (int, long) + class_types = (type, types.ClassType) + text_type = unicode + binary_type = str + + if sys.platform.startswith("java"): + # Jython always uses 32 bits. + MAXSIZE = int((1 << 31) - 1) + else: + # It's possible to have sizeof(long) != sizeof(Py_ssize_t). + class X(object): + + def __len__(self): + return 1 << 31 + try: + len(X()) + except OverflowError: + # 32-bit + MAXSIZE = int((1 << 31) - 1) + else: + # 64-bit + MAXSIZE = int((1 << 63) - 1) + del X + + +def _add_doc(func, doc): + """Add documentation to a function.""" + func.__doc__ = doc + + +def _import_module(name): + """Import module, returning the module after the last dot.""" + __import__(name) + return sys.modules[name] + + +class _LazyDescr(object): + + def __init__(self, name): + self.name = name + + def __get__(self, obj, tp): + result = self._resolve() + setattr(obj, self.name, result) # Invokes __set__. + try: + # This is a bit ugly, but it avoids running this again by + # removing this descriptor. + delattr(obj.__class__, self.name) + except AttributeError: + pass + return result + + +class MovedModule(_LazyDescr): + + def __init__(self, name, old, new=None): + super(MovedModule, self).__init__(name) + if PY3: + if new is None: + new = name + self.mod = new + else: + self.mod = old + + def _resolve(self): + return _import_module(self.mod) + + def __getattr__(self, attr): + _module = self._resolve() + value = getattr(_module, attr) + setattr(self, attr, value) + return value + + +class _LazyModule(types.ModuleType): + + def __init__(self, name): + super(_LazyModule, self).__init__(name) + self.__doc__ = self.__class__.__doc__ + + def __dir__(self): + attrs = ["__doc__", "__name__"] + attrs += [attr.name for attr in self._moved_attributes] + return attrs + + # Subclasses should override this + _moved_attributes = [] + + +class MovedAttribute(_LazyDescr): + + def __init__(self, name, old_mod, new_mod, old_attr=None, new_attr=None): + super(MovedAttribute, self).__init__(name) + if PY3: + if new_mod is None: + new_mod = name + self.mod = new_mod + if new_attr is None: + if old_attr is None: + new_attr = name + else: + new_attr = old_attr + self.attr = new_attr + else: + self.mod = old_mod + if old_attr is None: + old_attr = name + self.attr = old_attr + + def _resolve(self): + module = _import_module(self.mod) + return getattr(module, self.attr) + + +class _SixMetaPathImporter(object): + + """ + A meta path importer to import six.moves and its submodules. + + This class implements a PEP302 finder and loader. It should be compatible + with Python 2.5 and all existing versions of Python3 + """ + + def __init__(self, six_module_name): + self.name = six_module_name + self.known_modules = {} + + def _add_module(self, mod, *fullnames): + for fullname in fullnames: + self.known_modules[self.name + "." + fullname] = mod + + def _get_module(self, fullname): + return self.known_modules[self.name + "." + fullname] + + def find_module(self, fullname, path=None): + if fullname in self.known_modules: + return self + return None + + def __get_module(self, fullname): + try: + return self.known_modules[fullname] + except KeyError: + raise ImportError("This loader does not know module " + fullname) + + def load_module(self, fullname): + try: + # in case of a reload + return sys.modules[fullname] + except KeyError: + pass + mod = self.__get_module(fullname) + if isinstance(mod, MovedModule): + mod = mod._resolve() + else: + mod.__loader__ = self + sys.modules[fullname] = mod + return mod + + def is_package(self, fullname): + """ + Return true, if the named module is a package. + + We need this method to get correct spec objects with + Python 3.4 (see PEP451) + """ + return hasattr(self.__get_module(fullname), "__path__") + + def get_code(self, fullname): + """Return None + + Required, if is_package is implemented""" + self.__get_module(fullname) # eventually raises ImportError + return None + get_source = get_code # same as get_code + +_importer = _SixMetaPathImporter(__name__) + + +class _MovedItems(_LazyModule): + + """Lazy loading of moved objects""" + __path__ = [] # mark as package + + +_moved_attributes = [ + MovedAttribute("cStringIO", "cStringIO", "io", "StringIO"), + MovedAttribute("filter", "itertools", "builtins", "ifilter", "filter"), + MovedAttribute("filterfalse", "itertools", "itertools", "ifilterfalse", "filterfalse"), + MovedAttribute("input", "__builtin__", "builtins", "raw_input", "input"), + MovedAttribute("intern", "__builtin__", "sys"), + MovedAttribute("map", "itertools", "builtins", "imap", "map"), + MovedAttribute("getcwd", "os", "os", "getcwdu", "getcwd"), + MovedAttribute("getcwdb", "os", "os", "getcwd", "getcwdb"), + MovedAttribute("getoutput", "commands", "subprocess"), + MovedAttribute("range", "__builtin__", "builtins", "xrange", "range"), + MovedAttribute("reload_module", "__builtin__", "importlib" if PY34 else "imp", "reload"), + MovedAttribute("reduce", "__builtin__", "functools"), + MovedAttribute("shlex_quote", "pipes", "shlex", "quote"), + MovedAttribute("StringIO", "StringIO", "io"), + MovedAttribute("UserDict", "UserDict", "collections"), + MovedAttribute("UserList", "UserList", "collections"), + MovedAttribute("UserString", "UserString", "collections"), + MovedAttribute("xrange", "__builtin__", "builtins", "xrange", "range"), + MovedAttribute("zip", "itertools", "builtins", "izip", "zip"), + MovedAttribute("zip_longest", "itertools", "itertools", "izip_longest", "zip_longest"), + MovedModule("builtins", "__builtin__"), + MovedModule("configparser", "ConfigParser"), + MovedModule("copyreg", "copy_reg"), + MovedModule("dbm_gnu", "gdbm", "dbm.gnu"), + MovedModule("_dummy_thread", "dummy_thread", "_dummy_thread"), + MovedModule("http_cookiejar", "cookielib", "http.cookiejar"), + MovedModule("http_cookies", "Cookie", "http.cookies"), + MovedModule("html_entities", "htmlentitydefs", "html.entities"), + MovedModule("html_parser", "HTMLParser", "html.parser"), + MovedModule("http_client", "httplib", "http.client"), + MovedModule("email_mime_base", "email.MIMEBase", "email.mime.base"), + MovedModule("email_mime_image", "email.MIMEImage", "email.mime.image"), + MovedModule("email_mime_multipart", "email.MIMEMultipart", "email.mime.multipart"), + MovedModule("email_mime_nonmultipart", "email.MIMENonMultipart", "email.mime.nonmultipart"), + MovedModule("email_mime_text", "email.MIMEText", "email.mime.text"), + MovedModule("BaseHTTPServer", "BaseHTTPServer", "http.server"), + MovedModule("CGIHTTPServer", "CGIHTTPServer", "http.server"), + MovedModule("SimpleHTTPServer", "SimpleHTTPServer", "http.server"), + MovedModule("cPickle", "cPickle", "pickle"), + MovedModule("queue", "Queue"), + MovedModule("reprlib", "repr"), + MovedModule("socketserver", "SocketServer"), + MovedModule("_thread", "thread", "_thread"), + MovedModule("tkinter", "Tkinter"), + MovedModule("tkinter_dialog", "Dialog", "tkinter.dialog"), + MovedModule("tkinter_filedialog", "FileDialog", "tkinter.filedialog"), + MovedModule("tkinter_scrolledtext", "ScrolledText", "tkinter.scrolledtext"), + MovedModule("tkinter_simpledialog", "SimpleDialog", "tkinter.simpledialog"), + MovedModule("tkinter_tix", "Tix", "tkinter.tix"), + MovedModule("tkinter_ttk", "ttk", "tkinter.ttk"), + MovedModule("tkinter_constants", "Tkconstants", "tkinter.constants"), + MovedModule("tkinter_dnd", "Tkdnd", "tkinter.dnd"), + MovedModule("tkinter_colorchooser", "tkColorChooser", + "tkinter.colorchooser"), + MovedModule("tkinter_commondialog", "tkCommonDialog", + "tkinter.commondialog"), + MovedModule("tkinter_tkfiledialog", "tkFileDialog", "tkinter.filedialog"), + MovedModule("tkinter_font", "tkFont", "tkinter.font"), + MovedModule("tkinter_messagebox", "tkMessageBox", "tkinter.messagebox"), + MovedModule("tkinter_tksimpledialog", "tkSimpleDialog", + "tkinter.simpledialog"), + MovedModule("urllib_parse", __name__ + ".moves.urllib_parse", "urllib.parse"), + MovedModule("urllib_error", __name__ + ".moves.urllib_error", "urllib.error"), + MovedModule("urllib", __name__ + ".moves.urllib", __name__ + ".moves.urllib"), + MovedModule("urllib_robotparser", "robotparser", "urllib.robotparser"), + MovedModule("xmlrpc_client", "xmlrpclib", "xmlrpc.client"), + MovedModule("xmlrpc_server", "SimpleXMLRPCServer", "xmlrpc.server"), +] +# Add windows specific modules. +if sys.platform == "win32": + _moved_attributes += [ + MovedModule("winreg", "_winreg"), + ] + +for attr in _moved_attributes: + setattr(_MovedItems, attr.name, attr) + if isinstance(attr, MovedModule): + _importer._add_module(attr, "moves." + attr.name) +del attr + +_MovedItems._moved_attributes = _moved_attributes + +moves = _MovedItems(__name__ + ".moves") +_importer._add_module(moves, "moves") + + +class Module_six_moves_urllib_parse(_LazyModule): + + """Lazy loading of moved objects in six.moves.urllib_parse""" + + +_urllib_parse_moved_attributes = [ + MovedAttribute("ParseResult", "urlparse", "urllib.parse"), + MovedAttribute("SplitResult", "urlparse", "urllib.parse"), + MovedAttribute("parse_qs", "urlparse", "urllib.parse"), + MovedAttribute("parse_qsl", "urlparse", "urllib.parse"), + MovedAttribute("urldefrag", "urlparse", "urllib.parse"), + MovedAttribute("urljoin", "urlparse", "urllib.parse"), + MovedAttribute("urlparse", "urlparse", "urllib.parse"), + MovedAttribute("urlsplit", "urlparse", "urllib.parse"), + MovedAttribute("urlunparse", "urlparse", "urllib.parse"), + MovedAttribute("urlunsplit", "urlparse", "urllib.parse"), + MovedAttribute("quote", "urllib", "urllib.parse"), + MovedAttribute("quote_plus", "urllib", "urllib.parse"), + MovedAttribute("unquote", "urllib", "urllib.parse"), + MovedAttribute("unquote_plus", "urllib", "urllib.parse"), + MovedAttribute("unquote_to_bytes", "urllib", "urllib.parse", "unquote", "unquote_to_bytes"), + MovedAttribute("urlencode", "urllib", "urllib.parse"), + MovedAttribute("splitquery", "urllib", "urllib.parse"), + MovedAttribute("splittag", "urllib", "urllib.parse"), + MovedAttribute("splituser", "urllib", "urllib.parse"), + MovedAttribute("splitvalue", "urllib", "urllib.parse"), + MovedAttribute("uses_fragment", "urlparse", "urllib.parse"), + MovedAttribute("uses_netloc", "urlparse", "urllib.parse"), + MovedAttribute("uses_params", "urlparse", "urllib.parse"), + MovedAttribute("uses_query", "urlparse", "urllib.parse"), + MovedAttribute("uses_relative", "urlparse", "urllib.parse"), +] +for attr in _urllib_parse_moved_attributes: + setattr(Module_six_moves_urllib_parse, attr.name, attr) +del attr + +Module_six_moves_urllib_parse._moved_attributes = _urllib_parse_moved_attributes + +_importer._add_module(Module_six_moves_urllib_parse(__name__ + ".moves.urllib_parse"), + "moves.urllib_parse", "moves.urllib.parse") + + +class Module_six_moves_urllib_error(_LazyModule): + + """Lazy loading of moved objects in six.moves.urllib_error""" + + +_urllib_error_moved_attributes = [ + MovedAttribute("URLError", "urllib2", "urllib.error"), + MovedAttribute("HTTPError", "urllib2", "urllib.error"), + MovedAttribute("ContentTooShortError", "urllib", "urllib.error"), +] +for attr in _urllib_error_moved_attributes: + setattr(Module_six_moves_urllib_error, attr.name, attr) +del attr + +Module_six_moves_urllib_error._moved_attributes = _urllib_error_moved_attributes + +_importer._add_module(Module_six_moves_urllib_error(__name__ + ".moves.urllib.error"), + "moves.urllib_error", "moves.urllib.error") + + +class Module_six_moves_urllib_request(_LazyModule): + + """Lazy loading of moved objects in six.moves.urllib_request""" + + +_urllib_request_moved_attributes = [ + MovedAttribute("urlopen", "urllib2", "urllib.request"), + MovedAttribute("install_opener", "urllib2", "urllib.request"), + MovedAttribute("build_opener", "urllib2", "urllib.request"), + MovedAttribute("pathname2url", "urllib", "urllib.request"), + MovedAttribute("url2pathname", "urllib", "urllib.request"), + MovedAttribute("getproxies", "urllib", "urllib.request"), + MovedAttribute("Request", "urllib2", "urllib.request"), + MovedAttribute("OpenerDirector", "urllib2", "urllib.request"), + MovedAttribute("HTTPDefaultErrorHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPRedirectHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPCookieProcessor", "urllib2", "urllib.request"), + MovedAttribute("ProxyHandler", "urllib2", "urllib.request"), + MovedAttribute("BaseHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPPasswordMgr", "urllib2", "urllib.request"), + MovedAttribute("HTTPPasswordMgrWithDefaultRealm", "urllib2", "urllib.request"), + MovedAttribute("AbstractBasicAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPBasicAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("ProxyBasicAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("AbstractDigestAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPDigestAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("ProxyDigestAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPSHandler", "urllib2", "urllib.request"), + MovedAttribute("FileHandler", "urllib2", "urllib.request"), + MovedAttribute("FTPHandler", "urllib2", "urllib.request"), + MovedAttribute("CacheFTPHandler", "urllib2", "urllib.request"), + MovedAttribute("UnknownHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPErrorProcessor", "urllib2", "urllib.request"), + MovedAttribute("urlretrieve", "urllib", "urllib.request"), + MovedAttribute("urlcleanup", "urllib", "urllib.request"), + MovedAttribute("URLopener", "urllib", "urllib.request"), + MovedAttribute("FancyURLopener", "urllib", "urllib.request"), + MovedAttribute("proxy_bypass", "urllib", "urllib.request"), + MovedAttribute("parse_http_list", "urllib2", "urllib.request"), + MovedAttribute("parse_keqv_list", "urllib2", "urllib.request"), +] +for attr in _urllib_request_moved_attributes: + setattr(Module_six_moves_urllib_request, attr.name, attr) +del attr + +Module_six_moves_urllib_request._moved_attributes = _urllib_request_moved_attributes + +_importer._add_module(Module_six_moves_urllib_request(__name__ + ".moves.urllib.request"), + "moves.urllib_request", "moves.urllib.request") + + +class Module_six_moves_urllib_response(_LazyModule): + + """Lazy loading of moved objects in six.moves.urllib_response""" + + +_urllib_response_moved_attributes = [ + MovedAttribute("addbase", "urllib", "urllib.response"), + MovedAttribute("addclosehook", "urllib", "urllib.response"), + MovedAttribute("addinfo", "urllib", "urllib.response"), + MovedAttribute("addinfourl", "urllib", "urllib.response"), +] +for attr in _urllib_response_moved_attributes: + setattr(Module_six_moves_urllib_response, attr.name, attr) +del attr + +Module_six_moves_urllib_response._moved_attributes = _urllib_response_moved_attributes + +_importer._add_module(Module_six_moves_urllib_response(__name__ + ".moves.urllib.response"), + "moves.urllib_response", "moves.urllib.response") + + +class Module_six_moves_urllib_robotparser(_LazyModule): + + """Lazy loading of moved objects in six.moves.urllib_robotparser""" + + +_urllib_robotparser_moved_attributes = [ + MovedAttribute("RobotFileParser", "robotparser", "urllib.robotparser"), +] +for attr in _urllib_robotparser_moved_attributes: + setattr(Module_six_moves_urllib_robotparser, attr.name, attr) +del attr + +Module_six_moves_urllib_robotparser._moved_attributes = _urllib_robotparser_moved_attributes + +_importer._add_module(Module_six_moves_urllib_robotparser(__name__ + ".moves.urllib.robotparser"), + "moves.urllib_robotparser", "moves.urllib.robotparser") + + +class Module_six_moves_urllib(types.ModuleType): + + """Create a six.moves.urllib namespace that resembles the Python 3 namespace""" + __path__ = [] # mark as package + parse = _importer._get_module("moves.urllib_parse") + error = _importer._get_module("moves.urllib_error") + request = _importer._get_module("moves.urllib_request") + response = _importer._get_module("moves.urllib_response") + robotparser = _importer._get_module("moves.urllib_robotparser") + + def __dir__(self): + return ['parse', 'error', 'request', 'response', 'robotparser'] + +_importer._add_module(Module_six_moves_urllib(__name__ + ".moves.urllib"), + "moves.urllib") + + +def add_move(move): + """Add an item to six.moves.""" + setattr(_MovedItems, move.name, move) + + +def remove_move(name): + """Remove item from six.moves.""" + try: + delattr(_MovedItems, name) + except AttributeError: + try: + del moves.__dict__[name] + except KeyError: + raise AttributeError("no such move, %r" % (name,)) + + +if PY3: + _meth_func = "__func__" + _meth_self = "__self__" + + _func_closure = "__closure__" + _func_code = "__code__" + _func_defaults = "__defaults__" + _func_globals = "__globals__" +else: + _meth_func = "im_func" + _meth_self = "im_self" + + _func_closure = "func_closure" + _func_code = "func_code" + _func_defaults = "func_defaults" + _func_globals = "func_globals" + + +try: + advance_iterator = next +except NameError: + def advance_iterator(it): + return it.next() +next = advance_iterator + + +try: + callable = callable +except NameError: + def callable(obj): + return any("__call__" in klass.__dict__ for klass in type(obj).__mro__) + + +if PY3: + def get_unbound_function(unbound): + return unbound + + create_bound_method = types.MethodType + + def create_unbound_method(func, cls): + return func + + Iterator = object +else: + def get_unbound_function(unbound): + return unbound.im_func + + def create_bound_method(func, obj): + return types.MethodType(func, obj, obj.__class__) + + def create_unbound_method(func, cls): + return types.MethodType(func, None, cls) + + class Iterator(object): + + def next(self): + return type(self).__next__(self) + + callable = callable +_add_doc(get_unbound_function, + """Get the function out of a possibly unbound function""") + + +get_method_function = operator.attrgetter(_meth_func) +get_method_self = operator.attrgetter(_meth_self) +get_function_closure = operator.attrgetter(_func_closure) +get_function_code = operator.attrgetter(_func_code) +get_function_defaults = operator.attrgetter(_func_defaults) +get_function_globals = operator.attrgetter(_func_globals) + + +if PY3: + def iterkeys(d, **kw): + return iter(d.keys(**kw)) + + def itervalues(d, **kw): + return iter(d.values(**kw)) + + def iteritems(d, **kw): + return iter(d.items(**kw)) + + def iterlists(d, **kw): + return iter(d.lists(**kw)) + + viewkeys = operator.methodcaller("keys") + + viewvalues = operator.methodcaller("values") + + viewitems = operator.methodcaller("items") +else: + def iterkeys(d, **kw): + return d.iterkeys(**kw) + + def itervalues(d, **kw): + return d.itervalues(**kw) + + def iteritems(d, **kw): + return d.iteritems(**kw) + + def iterlists(d, **kw): + return d.iterlists(**kw) + + viewkeys = operator.methodcaller("viewkeys") + + viewvalues = operator.methodcaller("viewvalues") + + viewitems = operator.methodcaller("viewitems") + +_add_doc(iterkeys, "Return an iterator over the keys of a dictionary.") +_add_doc(itervalues, "Return an iterator over the values of a dictionary.") +_add_doc(iteritems, + "Return an iterator over the (key, value) pairs of a dictionary.") +_add_doc(iterlists, + "Return an iterator over the (key, [values]) pairs of a dictionary.") + + +if PY3: + def b(s): + return s.encode("latin-1") + + def u(s): + return s + unichr = chr + import struct + int2byte = struct.Struct(">B").pack + del struct + byte2int = operator.itemgetter(0) + indexbytes = operator.getitem + iterbytes = iter + import io + StringIO = io.StringIO + BytesIO = io.BytesIO + _assertCountEqual = "assertCountEqual" + if sys.version_info[1] <= 1: + _assertRaisesRegex = "assertRaisesRegexp" + _assertRegex = "assertRegexpMatches" + else: + _assertRaisesRegex = "assertRaisesRegex" + _assertRegex = "assertRegex" +else: + def b(s): + return s + # Workaround for standalone backslash + + def u(s): + return unicode(s.replace(r'\\', r'\\\\'), "unicode_escape") + unichr = unichr + int2byte = chr + + def byte2int(bs): + return ord(bs[0]) + + def indexbytes(buf, i): + return ord(buf[i]) + iterbytes = functools.partial(itertools.imap, ord) + import StringIO + StringIO = BytesIO = StringIO.StringIO + _assertCountEqual = "assertItemsEqual" + _assertRaisesRegex = "assertRaisesRegexp" + _assertRegex = "assertRegexpMatches" +_add_doc(b, """Byte literal""") +_add_doc(u, """Text literal""") + + +def assertCountEqual(self, *args, **kwargs): + return getattr(self, _assertCountEqual)(*args, **kwargs) + + +def assertRaisesRegex(self, *args, **kwargs): + return getattr(self, _assertRaisesRegex)(*args, **kwargs) + + +def assertRegex(self, *args, **kwargs): + return getattr(self, _assertRegex)(*args, **kwargs) + + +if PY3: + exec_ = getattr(moves.builtins, "exec") + + def reraise(tp, value, tb=None): + try: + if value is None: + value = tp() + if value.__traceback__ is not tb: + raise value.with_traceback(tb) + raise value + finally: + value = None + tb = None + +else: + def exec_(_code_, _globs_=None, _locs_=None): + """Execute code in a namespace.""" + if _globs_ is None: + frame = sys._getframe(1) + _globs_ = frame.f_globals + if _locs_ is None: + _locs_ = frame.f_locals + del frame + elif _locs_ is None: + _locs_ = _globs_ + exec("""exec _code_ in _globs_, _locs_""") + + exec_("""def reraise(tp, value, tb=None): + try: + raise tp, value, tb + finally: + tb = None +""") + + +if sys.version_info[:2] == (3, 2): + exec_("""def raise_from(value, from_value): + try: + if from_value is None: + raise value + raise value from from_value + finally: + value = None +""") +elif sys.version_info[:2] > (3, 2): + exec_("""def raise_from(value, from_value): + try: + raise value from from_value + finally: + value = None +""") +else: + def raise_from(value, from_value): + raise value + + +print_ = getattr(moves.builtins, "print", None) +if print_ is None: + def print_(*args, **kwargs): + """The new-style print function for Python 2.4 and 2.5.""" + fp = kwargs.pop("file", sys.stdout) + if fp is None: + return + + def write(data): + if not isinstance(data, basestring): + data = str(data) + # If the file has an encoding, encode unicode with it. + if (isinstance(fp, file) and + isinstance(data, unicode) and + fp.encoding is not None): + errors = getattr(fp, "errors", None) + if errors is None: + errors = "strict" + data = data.encode(fp.encoding, errors) + fp.write(data) + want_unicode = False + sep = kwargs.pop("sep", None) + if sep is not None: + if isinstance(sep, unicode): + want_unicode = True + elif not isinstance(sep, str): + raise TypeError("sep must be None or a string") + end = kwargs.pop("end", None) + if end is not None: + if isinstance(end, unicode): + want_unicode = True + elif not isinstance(end, str): + raise TypeError("end must be None or a string") + if kwargs: + raise TypeError("invalid keyword arguments to print()") + if not want_unicode: + for arg in args: + if isinstance(arg, unicode): + want_unicode = True + break + if want_unicode: + newline = unicode("\n") + space = unicode(" ") + else: + newline = "\n" + space = " " + if sep is None: + sep = space + if end is None: + end = newline + for i, arg in enumerate(args): + if i: + write(sep) + write(arg) + write(end) +if sys.version_info[:2] < (3, 3): + _print = print_ + + def print_(*args, **kwargs): + fp = kwargs.get("file", sys.stdout) + flush = kwargs.pop("flush", False) + _print(*args, **kwargs) + if flush and fp is not None: + fp.flush() + +_add_doc(reraise, """Reraise an exception.""") + +if sys.version_info[0:2] < (3, 4): + def wraps(wrapped, assigned=functools.WRAPPER_ASSIGNMENTS, + updated=functools.WRAPPER_UPDATES): + def wrapper(f): + f = functools.wraps(wrapped, assigned, updated)(f) + f.__wrapped__ = wrapped + return f + return wrapper +else: + wraps = functools.wraps + + +def with_metaclass(meta, *bases): + """Create a base class with a metaclass.""" + # This requires a bit of explanation: the basic idea is to make a dummy + # metaclass for one level of class instantiation that replaces itself with + # the actual metaclass. + class metaclass(type): + + def __new__(cls, name, this_bases, d): + return meta(name, bases, d) + + @classmethod + def __prepare__(cls, name, this_bases): + return meta.__prepare__(name, bases) + return type.__new__(metaclass, 'temporary_class', (), {}) + + +def add_metaclass(metaclass): + """Class decorator for creating a class with a metaclass.""" + def wrapper(cls): + orig_vars = cls.__dict__.copy() + slots = orig_vars.get('__slots__') + if slots is not None: + if isinstance(slots, str): + slots = [slots] + for slots_var in slots: + orig_vars.pop(slots_var) + orig_vars.pop('__dict__', None) + orig_vars.pop('__weakref__', None) + if hasattr(cls, '__qualname__'): + orig_vars['__qualname__'] = cls.__qualname__ + return metaclass(cls.__name__, cls.__bases__, orig_vars) + return wrapper + + +def ensure_binary(s, encoding='utf-8', errors='strict'): + """Coerce **s** to six.binary_type. + + For Python 2: + - `unicode` -> encoded to `str` + - `str` -> `str` + + For Python 3: + - `str` -> encoded to `bytes` + - `bytes` -> `bytes` + """ + if isinstance(s, text_type): + return s.encode(encoding, errors) + elif isinstance(s, binary_type): + return s + else: + raise TypeError("not expecting type '%s'" % type(s)) + + +def ensure_str(s, encoding='utf-8', errors='strict'): + """Coerce *s* to `str`. + + For Python 2: + - `unicode` -> encoded to `str` + - `str` -> `str` + + For Python 3: + - `str` -> `str` + - `bytes` -> decoded to `str` + """ + if not isinstance(s, (text_type, binary_type)): + raise TypeError("not expecting type '%s'" % type(s)) + if PY2 and isinstance(s, text_type): + s = s.encode(encoding, errors) + elif PY3 and isinstance(s, binary_type): + s = s.decode(encoding, errors) + return s + + +def ensure_text(s, encoding='utf-8', errors='strict'): + """Coerce *s* to six.text_type. + + For Python 2: + - `unicode` -> `unicode` + - `str` -> `unicode` + + For Python 3: + - `str` -> `str` + - `bytes` -> decoded to `str` + """ + if isinstance(s, binary_type): + return s.decode(encoding, errors) + elif isinstance(s, text_type): + return s + else: + raise TypeError("not expecting type '%s'" % type(s)) + + + +def python_2_unicode_compatible(klass): + """ + A decorator that defines __unicode__ and __str__ methods under Python 2. + Under Python 3 it does nothing. + + To support Python 2 and 3 with a single code base, define a __str__ method + returning text and apply this decorator to the class. + """ + if PY2: + if '__str__' not in klass.__dict__: + raise ValueError("@python_2_unicode_compatible cannot be applied " + "to %s because it doesn't define __str__()." % + klass.__name__) + klass.__unicode__ = klass.__str__ + klass.__str__ = lambda self: self.__unicode__().encode('utf-8') + return klass + + +# Complete the moves implementation. +# This code is at the end of this module to speed up module loading. +# Turn this module into a package. +__path__ = [] # required for PEP 302 and PEP 451 +__package__ = __name__ # see PEP 366 @ReservedAssignment +if globals().get("__spec__") is not None: + __spec__.submodule_search_locations = [] # PEP 451 @UndefinedVariable +# Remove other six meta path importers, since they cause problems. This can +# happen if six is removed from sys.modules and then reloaded. (Setuptools does +# this for some reason.) +if sys.meta_path: + for i, importer in enumerate(sys.meta_path): + # Here's some real nastiness: Another "instance" of the six module might + # be floating around. Therefore, we can't use isinstance() to check for + # the six meta path importer, since the other six instance will have + # inserted an importer with different class. + if (type(importer).__name__ == "_SixMetaPathImporter" and + importer.name == __name__): + del sys.meta_path[i] + break + del i, importer +# Finally, add the importer to the meta path import hook. +sys.meta_path.append(_importer) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__init__.py new file mode 100644 index 0000000..148a9c3 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__init__.py @@ -0,0 +1,92 @@ +""" +urllib3 - Thread-safe connection pooling and re-using. +""" + +from __future__ import absolute_import +import warnings + +from .connectionpool import ( + HTTPConnectionPool, + HTTPSConnectionPool, + connection_from_url +) + +from . import exceptions +from .filepost import encode_multipart_formdata +from .poolmanager import PoolManager, ProxyManager, proxy_from_url +from .response import HTTPResponse +from .util.request import make_headers +from .util.url import get_host +from .util.timeout import Timeout +from .util.retry import Retry + + +# Set default logging handler to avoid "No handler found" warnings. +import logging +from logging import NullHandler + +__author__ = 'Andrey Petrov (andrey.petrov@shazow.net)' +__license__ = 'MIT' +__version__ = '1.24.1' + +__all__ = ( + 'HTTPConnectionPool', + 'HTTPSConnectionPool', + 'PoolManager', + 'ProxyManager', + 'HTTPResponse', + 'Retry', + 'Timeout', + 'add_stderr_logger', + 'connection_from_url', + 'disable_warnings', + 'encode_multipart_formdata', + 'get_host', + 'make_headers', + 'proxy_from_url', +) + +logging.getLogger(__name__).addHandler(NullHandler()) + + +def add_stderr_logger(level=logging.DEBUG): + """ + Helper for quickly adding a StreamHandler to the logger. Useful for + debugging. + + Returns the handler after adding it. + """ + # This method needs to be in this __init__.py to get the __name__ correct + # even if urllib3 is vendored within another package. + logger = logging.getLogger(__name__) + handler = logging.StreamHandler() + handler.setFormatter(logging.Formatter('%(asctime)s %(levelname)s %(message)s')) + logger.addHandler(handler) + logger.setLevel(level) + logger.debug('Added a stderr logging handler to logger: %s', __name__) + return handler + + +# ... Clean up. +del NullHandler + + +# All warning filters *must* be appended unless you're really certain that they +# shouldn't be: otherwise, it's very hard for users to use most Python +# mechanisms to silence them. +# SecurityWarning's always go off by default. +warnings.simplefilter('always', exceptions.SecurityWarning, append=True) +# SubjectAltNameWarning's should go off once per host +warnings.simplefilter('default', exceptions.SubjectAltNameWarning, append=True) +# InsecurePlatformWarning's don't vary between requests, so we keep it default. +warnings.simplefilter('default', exceptions.InsecurePlatformWarning, + append=True) +# SNIMissingWarnings should go off only once. +warnings.simplefilter('default', exceptions.SNIMissingWarning, append=True) + + +def disable_warnings(category=exceptions.HTTPWarning): + """ + Helper for quickly disabling all urllib3 warnings. + """ + warnings.simplefilter('ignore', category) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..33d482526d7d3c8a5013c116b17df101b34be4e1 GIT binary patch literal 2227 zcma)7S#R4$5aywSIxOEwZTDafCsrFvP3;D45fn+&<^U4Ih@H0B79eQtN}{q$GE35l z4Cl#3-ufr{*1yEpKIJd;rTum(#ctC8CBf0m?C$LB>^GmbW@hT<>%V^ft!@~97-yaq z^jr9nZPPHQK@4hAi<`nCmZ@}`+r*|NTIMBDCS_3}6;UNsjFo7GJEBHvTCeiDXpn~1 z9o`f(WJa_|OU#m4?W^%QF;C{TUgry9kt}Mx!I#7`S=M@!pA+ZFd9Baz_rwZWfv$2` zC9C*t@l~-#*5I2Z@6$Q*0i7ow(ktX6wmNdzg%fjhk*%E=C#Gq@bE$7qm#+L`lFL7> zF?+O5FR<F^3cW}#{c2-|@?3`J>RX<Tw><4Pp4#YR#9gOri2Dh(_l)+{qc7^2<UBao zayQ-mp=3VYO#D7`dr=s&UK&K98%Gfj!h!3D)Rk;AOJH>Buhm7g&3x8BNFtu4%nL*u z$#my6F2iWs`NIAE{oOln!t5eSzNmbA|8}14<@IGGJY<Bxb@rmiVwFJxYlVfqh%!%P zJPl%Brd~gig8HeCtr{x$BR}*9Oy<p98NC=!tyZk8vvHd$hsP|55tt!zQ}|DrH^j-A zR698XmU_b|NugKw1Hqz9spZEkm18K4os9GQC<bTpXybNBB^$fD7>o|x4Y*-;Vr||^ zhW=6Xyc4ptP3%Vx_KzypJD+WLuFDciB+E+FlmM^|*;HaqiCKtz-lx<{QY0lk9u06Z zSyBEu8YKP!XWnyPhPa7DI%<vT1v#Tc1EQzyKt1;4yMy24E<|dK%+xwDUz*VD6XT_I zY>i6L%hWu<YZ}MqsB(-MTB{ywNW$k(3+vEW#}<HNAHAx(c<wVEGwI?k+-F(Pd&<Wy z^44f^_fo(~Oe*E3k(&;gTO6h1K1o<V<7%OfL)k$#7-(Q=8^z9KnCK<LqSmh8PqEb` ze2{kZ#H01~4L<=;1#2hn`UYo*jEDZj5-dpoigt2z?KY*1y1rYKROg}6oCZgFMQUHU z>q)zoSCxecc@1!QsOz6Qo~I&vUOw}Wv*pc%rFQ{GKShRl?NqHJ+era(2a_JE?DDcc zEpS`b+2)mE=e#;e=66H7xT-&2b%&8)T@eg2#<xGe(cK;QhQ1U4_z1n3z)puz`2FtA zJwIj7{c-n@g@;{qb2ru_Tb&!-BuLq2?Dw9c4oNo-;?3({c0TQFZN_5^ci3Q{oLvt~ zX(YQ7Ht2d@5C*B|b>gvHKr-9-5(P4&RyQ4U&aC5Ynt8?N*f`loV^sV&Mv%NpS>H#S zz5$^EqXMD^p+dL<AvFOl#nT0xZoUgn1>7~FICrOHH3feGg1iz8!bq~6wv{{6A>0ZW ziL-vdaVyBr>7h!4NRD-N3vmJ2$VG@B@g)|7QEIpTM}O*~=#JFO|Emex*Yc|8(WnQ& z)IG1C0nz}ERJ+J45Ttd=e2QexY^z({kX1Fy!3kIlLeiU%hMFo0vO7Z`s_k<}PIyhT z32A0&z&nyX%NSNGb|8*+p^Ta_CNos`faNstkosg1*sh?XC9IS4Dm+f%XMmi<i5i~A zgB}Bi7RDji6I=}ghxR$gL6_CSb4skL)#Y!$`{v2LqHtH?AhUa{m&qU<|4>jFS>DSI z6tZvgbO((#b)SELT`-gFaz6!Qi0Q!m-p+$ZL8AVUrmlu!_lZ&5jH?nj73#)w=cb5g z#@W{jmdOr8$!eO8wNz;W)Jym#Z^<#6R>{O`8|J&-lD%NJ7Om=nwP2w+tOfgT7&K$m literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__pycache__/_collections.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__pycache__/_collections.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3052e3dc9b01383cfabca8d751bc29834413da9b GIT binary patch literal 10714 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 F{ts%+&Pf0O literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__pycache__/connection.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__pycache__/connection.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5d83bbe496233650e2046eda008b5b3c80272de5 GIT binary patch literal 10167 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 RhsxRc%k!OLm2e}k{XZl0hSmT8 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__pycache__/connectionpool.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__pycache__/connectionpool.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..077984580251c21957ce644c40d149fe9b82df68 GIT binary patch literal 23689 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__pycache__/exceptions.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__pycache__/exceptions.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6b8a99b3458a0b23b9c5e4ad77cd9798c0dd44da GIT binary patch literal 10426 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 DC`<`q literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__pycache__/fields.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__pycache__/fields.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cdd6a146222ee846f08259a6da125c7909858cbd GIT binary patch literal 5896 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 OfMcj?4ZXfnee-{}^FR9l literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__pycache__/filepost.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__pycache__/filepost.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9e2fe025178b5190704997388aa03c7988668573 GIT binary patch literal 2786 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 B&`SUS literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__pycache__/poolmanager.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__pycache__/poolmanager.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..99a744e03d731e6650ec64e07e11a02be2fa85f5 GIT binary patch literal 12993 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__pycache__/request.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__pycache__/request.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7fa529f928dbc2f7fdf83b3f26b51bd7323b8e77 GIT binary patch literal 5608 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 F^iO}XaUB2v literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__pycache__/response.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__pycache__/response.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..70049960ea9ea4093633e94ae9048513f90e103d GIT binary patch literal 18808 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 bL$S{xyIh9Zx`0sG!ZQnng{K#e7fb&eq})ug literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/_collections.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/_collections.py new file mode 100644 index 0000000..34f2381 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/_collections.py @@ -0,0 +1,329 @@ +from __future__ import absolute_import +try: + from collections.abc import Mapping, MutableMapping +except ImportError: + from collections import Mapping, MutableMapping +try: + from threading import RLock +except ImportError: # Platform-specific: No threads available + class RLock: + def __enter__(self): + pass + + def __exit__(self, exc_type, exc_value, traceback): + pass + + +from collections import OrderedDict +from .exceptions import InvalidHeader +from .packages.six import iterkeys, itervalues, PY3 + + +__all__ = ['RecentlyUsedContainer', 'HTTPHeaderDict'] + + +_Null = object() + + +class RecentlyUsedContainer(MutableMapping): + """ + Provides a thread-safe dict-like container which maintains up to + ``maxsize`` keys while throwing away the least-recently-used keys beyond + ``maxsize``. + + :param maxsize: + Maximum number of recent elements to retain. + + :param dispose_func: + Every time an item is evicted from the container, + ``dispose_func(value)`` is called. Callback which will get called + """ + + ContainerCls = OrderedDict + + def __init__(self, maxsize=10, dispose_func=None): + self._maxsize = maxsize + self.dispose_func = dispose_func + + self._container = self.ContainerCls() + self.lock = RLock() + + def __getitem__(self, key): + # Re-insert the item, moving it to the end of the eviction line. + with self.lock: + item = self._container.pop(key) + self._container[key] = item + return item + + def __setitem__(self, key, value): + evicted_value = _Null + with self.lock: + # Possibly evict the existing value of 'key' + evicted_value = self._container.get(key, _Null) + self._container[key] = value + + # If we didn't evict an existing value, we might have to evict the + # least recently used item from the beginning of the container. + if len(self._container) > self._maxsize: + _key, evicted_value = self._container.popitem(last=False) + + if self.dispose_func and evicted_value is not _Null: + self.dispose_func(evicted_value) + + def __delitem__(self, key): + with self.lock: + value = self._container.pop(key) + + if self.dispose_func: + self.dispose_func(value) + + def __len__(self): + with self.lock: + return len(self._container) + + def __iter__(self): + raise NotImplementedError('Iteration over this class is unlikely to be threadsafe.') + + def clear(self): + with self.lock: + # Copy pointers to all values, then wipe the mapping + values = list(itervalues(self._container)) + self._container.clear() + + if self.dispose_func: + for value in values: + self.dispose_func(value) + + def keys(self): + with self.lock: + return list(iterkeys(self._container)) + + +class HTTPHeaderDict(MutableMapping): + """ + :param headers: + An iterable of field-value pairs. Must not contain multiple field names + when compared case-insensitively. + + :param kwargs: + Additional field-value pairs to pass in to ``dict.update``. + + A ``dict`` like container for storing HTTP Headers. + + Field names are stored and compared case-insensitively in compliance with + RFC 7230. Iteration provides the first case-sensitive key seen for each + case-insensitive pair. + + Using ``__setitem__`` syntax overwrites fields that compare equal + case-insensitively in order to maintain ``dict``'s api. For fields that + compare equal, instead create a new ``HTTPHeaderDict`` and use ``.add`` + in a loop. + + If multiple fields that are equal case-insensitively are passed to the + constructor or ``.update``, the behavior is undefined and some will be + lost. + + >>> headers = HTTPHeaderDict() + >>> headers.add('Set-Cookie', 'foo=bar') + >>> headers.add('set-cookie', 'baz=quxx') + >>> headers['content-length'] = '7' + >>> headers['SET-cookie'] + 'foo=bar, baz=quxx' + >>> headers['Content-Length'] + '7' + """ + + def __init__(self, headers=None, **kwargs): + super(HTTPHeaderDict, self).__init__() + self._container = OrderedDict() + if headers is not None: + if isinstance(headers, HTTPHeaderDict): + self._copy_from(headers) + else: + self.extend(headers) + if kwargs: + self.extend(kwargs) + + def __setitem__(self, key, val): + self._container[key.lower()] = [key, val] + return self._container[key.lower()] + + def __getitem__(self, key): + val = self._container[key.lower()] + return ', '.join(val[1:]) + + def __delitem__(self, key): + del self._container[key.lower()] + + def __contains__(self, key): + return key.lower() in self._container + + def __eq__(self, other): + if not isinstance(other, Mapping) and not hasattr(other, 'keys'): + return False + if not isinstance(other, type(self)): + other = type(self)(other) + return (dict((k.lower(), v) for k, v in self.itermerged()) == + dict((k.lower(), v) for k, v in other.itermerged())) + + def __ne__(self, other): + return not self.__eq__(other) + + if not PY3: # Python 2 + iterkeys = MutableMapping.iterkeys + itervalues = MutableMapping.itervalues + + __marker = object() + + def __len__(self): + return len(self._container) + + def __iter__(self): + # Only provide the originally cased names + for vals in self._container.values(): + yield vals[0] + + def pop(self, key, default=__marker): + '''D.pop(k[,d]) -> v, remove specified key and return the corresponding value. + If key is not found, d is returned if given, otherwise KeyError is raised. + ''' + # Using the MutableMapping function directly fails due to the private marker. + # Using ordinary dict.pop would expose the internal structures. + # So let's reinvent the wheel. + try: + value = self[key] + except KeyError: + if default is self.__marker: + raise + return default + else: + del self[key] + return value + + def discard(self, key): + try: + del self[key] + except KeyError: + pass + + def add(self, key, val): + """Adds a (name, value) pair, doesn't overwrite the value if it already + exists. + + >>> headers = HTTPHeaderDict(foo='bar') + >>> headers.add('Foo', 'baz') + >>> headers['foo'] + 'bar, baz' + """ + key_lower = key.lower() + new_vals = [key, val] + # Keep the common case aka no item present as fast as possible + vals = self._container.setdefault(key_lower, new_vals) + if new_vals is not vals: + vals.append(val) + + def extend(self, *args, **kwargs): + """Generic import function for any type of header-like object. + Adapted version of MutableMapping.update in order to insert items + with self.add instead of self.__setitem__ + """ + if len(args) > 1: + raise TypeError("extend() takes at most 1 positional " + "arguments ({0} given)".format(len(args))) + other = args[0] if len(args) >= 1 else () + + if isinstance(other, HTTPHeaderDict): + for key, val in other.iteritems(): + self.add(key, val) + elif isinstance(other, Mapping): + for key in other: + self.add(key, other[key]) + elif hasattr(other, "keys"): + for key in other.keys(): + self.add(key, other[key]) + else: + for key, value in other: + self.add(key, value) + + for key, value in kwargs.items(): + self.add(key, value) + + def getlist(self, key, default=__marker): + """Returns a list of all the values for the named field. Returns an + empty list if the key doesn't exist.""" + try: + vals = self._container[key.lower()] + except KeyError: + if default is self.__marker: + return [] + return default + else: + return vals[1:] + + # Backwards compatibility for httplib + getheaders = getlist + getallmatchingheaders = getlist + iget = getlist + + # Backwards compatibility for http.cookiejar + get_all = getlist + + def __repr__(self): + return "%s(%s)" % (type(self).__name__, dict(self.itermerged())) + + def _copy_from(self, other): + for key in other: + val = other.getlist(key) + if isinstance(val, list): + # Don't need to convert tuples + val = list(val) + self._container[key.lower()] = [key] + val + + def copy(self): + clone = type(self)() + clone._copy_from(self) + return clone + + def iteritems(self): + """Iterate over all header lines, including duplicate ones.""" + for key in self: + vals = self._container[key.lower()] + for val in vals[1:]: + yield vals[0], val + + def itermerged(self): + """Iterate over all headers, merging duplicate ones together.""" + for key in self: + val = self._container[key.lower()] + yield val[0], ', '.join(val[1:]) + + def items(self): + return list(self.iteritems()) + + @classmethod + def from_httplib(cls, message): # Python 2 + """Read headers from a Python 2 httplib message object.""" + # python2.7 does not expose a proper API for exporting multiheaders + # efficiently. This function re-reads raw lines from the message + # object and extracts the multiheaders properly. + obs_fold_continued_leaders = (' ', '\t') + headers = [] + + for line in message.headers: + if line.startswith(obs_fold_continued_leaders): + if not headers: + # We received a header line that starts with OWS as described + # in RFC-7230 S3.2.4. This indicates a multiline header, but + # there exists no previous header to which we can attach it. + raise InvalidHeader( + 'Header continuation with no previous header: %s' % line + ) + else: + key, value = headers[-1] + headers[-1] = (key, value + ' ' + line.strip()) + continue + + key, value = line.split(':', 1) + headers.append((key, value.strip())) + + return cls(headers) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/connection.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/connection.py new file mode 100644 index 0000000..02b3665 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/connection.py @@ -0,0 +1,391 @@ +from __future__ import absolute_import +import datetime +import logging +import os +import socket +from socket import error as SocketError, timeout as SocketTimeout +import warnings +from .packages import six +from .packages.six.moves.http_client import HTTPConnection as _HTTPConnection +from .packages.six.moves.http_client import HTTPException # noqa: F401 + +try: # Compiled with SSL? + import ssl + BaseSSLError = ssl.SSLError +except (ImportError, AttributeError): # Platform-specific: No SSL. + ssl = None + + class BaseSSLError(BaseException): + pass + + +try: # Python 3: + # Not a no-op, we're adding this to the namespace so it can be imported. + ConnectionError = ConnectionError +except NameError: # Python 2: + class ConnectionError(Exception): + pass + + +from .exceptions import ( + NewConnectionError, + ConnectTimeoutError, + SubjectAltNameWarning, + SystemTimeWarning, +) +from .packages.ssl_match_hostname import match_hostname, CertificateError + +from .util.ssl_ import ( + resolve_cert_reqs, + resolve_ssl_version, + assert_fingerprint, + create_urllib3_context, + ssl_wrap_socket +) + + +from .util import connection + +from ._collections import HTTPHeaderDict + +log = logging.getLogger(__name__) + +port_by_scheme = { + 'http': 80, + 'https': 443, +} + +# When updating RECENT_DATE, move it to within two years of the current date, +# and not less than 6 months ago. +# Example: if Today is 2018-01-01, then RECENT_DATE should be any date on or +# after 2016-01-01 (today - 2 years) AND before 2017-07-01 (today - 6 months) +RECENT_DATE = datetime.date(2017, 6, 30) + + +class DummyConnection(object): + """Used to detect a failed ConnectionCls import.""" + pass + + +class HTTPConnection(_HTTPConnection, object): + """ + Based on httplib.HTTPConnection but provides an extra constructor + backwards-compatibility layer between older and newer Pythons. + + Additional keyword parameters are used to configure attributes of the connection. + Accepted parameters include: + + - ``strict``: See the documentation on :class:`urllib3.connectionpool.HTTPConnectionPool` + - ``source_address``: Set the source address for the current connection. + - ``socket_options``: Set specific options on the underlying socket. If not specified, then + defaults are loaded from ``HTTPConnection.default_socket_options`` which includes disabling + Nagle's algorithm (sets TCP_NODELAY to 1) unless the connection is behind a proxy. + + For example, if you wish to enable TCP Keep Alive in addition to the defaults, + you might pass:: + + HTTPConnection.default_socket_options + [ + (socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1), + ] + + Or you may want to disable the defaults by passing an empty list (e.g., ``[]``). + """ + + default_port = port_by_scheme['http'] + + #: Disable Nagle's algorithm by default. + #: ``[(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)]`` + default_socket_options = [(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)] + + #: Whether this connection verifies the host's certificate. + is_verified = False + + def __init__(self, *args, **kw): + if six.PY3: # Python 3 + kw.pop('strict', None) + + # Pre-set source_address. + self.source_address = kw.get('source_address') + + #: The socket options provided by the user. If no options are + #: provided, we use the default options. + self.socket_options = kw.pop('socket_options', self.default_socket_options) + + _HTTPConnection.__init__(self, *args, **kw) + + @property + def host(self): + """ + Getter method to remove any trailing dots that indicate the hostname is an FQDN. + + In general, SSL certificates don't include the trailing dot indicating a + fully-qualified domain name, and thus, they don't validate properly when + checked against a domain name that includes the dot. In addition, some + servers may not expect to receive the trailing dot when provided. + + However, the hostname with trailing dot is critical to DNS resolution; doing a + lookup with the trailing dot will properly only resolve the appropriate FQDN, + whereas a lookup without a trailing dot will search the system's search domain + list. Thus, it's important to keep the original host around for use only in + those cases where it's appropriate (i.e., when doing DNS lookup to establish the + actual TCP connection across which we're going to send HTTP requests). + """ + return self._dns_host.rstrip('.') + + @host.setter + def host(self, value): + """ + Setter for the `host` property. + + We assume that only urllib3 uses the _dns_host attribute; httplib itself + only uses `host`, and it seems reasonable that other libraries follow suit. + """ + self._dns_host = value + + def _new_conn(self): + """ Establish a socket connection and set nodelay settings on it. + + :return: New socket connection. + """ + extra_kw = {} + if self.source_address: + extra_kw['source_address'] = self.source_address + + if self.socket_options: + extra_kw['socket_options'] = self.socket_options + + try: + conn = connection.create_connection( + (self._dns_host, self.port), self.timeout, **extra_kw) + + except SocketTimeout as e: + raise ConnectTimeoutError( + self, "Connection to %s timed out. (connect timeout=%s)" % + (self.host, self.timeout)) + + except SocketError as e: + raise NewConnectionError( + self, "Failed to establish a new connection: %s" % e) + + return conn + + def _prepare_conn(self, conn): + self.sock = conn + if self._tunnel_host: + # TODO: Fix tunnel so it doesn't depend on self.sock state. + self._tunnel() + # Mark this connection as not reusable + self.auto_open = 0 + + def connect(self): + conn = self._new_conn() + self._prepare_conn(conn) + + def request_chunked(self, method, url, body=None, headers=None): + """ + Alternative to the common request method, which sends the + body with chunked encoding and not as one block + """ + headers = HTTPHeaderDict(headers if headers is not None else {}) + skip_accept_encoding = 'accept-encoding' in headers + skip_host = 'host' in headers + self.putrequest( + method, + url, + skip_accept_encoding=skip_accept_encoding, + skip_host=skip_host + ) + for header, value in headers.items(): + self.putheader(header, value) + if 'transfer-encoding' not in headers: + self.putheader('Transfer-Encoding', 'chunked') + self.endheaders() + + if body is not None: + stringish_types = six.string_types + (bytes,) + if isinstance(body, stringish_types): + body = (body,) + for chunk in body: + if not chunk: + continue + if not isinstance(chunk, bytes): + chunk = chunk.encode('utf8') + len_str = hex(len(chunk))[2:] + self.send(len_str.encode('utf-8')) + self.send(b'\r\n') + self.send(chunk) + self.send(b'\r\n') + + # After the if clause, to always have a closed body + self.send(b'0\r\n\r\n') + + +class HTTPSConnection(HTTPConnection): + default_port = port_by_scheme['https'] + + ssl_version = None + + def __init__(self, host, port=None, key_file=None, cert_file=None, + strict=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT, + ssl_context=None, server_hostname=None, **kw): + + HTTPConnection.__init__(self, host, port, strict=strict, + timeout=timeout, **kw) + + self.key_file = key_file + self.cert_file = cert_file + self.ssl_context = ssl_context + self.server_hostname = server_hostname + + # Required property for Google AppEngine 1.9.0 which otherwise causes + # HTTPS requests to go out as HTTP. (See Issue #356) + self._protocol = 'https' + + def connect(self): + conn = self._new_conn() + self._prepare_conn(conn) + + if self.ssl_context is None: + self.ssl_context = create_urllib3_context( + ssl_version=resolve_ssl_version(None), + cert_reqs=resolve_cert_reqs(None), + ) + + self.sock = ssl_wrap_socket( + sock=conn, + keyfile=self.key_file, + certfile=self.cert_file, + ssl_context=self.ssl_context, + server_hostname=self.server_hostname + ) + + +class VerifiedHTTPSConnection(HTTPSConnection): + """ + Based on httplib.HTTPSConnection but wraps the socket with + SSL certification. + """ + cert_reqs = None + ca_certs = None + ca_cert_dir = None + ssl_version = None + assert_fingerprint = None + + def set_cert(self, key_file=None, cert_file=None, + cert_reqs=None, ca_certs=None, + assert_hostname=None, assert_fingerprint=None, + ca_cert_dir=None): + """ + This method should only be called once, before the connection is used. + """ + # If cert_reqs is not provided, we can try to guess. If the user gave + # us a cert database, we assume they want to use it: otherwise, if + # they gave us an SSL Context object we should use whatever is set for + # it. + if cert_reqs is None: + if ca_certs or ca_cert_dir: + cert_reqs = 'CERT_REQUIRED' + elif self.ssl_context is not None: + cert_reqs = self.ssl_context.verify_mode + + self.key_file = key_file + self.cert_file = cert_file + self.cert_reqs = cert_reqs + self.assert_hostname = assert_hostname + self.assert_fingerprint = assert_fingerprint + self.ca_certs = ca_certs and os.path.expanduser(ca_certs) + self.ca_cert_dir = ca_cert_dir and os.path.expanduser(ca_cert_dir) + + def connect(self): + # Add certificate verification + conn = self._new_conn() + hostname = self.host + + if self._tunnel_host: + self.sock = conn + # Calls self._set_hostport(), so self.host is + # self._tunnel_host below. + self._tunnel() + # Mark this connection as not reusable + self.auto_open = 0 + + # Override the host with the one we're requesting data from. + hostname = self._tunnel_host + + server_hostname = hostname + if self.server_hostname is not None: + server_hostname = self.server_hostname + + is_time_off = datetime.date.today() < RECENT_DATE + if is_time_off: + warnings.warn(( + 'System time is way off (before {0}). This will probably ' + 'lead to SSL verification errors').format(RECENT_DATE), + SystemTimeWarning + ) + + # Wrap socket using verification with the root certs in + # trusted_root_certs + if self.ssl_context is None: + self.ssl_context = create_urllib3_context( + ssl_version=resolve_ssl_version(self.ssl_version), + cert_reqs=resolve_cert_reqs(self.cert_reqs), + ) + + context = self.ssl_context + context.verify_mode = resolve_cert_reqs(self.cert_reqs) + self.sock = ssl_wrap_socket( + sock=conn, + keyfile=self.key_file, + certfile=self.cert_file, + ca_certs=self.ca_certs, + ca_cert_dir=self.ca_cert_dir, + server_hostname=server_hostname, + ssl_context=context) + + if self.assert_fingerprint: + assert_fingerprint(self.sock.getpeercert(binary_form=True), + self.assert_fingerprint) + elif context.verify_mode != ssl.CERT_NONE \ + and not getattr(context, 'check_hostname', False) \ + and self.assert_hostname is not False: + # While urllib3 attempts to always turn off hostname matching from + # the TLS library, this cannot always be done. So we check whether + # the TLS Library still thinks it's matching hostnames. + cert = self.sock.getpeercert() + if not cert.get('subjectAltName', ()): + warnings.warn(( + 'Certificate for {0} has no `subjectAltName`, falling back to check for a ' + '`commonName` for now. This feature is being removed by major browsers and ' + 'deprecated by RFC 2818. (See https://github.com/shazow/urllib3/issues/497 ' + 'for details.)'.format(hostname)), + SubjectAltNameWarning + ) + _match_hostname(cert, self.assert_hostname or server_hostname) + + self.is_verified = ( + context.verify_mode == ssl.CERT_REQUIRED or + self.assert_fingerprint is not None + ) + + +def _match_hostname(cert, asserted_hostname): + try: + match_hostname(cert, asserted_hostname) + except CertificateError as e: + log.error( + 'Certificate did not match expected hostname: %s. ' + 'Certificate: %s', asserted_hostname, cert + ) + # Add cert to exception and reraise so client code can inspect + # the cert when catching the exception, if they want to + e._peer_cert = cert + raise + + +if ssl: + # Make a copy for testing. + UnverifiedHTTPSConnection = HTTPSConnection + HTTPSConnection = VerifiedHTTPSConnection +else: + HTTPSConnection = DummyConnection diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/connectionpool.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/connectionpool.py new file mode 100644 index 0000000..f7a8f19 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/connectionpool.py @@ -0,0 +1,896 @@ +from __future__ import absolute_import +import errno +import logging +import sys +import warnings + +from socket import error as SocketError, timeout as SocketTimeout +import socket + + +from .exceptions import ( + ClosedPoolError, + ProtocolError, + EmptyPoolError, + HeaderParsingError, + HostChangedError, + LocationValueError, + MaxRetryError, + ProxyError, + ReadTimeoutError, + SSLError, + TimeoutError, + InsecureRequestWarning, + NewConnectionError, +) +from .packages.ssl_match_hostname import CertificateError +from .packages import six +from .packages.six.moves import queue +from .connection import ( + port_by_scheme, + DummyConnection, + HTTPConnection, HTTPSConnection, VerifiedHTTPSConnection, + HTTPException, BaseSSLError, +) +from .request import RequestMethods +from .response import HTTPResponse + +from .util.connection import is_connection_dropped +from .util.request import set_file_position +from .util.response import assert_header_parsing +from .util.retry import Retry +from .util.timeout import Timeout +from .util.url import get_host, Url, NORMALIZABLE_SCHEMES +from .util.queue import LifoQueue + + +xrange = six.moves.xrange + +log = logging.getLogger(__name__) + +_Default = object() + + +# Pool objects +class ConnectionPool(object): + """ + Base class for all connection pools, such as + :class:`.HTTPConnectionPool` and :class:`.HTTPSConnectionPool`. + """ + + scheme = None + QueueCls = LifoQueue + + def __init__(self, host, port=None): + if not host: + raise LocationValueError("No host specified.") + + self.host = _ipv6_host(host, self.scheme) + self._proxy_host = host.lower() + self.port = port + + def __str__(self): + return '%s(host=%r, port=%r)' % (type(self).__name__, + self.host, self.port) + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + self.close() + # Return False to re-raise any potential exceptions + return False + + def close(self): + """ + Close all pooled connections and disable the pool. + """ + pass + + +# This is taken from http://hg.python.org/cpython/file/7aaba721ebc0/Lib/socket.py#l252 +_blocking_errnos = {errno.EAGAIN, errno.EWOULDBLOCK} + + +class HTTPConnectionPool(ConnectionPool, RequestMethods): + """ + Thread-safe connection pool for one host. + + :param host: + Host used for this HTTP Connection (e.g. "localhost"), passed into + :class:`httplib.HTTPConnection`. + + :param port: + Port used for this HTTP Connection (None is equivalent to 80), passed + into :class:`httplib.HTTPConnection`. + + :param strict: + Causes BadStatusLine to be raised if the status line can't be parsed + as a valid HTTP/1.0 or 1.1 status line, passed into + :class:`httplib.HTTPConnection`. + + .. note:: + Only works in Python 2. This parameter is ignored in Python 3. + + :param timeout: + Socket timeout in seconds for each individual connection. This can + be a float or integer, which sets the timeout for the HTTP request, + or an instance of :class:`urllib3.util.Timeout` which gives you more + fine-grained control over request timeouts. After the constructor has + been parsed, this is always a `urllib3.util.Timeout` object. + + :param maxsize: + Number of connections to save that can be reused. More than 1 is useful + in multithreaded situations. If ``block`` is set to False, more + connections will be created but they will not be saved once they've + been used. + + :param block: + If set to True, no more than ``maxsize`` connections will be used at + a time. When no free connections are available, the call will block + until a connection has been released. This is a useful side effect for + particular multithreaded situations where one does not want to use more + than maxsize connections per host to prevent flooding. + + :param headers: + Headers to include with all requests, unless other headers are given + explicitly. + + :param retries: + Retry configuration to use by default with requests in this pool. + + :param _proxy: + Parsed proxy URL, should not be used directly, instead, see + :class:`urllib3.connectionpool.ProxyManager`" + + :param _proxy_headers: + A dictionary with proxy headers, should not be used directly, + instead, see :class:`urllib3.connectionpool.ProxyManager`" + + :param \\**conn_kw: + Additional parameters are used to create fresh :class:`urllib3.connection.HTTPConnection`, + :class:`urllib3.connection.HTTPSConnection` instances. + """ + + scheme = 'http' + ConnectionCls = HTTPConnection + ResponseCls = HTTPResponse + + def __init__(self, host, port=None, strict=False, + timeout=Timeout.DEFAULT_TIMEOUT, maxsize=1, block=False, + headers=None, retries=None, + _proxy=None, _proxy_headers=None, + **conn_kw): + ConnectionPool.__init__(self, host, port) + RequestMethods.__init__(self, headers) + + self.strict = strict + + if not isinstance(timeout, Timeout): + timeout = Timeout.from_float(timeout) + + if retries is None: + retries = Retry.DEFAULT + + self.timeout = timeout + self.retries = retries + + self.pool = self.QueueCls(maxsize) + self.block = block + + self.proxy = _proxy + self.proxy_headers = _proxy_headers or {} + + # Fill the queue up so that doing get() on it will block properly + for _ in xrange(maxsize): + self.pool.put(None) + + # These are mostly for testing and debugging purposes. + self.num_connections = 0 + self.num_requests = 0 + self.conn_kw = conn_kw + + if self.proxy: + # Enable Nagle's algorithm for proxies, to avoid packet fragmentation. + # We cannot know if the user has added default socket options, so we cannot replace the + # list. + self.conn_kw.setdefault('socket_options', []) + + def _new_conn(self): + """ + Return a fresh :class:`HTTPConnection`. + """ + self.num_connections += 1 + log.debug("Starting new HTTP connection (%d): %s:%s", + self.num_connections, self.host, self.port or "80") + + conn = self.ConnectionCls(host=self.host, port=self.port, + timeout=self.timeout.connect_timeout, + strict=self.strict, **self.conn_kw) + return conn + + def _get_conn(self, timeout=None): + """ + Get a connection. Will return a pooled connection if one is available. + + If no connections are available and :prop:`.block` is ``False``, then a + fresh connection is returned. + + :param timeout: + Seconds to wait before giving up and raising + :class:`urllib3.exceptions.EmptyPoolError` if the pool is empty and + :prop:`.block` is ``True``. + """ + conn = None + try: + conn = self.pool.get(block=self.block, timeout=timeout) + + except AttributeError: # self.pool is None + raise ClosedPoolError(self, "Pool is closed.") + + except queue.Empty: + if self.block: + raise EmptyPoolError(self, + "Pool reached maximum size and no more " + "connections are allowed.") + pass # Oh well, we'll create a new connection then + + # If this is a persistent connection, check if it got disconnected + if conn and is_connection_dropped(conn): + log.debug("Resetting dropped connection: %s", self.host) + conn.close() + if getattr(conn, 'auto_open', 1) == 0: + # This is a proxied connection that has been mutated by + # httplib._tunnel() and cannot be reused (since it would + # attempt to bypass the proxy) + conn = None + + return conn or self._new_conn() + + def _put_conn(self, conn): + """ + Put a connection back into the pool. + + :param conn: + Connection object for the current host and port as returned by + :meth:`._new_conn` or :meth:`._get_conn`. + + If the pool is already full, the connection is closed and discarded + because we exceeded maxsize. If connections are discarded frequently, + then maxsize should be increased. + + If the pool is closed, then the connection will be closed and discarded. + """ + try: + self.pool.put(conn, block=False) + return # Everything is dandy, done. + except AttributeError: + # self.pool is None. + pass + except queue.Full: + # This should never happen if self.block == True + log.warning( + "Connection pool is full, discarding connection: %s", + self.host) + + # Connection never got put back into the pool, close it. + if conn: + conn.close() + + def _validate_conn(self, conn): + """ + Called right before a request is made, after the socket is created. + """ + pass + + def _prepare_proxy(self, conn): + # Nothing to do for HTTP connections. + pass + + def _get_timeout(self, timeout): + """ Helper that always returns a :class:`urllib3.util.Timeout` """ + if timeout is _Default: + return self.timeout.clone() + + if isinstance(timeout, Timeout): + return timeout.clone() + else: + # User passed us an int/float. This is for backwards compatibility, + # can be removed later + return Timeout.from_float(timeout) + + def _raise_timeout(self, err, url, timeout_value): + """Is the error actually a timeout? Will raise a ReadTimeout or pass""" + + if isinstance(err, SocketTimeout): + raise ReadTimeoutError(self, url, "Read timed out. (read timeout=%s)" % timeout_value) + + # See the above comment about EAGAIN in Python 3. In Python 2 we have + # to specifically catch it and throw the timeout error + if hasattr(err, 'errno') and err.errno in _blocking_errnos: + raise ReadTimeoutError(self, url, "Read timed out. (read timeout=%s)" % timeout_value) + + # Catch possible read timeouts thrown as SSL errors. If not the + # case, rethrow the original. We need to do this because of: + # http://bugs.python.org/issue10272 + if 'timed out' in str(err) or 'did not complete (read)' in str(err): # Python < 2.7.4 + raise ReadTimeoutError(self, url, "Read timed out. (read timeout=%s)" % timeout_value) + + def _make_request(self, conn, method, url, timeout=_Default, chunked=False, + **httplib_request_kw): + """ + Perform a request on a given urllib connection object taken from our + pool. + + :param conn: + a connection from one of our connection pools + + :param timeout: + Socket timeout in seconds for the request. This can be a + float or integer, which will set the same timeout value for + the socket connect and the socket read, or an instance of + :class:`urllib3.util.Timeout`, which gives you more fine-grained + control over your timeouts. + """ + self.num_requests += 1 + + timeout_obj = self._get_timeout(timeout) + timeout_obj.start_connect() + conn.timeout = timeout_obj.connect_timeout + + # Trigger any extra validation we need to do. + try: + self._validate_conn(conn) + except (SocketTimeout, BaseSSLError) as e: + # Py2 raises this as a BaseSSLError, Py3 raises it as socket timeout. + self._raise_timeout(err=e, url=url, timeout_value=conn.timeout) + raise + + # conn.request() calls httplib.*.request, not the method in + # urllib3.request. It also calls makefile (recv) on the socket. + if chunked: + conn.request_chunked(method, url, **httplib_request_kw) + else: + conn.request(method, url, **httplib_request_kw) + + # Reset the timeout for the recv() on the socket + read_timeout = timeout_obj.read_timeout + + # App Engine doesn't have a sock attr + if getattr(conn, 'sock', None): + # In Python 3 socket.py will catch EAGAIN and return None when you + # try and read into the file pointer created by http.client, which + # instead raises a BadStatusLine exception. Instead of catching + # the exception and assuming all BadStatusLine exceptions are read + # timeouts, check for a zero timeout before making the request. + if read_timeout == 0: + raise ReadTimeoutError( + self, url, "Read timed out. (read timeout=%s)" % read_timeout) + if read_timeout is Timeout.DEFAULT_TIMEOUT: + conn.sock.settimeout(socket.getdefaulttimeout()) + else: # None or a value + conn.sock.settimeout(read_timeout) + + # Receive the response from the server + try: + try: # Python 2.7, use buffering of HTTP responses + httplib_response = conn.getresponse(buffering=True) + except TypeError: # Python 3 + try: + httplib_response = conn.getresponse() + except Exception as e: + # Remove the TypeError from the exception chain in Python 3; + # otherwise it looks like a programming error was the cause. + six.raise_from(e, None) + except (SocketTimeout, BaseSSLError, SocketError) as e: + self._raise_timeout(err=e, url=url, timeout_value=read_timeout) + raise + + # AppEngine doesn't have a version attr. + http_version = getattr(conn, '_http_vsn_str', 'HTTP/?') + log.debug("%s://%s:%s \"%s %s %s\" %s %s", self.scheme, self.host, self.port, + method, url, http_version, httplib_response.status, + httplib_response.length) + + try: + assert_header_parsing(httplib_response.msg) + except (HeaderParsingError, TypeError) as hpe: # Platform-specific: Python 3 + log.warning( + 'Failed to parse headers (url=%s): %s', + self._absolute_url(url), hpe, exc_info=True) + + return httplib_response + + def _absolute_url(self, path): + return Url(scheme=self.scheme, host=self.host, port=self.port, path=path).url + + def close(self): + """ + Close all pooled connections and disable the pool. + """ + if self.pool is None: + return + # Disable access to the pool + old_pool, self.pool = self.pool, None + + try: + while True: + conn = old_pool.get(block=False) + if conn: + conn.close() + + except queue.Empty: + pass # Done. + + def is_same_host(self, url): + """ + Check if the given ``url`` is a member of the same host as this + connection pool. + """ + if url.startswith('/'): + return True + + # TODO: Add optional support for socket.gethostbyname checking. + scheme, host, port = get_host(url) + + host = _ipv6_host(host, self.scheme) + + # Use explicit default port for comparison when none is given + if self.port and not port: + port = port_by_scheme.get(scheme) + elif not self.port and port == port_by_scheme.get(scheme): + port = None + + return (scheme, host, port) == (self.scheme, self.host, self.port) + + def urlopen(self, method, url, body=None, headers=None, retries=None, + redirect=True, assert_same_host=True, timeout=_Default, + pool_timeout=None, release_conn=None, chunked=False, + body_pos=None, **response_kw): + """ + Get a connection from the pool and perform an HTTP request. This is the + lowest level call for making a request, so you'll need to specify all + the raw details. + + .. note:: + + More commonly, it's appropriate to use a convenience method provided + by :class:`.RequestMethods`, such as :meth:`request`. + + .. note:: + + `release_conn` will only behave as expected if + `preload_content=False` because we want to make + `preload_content=False` the default behaviour someday soon without + breaking backwards compatibility. + + :param method: + HTTP request method (such as GET, POST, PUT, etc.) + + :param body: + Data to send in the request body (useful for creating + POST requests, see HTTPConnectionPool.post_url for + more convenience). + + :param headers: + Dictionary of custom headers to send, such as User-Agent, + If-None-Match, etc. If None, pool headers are used. If provided, + these headers completely replace any pool-specific headers. + + :param retries: + Configure the number of retries to allow before raising a + :class:`~urllib3.exceptions.MaxRetryError` exception. + + Pass ``None`` to retry until you receive a response. Pass a + :class:`~urllib3.util.retry.Retry` object for fine-grained control + over different types of retries. + Pass an integer number to retry connection errors that many times, + but no other types of errors. Pass zero to never retry. + + If ``False``, then retries are disabled and any exception is raised + immediately. Also, instead of raising a MaxRetryError on redirects, + the redirect response will be returned. + + :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. + + :param redirect: + If True, automatically handle redirects (status codes 301, 302, + 303, 307, 308). Each redirect counts as a retry. Disabling retries + will disable redirect, too. + + :param assert_same_host: + If ``True``, will make sure that the host of the pool requests is + consistent else will raise HostChangedError. When False, you can + use the pool on an HTTP proxy and request foreign hosts. + + :param timeout: + If specified, overrides the default timeout for this one + request. It may be a float (in seconds) or an instance of + :class:`urllib3.util.Timeout`. + + :param pool_timeout: + If set and the pool is set to block=True, then this method will + block for ``pool_timeout`` seconds and raise EmptyPoolError if no + connection is available within the time period. + + :param release_conn: + If False, then the urlopen call will not release the connection + back into the pool once a response is received (but will release if + you read the entire contents of the response such as when + `preload_content=True`). This is useful if you're not preloading + the response's content immediately. You will need to call + ``r.release_conn()`` on the response ``r`` to return the connection + back into the pool. If None, it takes the value of + ``response_kw.get('preload_content', True)``. + + :param chunked: + If True, urllib3 will send the body using chunked transfer + encoding. Otherwise, urllib3 will send the body using the standard + content-length form. Defaults to False. + + :param int body_pos: + Position to seek to in file-like body in the event of a retry or + redirect. Typically this won't need to be set because urllib3 will + auto-populate the value when needed. + + :param \\**response_kw: + Additional parameters are passed to + :meth:`urllib3.response.HTTPResponse.from_httplib` + """ + if headers is None: + headers = self.headers + + if not isinstance(retries, Retry): + retries = Retry.from_int(retries, redirect=redirect, default=self.retries) + + if release_conn is None: + release_conn = response_kw.get('preload_content', True) + + # Check host + if assert_same_host and not self.is_same_host(url): + raise HostChangedError(self, url, retries) + + conn = None + + # Track whether `conn` needs to be released before + # returning/raising/recursing. Update this variable if necessary, and + # leave `release_conn` constant throughout the function. That way, if + # the function recurses, the original value of `release_conn` will be + # passed down into the recursive call, and its value will be respected. + # + # See issue #651 [1] for details. + # + # [1] <https://github.com/shazow/urllib3/issues/651> + release_this_conn = release_conn + + # Merge the proxy headers. Only do this in HTTP. We have to copy the + # headers dict so we can safely change it without those changes being + # reflected in anyone else's copy. + if self.scheme == 'http': + headers = headers.copy() + headers.update(self.proxy_headers) + + # Must keep the exception bound to a separate variable or else Python 3 + # complains about UnboundLocalError. + err = None + + # Keep track of whether we cleanly exited the except block. This + # ensures we do proper cleanup in finally. + clean_exit = False + + # Rewind body position, if needed. Record current position + # for future rewinds in the event of a redirect/retry. + body_pos = set_file_position(body, body_pos) + + try: + # Request a connection from the queue. + timeout_obj = self._get_timeout(timeout) + conn = self._get_conn(timeout=pool_timeout) + + conn.timeout = timeout_obj.connect_timeout + + is_new_proxy_conn = self.proxy is not None and not getattr(conn, 'sock', None) + if is_new_proxy_conn: + self._prepare_proxy(conn) + + # Make the request on the httplib connection object. + httplib_response = self._make_request(conn, method, url, + timeout=timeout_obj, + body=body, headers=headers, + chunked=chunked) + + # If we're going to release the connection in ``finally:``, then + # the response doesn't need to know about the connection. Otherwise + # it will also try to release it and we'll have a double-release + # mess. + response_conn = conn if not release_conn else None + + # Pass method to Response for length checking + response_kw['request_method'] = method + + # Import httplib's response into our own wrapper object + response = self.ResponseCls.from_httplib(httplib_response, + pool=self, + connection=response_conn, + retries=retries, + **response_kw) + + # Everything went great! + clean_exit = True + + except queue.Empty: + # Timed out by queue. + raise EmptyPoolError(self, "No pool connections are available.") + + except (TimeoutError, HTTPException, SocketError, ProtocolError, + BaseSSLError, SSLError, CertificateError) as e: + # Discard the connection for these exceptions. It will be + # replaced during the next _get_conn() call. + clean_exit = False + if isinstance(e, (BaseSSLError, CertificateError)): + e = SSLError(e) + elif isinstance(e, (SocketError, NewConnectionError)) and self.proxy: + e = ProxyError('Cannot connect to proxy.', e) + elif isinstance(e, (SocketError, HTTPException)): + e = ProtocolError('Connection aborted.', e) + + retries = retries.increment(method, url, error=e, _pool=self, + _stacktrace=sys.exc_info()[2]) + retries.sleep() + + # Keep track of the error for the retry warning. + err = e + + finally: + if not clean_exit: + # We hit some kind of exception, handled or otherwise. We need + # to throw the connection away unless explicitly told not to. + # Close the connection, set the variable to None, and make sure + # we put the None back in the pool to avoid leaking it. + conn = conn and conn.close() + release_this_conn = True + + if release_this_conn: + # Put the connection back to be reused. If the connection is + # expired then it will be None, which will get replaced with a + # fresh connection during _get_conn. + self._put_conn(conn) + + if not conn: + # Try again + log.warning("Retrying (%r) after connection " + "broken by '%r': %s", retries, err, url) + return self.urlopen(method, url, body, headers, retries, + redirect, assert_same_host, + timeout=timeout, pool_timeout=pool_timeout, + release_conn=release_conn, body_pos=body_pos, + **response_kw) + + def drain_and_release_conn(response): + try: + # discard any remaining response body, the connection will be + # released back to the pool once the entire response is read + response.read() + except (TimeoutError, HTTPException, SocketError, ProtocolError, + BaseSSLError, SSLError) as e: + pass + + # Handle redirect? + redirect_location = redirect and response.get_redirect_location() + if redirect_location: + if response.status == 303: + method = 'GET' + + try: + retries = retries.increment(method, url, response=response, _pool=self) + except MaxRetryError: + if retries.raise_on_redirect: + # Drain and release the connection for this response, since + # we're not returning it to be released manually. + drain_and_release_conn(response) + raise + return response + + # drain and return the connection to the pool before recursing + drain_and_release_conn(response) + + retries.sleep_for_retry(response) + log.debug("Redirecting %s -> %s", url, redirect_location) + return self.urlopen( + method, redirect_location, body, headers, + retries=retries, redirect=redirect, + assert_same_host=assert_same_host, + timeout=timeout, pool_timeout=pool_timeout, + release_conn=release_conn, body_pos=body_pos, + **response_kw) + + # Check if we should retry the HTTP response. + has_retry_after = bool(response.getheader('Retry-After')) + if retries.is_retry(method, response.status, has_retry_after): + try: + retries = retries.increment(method, url, response=response, _pool=self) + except MaxRetryError: + if retries.raise_on_status: + # Drain and release the connection for this response, since + # we're not returning it to be released manually. + drain_and_release_conn(response) + raise + return response + + # drain and return the connection to the pool before recursing + drain_and_release_conn(response) + + retries.sleep(response) + log.debug("Retry: %s", url) + return self.urlopen( + method, url, body, headers, + retries=retries, redirect=redirect, + assert_same_host=assert_same_host, + timeout=timeout, pool_timeout=pool_timeout, + release_conn=release_conn, + body_pos=body_pos, **response_kw) + + return response + + +class HTTPSConnectionPool(HTTPConnectionPool): + """ + Same as :class:`.HTTPConnectionPool`, but HTTPS. + + When Python is compiled with the :mod:`ssl` module, then + :class:`.VerifiedHTTPSConnection` is used, which *can* verify certificates, + instead of :class:`.HTTPSConnection`. + + :class:`.VerifiedHTTPSConnection` uses one of ``assert_fingerprint``, + ``assert_hostname`` and ``host`` in this order to verify connections. + If ``assert_hostname`` is False, no verification is done. + + The ``key_file``, ``cert_file``, ``cert_reqs``, ``ca_certs``, + ``ca_cert_dir``, and ``ssl_version`` are only used if :mod:`ssl` is + available and are fed into :meth:`urllib3.util.ssl_wrap_socket` to upgrade + the connection socket into an SSL socket. + """ + + scheme = 'https' + ConnectionCls = HTTPSConnection + + def __init__(self, host, port=None, + strict=False, timeout=Timeout.DEFAULT_TIMEOUT, maxsize=1, + block=False, headers=None, retries=None, + _proxy=None, _proxy_headers=None, + key_file=None, cert_file=None, cert_reqs=None, + ca_certs=None, ssl_version=None, + assert_hostname=None, assert_fingerprint=None, + ca_cert_dir=None, **conn_kw): + + HTTPConnectionPool.__init__(self, host, port, strict, timeout, maxsize, + block, headers, retries, _proxy, _proxy_headers, + **conn_kw) + + if ca_certs and cert_reqs is None: + cert_reqs = 'CERT_REQUIRED' + + self.key_file = key_file + self.cert_file = cert_file + self.cert_reqs = cert_reqs + self.ca_certs = ca_certs + self.ca_cert_dir = ca_cert_dir + self.ssl_version = ssl_version + self.assert_hostname = assert_hostname + self.assert_fingerprint = assert_fingerprint + + def _prepare_conn(self, conn): + """ + Prepare the ``connection`` for :meth:`urllib3.util.ssl_wrap_socket` + and establish the tunnel if proxy is used. + """ + + if isinstance(conn, VerifiedHTTPSConnection): + conn.set_cert(key_file=self.key_file, + cert_file=self.cert_file, + cert_reqs=self.cert_reqs, + ca_certs=self.ca_certs, + ca_cert_dir=self.ca_cert_dir, + assert_hostname=self.assert_hostname, + assert_fingerprint=self.assert_fingerprint) + conn.ssl_version = self.ssl_version + return conn + + def _prepare_proxy(self, conn): + """ + Establish tunnel connection early, because otherwise httplib + would improperly set Host: header to proxy's IP:port. + """ + conn.set_tunnel(self._proxy_host, self.port, self.proxy_headers) + conn.connect() + + def _new_conn(self): + """ + Return a fresh :class:`httplib.HTTPSConnection`. + """ + self.num_connections += 1 + log.debug("Starting new HTTPS connection (%d): %s:%s", + self.num_connections, self.host, self.port or "443") + + if not self.ConnectionCls or self.ConnectionCls is DummyConnection: + raise SSLError("Can't connect to HTTPS URL because the SSL " + "module is not available.") + + actual_host = self.host + actual_port = self.port + if self.proxy is not None: + actual_host = self.proxy.host + actual_port = self.proxy.port + + conn = self.ConnectionCls(host=actual_host, port=actual_port, + timeout=self.timeout.connect_timeout, + strict=self.strict, **self.conn_kw) + + return self._prepare_conn(conn) + + def _validate_conn(self, conn): + """ + Called right before a request is made, after the socket is created. + """ + super(HTTPSConnectionPool, self)._validate_conn(conn) + + # Force connect early to allow us to validate the connection. + if not getattr(conn, 'sock', None): # AppEngine might not have `.sock` + conn.connect() + + if not conn.is_verified: + warnings.warn(( + 'Unverified HTTPS request is being made. ' + 'Adding certificate verification is strongly advised. See: ' + 'https://urllib3.readthedocs.io/en/latest/advanced-usage.html' + '#ssl-warnings'), + InsecureRequestWarning) + + +def connection_from_url(url, **kw): + """ + Given a url, return an :class:`.ConnectionPool` instance of its host. + + This is a shortcut for not having to parse out the scheme, host, and port + of the url before creating an :class:`.ConnectionPool` instance. + + :param url: + Absolute URL string that must include the scheme. Port is optional. + + :param \\**kw: + Passes additional parameters to the constructor of the appropriate + :class:`.ConnectionPool`. Useful for specifying things like + timeout, maxsize, headers, etc. + + Example:: + + >>> conn = connection_from_url('http://google.com/') + >>> r = conn.request('GET', '/') + """ + scheme, host, port = get_host(url) + port = port or port_by_scheme.get(scheme, 80) + if scheme == 'https': + return HTTPSConnectionPool(host, port=port, **kw) + else: + return HTTPConnectionPool(host, port=port, **kw) + + +def _ipv6_host(host, scheme): + """ + Process IPv6 address literals + """ + + # httplib doesn't like it when we include brackets in IPv6 addresses + # Specifically, if we include brackets but also pass the port then + # httplib crazily doubles up the square brackets on the Host header. + # Instead, we need to make sure we never pass ``None`` as the port. + # However, for backward compatibility reasons we can't actually + # *assert* that. See http://bugs.python.org/issue28539 + # + # Also if an IPv6 address literal has a zone identifier, the + # percent sign might be URIencoded, convert it back into ASCII + if host.startswith('[') and host.endswith(']'): + host = host.replace('%25', '%').strip('[]') + if scheme in NORMALIZABLE_SCHEMES: + host = host.lower() + return host diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..97d7bac765645f4bb37accfdc4d81e666302fc69 GIT binary patch literal 225 zcmYLDK?=e!5KO^?2tLF^vr4rfh<NiR1;LXLV!O1_wh2k9^b`KWFM0Lk7rf|J5C>-1 zone-ZhQmSdeD4|I(a8@14J)GSkz{PkM#1LBY-j)Fb%jD#2$jkkET^*=k~S@*trDw` zn0iOMFLb?2Hf!neB3n3PeTGsUz<iU4$KaI5(8%;8b97*o2`6(t=22)`iaF+aXM&(= jrY$tKq<#dcuDzv0La17KA-HMp{Y9m-ro?6Urz5ft1N=ZT literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/__pycache__/_appengine_environ.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/__pycache__/_appengine_environ.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1d1e637ec69c4d7cb12ff57b1f399f2ec3384802 GIT binary patch literal 1121 zcmZ`&QE$^Q5Vn&v&9ZK=2@QB)%4;9ifC>{x2vH!b_OMWOV@MTJl*Lw>Hi;wKEp)Ht zNAMT;G5mqN^0dFe3!Kxk711T~oqcDYzx(do-rBP9)$dO~G=zSll@HeFH4O0_1VIBt zFws&xz(gm;S2WN_jhLWyQYRK@gKQ8Rbd7A1256ILr>MDg`NlpQCc?=WnWWSyIGZMf z!kUJ;a3pgGl{Au$98#xK6pok2NlqP_PZQ4ajOMasUjYK-M@s(vFihUU5W65Gnxo>b z#Ff<M2=2vxQ!jTD5u_{%(;zGgS_Lk5zy=`5ifQjZQ;<zF@g4CR1h2%eZ|;y~)XkE3 zLer<u4&B}?8iqXUaW(?@0@iZK^7EeG4JG{?&fF=a;HJriTU4HQ>(CX6qz6S9jl-A< zw@8YECofu$TkV5l2JRM(V`X#$I7%3ICp?AoZ8u`M<Phiva<HVQRm{o;pubMfQk0k= z5H{iGb(pQ^Z5up_H`Y+RHI|%d)d_BZ^CtPlOhqm4tzH(0Feex6iwY%FyCBRJfPXI3 z!B7?I0Za&%XoSZm+asEq5&a<=n@}#pFLye<p67RueJ|*L@XwA<yvxQrI;ANqR2R7A zol~!W?)8Jy_eW<RJAJRIl^PReeaXc-yj-DD9U@dl2-~=_tOw}8j%$GXs{q-)gs!SM zGJL)P`!098jK$E;H!bUO8yroYZ-U|tC2pgUD^l*mSeDAh+qkl=2exSO5guvk3C=a5 zkJZyM{DIl+c)|I}QE5m%p{sY7dQ9b7N))I^>h5L5)Vf(O>p?(R6a)+Ss&A@VR(w_1 bZq25&UM?Q@E0vZ|nH!p=Tc%}LHOu@1tXJ`N literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6ebedd7e000de134c1ac2df2c1daceb694135a25 GIT binary patch literal 14556 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 RznZ@~{y3`_Dc>Bw_y6)Q!r}k` literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7d753c7bd9e138418fa3fe9bd1c46f46439547b1 GIT binary patch literal 4931 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 G!v8;BWh!?7 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/_appengine_environ.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/_appengine_environ.py new file mode 100644 index 0000000..f3e0094 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/_appengine_environ.py @@ -0,0 +1,30 @@ +""" +This module provides means to detect the App Engine environment. +""" + +import os + + +def is_appengine(): + return (is_local_appengine() or + is_prod_appengine() or + is_prod_appengine_mvms()) + + +def is_appengine_sandbox(): + return is_appengine() and not is_prod_appengine_mvms() + + +def is_local_appengine(): + return ('APPENGINE_RUNTIME' in os.environ and + 'Development/' in os.environ['SERVER_SOFTWARE']) + + +def is_prod_appengine(): + return ('APPENGINE_RUNTIME' in os.environ and + 'Google App Engine/' in os.environ['SERVER_SOFTWARE'] and + not is_prod_appengine_mvms()) + + +def is_prod_appengine_mvms(): + return os.environ.get('GAE_VM', False) == 'true' diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/_securetransport/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/_securetransport/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/_securetransport/bindings.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/_securetransport/bindings.py new file mode 100644 index 0000000..bcf41c0 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/_securetransport/bindings.py @@ -0,0 +1,593 @@ +""" +This module uses ctypes to bind a whole bunch of functions and constants from +SecureTransport. The goal here is to provide the low-level API to +SecureTransport. These are essentially the C-level functions and constants, and +they're pretty gross to work with. + +This code is a bastardised version of the code found in Will Bond's oscrypto +library. An enormous debt is owed to him for blazing this trail for us. For +that reason, this code should be considered to be covered both by urllib3's +license and by oscrypto's: + + Copyright (c) 2015-2016 Will Bond <will@wbond.net> + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +""" +from __future__ import absolute_import + +import platform +from ctypes.util import find_library +from ctypes import ( + c_void_p, c_int32, c_char_p, c_size_t, c_byte, c_uint32, c_ulong, c_long, + c_bool +) +from ctypes import CDLL, POINTER, CFUNCTYPE + + +security_path = find_library('Security') +if not security_path: + raise ImportError('The library Security could not be found') + + +core_foundation_path = find_library('CoreFoundation') +if not core_foundation_path: + raise ImportError('The library CoreFoundation could not be found') + + +version = platform.mac_ver()[0] +version_info = tuple(map(int, version.split('.'))) +if version_info < (10, 8): + raise OSError( + 'Only OS X 10.8 and newer are supported, not %s.%s' % ( + version_info[0], version_info[1] + ) + ) + +Security = CDLL(security_path, use_errno=True) +CoreFoundation = CDLL(core_foundation_path, use_errno=True) + +Boolean = c_bool +CFIndex = c_long +CFStringEncoding = c_uint32 +CFData = c_void_p +CFString = c_void_p +CFArray = c_void_p +CFMutableArray = c_void_p +CFDictionary = c_void_p +CFError = c_void_p +CFType = c_void_p +CFTypeID = c_ulong + +CFTypeRef = POINTER(CFType) +CFAllocatorRef = c_void_p + +OSStatus = c_int32 + +CFDataRef = POINTER(CFData) +CFStringRef = POINTER(CFString) +CFArrayRef = POINTER(CFArray) +CFMutableArrayRef = POINTER(CFMutableArray) +CFDictionaryRef = POINTER(CFDictionary) +CFArrayCallBacks = c_void_p +CFDictionaryKeyCallBacks = c_void_p +CFDictionaryValueCallBacks = c_void_p + +SecCertificateRef = POINTER(c_void_p) +SecExternalFormat = c_uint32 +SecExternalItemType = c_uint32 +SecIdentityRef = POINTER(c_void_p) +SecItemImportExportFlags = c_uint32 +SecItemImportExportKeyParameters = c_void_p +SecKeychainRef = POINTER(c_void_p) +SSLProtocol = c_uint32 +SSLCipherSuite = c_uint32 +SSLContextRef = POINTER(c_void_p) +SecTrustRef = POINTER(c_void_p) +SSLConnectionRef = c_uint32 +SecTrustResultType = c_uint32 +SecTrustOptionFlags = c_uint32 +SSLProtocolSide = c_uint32 +SSLConnectionType = c_uint32 +SSLSessionOption = c_uint32 + + +try: + Security.SecItemImport.argtypes = [ + CFDataRef, + CFStringRef, + POINTER(SecExternalFormat), + POINTER(SecExternalItemType), + SecItemImportExportFlags, + POINTER(SecItemImportExportKeyParameters), + SecKeychainRef, + POINTER(CFArrayRef), + ] + Security.SecItemImport.restype = OSStatus + + Security.SecCertificateGetTypeID.argtypes = [] + Security.SecCertificateGetTypeID.restype = CFTypeID + + Security.SecIdentityGetTypeID.argtypes = [] + Security.SecIdentityGetTypeID.restype = CFTypeID + + Security.SecKeyGetTypeID.argtypes = [] + Security.SecKeyGetTypeID.restype = CFTypeID + + Security.SecCertificateCreateWithData.argtypes = [ + CFAllocatorRef, + CFDataRef + ] + Security.SecCertificateCreateWithData.restype = SecCertificateRef + + Security.SecCertificateCopyData.argtypes = [ + SecCertificateRef + ] + Security.SecCertificateCopyData.restype = CFDataRef + + Security.SecCopyErrorMessageString.argtypes = [ + OSStatus, + c_void_p + ] + Security.SecCopyErrorMessageString.restype = CFStringRef + + Security.SecIdentityCreateWithCertificate.argtypes = [ + CFTypeRef, + SecCertificateRef, + POINTER(SecIdentityRef) + ] + Security.SecIdentityCreateWithCertificate.restype = OSStatus + + Security.SecKeychainCreate.argtypes = [ + c_char_p, + c_uint32, + c_void_p, + Boolean, + c_void_p, + POINTER(SecKeychainRef) + ] + Security.SecKeychainCreate.restype = OSStatus + + Security.SecKeychainDelete.argtypes = [ + SecKeychainRef + ] + Security.SecKeychainDelete.restype = OSStatus + + Security.SecPKCS12Import.argtypes = [ + CFDataRef, + CFDictionaryRef, + POINTER(CFArrayRef) + ] + Security.SecPKCS12Import.restype = OSStatus + + SSLReadFunc = CFUNCTYPE(OSStatus, SSLConnectionRef, c_void_p, POINTER(c_size_t)) + SSLWriteFunc = CFUNCTYPE(OSStatus, SSLConnectionRef, POINTER(c_byte), POINTER(c_size_t)) + + Security.SSLSetIOFuncs.argtypes = [ + SSLContextRef, + SSLReadFunc, + SSLWriteFunc + ] + Security.SSLSetIOFuncs.restype = OSStatus + + Security.SSLSetPeerID.argtypes = [ + SSLContextRef, + c_char_p, + c_size_t + ] + Security.SSLSetPeerID.restype = OSStatus + + Security.SSLSetCertificate.argtypes = [ + SSLContextRef, + CFArrayRef + ] + Security.SSLSetCertificate.restype = OSStatus + + Security.SSLSetCertificateAuthorities.argtypes = [ + SSLContextRef, + CFTypeRef, + Boolean + ] + Security.SSLSetCertificateAuthorities.restype = OSStatus + + Security.SSLSetConnection.argtypes = [ + SSLContextRef, + SSLConnectionRef + ] + Security.SSLSetConnection.restype = OSStatus + + Security.SSLSetPeerDomainName.argtypes = [ + SSLContextRef, + c_char_p, + c_size_t + ] + Security.SSLSetPeerDomainName.restype = OSStatus + + Security.SSLHandshake.argtypes = [ + SSLContextRef + ] + Security.SSLHandshake.restype = OSStatus + + Security.SSLRead.argtypes = [ + SSLContextRef, + c_char_p, + c_size_t, + POINTER(c_size_t) + ] + Security.SSLRead.restype = OSStatus + + Security.SSLWrite.argtypes = [ + SSLContextRef, + c_char_p, + c_size_t, + POINTER(c_size_t) + ] + Security.SSLWrite.restype = OSStatus + + Security.SSLClose.argtypes = [ + SSLContextRef + ] + Security.SSLClose.restype = OSStatus + + Security.SSLGetNumberSupportedCiphers.argtypes = [ + SSLContextRef, + POINTER(c_size_t) + ] + Security.SSLGetNumberSupportedCiphers.restype = OSStatus + + Security.SSLGetSupportedCiphers.argtypes = [ + SSLContextRef, + POINTER(SSLCipherSuite), + POINTER(c_size_t) + ] + Security.SSLGetSupportedCiphers.restype = OSStatus + + Security.SSLSetEnabledCiphers.argtypes = [ + SSLContextRef, + POINTER(SSLCipherSuite), + c_size_t + ] + Security.SSLSetEnabledCiphers.restype = OSStatus + + Security.SSLGetNumberEnabledCiphers.argtype = [ + SSLContextRef, + POINTER(c_size_t) + ] + Security.SSLGetNumberEnabledCiphers.restype = OSStatus + + Security.SSLGetEnabledCiphers.argtypes = [ + SSLContextRef, + POINTER(SSLCipherSuite), + POINTER(c_size_t) + ] + Security.SSLGetEnabledCiphers.restype = OSStatus + + Security.SSLGetNegotiatedCipher.argtypes = [ + SSLContextRef, + POINTER(SSLCipherSuite) + ] + Security.SSLGetNegotiatedCipher.restype = OSStatus + + Security.SSLGetNegotiatedProtocolVersion.argtypes = [ + SSLContextRef, + POINTER(SSLProtocol) + ] + Security.SSLGetNegotiatedProtocolVersion.restype = OSStatus + + Security.SSLCopyPeerTrust.argtypes = [ + SSLContextRef, + POINTER(SecTrustRef) + ] + Security.SSLCopyPeerTrust.restype = OSStatus + + Security.SecTrustSetAnchorCertificates.argtypes = [ + SecTrustRef, + CFArrayRef + ] + Security.SecTrustSetAnchorCertificates.restype = OSStatus + + Security.SecTrustSetAnchorCertificatesOnly.argstypes = [ + SecTrustRef, + Boolean + ] + Security.SecTrustSetAnchorCertificatesOnly.restype = OSStatus + + Security.SecTrustEvaluate.argtypes = [ + SecTrustRef, + POINTER(SecTrustResultType) + ] + Security.SecTrustEvaluate.restype = OSStatus + + Security.SecTrustGetCertificateCount.argtypes = [ + SecTrustRef + ] + Security.SecTrustGetCertificateCount.restype = CFIndex + + Security.SecTrustGetCertificateAtIndex.argtypes = [ + SecTrustRef, + CFIndex + ] + Security.SecTrustGetCertificateAtIndex.restype = SecCertificateRef + + Security.SSLCreateContext.argtypes = [ + CFAllocatorRef, + SSLProtocolSide, + SSLConnectionType + ] + Security.SSLCreateContext.restype = SSLContextRef + + Security.SSLSetSessionOption.argtypes = [ + SSLContextRef, + SSLSessionOption, + Boolean + ] + Security.SSLSetSessionOption.restype = OSStatus + + Security.SSLSetProtocolVersionMin.argtypes = [ + SSLContextRef, + SSLProtocol + ] + Security.SSLSetProtocolVersionMin.restype = OSStatus + + Security.SSLSetProtocolVersionMax.argtypes = [ + SSLContextRef, + SSLProtocol + ] + Security.SSLSetProtocolVersionMax.restype = OSStatus + + Security.SecCopyErrorMessageString.argtypes = [ + OSStatus, + c_void_p + ] + Security.SecCopyErrorMessageString.restype = CFStringRef + + Security.SSLReadFunc = SSLReadFunc + Security.SSLWriteFunc = SSLWriteFunc + Security.SSLContextRef = SSLContextRef + Security.SSLProtocol = SSLProtocol + Security.SSLCipherSuite = SSLCipherSuite + Security.SecIdentityRef = SecIdentityRef + Security.SecKeychainRef = SecKeychainRef + Security.SecTrustRef = SecTrustRef + Security.SecTrustResultType = SecTrustResultType + Security.SecExternalFormat = SecExternalFormat + Security.OSStatus = OSStatus + + Security.kSecImportExportPassphrase = CFStringRef.in_dll( + Security, 'kSecImportExportPassphrase' + ) + Security.kSecImportItemIdentity = CFStringRef.in_dll( + Security, 'kSecImportItemIdentity' + ) + + # CoreFoundation time! + CoreFoundation.CFRetain.argtypes = [ + CFTypeRef + ] + CoreFoundation.CFRetain.restype = CFTypeRef + + CoreFoundation.CFRelease.argtypes = [ + CFTypeRef + ] + CoreFoundation.CFRelease.restype = None + + CoreFoundation.CFGetTypeID.argtypes = [ + CFTypeRef + ] + CoreFoundation.CFGetTypeID.restype = CFTypeID + + CoreFoundation.CFStringCreateWithCString.argtypes = [ + CFAllocatorRef, + c_char_p, + CFStringEncoding + ] + CoreFoundation.CFStringCreateWithCString.restype = CFStringRef + + CoreFoundation.CFStringGetCStringPtr.argtypes = [ + CFStringRef, + CFStringEncoding + ] + CoreFoundation.CFStringGetCStringPtr.restype = c_char_p + + CoreFoundation.CFStringGetCString.argtypes = [ + CFStringRef, + c_char_p, + CFIndex, + CFStringEncoding + ] + CoreFoundation.CFStringGetCString.restype = c_bool + + CoreFoundation.CFDataCreate.argtypes = [ + CFAllocatorRef, + c_char_p, + CFIndex + ] + CoreFoundation.CFDataCreate.restype = CFDataRef + + CoreFoundation.CFDataGetLength.argtypes = [ + CFDataRef + ] + CoreFoundation.CFDataGetLength.restype = CFIndex + + CoreFoundation.CFDataGetBytePtr.argtypes = [ + CFDataRef + ] + CoreFoundation.CFDataGetBytePtr.restype = c_void_p + + CoreFoundation.CFDictionaryCreate.argtypes = [ + CFAllocatorRef, + POINTER(CFTypeRef), + POINTER(CFTypeRef), + CFIndex, + CFDictionaryKeyCallBacks, + CFDictionaryValueCallBacks + ] + CoreFoundation.CFDictionaryCreate.restype = CFDictionaryRef + + CoreFoundation.CFDictionaryGetValue.argtypes = [ + CFDictionaryRef, + CFTypeRef + ] + CoreFoundation.CFDictionaryGetValue.restype = CFTypeRef + + CoreFoundation.CFArrayCreate.argtypes = [ + CFAllocatorRef, + POINTER(CFTypeRef), + CFIndex, + CFArrayCallBacks, + ] + CoreFoundation.CFArrayCreate.restype = CFArrayRef + + CoreFoundation.CFArrayCreateMutable.argtypes = [ + CFAllocatorRef, + CFIndex, + CFArrayCallBacks + ] + CoreFoundation.CFArrayCreateMutable.restype = CFMutableArrayRef + + CoreFoundation.CFArrayAppendValue.argtypes = [ + CFMutableArrayRef, + c_void_p + ] + CoreFoundation.CFArrayAppendValue.restype = None + + CoreFoundation.CFArrayGetCount.argtypes = [ + CFArrayRef + ] + CoreFoundation.CFArrayGetCount.restype = CFIndex + + CoreFoundation.CFArrayGetValueAtIndex.argtypes = [ + CFArrayRef, + CFIndex + ] + CoreFoundation.CFArrayGetValueAtIndex.restype = c_void_p + + CoreFoundation.kCFAllocatorDefault = CFAllocatorRef.in_dll( + CoreFoundation, 'kCFAllocatorDefault' + ) + CoreFoundation.kCFTypeArrayCallBacks = c_void_p.in_dll(CoreFoundation, 'kCFTypeArrayCallBacks') + CoreFoundation.kCFTypeDictionaryKeyCallBacks = c_void_p.in_dll( + CoreFoundation, 'kCFTypeDictionaryKeyCallBacks' + ) + CoreFoundation.kCFTypeDictionaryValueCallBacks = c_void_p.in_dll( + CoreFoundation, 'kCFTypeDictionaryValueCallBacks' + ) + + CoreFoundation.CFTypeRef = CFTypeRef + CoreFoundation.CFArrayRef = CFArrayRef + CoreFoundation.CFStringRef = CFStringRef + CoreFoundation.CFDictionaryRef = CFDictionaryRef + +except (AttributeError): + raise ImportError('Error initializing ctypes') + + +class CFConst(object): + """ + A class object that acts as essentially a namespace for CoreFoundation + constants. + """ + kCFStringEncodingUTF8 = CFStringEncoding(0x08000100) + + +class SecurityConst(object): + """ + A class object that acts as essentially a namespace for Security constants. + """ + kSSLSessionOptionBreakOnServerAuth = 0 + + kSSLProtocol2 = 1 + kSSLProtocol3 = 2 + kTLSProtocol1 = 4 + kTLSProtocol11 = 7 + kTLSProtocol12 = 8 + + kSSLClientSide = 1 + kSSLStreamType = 0 + + kSecFormatPEMSequence = 10 + + kSecTrustResultInvalid = 0 + kSecTrustResultProceed = 1 + # This gap is present on purpose: this was kSecTrustResultConfirm, which + # is deprecated. + kSecTrustResultDeny = 3 + kSecTrustResultUnspecified = 4 + kSecTrustResultRecoverableTrustFailure = 5 + kSecTrustResultFatalTrustFailure = 6 + kSecTrustResultOtherError = 7 + + errSSLProtocol = -9800 + errSSLWouldBlock = -9803 + errSSLClosedGraceful = -9805 + errSSLClosedNoNotify = -9816 + errSSLClosedAbort = -9806 + + errSSLXCertChainInvalid = -9807 + errSSLCrypto = -9809 + errSSLInternal = -9810 + errSSLCertExpired = -9814 + errSSLCertNotYetValid = -9815 + errSSLUnknownRootCert = -9812 + errSSLNoRootCert = -9813 + errSSLHostNameMismatch = -9843 + errSSLPeerHandshakeFail = -9824 + errSSLPeerUserCancelled = -9839 + errSSLWeakPeerEphemeralDHKey = -9850 + errSSLServerAuthCompleted = -9841 + errSSLRecordOverflow = -9847 + + errSecVerifyFailed = -67808 + errSecNoTrustSettings = -25263 + errSecItemNotFound = -25300 + errSecInvalidTrustSettings = -25262 + + # Cipher suites. We only pick the ones our default cipher string allows. + TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = 0xC02C + TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = 0xC030 + TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = 0xC02B + TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = 0xC02F + TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 = 0x00A3 + TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 = 0x009F + TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 = 0x00A2 + TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 = 0x009E + TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 = 0xC024 + TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 = 0xC028 + TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA = 0xC00A + TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA = 0xC014 + TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = 0x006B + TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 = 0x006A + TLS_DHE_RSA_WITH_AES_256_CBC_SHA = 0x0039 + TLS_DHE_DSS_WITH_AES_256_CBC_SHA = 0x0038 + TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 = 0xC023 + TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 = 0xC027 + TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA = 0xC009 + TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA = 0xC013 + TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = 0x0067 + TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 = 0x0040 + TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 0x0033 + TLS_DHE_DSS_WITH_AES_128_CBC_SHA = 0x0032 + TLS_RSA_WITH_AES_256_GCM_SHA384 = 0x009D + TLS_RSA_WITH_AES_128_GCM_SHA256 = 0x009C + TLS_RSA_WITH_AES_256_CBC_SHA256 = 0x003D + TLS_RSA_WITH_AES_128_CBC_SHA256 = 0x003C + TLS_RSA_WITH_AES_256_CBC_SHA = 0x0035 + TLS_RSA_WITH_AES_128_CBC_SHA = 0x002F + TLS_AES_128_GCM_SHA256 = 0x1301 + TLS_AES_256_GCM_SHA384 = 0x1302 + TLS_CHACHA20_POLY1305_SHA256 = 0x1303 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/_securetransport/low_level.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/_securetransport/low_level.py new file mode 100644 index 0000000..b13cd9e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/_securetransport/low_level.py @@ -0,0 +1,346 @@ +""" +Low-level helpers for the SecureTransport bindings. + +These are Python functions that are not directly related to the high-level APIs +but are necessary to get them to work. They include a whole bunch of low-level +CoreFoundation messing about and memory management. The concerns in this module +are almost entirely about trying to avoid memory leaks and providing +appropriate and useful assistance to the higher-level code. +""" +import base64 +import ctypes +import itertools +import re +import os +import ssl +import tempfile + +from .bindings import Security, CoreFoundation, CFConst + + +# This regular expression is used to grab PEM data out of a PEM bundle. +_PEM_CERTS_RE = re.compile( + b"-----BEGIN CERTIFICATE-----\n(.*?)\n-----END CERTIFICATE-----", re.DOTALL +) + + +def _cf_data_from_bytes(bytestring): + """ + Given a bytestring, create a CFData object from it. This CFData object must + be CFReleased by the caller. + """ + return CoreFoundation.CFDataCreate( + CoreFoundation.kCFAllocatorDefault, bytestring, len(bytestring) + ) + + +def _cf_dictionary_from_tuples(tuples): + """ + Given a list of Python tuples, create an associated CFDictionary. + """ + dictionary_size = len(tuples) + + # We need to get the dictionary keys and values out in the same order. + keys = (t[0] for t in tuples) + values = (t[1] for t in tuples) + cf_keys = (CoreFoundation.CFTypeRef * dictionary_size)(*keys) + cf_values = (CoreFoundation.CFTypeRef * dictionary_size)(*values) + + return CoreFoundation.CFDictionaryCreate( + CoreFoundation.kCFAllocatorDefault, + cf_keys, + cf_values, + dictionary_size, + CoreFoundation.kCFTypeDictionaryKeyCallBacks, + CoreFoundation.kCFTypeDictionaryValueCallBacks, + ) + + +def _cf_string_to_unicode(value): + """ + Creates a Unicode string from a CFString object. Used entirely for error + reporting. + + Yes, it annoys me quite a lot that this function is this complex. + """ + value_as_void_p = ctypes.cast(value, ctypes.POINTER(ctypes.c_void_p)) + + string = CoreFoundation.CFStringGetCStringPtr( + value_as_void_p, + CFConst.kCFStringEncodingUTF8 + ) + if string is None: + buffer = ctypes.create_string_buffer(1024) + result = CoreFoundation.CFStringGetCString( + value_as_void_p, + buffer, + 1024, + CFConst.kCFStringEncodingUTF8 + ) + if not result: + raise OSError('Error copying C string from CFStringRef') + string = buffer.value + if string is not None: + string = string.decode('utf-8') + return string + + +def _assert_no_error(error, exception_class=None): + """ + Checks the return code and throws an exception if there is an error to + report + """ + if error == 0: + return + + cf_error_string = Security.SecCopyErrorMessageString(error, None) + output = _cf_string_to_unicode(cf_error_string) + CoreFoundation.CFRelease(cf_error_string) + + if output is None or output == u'': + output = u'OSStatus %s' % error + + if exception_class is None: + exception_class = ssl.SSLError + + raise exception_class(output) + + +def _cert_array_from_pem(pem_bundle): + """ + Given a bundle of certs in PEM format, turns them into a CFArray of certs + that can be used to validate a cert chain. + """ + # Normalize the PEM bundle's line endings. + pem_bundle = pem_bundle.replace(b"\r\n", b"\n") + + der_certs = [ + base64.b64decode(match.group(1)) + for match in _PEM_CERTS_RE.finditer(pem_bundle) + ] + if not der_certs: + raise ssl.SSLError("No root certificates specified") + + cert_array = CoreFoundation.CFArrayCreateMutable( + CoreFoundation.kCFAllocatorDefault, + 0, + ctypes.byref(CoreFoundation.kCFTypeArrayCallBacks) + ) + if not cert_array: + raise ssl.SSLError("Unable to allocate memory!") + + try: + for der_bytes in der_certs: + certdata = _cf_data_from_bytes(der_bytes) + if not certdata: + raise ssl.SSLError("Unable to allocate memory!") + cert = Security.SecCertificateCreateWithData( + CoreFoundation.kCFAllocatorDefault, certdata + ) + CoreFoundation.CFRelease(certdata) + if not cert: + raise ssl.SSLError("Unable to build cert object!") + + CoreFoundation.CFArrayAppendValue(cert_array, cert) + CoreFoundation.CFRelease(cert) + except Exception: + # We need to free the array before the exception bubbles further. + # We only want to do that if an error occurs: otherwise, the caller + # should free. + CoreFoundation.CFRelease(cert_array) + + return cert_array + + +def _is_cert(item): + """ + Returns True if a given CFTypeRef is a certificate. + """ + expected = Security.SecCertificateGetTypeID() + return CoreFoundation.CFGetTypeID(item) == expected + + +def _is_identity(item): + """ + Returns True if a given CFTypeRef is an identity. + """ + expected = Security.SecIdentityGetTypeID() + return CoreFoundation.CFGetTypeID(item) == expected + + +def _temporary_keychain(): + """ + This function creates a temporary Mac keychain that we can use to work with + credentials. This keychain uses a one-time password and a temporary file to + store the data. We expect to have one keychain per socket. The returned + SecKeychainRef must be freed by the caller, including calling + SecKeychainDelete. + + Returns a tuple of the SecKeychainRef and the path to the temporary + directory that contains it. + """ + # Unfortunately, SecKeychainCreate requires a path to a keychain. This + # means we cannot use mkstemp to use a generic temporary file. Instead, + # we're going to create a temporary directory and a filename to use there. + # This filename will be 8 random bytes expanded into base64. We also need + # some random bytes to password-protect the keychain we're creating, so we + # ask for 40 random bytes. + random_bytes = os.urandom(40) + filename = base64.b16encode(random_bytes[:8]).decode('utf-8') + password = base64.b16encode(random_bytes[8:]) # Must be valid UTF-8 + tempdirectory = tempfile.mkdtemp() + + keychain_path = os.path.join(tempdirectory, filename).encode('utf-8') + + # We now want to create the keychain itself. + keychain = Security.SecKeychainRef() + status = Security.SecKeychainCreate( + keychain_path, + len(password), + password, + False, + None, + ctypes.byref(keychain) + ) + _assert_no_error(status) + + # Having created the keychain, we want to pass it off to the caller. + return keychain, tempdirectory + + +def _load_items_from_file(keychain, path): + """ + Given a single file, loads all the trust objects from it into arrays and + the keychain. + Returns a tuple of lists: the first list is a list of identities, the + second a list of certs. + """ + certificates = [] + identities = [] + result_array = None + + with open(path, 'rb') as f: + raw_filedata = f.read() + + try: + filedata = CoreFoundation.CFDataCreate( + CoreFoundation.kCFAllocatorDefault, + raw_filedata, + len(raw_filedata) + ) + result_array = CoreFoundation.CFArrayRef() + result = Security.SecItemImport( + filedata, # cert data + None, # Filename, leaving it out for now + None, # What the type of the file is, we don't care + None, # what's in the file, we don't care + 0, # import flags + None, # key params, can include passphrase in the future + keychain, # The keychain to insert into + ctypes.byref(result_array) # Results + ) + _assert_no_error(result) + + # A CFArray is not very useful to us as an intermediary + # representation, so we are going to extract the objects we want + # and then free the array. We don't need to keep hold of keys: the + # keychain already has them! + result_count = CoreFoundation.CFArrayGetCount(result_array) + for index in range(result_count): + item = CoreFoundation.CFArrayGetValueAtIndex( + result_array, index + ) + item = ctypes.cast(item, CoreFoundation.CFTypeRef) + + if _is_cert(item): + CoreFoundation.CFRetain(item) + certificates.append(item) + elif _is_identity(item): + CoreFoundation.CFRetain(item) + identities.append(item) + finally: + if result_array: + CoreFoundation.CFRelease(result_array) + + CoreFoundation.CFRelease(filedata) + + return (identities, certificates) + + +def _load_client_cert_chain(keychain, *paths): + """ + Load certificates and maybe keys from a number of files. Has the end goal + of returning a CFArray containing one SecIdentityRef, and then zero or more + SecCertificateRef objects, suitable for use as a client certificate trust + chain. + """ + # Ok, the strategy. + # + # This relies on knowing that macOS will not give you a SecIdentityRef + # unless you have imported a key into a keychain. This is a somewhat + # artificial limitation of macOS (for example, it doesn't necessarily + # affect iOS), but there is nothing inside Security.framework that lets you + # get a SecIdentityRef without having a key in a keychain. + # + # So the policy here is we take all the files and iterate them in order. + # Each one will use SecItemImport to have one or more objects loaded from + # it. We will also point at a keychain that macOS can use to work with the + # private key. + # + # Once we have all the objects, we'll check what we actually have. If we + # already have a SecIdentityRef in hand, fab: we'll use that. Otherwise, + # we'll take the first certificate (which we assume to be our leaf) and + # ask the keychain to give us a SecIdentityRef with that cert's associated + # key. + # + # We'll then return a CFArray containing the trust chain: one + # SecIdentityRef and then zero-or-more SecCertificateRef objects. The + # responsibility for freeing this CFArray will be with the caller. This + # CFArray must remain alive for the entire connection, so in practice it + # will be stored with a single SSLSocket, along with the reference to the + # keychain. + certificates = [] + identities = [] + + # Filter out bad paths. + paths = (path for path in paths if path) + + try: + for file_path in paths: + new_identities, new_certs = _load_items_from_file( + keychain, file_path + ) + identities.extend(new_identities) + certificates.extend(new_certs) + + # Ok, we have everything. The question is: do we have an identity? If + # not, we want to grab one from the first cert we have. + if not identities: + new_identity = Security.SecIdentityRef() + status = Security.SecIdentityCreateWithCertificate( + keychain, + certificates[0], + ctypes.byref(new_identity) + ) + _assert_no_error(status) + identities.append(new_identity) + + # We now want to release the original certificate, as we no longer + # need it. + CoreFoundation.CFRelease(certificates.pop(0)) + + # We now need to build a new CFArray that holds the trust chain. + trust_chain = CoreFoundation.CFArrayCreateMutable( + CoreFoundation.kCFAllocatorDefault, + 0, + ctypes.byref(CoreFoundation.kCFTypeArrayCallBacks), + ) + for item in itertools.chain(identities, certificates): + # ArrayAppendValue does a CFRetain on the item. That's fine, + # because the finally block will release our other refs to them. + CoreFoundation.CFArrayAppendValue(trust_chain, item) + + return trust_chain + finally: + for obj in itertools.chain(identities, certificates): + CoreFoundation.CFRelease(obj) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/appengine.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/appengine.py new file mode 100644 index 0000000..9b42952 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/appengine.py @@ -0,0 +1,289 @@ +""" +This module provides a pool manager that uses Google App Engine's +`URLFetch Service <https://cloud.google.com/appengine/docs/python/urlfetch>`_. + +Example usage:: + + from pip._vendor.urllib3 import PoolManager + from pip._vendor.urllib3.contrib.appengine import AppEngineManager, is_appengine_sandbox + + if is_appengine_sandbox(): + # AppEngineManager uses AppEngine's URLFetch API behind the scenes + http = AppEngineManager() + else: + # PoolManager uses a socket-level API behind the scenes + http = PoolManager() + + r = http.request('GET', 'https://google.com/') + +There are `limitations <https://cloud.google.com/appengine/docs/python/\ +urlfetch/#Python_Quotas_and_limits>`_ to the URLFetch service and it may not be +the best choice for your application. There are three options for using +urllib3 on Google App Engine: + +1. You can use :class:`AppEngineManager` with URLFetch. URLFetch is + cost-effective in many circumstances as long as your usage is within the + limitations. +2. You can use a normal :class:`~urllib3.PoolManager` by enabling sockets. + Sockets also have `limitations and restrictions + <https://cloud.google.com/appengine/docs/python/sockets/\ + #limitations-and-restrictions>`_ and have a lower free quota than URLFetch. + To use sockets, be sure to specify the following in your ``app.yaml``:: + + env_variables: + GAE_USE_SOCKETS_HTTPLIB : 'true' + +3. If you are using `App Engine Flexible +<https://cloud.google.com/appengine/docs/flexible/>`_, you can use the standard +:class:`PoolManager` without any configuration or special environment variables. +""" + +from __future__ import absolute_import +import io +import logging +import warnings +from ..packages.six.moves.urllib.parse import urljoin + +from ..exceptions import ( + HTTPError, + HTTPWarning, + MaxRetryError, + ProtocolError, + TimeoutError, + SSLError +) + +from ..request import RequestMethods +from ..response import HTTPResponse +from ..util.timeout import Timeout +from ..util.retry import Retry +from . import _appengine_environ + +try: + from google.appengine.api import urlfetch +except ImportError: + urlfetch = None + + +log = logging.getLogger(__name__) + + +class AppEnginePlatformWarning(HTTPWarning): + pass + + +class AppEnginePlatformError(HTTPError): + pass + + +class AppEngineManager(RequestMethods): + """ + Connection manager for Google App Engine sandbox applications. + + This manager uses the URLFetch service directly instead of using the + emulated httplib, and is subject to URLFetch limitations as described in + the App Engine documentation `here + <https://cloud.google.com/appengine/docs/python/urlfetch>`_. + + Notably it will raise an :class:`AppEnginePlatformError` if: + * URLFetch is not available. + * If you attempt to use this on App Engine Flexible, as full socket + support is available. + * If a request size is more than 10 megabytes. + * If a response size is more than 32 megabtyes. + * If you use an unsupported request method such as OPTIONS. + + Beyond those cases, it will raise normal urllib3 errors. + """ + + def __init__(self, headers=None, retries=None, validate_certificate=True, + urlfetch_retries=True): + if not urlfetch: + raise AppEnginePlatformError( + "URLFetch is not available in this environment.") + + if is_prod_appengine_mvms(): + raise AppEnginePlatformError( + "Use normal urllib3.PoolManager instead of AppEngineManager" + "on Managed VMs, as using URLFetch is not necessary in " + "this environment.") + + warnings.warn( + "urllib3 is using URLFetch on Google App Engine sandbox instead " + "of sockets. To use sockets directly instead of URLFetch see " + "https://urllib3.readthedocs.io/en/latest/reference/urllib3.contrib.html.", + AppEnginePlatformWarning) + + RequestMethods.__init__(self, headers) + self.validate_certificate = validate_certificate + self.urlfetch_retries = urlfetch_retries + + self.retries = retries or Retry.DEFAULT + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + # Return False to re-raise any potential exceptions + return False + + def urlopen(self, method, url, body=None, headers=None, + retries=None, redirect=True, timeout=Timeout.DEFAULT_TIMEOUT, + **response_kw): + + retries = self._get_retries(retries, redirect) + + try: + follow_redirects = ( + redirect and + retries.redirect != 0 and + retries.total) + response = urlfetch.fetch( + url, + payload=body, + method=method, + headers=headers or {}, + allow_truncated=False, + follow_redirects=self.urlfetch_retries and follow_redirects, + deadline=self._get_absolute_timeout(timeout), + validate_certificate=self.validate_certificate, + ) + except urlfetch.DeadlineExceededError as e: + raise TimeoutError(self, e) + + except urlfetch.InvalidURLError as e: + if 'too large' in str(e): + raise AppEnginePlatformError( + "URLFetch request too large, URLFetch only " + "supports requests up to 10mb in size.", e) + raise ProtocolError(e) + + except urlfetch.DownloadError as e: + if 'Too many redirects' in str(e): + raise MaxRetryError(self, url, reason=e) + raise ProtocolError(e) + + except urlfetch.ResponseTooLargeError as e: + raise AppEnginePlatformError( + "URLFetch response too large, URLFetch only supports" + "responses up to 32mb in size.", e) + + except urlfetch.SSLCertificateError as e: + raise SSLError(e) + + except urlfetch.InvalidMethodError as e: + raise AppEnginePlatformError( + "URLFetch does not support method: %s" % method, e) + + http_response = self._urlfetch_response_to_http_response( + response, retries=retries, **response_kw) + + # Handle redirect? + redirect_location = redirect and http_response.get_redirect_location() + if redirect_location: + # Check for redirect response + if (self.urlfetch_retries and retries.raise_on_redirect): + raise MaxRetryError(self, url, "too many redirects") + else: + if http_response.status == 303: + method = 'GET' + + try: + retries = retries.increment(method, url, response=http_response, _pool=self) + except MaxRetryError: + if retries.raise_on_redirect: + raise MaxRetryError(self, url, "too many redirects") + return http_response + + retries.sleep_for_retry(http_response) + log.debug("Redirecting %s -> %s", url, redirect_location) + redirect_url = urljoin(url, redirect_location) + return self.urlopen( + method, redirect_url, body, headers, + retries=retries, redirect=redirect, + timeout=timeout, **response_kw) + + # Check if we should retry the HTTP response. + has_retry_after = bool(http_response.getheader('Retry-After')) + if retries.is_retry(method, http_response.status, has_retry_after): + retries = retries.increment( + method, url, response=http_response, _pool=self) + log.debug("Retry: %s", url) + retries.sleep(http_response) + return self.urlopen( + method, url, + body=body, headers=headers, + retries=retries, redirect=redirect, + timeout=timeout, **response_kw) + + return http_response + + def _urlfetch_response_to_http_response(self, urlfetch_resp, **response_kw): + + if is_prod_appengine(): + # Production GAE handles deflate encoding automatically, but does + # not remove the encoding header. + content_encoding = urlfetch_resp.headers.get('content-encoding') + + if content_encoding == 'deflate': + del urlfetch_resp.headers['content-encoding'] + + transfer_encoding = urlfetch_resp.headers.get('transfer-encoding') + # We have a full response's content, + # so let's make sure we don't report ourselves as chunked data. + if transfer_encoding == 'chunked': + encodings = transfer_encoding.split(",") + encodings.remove('chunked') + urlfetch_resp.headers['transfer-encoding'] = ','.join(encodings) + + original_response = HTTPResponse( + # In order for decoding to work, we must present the content as + # a file-like object. + body=io.BytesIO(urlfetch_resp.content), + msg=urlfetch_resp.header_msg, + headers=urlfetch_resp.headers, + status=urlfetch_resp.status_code, + **response_kw + ) + + return HTTPResponse( + body=io.BytesIO(urlfetch_resp.content), + headers=urlfetch_resp.headers, + status=urlfetch_resp.status_code, + original_response=original_response, + **response_kw + ) + + def _get_absolute_timeout(self, timeout): + if timeout is Timeout.DEFAULT_TIMEOUT: + return None # Defer to URLFetch's default. + if isinstance(timeout, Timeout): + if timeout._read is not None or timeout._connect is not None: + warnings.warn( + "URLFetch does not support granular timeout settings, " + "reverting to total or default URLFetch timeout.", + AppEnginePlatformWarning) + return timeout.total + return timeout + + def _get_retries(self, retries, redirect): + if not isinstance(retries, Retry): + retries = Retry.from_int( + retries, redirect=redirect, default=self.retries) + + if retries.connect or retries.read or retries.redirect: + warnings.warn( + "URLFetch only supports total retries and does not " + "recognize connect, read, or redirect retry parameters.", + AppEnginePlatformWarning) + + return retries + + +# Alias methods from _appengine_environ to maintain public API interface. + +is_appengine = _appengine_environ.is_appengine +is_appengine_sandbox = _appengine_environ.is_appengine_sandbox +is_local_appengine = _appengine_environ.is_local_appengine +is_prod_appengine = _appengine_environ.is_prod_appengine +is_prod_appengine_mvms = _appengine_environ.is_prod_appengine_mvms diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/ntlmpool.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/ntlmpool.py new file mode 100644 index 0000000..8ea127c --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/ntlmpool.py @@ -0,0 +1,111 @@ +""" +NTLM authenticating pool, contributed by erikcederstran + +Issue #10, see: http://code.google.com/p/urllib3/issues/detail?id=10 +""" +from __future__ import absolute_import + +from logging import getLogger +from ntlm import ntlm + +from .. import HTTPSConnectionPool +from ..packages.six.moves.http_client import HTTPSConnection + + +log = getLogger(__name__) + + +class NTLMConnectionPool(HTTPSConnectionPool): + """ + Implements an NTLM authentication version of an urllib3 connection pool + """ + + scheme = 'https' + + def __init__(self, user, pw, authurl, *args, **kwargs): + """ + authurl is a random URL on the server that is protected by NTLM. + user is the Windows user, probably in the DOMAIN\\username format. + pw is the password for the user. + """ + super(NTLMConnectionPool, self).__init__(*args, **kwargs) + self.authurl = authurl + self.rawuser = user + user_parts = user.split('\\', 1) + self.domain = user_parts[0].upper() + self.user = user_parts[1] + self.pw = pw + + def _new_conn(self): + # Performs the NTLM handshake that secures the connection. The socket + # must be kept open while requests are performed. + self.num_connections += 1 + log.debug('Starting NTLM HTTPS connection no. %d: https://%s%s', + self.num_connections, self.host, self.authurl) + + headers = {'Connection': 'Keep-Alive'} + req_header = 'Authorization' + resp_header = 'www-authenticate' + + conn = HTTPSConnection(host=self.host, port=self.port) + + # Send negotiation message + headers[req_header] = ( + 'NTLM %s' % ntlm.create_NTLM_NEGOTIATE_MESSAGE(self.rawuser)) + log.debug('Request headers: %s', headers) + conn.request('GET', self.authurl, None, headers) + res = conn.getresponse() + reshdr = dict(res.getheaders()) + log.debug('Response status: %s %s', res.status, res.reason) + log.debug('Response headers: %s', reshdr) + log.debug('Response data: %s [...]', res.read(100)) + + # Remove the reference to the socket, so that it can not be closed by + # the response object (we want to keep the socket open) + res.fp = None + + # Server should respond with a challenge message + auth_header_values = reshdr[resp_header].split(', ') + auth_header_value = None + for s in auth_header_values: + if s[:5] == 'NTLM ': + auth_header_value = s[5:] + if auth_header_value is None: + raise Exception('Unexpected %s response header: %s' % + (resp_header, reshdr[resp_header])) + + # Send authentication message + ServerChallenge, NegotiateFlags = \ + ntlm.parse_NTLM_CHALLENGE_MESSAGE(auth_header_value) + auth_msg = ntlm.create_NTLM_AUTHENTICATE_MESSAGE(ServerChallenge, + self.user, + self.domain, + self.pw, + NegotiateFlags) + headers[req_header] = 'NTLM %s' % auth_msg + log.debug('Request headers: %s', headers) + conn.request('GET', self.authurl, None, headers) + res = conn.getresponse() + log.debug('Response status: %s %s', res.status, res.reason) + log.debug('Response headers: %s', dict(res.getheaders())) + log.debug('Response data: %s [...]', res.read()[:100]) + if res.status != 200: + if res.status == 401: + raise Exception('Server rejected request: wrong ' + 'username or password') + raise Exception('Wrong server response: %s %s' % + (res.status, res.reason)) + + res.fp = None + log.debug('Connection established') + return conn + + def urlopen(self, method, url, body=None, headers=None, retries=3, + redirect=True, assert_same_host=True): + if headers is None: + headers = {} + headers['Connection'] = 'Keep-Alive' + return super(NTLMConnectionPool, self).urlopen(method, url, body, + headers, retries, + redirect, + assert_same_host) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/pyopenssl.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/pyopenssl.py new file mode 100644 index 0000000..363667c --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/pyopenssl.py @@ -0,0 +1,466 @@ +""" +SSL with SNI_-support for Python 2. Follow these instructions if you would +like to verify SSL certificates in Python 2. Note, the default libraries do +*not* do certificate checking; you need to do additional work to validate +certificates yourself. + +This needs the following packages installed: + +* pyOpenSSL (tested with 16.0.0) +* cryptography (minimum 1.3.4, from pyopenssl) +* idna (minimum 2.0, from cryptography) + +However, pyopenssl depends on cryptography, which depends on idna, so while we +use all three directly here we end up having relatively few packages required. + +You can install them with the following command: + + pip install pyopenssl cryptography idna + +To activate certificate checking, call +:func:`~urllib3.contrib.pyopenssl.inject_into_urllib3` from your Python code +before you begin making HTTP requests. This can be done in a ``sitecustomize`` +module, or at any other time before your application begins using ``urllib3``, +like this:: + + try: + import urllib3.contrib.pyopenssl + urllib3.contrib.pyopenssl.inject_into_urllib3() + except ImportError: + pass + +Now you can use :mod:`urllib3` as you normally would, and it will support SNI +when the required modules are installed. + +Activating this module also has the positive side effect of disabling SSL/TLS +compression in Python 2 (see `CRIME attack`_). + +If you want to configure the default list of supported cipher suites, you can +set the ``urllib3.contrib.pyopenssl.DEFAULT_SSL_CIPHER_LIST`` variable. + +.. _sni: https://en.wikipedia.org/wiki/Server_Name_Indication +.. _crime attack: https://en.wikipedia.org/wiki/CRIME_(security_exploit) +""" +from __future__ import absolute_import + +import OpenSSL.SSL +from cryptography import x509 +from cryptography.hazmat.backends.openssl import backend as openssl_backend +from cryptography.hazmat.backends.openssl.x509 import _Certificate +try: + from cryptography.x509 import UnsupportedExtension +except ImportError: + # UnsupportedExtension is gone in cryptography >= 2.1.0 + class UnsupportedExtension(Exception): + pass + +from socket import timeout, error as SocketError +from io import BytesIO + +try: # Platform-specific: Python 2 + from socket import _fileobject +except ImportError: # Platform-specific: Python 3 + _fileobject = None + from ..packages.backports.makefile import backport_makefile + +import logging +import ssl +from ..packages import six +import sys + +from .. import util + +__all__ = ['inject_into_urllib3', 'extract_from_urllib3'] + +# SNI always works. +HAS_SNI = True + +# Map from urllib3 to PyOpenSSL compatible parameter-values. +_openssl_versions = { + ssl.PROTOCOL_SSLv23: OpenSSL.SSL.SSLv23_METHOD, + ssl.PROTOCOL_TLSv1: OpenSSL.SSL.TLSv1_METHOD, +} + +if hasattr(ssl, 'PROTOCOL_TLSv1_1') and hasattr(OpenSSL.SSL, 'TLSv1_1_METHOD'): + _openssl_versions[ssl.PROTOCOL_TLSv1_1] = OpenSSL.SSL.TLSv1_1_METHOD + +if hasattr(ssl, 'PROTOCOL_TLSv1_2') and hasattr(OpenSSL.SSL, 'TLSv1_2_METHOD'): + _openssl_versions[ssl.PROTOCOL_TLSv1_2] = OpenSSL.SSL.TLSv1_2_METHOD + +try: + _openssl_versions.update({ssl.PROTOCOL_SSLv3: OpenSSL.SSL.SSLv3_METHOD}) +except AttributeError: + pass + +_stdlib_to_openssl_verify = { + ssl.CERT_NONE: OpenSSL.SSL.VERIFY_NONE, + ssl.CERT_OPTIONAL: OpenSSL.SSL.VERIFY_PEER, + ssl.CERT_REQUIRED: + OpenSSL.SSL.VERIFY_PEER + OpenSSL.SSL.VERIFY_FAIL_IF_NO_PEER_CERT, +} +_openssl_to_stdlib_verify = dict( + (v, k) for k, v in _stdlib_to_openssl_verify.items() +) + +# OpenSSL will only write 16K at a time +SSL_WRITE_BLOCKSIZE = 16384 + +orig_util_HAS_SNI = util.HAS_SNI +orig_util_SSLContext = util.ssl_.SSLContext + + +log = logging.getLogger(__name__) + + +def inject_into_urllib3(): + 'Monkey-patch urllib3 with PyOpenSSL-backed SSL-support.' + + _validate_dependencies_met() + + util.ssl_.SSLContext = PyOpenSSLContext + util.HAS_SNI = HAS_SNI + util.ssl_.HAS_SNI = HAS_SNI + util.IS_PYOPENSSL = True + util.ssl_.IS_PYOPENSSL = True + + +def extract_from_urllib3(): + 'Undo monkey-patching by :func:`inject_into_urllib3`.' + + util.ssl_.SSLContext = orig_util_SSLContext + util.HAS_SNI = orig_util_HAS_SNI + util.ssl_.HAS_SNI = orig_util_HAS_SNI + util.IS_PYOPENSSL = False + util.ssl_.IS_PYOPENSSL = False + + +def _validate_dependencies_met(): + """ + Verifies that PyOpenSSL's package-level dependencies have been met. + Throws `ImportError` if they are not met. + """ + # Method added in `cryptography==1.1`; not available in older versions + from cryptography.x509.extensions import Extensions + if getattr(Extensions, "get_extension_for_class", None) is None: + raise ImportError("'cryptography' module missing required functionality. " + "Try upgrading to v1.3.4 or newer.") + + # pyOpenSSL 0.14 and above use cryptography for OpenSSL bindings. The _x509 + # attribute is only present on those versions. + from OpenSSL.crypto import X509 + x509 = X509() + if getattr(x509, "_x509", None) is None: + raise ImportError("'pyOpenSSL' module missing required functionality. " + "Try upgrading to v0.14 or newer.") + + +def _dnsname_to_stdlib(name): + """ + Converts a dNSName SubjectAlternativeName field to the form used by the + standard library on the given Python version. + + Cryptography produces a dNSName as a unicode string that was idna-decoded + from ASCII bytes. We need to idna-encode that string to get it back, and + then on Python 3 we also need to convert to unicode via UTF-8 (the stdlib + uses PyUnicode_FromStringAndSize on it, which decodes via UTF-8). + + If the name cannot be idna-encoded then we return None signalling that + the name given should be skipped. + """ + def idna_encode(name): + """ + Borrowed wholesale from the Python Cryptography Project. It turns out + that we can't just safely call `idna.encode`: it can explode for + wildcard names. This avoids that problem. + """ + from pip._vendor import idna + + try: + for prefix in [u'*.', u'.']: + if name.startswith(prefix): + name = name[len(prefix):] + return prefix.encode('ascii') + idna.encode(name) + return idna.encode(name) + except idna.core.IDNAError: + return None + + name = idna_encode(name) + if name is None: + return None + elif sys.version_info >= (3, 0): + name = name.decode('utf-8') + return name + + +def get_subj_alt_name(peer_cert): + """ + Given an PyOpenSSL certificate, provides all the subject alternative names. + """ + # Pass the cert to cryptography, which has much better APIs for this. + if hasattr(peer_cert, "to_cryptography"): + cert = peer_cert.to_cryptography() + else: + # This is technically using private APIs, but should work across all + # relevant versions before PyOpenSSL got a proper API for this. + cert = _Certificate(openssl_backend, peer_cert._x509) + + # We want to find the SAN extension. Ask Cryptography to locate it (it's + # faster than looping in Python) + try: + ext = cert.extensions.get_extension_for_class( + x509.SubjectAlternativeName + ).value + except x509.ExtensionNotFound: + # No such extension, return the empty list. + return [] + except (x509.DuplicateExtension, UnsupportedExtension, + x509.UnsupportedGeneralNameType, UnicodeError) as e: + # A problem has been found with the quality of the certificate. Assume + # no SAN field is present. + log.warning( + "A problem was encountered with the certificate that prevented " + "urllib3 from finding the SubjectAlternativeName field. This can " + "affect certificate validation. The error was %s", + e, + ) + return [] + + # We want to return dNSName and iPAddress fields. We need to cast the IPs + # back to strings because the match_hostname function wants them as + # strings. + # Sadly the DNS names need to be idna encoded and then, on Python 3, UTF-8 + # decoded. This is pretty frustrating, but that's what the standard library + # does with certificates, and so we need to attempt to do the same. + # We also want to skip over names which cannot be idna encoded. + names = [ + ('DNS', name) for name in map(_dnsname_to_stdlib, ext.get_values_for_type(x509.DNSName)) + if name is not None + ] + names.extend( + ('IP Address', str(name)) + for name in ext.get_values_for_type(x509.IPAddress) + ) + + return names + + +class WrappedSocket(object): + '''API-compatibility wrapper for Python OpenSSL's Connection-class. + + Note: _makefile_refs, _drop() and _reuse() are needed for the garbage + collector of pypy. + ''' + + def __init__(self, connection, socket, suppress_ragged_eofs=True): + self.connection = connection + self.socket = socket + self.suppress_ragged_eofs = suppress_ragged_eofs + self._makefile_refs = 0 + self._closed = False + + def fileno(self): + return self.socket.fileno() + + # Copy-pasted from Python 3.5 source code + def _decref_socketios(self): + if self._makefile_refs > 0: + self._makefile_refs -= 1 + if self._closed: + self.close() + + def recv(self, *args, **kwargs): + try: + data = self.connection.recv(*args, **kwargs) + except OpenSSL.SSL.SysCallError as e: + if self.suppress_ragged_eofs and e.args == (-1, 'Unexpected EOF'): + return b'' + else: + raise SocketError(str(e)) + except OpenSSL.SSL.ZeroReturnError as e: + if self.connection.get_shutdown() == OpenSSL.SSL.RECEIVED_SHUTDOWN: + return b'' + else: + raise + except OpenSSL.SSL.WantReadError: + if not util.wait_for_read(self.socket, self.socket.gettimeout()): + raise timeout('The read operation timed out') + else: + return self.recv(*args, **kwargs) + else: + return data + + def recv_into(self, *args, **kwargs): + try: + return self.connection.recv_into(*args, **kwargs) + except OpenSSL.SSL.SysCallError as e: + if self.suppress_ragged_eofs and e.args == (-1, 'Unexpected EOF'): + return 0 + else: + raise SocketError(str(e)) + except OpenSSL.SSL.ZeroReturnError as e: + if self.connection.get_shutdown() == OpenSSL.SSL.RECEIVED_SHUTDOWN: + return 0 + else: + raise + except OpenSSL.SSL.WantReadError: + if not util.wait_for_read(self.socket, self.socket.gettimeout()): + raise timeout('The read operation timed out') + else: + return self.recv_into(*args, **kwargs) + + def settimeout(self, timeout): + return self.socket.settimeout(timeout) + + def _send_until_done(self, data): + while True: + try: + return self.connection.send(data) + except OpenSSL.SSL.WantWriteError: + if not util.wait_for_write(self.socket, self.socket.gettimeout()): + raise timeout() + continue + except OpenSSL.SSL.SysCallError as e: + raise SocketError(str(e)) + + def sendall(self, data): + total_sent = 0 + while total_sent < len(data): + sent = self._send_until_done(data[total_sent:total_sent + SSL_WRITE_BLOCKSIZE]) + total_sent += sent + + def shutdown(self): + # FIXME rethrow compatible exceptions should we ever use this + self.connection.shutdown() + + def close(self): + if self._makefile_refs < 1: + try: + self._closed = True + return self.connection.close() + except OpenSSL.SSL.Error: + return + else: + self._makefile_refs -= 1 + + def getpeercert(self, binary_form=False): + x509 = self.connection.get_peer_certificate() + + if not x509: + return x509 + + if binary_form: + return OpenSSL.crypto.dump_certificate( + OpenSSL.crypto.FILETYPE_ASN1, + x509) + + return { + 'subject': ( + (('commonName', x509.get_subject().CN),), + ), + 'subjectAltName': get_subj_alt_name(x509) + } + + def _reuse(self): + self._makefile_refs += 1 + + def _drop(self): + if self._makefile_refs < 1: + self.close() + else: + self._makefile_refs -= 1 + + +if _fileobject: # Platform-specific: Python 2 + def makefile(self, mode, bufsize=-1): + self._makefile_refs += 1 + return _fileobject(self, mode, bufsize, close=True) +else: # Platform-specific: Python 3 + makefile = backport_makefile + +WrappedSocket.makefile = makefile + + +class PyOpenSSLContext(object): + """ + I am a wrapper class for the PyOpenSSL ``Context`` object. I am responsible + for translating the interface of the standard library ``SSLContext`` object + to calls into PyOpenSSL. + """ + def __init__(self, protocol): + self.protocol = _openssl_versions[protocol] + self._ctx = OpenSSL.SSL.Context(self.protocol) + self._options = 0 + self.check_hostname = False + + @property + def options(self): + return self._options + + @options.setter + def options(self, value): + self._options = value + self._ctx.set_options(value) + + @property + def verify_mode(self): + return _openssl_to_stdlib_verify[self._ctx.get_verify_mode()] + + @verify_mode.setter + def verify_mode(self, value): + self._ctx.set_verify( + _stdlib_to_openssl_verify[value], + _verify_callback + ) + + def set_default_verify_paths(self): + self._ctx.set_default_verify_paths() + + def set_ciphers(self, ciphers): + if isinstance(ciphers, six.text_type): + ciphers = ciphers.encode('utf-8') + self._ctx.set_cipher_list(ciphers) + + def load_verify_locations(self, cafile=None, capath=None, cadata=None): + if cafile is not None: + cafile = cafile.encode('utf-8') + if capath is not None: + capath = capath.encode('utf-8') + self._ctx.load_verify_locations(cafile, capath) + if cadata is not None: + self._ctx.load_verify_locations(BytesIO(cadata)) + + def load_cert_chain(self, certfile, keyfile=None, password=None): + self._ctx.use_certificate_chain_file(certfile) + if password is not None: + self._ctx.set_passwd_cb(lambda max_length, prompt_twice, userdata: password) + self._ctx.use_privatekey_file(keyfile or certfile) + + def wrap_socket(self, sock, server_side=False, + do_handshake_on_connect=True, suppress_ragged_eofs=True, + server_hostname=None): + cnx = OpenSSL.SSL.Connection(self._ctx, sock) + + if isinstance(server_hostname, six.text_type): # Platform-specific: Python 3 + server_hostname = server_hostname.encode('utf-8') + + if server_hostname is not None: + cnx.set_tlsext_host_name(server_hostname) + + cnx.set_connect_state() + + while True: + try: + cnx.do_handshake() + except OpenSSL.SSL.WantReadError: + if not util.wait_for_read(sock, sock.gettimeout()): + raise timeout('select timed out') + continue + except OpenSSL.SSL.Error as e: + raise ssl.SSLError('bad handshake: %r' % e) + break + + return WrappedSocket(cnx, sock) + + +def _verify_callback(cnx, x509, err_no, err_depth, return_code): + return err_no == 0 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/securetransport.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/securetransport.py new file mode 100644 index 0000000..77cb59e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/securetransport.py @@ -0,0 +1,804 @@ +""" +SecureTranport support for urllib3 via ctypes. + +This makes platform-native TLS available to urllib3 users on macOS without the +use of a compiler. This is an important feature because the Python Package +Index is moving to become a TLSv1.2-or-higher server, and the default OpenSSL +that ships with macOS is not capable of doing TLSv1.2. The only way to resolve +this is to give macOS users an alternative solution to the problem, and that +solution is to use SecureTransport. + +We use ctypes here because this solution must not require a compiler. That's +because pip is not allowed to require a compiler either. + +This is not intended to be a seriously long-term solution to this problem. +The hope is that PEP 543 will eventually solve this issue for us, at which +point we can retire this contrib module. But in the short term, we need to +solve the impending tire fire that is Python on Mac without this kind of +contrib module. So...here we are. + +To use this module, simply import and inject it:: + + import urllib3.contrib.securetransport + urllib3.contrib.securetransport.inject_into_urllib3() + +Happy TLSing! +""" +from __future__ import absolute_import + +import contextlib +import ctypes +import errno +import os.path +import shutil +import socket +import ssl +import threading +import weakref + +from .. import util +from ._securetransport.bindings import ( + Security, SecurityConst, CoreFoundation +) +from ._securetransport.low_level import ( + _assert_no_error, _cert_array_from_pem, _temporary_keychain, + _load_client_cert_chain +) + +try: # Platform-specific: Python 2 + from socket import _fileobject +except ImportError: # Platform-specific: Python 3 + _fileobject = None + from ..packages.backports.makefile import backport_makefile + +__all__ = ['inject_into_urllib3', 'extract_from_urllib3'] + +# SNI always works +HAS_SNI = True + +orig_util_HAS_SNI = util.HAS_SNI +orig_util_SSLContext = util.ssl_.SSLContext + +# This dictionary is used by the read callback to obtain a handle to the +# calling wrapped socket. This is a pretty silly approach, but for now it'll +# do. I feel like I should be able to smuggle a handle to the wrapped socket +# directly in the SSLConnectionRef, but for now this approach will work I +# guess. +# +# We need to lock around this structure for inserts, but we don't do it for +# reads/writes in the callbacks. The reasoning here goes as follows: +# +# 1. It is not possible to call into the callbacks before the dictionary is +# populated, so once in the callback the id must be in the dictionary. +# 2. The callbacks don't mutate the dictionary, they only read from it, and +# so cannot conflict with any of the insertions. +# +# This is good: if we had to lock in the callbacks we'd drastically slow down +# the performance of this code. +_connection_refs = weakref.WeakValueDictionary() +_connection_ref_lock = threading.Lock() + +# Limit writes to 16kB. This is OpenSSL's limit, but we'll cargo-cult it over +# for no better reason than we need *a* limit, and this one is right there. +SSL_WRITE_BLOCKSIZE = 16384 + +# This is our equivalent of util.ssl_.DEFAULT_CIPHERS, but expanded out to +# individual cipher suites. We need to do this because this is how +# SecureTransport wants them. +CIPHER_SUITES = [ + SecurityConst.TLS_AES_256_GCM_SHA384, + SecurityConst.TLS_CHACHA20_POLY1305_SHA256, + SecurityConst.TLS_AES_128_GCM_SHA256, + SecurityConst.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, + SecurityConst.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, + SecurityConst.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, + SecurityConst.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, + SecurityConst.TLS_DHE_DSS_WITH_AES_256_GCM_SHA384, + SecurityConst.TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, + SecurityConst.TLS_DHE_DSS_WITH_AES_128_GCM_SHA256, + SecurityConst.TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, + SecurityConst.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, + SecurityConst.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, + SecurityConst.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, + SecurityConst.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, + SecurityConst.TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, + SecurityConst.TLS_DHE_DSS_WITH_AES_256_CBC_SHA256, + SecurityConst.TLS_DHE_RSA_WITH_AES_256_CBC_SHA, + SecurityConst.TLS_DHE_DSS_WITH_AES_256_CBC_SHA, + SecurityConst.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, + SecurityConst.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, + SecurityConst.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, + SecurityConst.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, + SecurityConst.TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, + SecurityConst.TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, + SecurityConst.TLS_DHE_RSA_WITH_AES_128_CBC_SHA, + SecurityConst.TLS_DHE_DSS_WITH_AES_128_CBC_SHA, + SecurityConst.TLS_RSA_WITH_AES_256_GCM_SHA384, + SecurityConst.TLS_RSA_WITH_AES_128_GCM_SHA256, + SecurityConst.TLS_RSA_WITH_AES_256_CBC_SHA256, + SecurityConst.TLS_RSA_WITH_AES_128_CBC_SHA256, + SecurityConst.TLS_RSA_WITH_AES_256_CBC_SHA, + SecurityConst.TLS_RSA_WITH_AES_128_CBC_SHA, +] + +# Basically this is simple: for PROTOCOL_SSLv23 we turn it into a low of +# TLSv1 and a high of TLSv1.2. For everything else, we pin to that version. +_protocol_to_min_max = { + ssl.PROTOCOL_SSLv23: (SecurityConst.kTLSProtocol1, SecurityConst.kTLSProtocol12), +} + +if hasattr(ssl, "PROTOCOL_SSLv2"): + _protocol_to_min_max[ssl.PROTOCOL_SSLv2] = ( + SecurityConst.kSSLProtocol2, SecurityConst.kSSLProtocol2 + ) +if hasattr(ssl, "PROTOCOL_SSLv3"): + _protocol_to_min_max[ssl.PROTOCOL_SSLv3] = ( + SecurityConst.kSSLProtocol3, SecurityConst.kSSLProtocol3 + ) +if hasattr(ssl, "PROTOCOL_TLSv1"): + _protocol_to_min_max[ssl.PROTOCOL_TLSv1] = ( + SecurityConst.kTLSProtocol1, SecurityConst.kTLSProtocol1 + ) +if hasattr(ssl, "PROTOCOL_TLSv1_1"): + _protocol_to_min_max[ssl.PROTOCOL_TLSv1_1] = ( + SecurityConst.kTLSProtocol11, SecurityConst.kTLSProtocol11 + ) +if hasattr(ssl, "PROTOCOL_TLSv1_2"): + _protocol_to_min_max[ssl.PROTOCOL_TLSv1_2] = ( + SecurityConst.kTLSProtocol12, SecurityConst.kTLSProtocol12 + ) +if hasattr(ssl, "PROTOCOL_TLS"): + _protocol_to_min_max[ssl.PROTOCOL_TLS] = _protocol_to_min_max[ssl.PROTOCOL_SSLv23] + + +def inject_into_urllib3(): + """ + Monkey-patch urllib3 with SecureTransport-backed SSL-support. + """ + util.ssl_.SSLContext = SecureTransportContext + util.HAS_SNI = HAS_SNI + util.ssl_.HAS_SNI = HAS_SNI + util.IS_SECURETRANSPORT = True + util.ssl_.IS_SECURETRANSPORT = True + + +def extract_from_urllib3(): + """ + Undo monkey-patching by :func:`inject_into_urllib3`. + """ + util.ssl_.SSLContext = orig_util_SSLContext + util.HAS_SNI = orig_util_HAS_SNI + util.ssl_.HAS_SNI = orig_util_HAS_SNI + util.IS_SECURETRANSPORT = False + util.ssl_.IS_SECURETRANSPORT = False + + +def _read_callback(connection_id, data_buffer, data_length_pointer): + """ + SecureTransport read callback. This is called by ST to request that data + be returned from the socket. + """ + wrapped_socket = None + try: + wrapped_socket = _connection_refs.get(connection_id) + if wrapped_socket is None: + return SecurityConst.errSSLInternal + base_socket = wrapped_socket.socket + + requested_length = data_length_pointer[0] + + timeout = wrapped_socket.gettimeout() + error = None + read_count = 0 + + try: + while read_count < requested_length: + if timeout is None or timeout >= 0: + if not util.wait_for_read(base_socket, timeout): + raise socket.error(errno.EAGAIN, 'timed out') + + remaining = requested_length - read_count + buffer = (ctypes.c_char * remaining).from_address( + data_buffer + read_count + ) + chunk_size = base_socket.recv_into(buffer, remaining) + read_count += chunk_size + if not chunk_size: + if not read_count: + return SecurityConst.errSSLClosedGraceful + break + except (socket.error) as e: + error = e.errno + + if error is not None and error != errno.EAGAIN: + data_length_pointer[0] = read_count + if error == errno.ECONNRESET or error == errno.EPIPE: + return SecurityConst.errSSLClosedAbort + raise + + data_length_pointer[0] = read_count + + if read_count != requested_length: + return SecurityConst.errSSLWouldBlock + + return 0 + except Exception as e: + if wrapped_socket is not None: + wrapped_socket._exception = e + return SecurityConst.errSSLInternal + + +def _write_callback(connection_id, data_buffer, data_length_pointer): + """ + SecureTransport write callback. This is called by ST to request that data + actually be sent on the network. + """ + wrapped_socket = None + try: + wrapped_socket = _connection_refs.get(connection_id) + if wrapped_socket is None: + return SecurityConst.errSSLInternal + base_socket = wrapped_socket.socket + + bytes_to_write = data_length_pointer[0] + data = ctypes.string_at(data_buffer, bytes_to_write) + + timeout = wrapped_socket.gettimeout() + error = None + sent = 0 + + try: + while sent < bytes_to_write: + if timeout is None or timeout >= 0: + if not util.wait_for_write(base_socket, timeout): + raise socket.error(errno.EAGAIN, 'timed out') + chunk_sent = base_socket.send(data) + sent += chunk_sent + + # This has some needless copying here, but I'm not sure there's + # much value in optimising this data path. + data = data[chunk_sent:] + except (socket.error) as e: + error = e.errno + + if error is not None and error != errno.EAGAIN: + data_length_pointer[0] = sent + if error == errno.ECONNRESET or error == errno.EPIPE: + return SecurityConst.errSSLClosedAbort + raise + + data_length_pointer[0] = sent + + if sent != bytes_to_write: + return SecurityConst.errSSLWouldBlock + + return 0 + except Exception as e: + if wrapped_socket is not None: + wrapped_socket._exception = e + return SecurityConst.errSSLInternal + + +# We need to keep these two objects references alive: if they get GC'd while +# in use then SecureTransport could attempt to call a function that is in freed +# memory. That would be...uh...bad. Yeah, that's the word. Bad. +_read_callback_pointer = Security.SSLReadFunc(_read_callback) +_write_callback_pointer = Security.SSLWriteFunc(_write_callback) + + +class WrappedSocket(object): + """ + API-compatibility wrapper for Python's OpenSSL wrapped socket object. + + Note: _makefile_refs, _drop(), and _reuse() are needed for the garbage + collector of PyPy. + """ + def __init__(self, socket): + self.socket = socket + self.context = None + self._makefile_refs = 0 + self._closed = False + self._exception = None + self._keychain = None + self._keychain_dir = None + self._client_cert_chain = None + + # We save off the previously-configured timeout and then set it to + # zero. This is done because we use select and friends to handle the + # timeouts, but if we leave the timeout set on the lower socket then + # Python will "kindly" call select on that socket again for us. Avoid + # that by forcing the timeout to zero. + self._timeout = self.socket.gettimeout() + self.socket.settimeout(0) + + @contextlib.contextmanager + def _raise_on_error(self): + """ + A context manager that can be used to wrap calls that do I/O from + SecureTransport. If any of the I/O callbacks hit an exception, this + context manager will correctly propagate the exception after the fact. + This avoids silently swallowing those exceptions. + + It also correctly forces the socket closed. + """ + self._exception = None + + # We explicitly don't catch around this yield because in the unlikely + # event that an exception was hit in the block we don't want to swallow + # it. + yield + if self._exception is not None: + exception, self._exception = self._exception, None + self.close() + raise exception + + def _set_ciphers(self): + """ + Sets up the allowed ciphers. By default this matches the set in + util.ssl_.DEFAULT_CIPHERS, at least as supported by macOS. This is done + custom and doesn't allow changing at this time, mostly because parsing + OpenSSL cipher strings is going to be a freaking nightmare. + """ + ciphers = (Security.SSLCipherSuite * len(CIPHER_SUITES))(*CIPHER_SUITES) + result = Security.SSLSetEnabledCiphers( + self.context, ciphers, len(CIPHER_SUITES) + ) + _assert_no_error(result) + + def _custom_validate(self, verify, trust_bundle): + """ + Called when we have set custom validation. We do this in two cases: + first, when cert validation is entirely disabled; and second, when + using a custom trust DB. + """ + # If we disabled cert validation, just say: cool. + if not verify: + return + + # We want data in memory, so load it up. + if os.path.isfile(trust_bundle): + with open(trust_bundle, 'rb') as f: + trust_bundle = f.read() + + cert_array = None + trust = Security.SecTrustRef() + + try: + # Get a CFArray that contains the certs we want. + cert_array = _cert_array_from_pem(trust_bundle) + + # Ok, now the hard part. We want to get the SecTrustRef that ST has + # created for this connection, shove our CAs into it, tell ST to + # ignore everything else it knows, and then ask if it can build a + # chain. This is a buuuunch of code. + result = Security.SSLCopyPeerTrust( + self.context, ctypes.byref(trust) + ) + _assert_no_error(result) + if not trust: + raise ssl.SSLError("Failed to copy trust reference") + + result = Security.SecTrustSetAnchorCertificates(trust, cert_array) + _assert_no_error(result) + + result = Security.SecTrustSetAnchorCertificatesOnly(trust, True) + _assert_no_error(result) + + trust_result = Security.SecTrustResultType() + result = Security.SecTrustEvaluate( + trust, ctypes.byref(trust_result) + ) + _assert_no_error(result) + finally: + if trust: + CoreFoundation.CFRelease(trust) + + if cert_array is not None: + CoreFoundation.CFRelease(cert_array) + + # Ok, now we can look at what the result was. + successes = ( + SecurityConst.kSecTrustResultUnspecified, + SecurityConst.kSecTrustResultProceed + ) + if trust_result.value not in successes: + raise ssl.SSLError( + "certificate verify failed, error code: %d" % + trust_result.value + ) + + def handshake(self, + server_hostname, + verify, + trust_bundle, + min_version, + max_version, + client_cert, + client_key, + client_key_passphrase): + """ + Actually performs the TLS handshake. This is run automatically by + wrapped socket, and shouldn't be needed in user code. + """ + # First, we do the initial bits of connection setup. We need to create + # a context, set its I/O funcs, and set the connection reference. + self.context = Security.SSLCreateContext( + None, SecurityConst.kSSLClientSide, SecurityConst.kSSLStreamType + ) + result = Security.SSLSetIOFuncs( + self.context, _read_callback_pointer, _write_callback_pointer + ) + _assert_no_error(result) + + # Here we need to compute the handle to use. We do this by taking the + # id of self modulo 2**31 - 1. If this is already in the dictionary, we + # just keep incrementing by one until we find a free space. + with _connection_ref_lock: + handle = id(self) % 2147483647 + while handle in _connection_refs: + handle = (handle + 1) % 2147483647 + _connection_refs[handle] = self + + result = Security.SSLSetConnection(self.context, handle) + _assert_no_error(result) + + # If we have a server hostname, we should set that too. + if server_hostname: + if not isinstance(server_hostname, bytes): + server_hostname = server_hostname.encode('utf-8') + + result = Security.SSLSetPeerDomainName( + self.context, server_hostname, len(server_hostname) + ) + _assert_no_error(result) + + # Setup the ciphers. + self._set_ciphers() + + # Set the minimum and maximum TLS versions. + result = Security.SSLSetProtocolVersionMin(self.context, min_version) + _assert_no_error(result) + result = Security.SSLSetProtocolVersionMax(self.context, max_version) + _assert_no_error(result) + + # If there's a trust DB, we need to use it. We do that by telling + # SecureTransport to break on server auth. We also do that if we don't + # want to validate the certs at all: we just won't actually do any + # authing in that case. + if not verify or trust_bundle is not None: + result = Security.SSLSetSessionOption( + self.context, + SecurityConst.kSSLSessionOptionBreakOnServerAuth, + True + ) + _assert_no_error(result) + + # If there's a client cert, we need to use it. + if client_cert: + self._keychain, self._keychain_dir = _temporary_keychain() + self._client_cert_chain = _load_client_cert_chain( + self._keychain, client_cert, client_key + ) + result = Security.SSLSetCertificate( + self.context, self._client_cert_chain + ) + _assert_no_error(result) + + while True: + with self._raise_on_error(): + result = Security.SSLHandshake(self.context) + + if result == SecurityConst.errSSLWouldBlock: + raise socket.timeout("handshake timed out") + elif result == SecurityConst.errSSLServerAuthCompleted: + self._custom_validate(verify, trust_bundle) + continue + else: + _assert_no_error(result) + break + + def fileno(self): + return self.socket.fileno() + + # Copy-pasted from Python 3.5 source code + def _decref_socketios(self): + if self._makefile_refs > 0: + self._makefile_refs -= 1 + if self._closed: + self.close() + + def recv(self, bufsiz): + buffer = ctypes.create_string_buffer(bufsiz) + bytes_read = self.recv_into(buffer, bufsiz) + data = buffer[:bytes_read] + return data + + def recv_into(self, buffer, nbytes=None): + # Read short on EOF. + if self._closed: + return 0 + + if nbytes is None: + nbytes = len(buffer) + + buffer = (ctypes.c_char * nbytes).from_buffer(buffer) + processed_bytes = ctypes.c_size_t(0) + + with self._raise_on_error(): + result = Security.SSLRead( + self.context, buffer, nbytes, ctypes.byref(processed_bytes) + ) + + # There are some result codes that we want to treat as "not always + # errors". Specifically, those are errSSLWouldBlock, + # errSSLClosedGraceful, and errSSLClosedNoNotify. + if (result == SecurityConst.errSSLWouldBlock): + # If we didn't process any bytes, then this was just a time out. + # However, we can get errSSLWouldBlock in situations when we *did* + # read some data, and in those cases we should just read "short" + # and return. + if processed_bytes.value == 0: + # Timed out, no data read. + raise socket.timeout("recv timed out") + elif result in (SecurityConst.errSSLClosedGraceful, SecurityConst.errSSLClosedNoNotify): + # The remote peer has closed this connection. We should do so as + # well. Note that we don't actually return here because in + # principle this could actually be fired along with return data. + # It's unlikely though. + self.close() + else: + _assert_no_error(result) + + # Ok, we read and probably succeeded. We should return whatever data + # was actually read. + return processed_bytes.value + + def settimeout(self, timeout): + self._timeout = timeout + + def gettimeout(self): + return self._timeout + + def send(self, data): + processed_bytes = ctypes.c_size_t(0) + + with self._raise_on_error(): + result = Security.SSLWrite( + self.context, data, len(data), ctypes.byref(processed_bytes) + ) + + if result == SecurityConst.errSSLWouldBlock and processed_bytes.value == 0: + # Timed out + raise socket.timeout("send timed out") + else: + _assert_no_error(result) + + # We sent, and probably succeeded. Tell them how much we sent. + return processed_bytes.value + + def sendall(self, data): + total_sent = 0 + while total_sent < len(data): + sent = self.send(data[total_sent:total_sent + SSL_WRITE_BLOCKSIZE]) + total_sent += sent + + def shutdown(self): + with self._raise_on_error(): + Security.SSLClose(self.context) + + def close(self): + # TODO: should I do clean shutdown here? Do I have to? + if self._makefile_refs < 1: + self._closed = True + if self.context: + CoreFoundation.CFRelease(self.context) + self.context = None + if self._client_cert_chain: + CoreFoundation.CFRelease(self._client_cert_chain) + self._client_cert_chain = None + if self._keychain: + Security.SecKeychainDelete(self._keychain) + CoreFoundation.CFRelease(self._keychain) + shutil.rmtree(self._keychain_dir) + self._keychain = self._keychain_dir = None + return self.socket.close() + else: + self._makefile_refs -= 1 + + def getpeercert(self, binary_form=False): + # Urgh, annoying. + # + # Here's how we do this: + # + # 1. Call SSLCopyPeerTrust to get hold of the trust object for this + # connection. + # 2. Call SecTrustGetCertificateAtIndex for index 0 to get the leaf. + # 3. To get the CN, call SecCertificateCopyCommonName and process that + # string so that it's of the appropriate type. + # 4. To get the SAN, we need to do something a bit more complex: + # a. Call SecCertificateCopyValues to get the data, requesting + # kSecOIDSubjectAltName. + # b. Mess about with this dictionary to try to get the SANs out. + # + # This is gross. Really gross. It's going to be a few hundred LoC extra + # just to repeat something that SecureTransport can *already do*. So my + # operating assumption at this time is that what we want to do is + # instead to just flag to urllib3 that it shouldn't do its own hostname + # validation when using SecureTransport. + if not binary_form: + raise ValueError( + "SecureTransport only supports dumping binary certs" + ) + trust = Security.SecTrustRef() + certdata = None + der_bytes = None + + try: + # Grab the trust store. + result = Security.SSLCopyPeerTrust( + self.context, ctypes.byref(trust) + ) + _assert_no_error(result) + if not trust: + # Probably we haven't done the handshake yet. No biggie. + return None + + cert_count = Security.SecTrustGetCertificateCount(trust) + if not cert_count: + # Also a case that might happen if we haven't handshaked. + # Handshook? Handshaken? + return None + + leaf = Security.SecTrustGetCertificateAtIndex(trust, 0) + assert leaf + + # Ok, now we want the DER bytes. + certdata = Security.SecCertificateCopyData(leaf) + assert certdata + + data_length = CoreFoundation.CFDataGetLength(certdata) + data_buffer = CoreFoundation.CFDataGetBytePtr(certdata) + der_bytes = ctypes.string_at(data_buffer, data_length) + finally: + if certdata: + CoreFoundation.CFRelease(certdata) + if trust: + CoreFoundation.CFRelease(trust) + + return der_bytes + + def _reuse(self): + self._makefile_refs += 1 + + def _drop(self): + if self._makefile_refs < 1: + self.close() + else: + self._makefile_refs -= 1 + + +if _fileobject: # Platform-specific: Python 2 + def makefile(self, mode, bufsize=-1): + self._makefile_refs += 1 + return _fileobject(self, mode, bufsize, close=True) +else: # Platform-specific: Python 3 + def makefile(self, mode="r", buffering=None, *args, **kwargs): + # We disable buffering with SecureTransport because it conflicts with + # the buffering that ST does internally (see issue #1153 for more). + buffering = 0 + return backport_makefile(self, mode, buffering, *args, **kwargs) + +WrappedSocket.makefile = makefile + + +class SecureTransportContext(object): + """ + I am a wrapper class for the SecureTransport library, to translate the + interface of the standard library ``SSLContext`` object to calls into + SecureTransport. + """ + def __init__(self, protocol): + self._min_version, self._max_version = _protocol_to_min_max[protocol] + self._options = 0 + self._verify = False + self._trust_bundle = None + self._client_cert = None + self._client_key = None + self._client_key_passphrase = None + + @property + def check_hostname(self): + """ + SecureTransport cannot have its hostname checking disabled. For more, + see the comment on getpeercert() in this file. + """ + return True + + @check_hostname.setter + def check_hostname(self, value): + """ + SecureTransport cannot have its hostname checking disabled. For more, + see the comment on getpeercert() in this file. + """ + pass + + @property + def options(self): + # TODO: Well, crap. + # + # So this is the bit of the code that is the most likely to cause us + # trouble. Essentially we need to enumerate all of the SSL options that + # users might want to use and try to see if we can sensibly translate + # them, or whether we should just ignore them. + return self._options + + @options.setter + def options(self, value): + # TODO: Update in line with above. + self._options = value + + @property + def verify_mode(self): + return ssl.CERT_REQUIRED if self._verify else ssl.CERT_NONE + + @verify_mode.setter + def verify_mode(self, value): + self._verify = True if value == ssl.CERT_REQUIRED else False + + def set_default_verify_paths(self): + # So, this has to do something a bit weird. Specifically, what it does + # is nothing. + # + # This means that, if we had previously had load_verify_locations + # called, this does not undo that. We need to do that because it turns + # out that the rest of the urllib3 code will attempt to load the + # default verify paths if it hasn't been told about any paths, even if + # the context itself was sometime earlier. We resolve that by just + # ignoring it. + pass + + def load_default_certs(self): + return self.set_default_verify_paths() + + def set_ciphers(self, ciphers): + # For now, we just require the default cipher string. + if ciphers != util.ssl_.DEFAULT_CIPHERS: + raise ValueError( + "SecureTransport doesn't support custom cipher strings" + ) + + def load_verify_locations(self, cafile=None, capath=None, cadata=None): + # OK, we only really support cadata and cafile. + if capath is not None: + raise ValueError( + "SecureTransport does not support cert directories" + ) + + self._trust_bundle = cafile or cadata + + def load_cert_chain(self, certfile, keyfile=None, password=None): + self._client_cert = certfile + self._client_key = keyfile + self._client_cert_passphrase = password + + def wrap_socket(self, sock, server_side=False, + do_handshake_on_connect=True, suppress_ragged_eofs=True, + server_hostname=None): + # So, what do we do here? Firstly, we assert some properties. This is a + # stripped down shim, so there is some functionality we don't support. + # See PEP 543 for the real deal. + assert not server_side + assert do_handshake_on_connect + assert suppress_ragged_eofs + + # Ok, we're good to go. Now we want to create the wrapped socket object + # and store it in the appropriate place. + wrapped_socket = WrappedSocket(sock) + + # Now we can handshake + wrapped_socket.handshake( + server_hostname, self._verify, self._trust_bundle, + self._min_version, self._max_version, self._client_cert, + self._client_key, self._client_key_passphrase + ) + return wrapped_socket diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/socks.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/socks.py new file mode 100644 index 0000000..811e312 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/socks.py @@ -0,0 +1,192 @@ +# -*- coding: utf-8 -*- +""" +This module contains provisional support for SOCKS proxies from within +urllib3. This module supports SOCKS4 (specifically the SOCKS4A variant) and +SOCKS5. To enable its functionality, either install PySocks or install this +module with the ``socks`` extra. + +The SOCKS implementation supports the full range of urllib3 features. It also +supports the following SOCKS features: + +- SOCKS4 +- SOCKS4a +- SOCKS5 +- Usernames and passwords for the SOCKS proxy + +Known Limitations: + +- Currently PySocks does not support contacting remote websites via literal + IPv6 addresses. Any such connection attempt will fail. You must use a domain + name. +- Currently PySocks does not support IPv6 connections to the SOCKS proxy. Any + such connection attempt will fail. +""" +from __future__ import absolute_import + +try: + import socks +except ImportError: + import warnings + from ..exceptions import DependencyWarning + + warnings.warn(( + 'SOCKS support in urllib3 requires the installation of optional ' + 'dependencies: specifically, PySocks. For more information, see ' + 'https://urllib3.readthedocs.io/en/latest/contrib.html#socks-proxies' + ), + DependencyWarning + ) + raise + +from socket import error as SocketError, timeout as SocketTimeout + +from ..connection import ( + HTTPConnection, HTTPSConnection +) +from ..connectionpool import ( + HTTPConnectionPool, HTTPSConnectionPool +) +from ..exceptions import ConnectTimeoutError, NewConnectionError +from ..poolmanager import PoolManager +from ..util.url import parse_url + +try: + import ssl +except ImportError: + ssl = None + + +class SOCKSConnection(HTTPConnection): + """ + A plain-text HTTP connection that connects via a SOCKS proxy. + """ + def __init__(self, *args, **kwargs): + self._socks_options = kwargs.pop('_socks_options') + super(SOCKSConnection, self).__init__(*args, **kwargs) + + def _new_conn(self): + """ + Establish a new connection via the SOCKS proxy. + """ + extra_kw = {} + if self.source_address: + extra_kw['source_address'] = self.source_address + + if self.socket_options: + extra_kw['socket_options'] = self.socket_options + + try: + conn = socks.create_connection( + (self.host, self.port), + proxy_type=self._socks_options['socks_version'], + proxy_addr=self._socks_options['proxy_host'], + proxy_port=self._socks_options['proxy_port'], + proxy_username=self._socks_options['username'], + proxy_password=self._socks_options['password'], + proxy_rdns=self._socks_options['rdns'], + timeout=self.timeout, + **extra_kw + ) + + except SocketTimeout as e: + raise ConnectTimeoutError( + self, "Connection to %s timed out. (connect timeout=%s)" % + (self.host, self.timeout)) + + except socks.ProxyError as e: + # This is fragile as hell, but it seems to be the only way to raise + # useful errors here. + if e.socket_err: + error = e.socket_err + if isinstance(error, SocketTimeout): + raise ConnectTimeoutError( + self, + "Connection to %s timed out. (connect timeout=%s)" % + (self.host, self.timeout) + ) + else: + raise NewConnectionError( + self, + "Failed to establish a new connection: %s" % error + ) + else: + raise NewConnectionError( + self, + "Failed to establish a new connection: %s" % e + ) + + except SocketError as e: # Defensive: PySocks should catch all these. + raise NewConnectionError( + self, "Failed to establish a new connection: %s" % e) + + return conn + + +# We don't need to duplicate the Verified/Unverified distinction from +# urllib3/connection.py here because the HTTPSConnection will already have been +# correctly set to either the Verified or Unverified form by that module. This +# means the SOCKSHTTPSConnection will automatically be the correct type. +class SOCKSHTTPSConnection(SOCKSConnection, HTTPSConnection): + pass + + +class SOCKSHTTPConnectionPool(HTTPConnectionPool): + ConnectionCls = SOCKSConnection + + +class SOCKSHTTPSConnectionPool(HTTPSConnectionPool): + ConnectionCls = SOCKSHTTPSConnection + + +class SOCKSProxyManager(PoolManager): + """ + A version of the urllib3 ProxyManager that routes connections via the + defined SOCKS proxy. + """ + pool_classes_by_scheme = { + 'http': SOCKSHTTPConnectionPool, + 'https': SOCKSHTTPSConnectionPool, + } + + def __init__(self, proxy_url, username=None, password=None, + num_pools=10, headers=None, **connection_pool_kw): + parsed = parse_url(proxy_url) + + if username is None and password is None and parsed.auth is not None: + split = parsed.auth.split(':') + if len(split) == 2: + username, password = split + if parsed.scheme == 'socks5': + socks_version = socks.PROXY_TYPE_SOCKS5 + rdns = False + elif parsed.scheme == 'socks5h': + socks_version = socks.PROXY_TYPE_SOCKS5 + rdns = True + elif parsed.scheme == 'socks4': + socks_version = socks.PROXY_TYPE_SOCKS4 + rdns = False + elif parsed.scheme == 'socks4a': + socks_version = socks.PROXY_TYPE_SOCKS4 + rdns = True + else: + raise ValueError( + "Unable to determine SOCKS version from %s" % proxy_url + ) + + self.proxy_url = proxy_url + + socks_options = { + 'socks_version': socks_version, + 'proxy_host': parsed.host, + 'proxy_port': parsed.port, + 'username': username, + 'password': password, + 'rdns': rdns + } + connection_pool_kw['_socks_options'] = socks_options + + super(SOCKSProxyManager, self).__init__( + num_pools, headers, **connection_pool_kw + ) + + self.pool_classes_by_scheme = SOCKSProxyManager.pool_classes_by_scheme diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/exceptions.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/exceptions.py new file mode 100644 index 0000000..7bbaa98 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/exceptions.py @@ -0,0 +1,246 @@ +from __future__ import absolute_import +from .packages.six.moves.http_client import ( + IncompleteRead as httplib_IncompleteRead +) +# Base Exceptions + + +class HTTPError(Exception): + "Base exception used by this module." + pass + + +class HTTPWarning(Warning): + "Base warning used by this module." + pass + + +class PoolError(HTTPError): + "Base exception for errors caused within a pool." + def __init__(self, pool, message): + self.pool = pool + HTTPError.__init__(self, "%s: %s" % (pool, message)) + + def __reduce__(self): + # For pickling purposes. + return self.__class__, (None, None) + + +class RequestError(PoolError): + "Base exception for PoolErrors that have associated URLs." + def __init__(self, pool, url, message): + self.url = url + PoolError.__init__(self, pool, message) + + def __reduce__(self): + # For pickling purposes. + return self.__class__, (None, self.url, None) + + +class SSLError(HTTPError): + "Raised when SSL certificate fails in an HTTPS connection." + pass + + +class ProxyError(HTTPError): + "Raised when the connection to a proxy fails." + pass + + +class DecodeError(HTTPError): + "Raised when automatic decoding based on Content-Type fails." + pass + + +class ProtocolError(HTTPError): + "Raised when something unexpected happens mid-request/response." + pass + + +#: Renamed to ProtocolError but aliased for backwards compatibility. +ConnectionError = ProtocolError + + +# Leaf Exceptions + +class MaxRetryError(RequestError): + """Raised when the maximum number of retries is exceeded. + + :param pool: The connection pool + :type pool: :class:`~urllib3.connectionpool.HTTPConnectionPool` + :param string url: The requested Url + :param exceptions.Exception reason: The underlying error + + """ + + def __init__(self, pool, url, reason=None): + self.reason = reason + + message = "Max retries exceeded with url: %s (Caused by %r)" % ( + url, reason) + + RequestError.__init__(self, pool, url, message) + + +class HostChangedError(RequestError): + "Raised when an existing pool gets a request for a foreign host." + + def __init__(self, pool, url, retries=3): + message = "Tried to open a foreign host with url: %s" % url + RequestError.__init__(self, pool, url, message) + self.retries = retries + + +class TimeoutStateError(HTTPError): + """ Raised when passing an invalid state to a timeout """ + pass + + +class TimeoutError(HTTPError): + """ Raised when a socket timeout error occurs. + + Catching this error will catch both :exc:`ReadTimeoutErrors + <ReadTimeoutError>` and :exc:`ConnectTimeoutErrors <ConnectTimeoutError>`. + """ + pass + + +class ReadTimeoutError(TimeoutError, RequestError): + "Raised when a socket timeout occurs while receiving data from a server" + pass + + +# This timeout error does not have a URL attached and needs to inherit from the +# base HTTPError +class ConnectTimeoutError(TimeoutError): + "Raised when a socket timeout occurs while connecting to a server" + pass + + +class NewConnectionError(ConnectTimeoutError, PoolError): + "Raised when we fail to establish a new connection. Usually ECONNREFUSED." + pass + + +class EmptyPoolError(PoolError): + "Raised when a pool runs out of connections and no more are allowed." + pass + + +class ClosedPoolError(PoolError): + "Raised when a request enters a pool after the pool has been closed." + pass + + +class LocationValueError(ValueError, HTTPError): + "Raised when there is something wrong with a given URL input." + pass + + +class LocationParseError(LocationValueError): + "Raised when get_host or similar fails to parse the URL input." + + def __init__(self, location): + message = "Failed to parse: %s" % location + HTTPError.__init__(self, message) + + self.location = location + + +class ResponseError(HTTPError): + "Used as a container for an error reason supplied in a MaxRetryError." + GENERIC_ERROR = 'too many error responses' + SPECIFIC_ERROR = 'too many {status_code} error responses' + + +class SecurityWarning(HTTPWarning): + "Warned when performing security reducing actions" + pass + + +class SubjectAltNameWarning(SecurityWarning): + "Warned when connecting to a host with a certificate missing a SAN." + pass + + +class InsecureRequestWarning(SecurityWarning): + "Warned when making an unverified HTTPS request." + pass + + +class SystemTimeWarning(SecurityWarning): + "Warned when system time is suspected to be wrong" + pass + + +class InsecurePlatformWarning(SecurityWarning): + "Warned when certain SSL configuration is not available on a platform." + pass + + +class SNIMissingWarning(HTTPWarning): + "Warned when making a HTTPS request without SNI available." + pass + + +class DependencyWarning(HTTPWarning): + """ + Warned when an attempt is made to import a module with missing optional + dependencies. + """ + pass + + +class ResponseNotChunked(ProtocolError, ValueError): + "Response needs to be chunked in order to read it as chunks." + pass + + +class BodyNotHttplibCompatible(HTTPError): + """ + Body should be httplib.HTTPResponse like (have an fp attribute which + returns raw chunks) for read_chunked(). + """ + pass + + +class IncompleteRead(HTTPError, httplib_IncompleteRead): + """ + Response length doesn't match expected Content-Length + + Subclass of http_client.IncompleteRead to allow int value + for `partial` to avoid creating large objects on streamed + reads. + """ + def __init__(self, partial, expected): + super(IncompleteRead, self).__init__(partial, expected) + + def __repr__(self): + return ('IncompleteRead(%i bytes read, ' + '%i more expected)' % (self.partial, self.expected)) + + +class InvalidHeader(HTTPError): + "The header provided was somehow invalid." + pass + + +class ProxySchemeUnknown(AssertionError, ValueError): + "ProxyManager does not support the supplied scheme" + # TODO(t-8ch): Stop inheriting from AssertionError in v2.0. + + def __init__(self, scheme): + message = "Not supported proxy scheme %s" % scheme + super(ProxySchemeUnknown, self).__init__(message) + + +class HeaderParsingError(HTTPError): + "Raised by assert_header_parsing, but we convert it to a log.warning statement." + def __init__(self, defects, unparsed_data): + message = '%s, unparsed data: %r' % (defects or 'Unknown', unparsed_data) + super(HeaderParsingError, self).__init__(message) + + +class UnrewindableBodyError(HTTPError): + "urllib3 encountered an error when trying to rewind a body" + pass diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/fields.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/fields.py new file mode 100644 index 0000000..37fe64a --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/fields.py @@ -0,0 +1,178 @@ +from __future__ import absolute_import +import email.utils +import mimetypes + +from .packages import six + + +def guess_content_type(filename, default='application/octet-stream'): + """ + Guess the "Content-Type" of a file. + + :param filename: + The filename to guess the "Content-Type" of using :mod:`mimetypes`. + :param default: + If no "Content-Type" can be guessed, default to `default`. + """ + if filename: + return mimetypes.guess_type(filename)[0] or default + return default + + +def format_header_param(name, value): + """ + Helper function to format and quote a single header parameter. + + Particularly useful for header parameters which might contain + non-ASCII values, like file names. This follows RFC 2231, as + suggested by RFC 2388 Section 4.4. + + :param name: + The name of the parameter, a string expected to be ASCII only. + :param value: + The value of the parameter, provided as a unicode string. + """ + if not any(ch in value for ch in '"\\\r\n'): + result = '%s="%s"' % (name, value) + try: + result.encode('ascii') + except (UnicodeEncodeError, UnicodeDecodeError): + pass + else: + return result + if not six.PY3 and isinstance(value, six.text_type): # Python 2: + value = value.encode('utf-8') + value = email.utils.encode_rfc2231(value, 'utf-8') + value = '%s*=%s' % (name, value) + return value + + +class RequestField(object): + """ + A data container for request body parameters. + + :param name: + The name of this request field. + :param data: + The data/value body. + :param filename: + An optional filename of the request field. + :param headers: + An optional dict-like object of headers to initially use for the field. + """ + def __init__(self, name, data, filename=None, headers=None): + self._name = name + self._filename = filename + self.data = data + self.headers = {} + if headers: + self.headers = dict(headers) + + @classmethod + def from_tuples(cls, fieldname, value): + """ + A :class:`~urllib3.fields.RequestField` factory from old-style tuple parameters. + + Supports constructing :class:`~urllib3.fields.RequestField` from + parameter of key/value strings AND key/filetuple. A filetuple is a + (filename, data, MIME type) tuple where the MIME type is optional. + For example:: + + 'foo': 'bar', + 'fakefile': ('foofile.txt', 'contents of foofile'), + 'realfile': ('barfile.txt', open('realfile').read()), + 'typedfile': ('bazfile.bin', open('bazfile').read(), 'image/jpeg'), + 'nonamefile': 'contents of nonamefile field', + + Field names and filenames must be unicode. + """ + if isinstance(value, tuple): + if len(value) == 3: + filename, data, content_type = value + else: + filename, data = value + content_type = guess_content_type(filename) + else: + filename = None + content_type = None + data = value + + request_param = cls(fieldname, data, filename=filename) + request_param.make_multipart(content_type=content_type) + + return request_param + + def _render_part(self, name, value): + """ + Overridable helper function to format a single header parameter. + + :param name: + The name of the parameter, a string expected to be ASCII only. + :param value: + The value of the parameter, provided as a unicode string. + """ + return format_header_param(name, value) + + def _render_parts(self, header_parts): + """ + Helper function to format and quote a single header. + + Useful for single headers that are composed of multiple items. E.g., + 'Content-Disposition' fields. + + :param header_parts: + A sequence of (k, v) tuples or a :class:`dict` of (k, v) to format + as `k1="v1"; k2="v2"; ...`. + """ + parts = [] + iterable = header_parts + if isinstance(header_parts, dict): + iterable = header_parts.items() + + for name, value in iterable: + if value is not None: + parts.append(self._render_part(name, value)) + + return '; '.join(parts) + + def render_headers(self): + """ + Renders the headers for this request field. + """ + lines = [] + + sort_keys = ['Content-Disposition', 'Content-Type', 'Content-Location'] + for sort_key in sort_keys: + if self.headers.get(sort_key, False): + lines.append('%s: %s' % (sort_key, self.headers[sort_key])) + + for header_name, header_value in self.headers.items(): + if header_name not in sort_keys: + if header_value: + lines.append('%s: %s' % (header_name, header_value)) + + lines.append('\r\n') + return '\r\n'.join(lines) + + def make_multipart(self, content_disposition=None, content_type=None, + content_location=None): + """ + Makes this request field into a multipart request field. + + This method overrides "Content-Disposition", "Content-Type" and + "Content-Location" headers to the request parameter. + + :param content_type: + The 'Content-Type' of the request body. + :param content_location: + The 'Content-Location' of the request body. + + """ + self.headers['Content-Disposition'] = content_disposition or 'form-data' + self.headers['Content-Disposition'] += '; '.join([ + '', self._render_parts( + (('name', self._name), ('filename', self._filename)) + ) + ]) + self.headers['Content-Type'] = content_type + self.headers['Content-Location'] = content_location diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/filepost.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/filepost.py new file mode 100644 index 0000000..78f1e19 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/filepost.py @@ -0,0 +1,98 @@ +from __future__ import absolute_import +import binascii +import codecs +import os + +from io import BytesIO + +from .packages import six +from .packages.six import b +from .fields import RequestField + +writer = codecs.lookup('utf-8')[3] + + +def choose_boundary(): + """ + Our embarrassingly-simple replacement for mimetools.choose_boundary. + """ + boundary = binascii.hexlify(os.urandom(16)) + if six.PY3: + boundary = boundary.decode('ascii') + return boundary + + +def iter_field_objects(fields): + """ + Iterate over fields. + + Supports list of (k, v) tuples and dicts, and lists of + :class:`~urllib3.fields.RequestField`. + + """ + if isinstance(fields, dict): + i = six.iteritems(fields) + else: + i = iter(fields) + + for field in i: + if isinstance(field, RequestField): + yield field + else: + yield RequestField.from_tuples(*field) + + +def iter_fields(fields): + """ + .. deprecated:: 1.6 + + Iterate over fields. + + The addition of :class:`~urllib3.fields.RequestField` makes this function + obsolete. Instead, use :func:`iter_field_objects`, which returns + :class:`~urllib3.fields.RequestField` objects. + + Supports list of (k, v) tuples and dicts. + """ + if isinstance(fields, dict): + return ((k, v) for k, v in six.iteritems(fields)) + + return ((k, v) for k, v in fields) + + +def encode_multipart_formdata(fields, boundary=None): + """ + Encode a dictionary of ``fields`` using the multipart/form-data MIME format. + + :param fields: + Dictionary of fields or list of (key, :class:`~urllib3.fields.RequestField`). + + :param boundary: + If not specified, then a random boundary will be generated using + :func:`urllib3.filepost.choose_boundary`. + """ + body = BytesIO() + if boundary is None: + boundary = choose_boundary() + + for field in iter_field_objects(fields): + body.write(b('--%s\r\n' % (boundary))) + + writer(body).write(field.render_headers()) + data = field.data + + if isinstance(data, int): + data = str(data) # Backwards compatibility + + if isinstance(data, six.text_type): + writer(body).write(data) + else: + body.write(data) + + body.write(b'\r\n') + + body.write(b('--%s--\r\n' % (boundary))) + + content_type = str('multipart/form-data; boundary=%s' % boundary) + + return body.getvalue(), content_type diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/__init__.py new file mode 100644 index 0000000..170e974 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/__init__.py @@ -0,0 +1,5 @@ +from __future__ import absolute_import + +from . import ssl_match_hostname + +__all__ = ('ssl_match_hostname', ) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..309742ca43fe26d604739002ef40c72ce4298d28 GIT binary patch literal 351 zcmX|6!Ait15KY=$cUg83`~t5%v{9-Hf`~V7%Yxvc2t&4sZ8T{@lCJbC{0@Jq*FEho zc+s@N4$RD(_vSH7zFIBt@%L3BgbpE35e4)Z(p`qa5W^BFTwsh?#9|q#xQGKjD<*9E zjFQ<gY@r1A=XB?^Y&{2|jJE!W|M?5&Bq-|38fxu)Llw7^AZ-#n_GH>G0Nz^PS`J`` z>pdEkeg;6L1o%dF9_X?Be34o!PL!xxE^ltvWZRWBwQ6hiJ1@Npv#)jYvfVsU&p&BL z_Pp5>DR#t+N}jEW6P~ArmLIg@ju>Im>$~hK%Tv<@Ipb9|kOYF2X-irwgFh!H2Y_gV X2gpp<&+nCHt>h2G!)|zO87-qfXpdtH literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/__pycache__/six.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/__pycache__/six.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b6e73b63aabe9745b140e689ee5641ae8f5388b5 GIT binary patch literal 24523 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 B^vVDL literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/backports/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/backports/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/backports/makefile.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/backports/makefile.py new file mode 100644 index 0000000..740db37 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/backports/makefile.py @@ -0,0 +1,53 @@ +# -*- coding: utf-8 -*- +""" +backports.makefile +~~~~~~~~~~~~~~~~~~ + +Backports the Python 3 ``socket.makefile`` method for use with anything that +wants to create a "fake" socket object. +""" +import io + +from socket import SocketIO + + +def backport_makefile(self, mode="r", buffering=None, encoding=None, + errors=None, newline=None): + """ + Backport of ``socket.makefile`` from Python 3.5. + """ + if not set(mode) <= {"r", "w", "b"}: + raise ValueError( + "invalid mode %r (only r, w, b allowed)" % (mode,) + ) + writing = "w" in mode + reading = "r" in mode or not writing + assert reading or writing + binary = "b" in mode + rawmode = "" + if reading: + rawmode += "r" + if writing: + rawmode += "w" + raw = SocketIO(self, rawmode) + self._makefile_refs += 1 + if buffering is None: + buffering = -1 + if buffering < 0: + buffering = io.DEFAULT_BUFFER_SIZE + if buffering == 0: + if not binary: + raise ValueError("unbuffered streams must be binary") + return raw + if reading and writing: + buffer = io.BufferedRWPair(raw, raw, buffering) + elif reading: + buffer = io.BufferedReader(raw, buffering) + else: + assert writing + buffer = io.BufferedWriter(raw, buffering) + if binary: + return buffer + text = io.TextIOWrapper(buffer, encoding, errors, newline) + text.mode = mode + return text diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/six.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/six.py new file mode 100644 index 0000000..190c023 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/six.py @@ -0,0 +1,868 @@ +"""Utilities for writing code that runs on Python 2 and 3""" + +# Copyright (c) 2010-2015 Benjamin Peterson +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +from __future__ import absolute_import + +import functools +import itertools +import operator +import sys +import types + +__author__ = "Benjamin Peterson <benjamin@python.org>" +__version__ = "1.10.0" + + +# Useful for very coarse version differentiation. +PY2 = sys.version_info[0] == 2 +PY3 = sys.version_info[0] == 3 +PY34 = sys.version_info[0:2] >= (3, 4) + +if PY3: + string_types = str, + integer_types = int, + class_types = type, + text_type = str + binary_type = bytes + + MAXSIZE = sys.maxsize +else: + string_types = basestring, + integer_types = (int, long) + class_types = (type, types.ClassType) + text_type = unicode + binary_type = str + + if sys.platform.startswith("java"): + # Jython always uses 32 bits. + MAXSIZE = int((1 << 31) - 1) + else: + # It's possible to have sizeof(long) != sizeof(Py_ssize_t). + class X(object): + + def __len__(self): + return 1 << 31 + try: + len(X()) + except OverflowError: + # 32-bit + MAXSIZE = int((1 << 31) - 1) + else: + # 64-bit + MAXSIZE = int((1 << 63) - 1) + del X + + +def _add_doc(func, doc): + """Add documentation to a function.""" + func.__doc__ = doc + + +def _import_module(name): + """Import module, returning the module after the last dot.""" + __import__(name) + return sys.modules[name] + + +class _LazyDescr(object): + + def __init__(self, name): + self.name = name + + def __get__(self, obj, tp): + result = self._resolve() + setattr(obj, self.name, result) # Invokes __set__. + try: + # This is a bit ugly, but it avoids running this again by + # removing this descriptor. + delattr(obj.__class__, self.name) + except AttributeError: + pass + return result + + +class MovedModule(_LazyDescr): + + def __init__(self, name, old, new=None): + super(MovedModule, self).__init__(name) + if PY3: + if new is None: + new = name + self.mod = new + else: + self.mod = old + + def _resolve(self): + return _import_module(self.mod) + + def __getattr__(self, attr): + _module = self._resolve() + value = getattr(_module, attr) + setattr(self, attr, value) + return value + + +class _LazyModule(types.ModuleType): + + def __init__(self, name): + super(_LazyModule, self).__init__(name) + self.__doc__ = self.__class__.__doc__ + + def __dir__(self): + attrs = ["__doc__", "__name__"] + attrs += [attr.name for attr in self._moved_attributes] + return attrs + + # Subclasses should override this + _moved_attributes = [] + + +class MovedAttribute(_LazyDescr): + + def __init__(self, name, old_mod, new_mod, old_attr=None, new_attr=None): + super(MovedAttribute, self).__init__(name) + if PY3: + if new_mod is None: + new_mod = name + self.mod = new_mod + if new_attr is None: + if old_attr is None: + new_attr = name + else: + new_attr = old_attr + self.attr = new_attr + else: + self.mod = old_mod + if old_attr is None: + old_attr = name + self.attr = old_attr + + def _resolve(self): + module = _import_module(self.mod) + return getattr(module, self.attr) + + +class _SixMetaPathImporter(object): + + """ + A meta path importer to import six.moves and its submodules. + + This class implements a PEP302 finder and loader. It should be compatible + with Python 2.5 and all existing versions of Python3 + """ + + def __init__(self, six_module_name): + self.name = six_module_name + self.known_modules = {} + + def _add_module(self, mod, *fullnames): + for fullname in fullnames: + self.known_modules[self.name + "." + fullname] = mod + + def _get_module(self, fullname): + return self.known_modules[self.name + "." + fullname] + + def find_module(self, fullname, path=None): + if fullname in self.known_modules: + return self + return None + + def __get_module(self, fullname): + try: + return self.known_modules[fullname] + except KeyError: + raise ImportError("This loader does not know module " + fullname) + + def load_module(self, fullname): + try: + # in case of a reload + return sys.modules[fullname] + except KeyError: + pass + mod = self.__get_module(fullname) + if isinstance(mod, MovedModule): + mod = mod._resolve() + else: + mod.__loader__ = self + sys.modules[fullname] = mod + return mod + + def is_package(self, fullname): + """ + Return true, if the named module is a package. + + We need this method to get correct spec objects with + Python 3.4 (see PEP451) + """ + return hasattr(self.__get_module(fullname), "__path__") + + def get_code(self, fullname): + """Return None + + Required, if is_package is implemented""" + self.__get_module(fullname) # eventually raises ImportError + return None + get_source = get_code # same as get_code + +_importer = _SixMetaPathImporter(__name__) + + +class _MovedItems(_LazyModule): + + """Lazy loading of moved objects""" + __path__ = [] # mark as package + + +_moved_attributes = [ + MovedAttribute("cStringIO", "cStringIO", "io", "StringIO"), + MovedAttribute("filter", "itertools", "builtins", "ifilter", "filter"), + MovedAttribute("filterfalse", "itertools", "itertools", "ifilterfalse", "filterfalse"), + MovedAttribute("input", "__builtin__", "builtins", "raw_input", "input"), + MovedAttribute("intern", "__builtin__", "sys"), + MovedAttribute("map", "itertools", "builtins", "imap", "map"), + MovedAttribute("getcwd", "os", "os", "getcwdu", "getcwd"), + MovedAttribute("getcwdb", "os", "os", "getcwd", "getcwdb"), + MovedAttribute("range", "__builtin__", "builtins", "xrange", "range"), + MovedAttribute("reload_module", "__builtin__", "importlib" if PY34 else "imp", "reload"), + MovedAttribute("reduce", "__builtin__", "functools"), + MovedAttribute("shlex_quote", "pipes", "shlex", "quote"), + MovedAttribute("StringIO", "StringIO", "io"), + MovedAttribute("UserDict", "UserDict", "collections"), + MovedAttribute("UserList", "UserList", "collections"), + MovedAttribute("UserString", "UserString", "collections"), + MovedAttribute("xrange", "__builtin__", "builtins", "xrange", "range"), + MovedAttribute("zip", "itertools", "builtins", "izip", "zip"), + MovedAttribute("zip_longest", "itertools", "itertools", "izip_longest", "zip_longest"), + MovedModule("builtins", "__builtin__"), + MovedModule("configparser", "ConfigParser"), + MovedModule("copyreg", "copy_reg"), + MovedModule("dbm_gnu", "gdbm", "dbm.gnu"), + MovedModule("_dummy_thread", "dummy_thread", "_dummy_thread"), + MovedModule("http_cookiejar", "cookielib", "http.cookiejar"), + MovedModule("http_cookies", "Cookie", "http.cookies"), + MovedModule("html_entities", "htmlentitydefs", "html.entities"), + MovedModule("html_parser", "HTMLParser", "html.parser"), + MovedModule("http_client", "httplib", "http.client"), + MovedModule("email_mime_multipart", "email.MIMEMultipart", "email.mime.multipart"), + MovedModule("email_mime_nonmultipart", "email.MIMENonMultipart", "email.mime.nonmultipart"), + MovedModule("email_mime_text", "email.MIMEText", "email.mime.text"), + MovedModule("email_mime_base", "email.MIMEBase", "email.mime.base"), + MovedModule("BaseHTTPServer", "BaseHTTPServer", "http.server"), + MovedModule("CGIHTTPServer", "CGIHTTPServer", "http.server"), + MovedModule("SimpleHTTPServer", "SimpleHTTPServer", "http.server"), + MovedModule("cPickle", "cPickle", "pickle"), + MovedModule("queue", "Queue"), + MovedModule("reprlib", "repr"), + MovedModule("socketserver", "SocketServer"), + MovedModule("_thread", "thread", "_thread"), + MovedModule("tkinter", "Tkinter"), + MovedModule("tkinter_dialog", "Dialog", "tkinter.dialog"), + MovedModule("tkinter_filedialog", "FileDialog", "tkinter.filedialog"), + MovedModule("tkinter_scrolledtext", "ScrolledText", "tkinter.scrolledtext"), + MovedModule("tkinter_simpledialog", "SimpleDialog", "tkinter.simpledialog"), + MovedModule("tkinter_tix", "Tix", "tkinter.tix"), + MovedModule("tkinter_ttk", "ttk", "tkinter.ttk"), + MovedModule("tkinter_constants", "Tkconstants", "tkinter.constants"), + MovedModule("tkinter_dnd", "Tkdnd", "tkinter.dnd"), + MovedModule("tkinter_colorchooser", "tkColorChooser", + "tkinter.colorchooser"), + MovedModule("tkinter_commondialog", "tkCommonDialog", + "tkinter.commondialog"), + MovedModule("tkinter_tkfiledialog", "tkFileDialog", "tkinter.filedialog"), + MovedModule("tkinter_font", "tkFont", "tkinter.font"), + MovedModule("tkinter_messagebox", "tkMessageBox", "tkinter.messagebox"), + MovedModule("tkinter_tksimpledialog", "tkSimpleDialog", + "tkinter.simpledialog"), + MovedModule("urllib_parse", __name__ + ".moves.urllib_parse", "urllib.parse"), + MovedModule("urllib_error", __name__ + ".moves.urllib_error", "urllib.error"), + MovedModule("urllib", __name__ + ".moves.urllib", __name__ + ".moves.urllib"), + MovedModule("urllib_robotparser", "robotparser", "urllib.robotparser"), + MovedModule("xmlrpc_client", "xmlrpclib", "xmlrpc.client"), + MovedModule("xmlrpc_server", "SimpleXMLRPCServer", "xmlrpc.server"), +] +# Add windows specific modules. +if sys.platform == "win32": + _moved_attributes += [ + MovedModule("winreg", "_winreg"), + ] + +for attr in _moved_attributes: + setattr(_MovedItems, attr.name, attr) + if isinstance(attr, MovedModule): + _importer._add_module(attr, "moves." + attr.name) +del attr + +_MovedItems._moved_attributes = _moved_attributes + +moves = _MovedItems(__name__ + ".moves") +_importer._add_module(moves, "moves") + + +class Module_six_moves_urllib_parse(_LazyModule): + + """Lazy loading of moved objects in six.moves.urllib_parse""" + + +_urllib_parse_moved_attributes = [ + MovedAttribute("ParseResult", "urlparse", "urllib.parse"), + MovedAttribute("SplitResult", "urlparse", "urllib.parse"), + MovedAttribute("parse_qs", "urlparse", "urllib.parse"), + MovedAttribute("parse_qsl", "urlparse", "urllib.parse"), + MovedAttribute("urldefrag", "urlparse", "urllib.parse"), + MovedAttribute("urljoin", "urlparse", "urllib.parse"), + MovedAttribute("urlparse", "urlparse", "urllib.parse"), + MovedAttribute("urlsplit", "urlparse", "urllib.parse"), + MovedAttribute("urlunparse", "urlparse", "urllib.parse"), + MovedAttribute("urlunsplit", "urlparse", "urllib.parse"), + MovedAttribute("quote", "urllib", "urllib.parse"), + MovedAttribute("quote_plus", "urllib", "urllib.parse"), + MovedAttribute("unquote", "urllib", "urllib.parse"), + MovedAttribute("unquote_plus", "urllib", "urllib.parse"), + MovedAttribute("urlencode", "urllib", "urllib.parse"), + MovedAttribute("splitquery", "urllib", "urllib.parse"), + MovedAttribute("splittag", "urllib", "urllib.parse"), + MovedAttribute("splituser", "urllib", "urllib.parse"), + MovedAttribute("uses_fragment", "urlparse", "urllib.parse"), + MovedAttribute("uses_netloc", "urlparse", "urllib.parse"), + MovedAttribute("uses_params", "urlparse", "urllib.parse"), + MovedAttribute("uses_query", "urlparse", "urllib.parse"), + MovedAttribute("uses_relative", "urlparse", "urllib.parse"), +] +for attr in _urllib_parse_moved_attributes: + setattr(Module_six_moves_urllib_parse, attr.name, attr) +del attr + +Module_six_moves_urllib_parse._moved_attributes = _urllib_parse_moved_attributes + +_importer._add_module(Module_six_moves_urllib_parse(__name__ + ".moves.urllib_parse"), + "moves.urllib_parse", "moves.urllib.parse") + + +class Module_six_moves_urllib_error(_LazyModule): + + """Lazy loading of moved objects in six.moves.urllib_error""" + + +_urllib_error_moved_attributes = [ + MovedAttribute("URLError", "urllib2", "urllib.error"), + MovedAttribute("HTTPError", "urllib2", "urllib.error"), + MovedAttribute("ContentTooShortError", "urllib", "urllib.error"), +] +for attr in _urllib_error_moved_attributes: + setattr(Module_six_moves_urllib_error, attr.name, attr) +del attr + +Module_six_moves_urllib_error._moved_attributes = _urllib_error_moved_attributes + +_importer._add_module(Module_six_moves_urllib_error(__name__ + ".moves.urllib.error"), + "moves.urllib_error", "moves.urllib.error") + + +class Module_six_moves_urllib_request(_LazyModule): + + """Lazy loading of moved objects in six.moves.urllib_request""" + + +_urllib_request_moved_attributes = [ + MovedAttribute("urlopen", "urllib2", "urllib.request"), + MovedAttribute("install_opener", "urllib2", "urllib.request"), + MovedAttribute("build_opener", "urllib2", "urllib.request"), + MovedAttribute("pathname2url", "urllib", "urllib.request"), + MovedAttribute("url2pathname", "urllib", "urllib.request"), + MovedAttribute("getproxies", "urllib", "urllib.request"), + MovedAttribute("Request", "urllib2", "urllib.request"), + MovedAttribute("OpenerDirector", "urllib2", "urllib.request"), + MovedAttribute("HTTPDefaultErrorHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPRedirectHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPCookieProcessor", "urllib2", "urllib.request"), + MovedAttribute("ProxyHandler", "urllib2", "urllib.request"), + MovedAttribute("BaseHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPPasswordMgr", "urllib2", "urllib.request"), + MovedAttribute("HTTPPasswordMgrWithDefaultRealm", "urllib2", "urllib.request"), + MovedAttribute("AbstractBasicAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPBasicAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("ProxyBasicAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("AbstractDigestAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPDigestAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("ProxyDigestAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPSHandler", "urllib2", "urllib.request"), + MovedAttribute("FileHandler", "urllib2", "urllib.request"), + MovedAttribute("FTPHandler", "urllib2", "urllib.request"), + MovedAttribute("CacheFTPHandler", "urllib2", "urllib.request"), + MovedAttribute("UnknownHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPErrorProcessor", "urllib2", "urllib.request"), + MovedAttribute("urlretrieve", "urllib", "urllib.request"), + MovedAttribute("urlcleanup", "urllib", "urllib.request"), + MovedAttribute("URLopener", "urllib", "urllib.request"), + MovedAttribute("FancyURLopener", "urllib", "urllib.request"), + MovedAttribute("proxy_bypass", "urllib", "urllib.request"), +] +for attr in _urllib_request_moved_attributes: + setattr(Module_six_moves_urllib_request, attr.name, attr) +del attr + +Module_six_moves_urllib_request._moved_attributes = _urllib_request_moved_attributes + +_importer._add_module(Module_six_moves_urllib_request(__name__ + ".moves.urllib.request"), + "moves.urllib_request", "moves.urllib.request") + + +class Module_six_moves_urllib_response(_LazyModule): + + """Lazy loading of moved objects in six.moves.urllib_response""" + + +_urllib_response_moved_attributes = [ + MovedAttribute("addbase", "urllib", "urllib.response"), + MovedAttribute("addclosehook", "urllib", "urllib.response"), + MovedAttribute("addinfo", "urllib", "urllib.response"), + MovedAttribute("addinfourl", "urllib", "urllib.response"), +] +for attr in _urllib_response_moved_attributes: + setattr(Module_six_moves_urllib_response, attr.name, attr) +del attr + +Module_six_moves_urllib_response._moved_attributes = _urllib_response_moved_attributes + +_importer._add_module(Module_six_moves_urllib_response(__name__ + ".moves.urllib.response"), + "moves.urllib_response", "moves.urllib.response") + + +class Module_six_moves_urllib_robotparser(_LazyModule): + + """Lazy loading of moved objects in six.moves.urllib_robotparser""" + + +_urllib_robotparser_moved_attributes = [ + MovedAttribute("RobotFileParser", "robotparser", "urllib.robotparser"), +] +for attr in _urllib_robotparser_moved_attributes: + setattr(Module_six_moves_urllib_robotparser, attr.name, attr) +del attr + +Module_six_moves_urllib_robotparser._moved_attributes = _urllib_robotparser_moved_attributes + +_importer._add_module(Module_six_moves_urllib_robotparser(__name__ + ".moves.urllib.robotparser"), + "moves.urllib_robotparser", "moves.urllib.robotparser") + + +class Module_six_moves_urllib(types.ModuleType): + + """Create a six.moves.urllib namespace that resembles the Python 3 namespace""" + __path__ = [] # mark as package + parse = _importer._get_module("moves.urllib_parse") + error = _importer._get_module("moves.urllib_error") + request = _importer._get_module("moves.urllib_request") + response = _importer._get_module("moves.urllib_response") + robotparser = _importer._get_module("moves.urllib_robotparser") + + def __dir__(self): + return ['parse', 'error', 'request', 'response', 'robotparser'] + +_importer._add_module(Module_six_moves_urllib(__name__ + ".moves.urllib"), + "moves.urllib") + + +def add_move(move): + """Add an item to six.moves.""" + setattr(_MovedItems, move.name, move) + + +def remove_move(name): + """Remove item from six.moves.""" + try: + delattr(_MovedItems, name) + except AttributeError: + try: + del moves.__dict__[name] + except KeyError: + raise AttributeError("no such move, %r" % (name,)) + + +if PY3: + _meth_func = "__func__" + _meth_self = "__self__" + + _func_closure = "__closure__" + _func_code = "__code__" + _func_defaults = "__defaults__" + _func_globals = "__globals__" +else: + _meth_func = "im_func" + _meth_self = "im_self" + + _func_closure = "func_closure" + _func_code = "func_code" + _func_defaults = "func_defaults" + _func_globals = "func_globals" + + +try: + advance_iterator = next +except NameError: + def advance_iterator(it): + return it.next() +next = advance_iterator + + +try: + callable = callable +except NameError: + def callable(obj): + return any("__call__" in klass.__dict__ for klass in type(obj).__mro__) + + +if PY3: + def get_unbound_function(unbound): + return unbound + + create_bound_method = types.MethodType + + def create_unbound_method(func, cls): + return func + + Iterator = object +else: + def get_unbound_function(unbound): + return unbound.im_func + + def create_bound_method(func, obj): + return types.MethodType(func, obj, obj.__class__) + + def create_unbound_method(func, cls): + return types.MethodType(func, None, cls) + + class Iterator(object): + + def next(self): + return type(self).__next__(self) + + callable = callable +_add_doc(get_unbound_function, + """Get the function out of a possibly unbound function""") + + +get_method_function = operator.attrgetter(_meth_func) +get_method_self = operator.attrgetter(_meth_self) +get_function_closure = operator.attrgetter(_func_closure) +get_function_code = operator.attrgetter(_func_code) +get_function_defaults = operator.attrgetter(_func_defaults) +get_function_globals = operator.attrgetter(_func_globals) + + +if PY3: + def iterkeys(d, **kw): + return iter(d.keys(**kw)) + + def itervalues(d, **kw): + return iter(d.values(**kw)) + + def iteritems(d, **kw): + return iter(d.items(**kw)) + + def iterlists(d, **kw): + return iter(d.lists(**kw)) + + viewkeys = operator.methodcaller("keys") + + viewvalues = operator.methodcaller("values") + + viewitems = operator.methodcaller("items") +else: + def iterkeys(d, **kw): + return d.iterkeys(**kw) + + def itervalues(d, **kw): + return d.itervalues(**kw) + + def iteritems(d, **kw): + return d.iteritems(**kw) + + def iterlists(d, **kw): + return d.iterlists(**kw) + + viewkeys = operator.methodcaller("viewkeys") + + viewvalues = operator.methodcaller("viewvalues") + + viewitems = operator.methodcaller("viewitems") + +_add_doc(iterkeys, "Return an iterator over the keys of a dictionary.") +_add_doc(itervalues, "Return an iterator over the values of a dictionary.") +_add_doc(iteritems, + "Return an iterator over the (key, value) pairs of a dictionary.") +_add_doc(iterlists, + "Return an iterator over the (key, [values]) pairs of a dictionary.") + + +if PY3: + def b(s): + return s.encode("latin-1") + + def u(s): + return s + unichr = chr + import struct + int2byte = struct.Struct(">B").pack + del struct + byte2int = operator.itemgetter(0) + indexbytes = operator.getitem + iterbytes = iter + import io + StringIO = io.StringIO + BytesIO = io.BytesIO + _assertCountEqual = "assertCountEqual" + if sys.version_info[1] <= 1: + _assertRaisesRegex = "assertRaisesRegexp" + _assertRegex = "assertRegexpMatches" + else: + _assertRaisesRegex = "assertRaisesRegex" + _assertRegex = "assertRegex" +else: + def b(s): + return s + # Workaround for standalone backslash + + def u(s): + return unicode(s.replace(r'\\', r'\\\\'), "unicode_escape") + unichr = unichr + int2byte = chr + + def byte2int(bs): + return ord(bs[0]) + + def indexbytes(buf, i): + return ord(buf[i]) + iterbytes = functools.partial(itertools.imap, ord) + import StringIO + StringIO = BytesIO = StringIO.StringIO + _assertCountEqual = "assertItemsEqual" + _assertRaisesRegex = "assertRaisesRegexp" + _assertRegex = "assertRegexpMatches" +_add_doc(b, """Byte literal""") +_add_doc(u, """Text literal""") + + +def assertCountEqual(self, *args, **kwargs): + return getattr(self, _assertCountEqual)(*args, **kwargs) + + +def assertRaisesRegex(self, *args, **kwargs): + return getattr(self, _assertRaisesRegex)(*args, **kwargs) + + +def assertRegex(self, *args, **kwargs): + return getattr(self, _assertRegex)(*args, **kwargs) + + +if PY3: + exec_ = getattr(moves.builtins, "exec") + + def reraise(tp, value, tb=None): + if value is None: + value = tp() + if value.__traceback__ is not tb: + raise value.with_traceback(tb) + raise value + +else: + def exec_(_code_, _globs_=None, _locs_=None): + """Execute code in a namespace.""" + if _globs_ is None: + frame = sys._getframe(1) + _globs_ = frame.f_globals + if _locs_ is None: + _locs_ = frame.f_locals + del frame + elif _locs_ is None: + _locs_ = _globs_ + exec("""exec _code_ in _globs_, _locs_""") + + exec_("""def reraise(tp, value, tb=None): + raise tp, value, tb +""") + + +if sys.version_info[:2] == (3, 2): + exec_("""def raise_from(value, from_value): + if from_value is None: + raise value + raise value from from_value +""") +elif sys.version_info[:2] > (3, 2): + exec_("""def raise_from(value, from_value): + raise value from from_value +""") +else: + def raise_from(value, from_value): + raise value + + +print_ = getattr(moves.builtins, "print", None) +if print_ is None: + def print_(*args, **kwargs): + """The new-style print function for Python 2.4 and 2.5.""" + fp = kwargs.pop("file", sys.stdout) + if fp is None: + return + + def write(data): + if not isinstance(data, basestring): + data = str(data) + # If the file has an encoding, encode unicode with it. + if (isinstance(fp, file) and + isinstance(data, unicode) and + fp.encoding is not None): + errors = getattr(fp, "errors", None) + if errors is None: + errors = "strict" + data = data.encode(fp.encoding, errors) + fp.write(data) + want_unicode = False + sep = kwargs.pop("sep", None) + if sep is not None: + if isinstance(sep, unicode): + want_unicode = True + elif not isinstance(sep, str): + raise TypeError("sep must be None or a string") + end = kwargs.pop("end", None) + if end is not None: + if isinstance(end, unicode): + want_unicode = True + elif not isinstance(end, str): + raise TypeError("end must be None or a string") + if kwargs: + raise TypeError("invalid keyword arguments to print()") + if not want_unicode: + for arg in args: + if isinstance(arg, unicode): + want_unicode = True + break + if want_unicode: + newline = unicode("\n") + space = unicode(" ") + else: + newline = "\n" + space = " " + if sep is None: + sep = space + if end is None: + end = newline + for i, arg in enumerate(args): + if i: + write(sep) + write(arg) + write(end) +if sys.version_info[:2] < (3, 3): + _print = print_ + + def print_(*args, **kwargs): + fp = kwargs.get("file", sys.stdout) + flush = kwargs.pop("flush", False) + _print(*args, **kwargs) + if flush and fp is not None: + fp.flush() + +_add_doc(reraise, """Reraise an exception.""") + +if sys.version_info[0:2] < (3, 4): + def wraps(wrapped, assigned=functools.WRAPPER_ASSIGNMENTS, + updated=functools.WRAPPER_UPDATES): + def wrapper(f): + f = functools.wraps(wrapped, assigned, updated)(f) + f.__wrapped__ = wrapped + return f + return wrapper +else: + wraps = functools.wraps + + +def with_metaclass(meta, *bases): + """Create a base class with a metaclass.""" + # This requires a bit of explanation: the basic idea is to make a dummy + # metaclass for one level of class instantiation that replaces itself with + # the actual metaclass. + class metaclass(meta): + + def __new__(cls, name, this_bases, d): + return meta(name, bases, d) + return type.__new__(metaclass, 'temporary_class', (), {}) + + +def add_metaclass(metaclass): + """Class decorator for creating a class with a metaclass.""" + def wrapper(cls): + orig_vars = cls.__dict__.copy() + slots = orig_vars.get('__slots__') + if slots is not None: + if isinstance(slots, str): + slots = [slots] + for slots_var in slots: + orig_vars.pop(slots_var) + orig_vars.pop('__dict__', None) + orig_vars.pop('__weakref__', None) + return metaclass(cls.__name__, cls.__bases__, orig_vars) + return wrapper + + +def python_2_unicode_compatible(klass): + """ + A decorator that defines __unicode__ and __str__ methods under Python 2. + Under Python 3 it does nothing. + + To support Python 2 and 3 with a single code base, define a __str__ method + returning text and apply this decorator to the class. + """ + if PY2: + if '__str__' not in klass.__dict__: + raise ValueError("@python_2_unicode_compatible cannot be applied " + "to %s because it doesn't define __str__()." % + klass.__name__) + klass.__unicode__ = klass.__str__ + klass.__str__ = lambda self: self.__unicode__().encode('utf-8') + return klass + + +# Complete the moves implementation. +# This code is at the end of this module to speed up module loading. +# Turn this module into a package. +__path__ = [] # required for PEP 302 and PEP 451 +__package__ = __name__ # see PEP 366 @ReservedAssignment +if globals().get("__spec__") is not None: + __spec__.submodule_search_locations = [] # PEP 451 @UndefinedVariable +# Remove other six meta path importers, since they cause problems. This can +# happen if six is removed from sys.modules and then reloaded. (Setuptools does +# this for some reason.) +if sys.meta_path: + for i, importer in enumerate(sys.meta_path): + # Here's some real nastiness: Another "instance" of the six module might + # be floating around. Therefore, we can't use isinstance() to check for + # the six meta path importer, since the other six instance will have + # inserted an importer with different class. + if (type(importer).__name__ == "_SixMetaPathImporter" and + importer.name == __name__): + del sys.meta_path[i] + break + del i, importer +# Finally, add the importer to the meta path import hook. +sys.meta_path.append(_importer) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py new file mode 100644 index 0000000..d6594eb --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py @@ -0,0 +1,19 @@ +import sys + +try: + # Our match_hostname function is the same as 3.5's, so we only want to + # import the match_hostname function if it's at least that good. + if sys.version_info < (3, 5): + raise ImportError("Fallback to vendored code") + + from ssl import CertificateError, match_hostname +except ImportError: + try: + # Backport of the function from a pypi module + from backports.ssl_match_hostname import CertificateError, match_hostname + except ImportError: + # Our vendored copy + from ._implementation import CertificateError, match_hostname + +# Not needed, but documenting what we provide. +__all__ = ('CertificateError', 'match_hostname') diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..77f72f3e143b7dc7bc751d0e280099a0f6c2847c GIT binary patch literal 612 zcmZWlO^XvT7)~<N-EQ|og<gandJv(9PL%3`AR>s0mr@Y?7=)0WWINd=lOahfBc2re zA>O?Cd*<qC{(={MvlZ*&gn3BvJnxg|eP_qV1Kj<3_njd01O4;efc<0m{TBd%1lA}= z&25P;usB#DH<Co8pYbOQTu&z^%~R9Mdl<b&)jUO#tOo8QMsYR6OU>RD&8<J0%~m7! zz-51@c#A6X25nIc^1i??(d4j$ENI>(fL#yZ!_8-0>oZ=g#=(v^vJ%!wF)pl-6VhIP zB3)4Ds^CFBb<Vo>#PCp*th7E<+{g}thf5<ww+V4D1>~YV?05GEZQ>i>9&M!a%2rHO z=e9k3VQTBb);RHA?+Wr!j1*a)0l}`mnqOne)LI%@1s=e!-DeEiVC)-mM=?NzpI>Qd zjig2`*HYiRe@YikQF3P%&R)nOcsPgBR<9QG=g{AK-caa&L$x}i^(8aQPN`QxPHPCm zm(tT()ziBVvOC#qS~oyva=DC`lx;^x*G@zIjQ*|oKRsp8z6y+Gb<_4A8Y|XXK8l0% TLx4UZ$pH7s5T9TYk&Kexi`b{t literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py new file mode 100644 index 0000000..970cf65 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py @@ -0,0 +1,156 @@ +"""The match_hostname() function from Python 3.3.3, essential when using SSL.""" + +# Note: This file is under the PSF license as the code comes from the python +# stdlib. http://docs.python.org/3/license.html + +import re +import sys + +# ipaddress has been backported to 2.6+ in pypi. If it is installed on the +# system, use it to handle IPAddress ServerAltnames (this was added in +# python-3.5) otherwise only do DNS matching. This allows +# backports.ssl_match_hostname to continue to be used in Python 2.7. +try: + from pip._vendor import ipaddress +except ImportError: + ipaddress = None + +__version__ = '3.5.0.1' + + +class CertificateError(ValueError): + pass + + +def _dnsname_match(dn, hostname, max_wildcards=1): + """Matching according to RFC 6125, section 6.4.3 + + http://tools.ietf.org/html/rfc6125#section-6.4.3 + """ + pats = [] + if not dn: + return False + + # Ported from python3-syntax: + # leftmost, *remainder = dn.split(r'.') + parts = dn.split(r'.') + leftmost = parts[0] + remainder = parts[1:] + + wildcards = leftmost.count('*') + if wildcards > max_wildcards: + # Issue #17980: avoid denials of service by refusing more + # than one wildcard per fragment. A survey of established + # policy among SSL implementations showed it to be a + # reasonable choice. + raise CertificateError( + "too many wildcards in certificate DNS name: " + repr(dn)) + + # speed up common case w/o wildcards + if not wildcards: + return dn.lower() == hostname.lower() + + # RFC 6125, section 6.4.3, subitem 1. + # The client SHOULD NOT attempt to match a presented identifier in which + # the wildcard character comprises a label other than the left-most label. + if leftmost == '*': + # When '*' is a fragment by itself, it matches a non-empty dotless + # fragment. + pats.append('[^.]+') + elif leftmost.startswith('xn--') or hostname.startswith('xn--'): + # RFC 6125, section 6.4.3, subitem 3. + # The client SHOULD NOT attempt to match a presented identifier + # where the wildcard character is embedded within an A-label or + # U-label of an internationalized domain name. + pats.append(re.escape(leftmost)) + else: + # Otherwise, '*' matches any dotless string, e.g. www* + pats.append(re.escape(leftmost).replace(r'\*', '[^.]*')) + + # add the remaining fragments, ignore any wildcards + for frag in remainder: + pats.append(re.escape(frag)) + + pat = re.compile(r'\A' + r'\.'.join(pats) + r'\Z', re.IGNORECASE) + return pat.match(hostname) + + +def _to_unicode(obj): + if isinstance(obj, str) and sys.version_info < (3,): + obj = unicode(obj, encoding='ascii', errors='strict') + return obj + +def _ipaddress_match(ipname, host_ip): + """Exact matching of IP addresses. + + RFC 6125 explicitly doesn't define an algorithm for this + (section 1.7.2 - "Out of Scope"). + """ + # OpenSSL may add a trailing newline to a subjectAltName's IP address + # Divergence from upstream: ipaddress can't handle byte str + ip = ipaddress.ip_address(_to_unicode(ipname).rstrip()) + return ip == host_ip + + +def match_hostname(cert, hostname): + """Verify that *cert* (in decoded format as returned by + SSLSocket.getpeercert()) matches the *hostname*. RFC 2818 and RFC 6125 + rules are followed, but IP addresses are not accepted for *hostname*. + + CertificateError is raised on failure. On success, the function + returns nothing. + """ + if not cert: + raise ValueError("empty or no certificate, match_hostname needs a " + "SSL socket or SSL context with either " + "CERT_OPTIONAL or CERT_REQUIRED") + try: + # Divergence from upstream: ipaddress can't handle byte str + host_ip = ipaddress.ip_address(_to_unicode(hostname)) + except ValueError: + # Not an IP address (common case) + host_ip = None + except UnicodeError: + # Divergence from upstream: Have to deal with ipaddress not taking + # byte strings. addresses should be all ascii, so we consider it not + # an ipaddress in this case + host_ip = None + except AttributeError: + # Divergence from upstream: Make ipaddress library optional + if ipaddress is None: + host_ip = None + else: + raise + dnsnames = [] + san = cert.get('subjectAltName', ()) + for key, value in san: + if key == 'DNS': + if host_ip is None and _dnsname_match(value, hostname): + return + dnsnames.append(value) + elif key == 'IP Address': + if host_ip is not None and _ipaddress_match(value, host_ip): + return + dnsnames.append(value) + if not dnsnames: + # The subject is only checked when there is no dNSName entry + # in subjectAltName + for sub in cert.get('subject', ()): + for key, value in sub: + # XXX according to RFC 2818, the most specific Common Name + # must be used. + if key == 'commonName': + if _dnsname_match(value, hostname): + return + dnsnames.append(value) + if len(dnsnames) > 1: + raise CertificateError("hostname %r " + "doesn't match either of %s" + % (hostname, ', '.join(map(repr, dnsnames)))) + elif len(dnsnames) == 1: + raise CertificateError("hostname %r " + "doesn't match %r" + % (hostname, dnsnames[0])) + else: + raise CertificateError("no appropriate commonName or " + "subjectAltName fields were found") diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/poolmanager.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/poolmanager.py new file mode 100644 index 0000000..fe5491c --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/poolmanager.py @@ -0,0 +1,450 @@ +from __future__ import absolute_import +import collections +import functools +import logging + +from ._collections import RecentlyUsedContainer +from .connectionpool import HTTPConnectionPool, HTTPSConnectionPool +from .connectionpool import port_by_scheme +from .exceptions import LocationValueError, MaxRetryError, ProxySchemeUnknown +from .packages.six.moves.urllib.parse import urljoin +from .request import RequestMethods +from .util.url import parse_url +from .util.retry import Retry + + +__all__ = ['PoolManager', 'ProxyManager', 'proxy_from_url'] + + +log = logging.getLogger(__name__) + +SSL_KEYWORDS = ('key_file', 'cert_file', 'cert_reqs', 'ca_certs', + 'ssl_version', 'ca_cert_dir', 'ssl_context') + +# All known keyword arguments that could be provided to the pool manager, its +# pools, or the underlying connections. This is used to construct a pool key. +_key_fields = ( + 'key_scheme', # str + 'key_host', # str + 'key_port', # int + 'key_timeout', # int or float or Timeout + 'key_retries', # int or Retry + 'key_strict', # bool + 'key_block', # bool + 'key_source_address', # str + 'key_key_file', # str + 'key_cert_file', # str + 'key_cert_reqs', # str + 'key_ca_certs', # str + 'key_ssl_version', # str + 'key_ca_cert_dir', # str + 'key_ssl_context', # instance of ssl.SSLContext or urllib3.util.ssl_.SSLContext + 'key_maxsize', # int + 'key_headers', # dict + 'key__proxy', # parsed proxy url + 'key__proxy_headers', # dict + 'key_socket_options', # list of (level (int), optname (int), value (int or str)) tuples + 'key__socks_options', # dict + 'key_assert_hostname', # bool or string + 'key_assert_fingerprint', # str + 'key_server_hostname', #str +) + +#: The namedtuple class used to construct keys for the connection pool. +#: All custom key schemes should include the fields in this key at a minimum. +PoolKey = collections.namedtuple('PoolKey', _key_fields) + + +def _default_key_normalizer(key_class, request_context): + """ + Create a pool key out of a request context dictionary. + + According to RFC 3986, both the scheme and host are case-insensitive. + Therefore, this function normalizes both before constructing the pool + key for an HTTPS request. If you wish to change this behaviour, provide + alternate callables to ``key_fn_by_scheme``. + + :param key_class: + The class to use when constructing the key. This should be a namedtuple + with the ``scheme`` and ``host`` keys at a minimum. + :type key_class: namedtuple + :param request_context: + A dictionary-like object that contain the context for a request. + :type request_context: dict + + :return: A namedtuple that can be used as a connection pool key. + :rtype: PoolKey + """ + # Since we mutate the dictionary, make a copy first + context = request_context.copy() + context['scheme'] = context['scheme'].lower() + context['host'] = context['host'].lower() + + # These are both dictionaries and need to be transformed into frozensets + for key in ('headers', '_proxy_headers', '_socks_options'): + if key in context and context[key] is not None: + context[key] = frozenset(context[key].items()) + + # The socket_options key may be a list and needs to be transformed into a + # tuple. + socket_opts = context.get('socket_options') + if socket_opts is not None: + context['socket_options'] = tuple(socket_opts) + + # Map the kwargs to the names in the namedtuple - this is necessary since + # namedtuples can't have fields starting with '_'. + for key in list(context.keys()): + context['key_' + key] = context.pop(key) + + # Default to ``None`` for keys missing from the context + for field in key_class._fields: + if field not in context: + context[field] = None + + return key_class(**context) + + +#: A dictionary that maps a scheme to a callable that creates a pool key. +#: This can be used to alter the way pool keys are constructed, if desired. +#: Each PoolManager makes a copy of this dictionary so they can be configured +#: globally here, or individually on the instance. +key_fn_by_scheme = { + 'http': functools.partial(_default_key_normalizer, PoolKey), + 'https': functools.partial(_default_key_normalizer, PoolKey), +} + +pool_classes_by_scheme = { + 'http': HTTPConnectionPool, + 'https': HTTPSConnectionPool, +} + + +class PoolManager(RequestMethods): + """ + Allows for arbitrary requests while transparently keeping track of + necessary connection pools for you. + + :param num_pools: + Number of connection pools to cache before discarding the least + recently used pool. + + :param headers: + Headers to include with all requests, unless other headers are given + explicitly. + + :param \\**connection_pool_kw: + Additional parameters are used to create fresh + :class:`urllib3.connectionpool.ConnectionPool` instances. + + Example:: + + >>> manager = PoolManager(num_pools=2) + >>> r = manager.request('GET', 'http://google.com/') + >>> r = manager.request('GET', 'http://google.com/mail') + >>> r = manager.request('GET', 'http://yahoo.com/') + >>> len(manager.pools) + 2 + + """ + + proxy = None + + def __init__(self, num_pools=10, headers=None, **connection_pool_kw): + RequestMethods.__init__(self, headers) + self.connection_pool_kw = connection_pool_kw + self.pools = RecentlyUsedContainer(num_pools, + dispose_func=lambda p: p.close()) + + # Locally set the pool classes and keys so other PoolManagers can + # override them. + self.pool_classes_by_scheme = pool_classes_by_scheme + self.key_fn_by_scheme = key_fn_by_scheme.copy() + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + self.clear() + # Return False to re-raise any potential exceptions + return False + + def _new_pool(self, scheme, host, port, request_context=None): + """ + Create a new :class:`ConnectionPool` based on host, port, scheme, and + any additional pool keyword arguments. + + If ``request_context`` is provided, it is provided as keyword arguments + to the pool class used. This method is used to actually create the + connection pools handed out by :meth:`connection_from_url` and + companion methods. It is intended to be overridden for customization. + """ + pool_cls = self.pool_classes_by_scheme[scheme] + if request_context is None: + request_context = self.connection_pool_kw.copy() + + # Although the context has everything necessary to create the pool, + # this function has historically only used the scheme, host, and port + # in the positional args. When an API change is acceptable these can + # be removed. + for key in ('scheme', 'host', 'port'): + request_context.pop(key, None) + + if scheme == 'http': + for kw in SSL_KEYWORDS: + request_context.pop(kw, None) + + return pool_cls(host, port, **request_context) + + def clear(self): + """ + Empty our store of pools and direct them all to close. + + This will not affect in-flight connections, but they will not be + re-used after completion. + """ + self.pools.clear() + + def connection_from_host(self, host, port=None, scheme='http', pool_kwargs=None): + """ + Get a :class:`ConnectionPool` based on the host, port, and scheme. + + If ``port`` isn't given, it will be derived from the ``scheme`` using + ``urllib3.connectionpool.port_by_scheme``. If ``pool_kwargs`` is + provided, it is merged with the instance's ``connection_pool_kw`` + variable and used to create the new connection pool, if one is + needed. + """ + + if not host: + raise LocationValueError("No host specified.") + + request_context = self._merge_pool_kwargs(pool_kwargs) + request_context['scheme'] = scheme or 'http' + if not port: + port = port_by_scheme.get(request_context['scheme'].lower(), 80) + request_context['port'] = port + request_context['host'] = host + + return self.connection_from_context(request_context) + + def connection_from_context(self, request_context): + """ + Get a :class:`ConnectionPool` based on the request context. + + ``request_context`` must at least contain the ``scheme`` key and its + value must be a key in ``key_fn_by_scheme`` instance variable. + """ + scheme = request_context['scheme'].lower() + pool_key_constructor = self.key_fn_by_scheme[scheme] + pool_key = pool_key_constructor(request_context) + + return self.connection_from_pool_key(pool_key, request_context=request_context) + + def connection_from_pool_key(self, pool_key, request_context=None): + """ + Get a :class:`ConnectionPool` based on the provided pool key. + + ``pool_key`` should be a namedtuple that only contains immutable + objects. At a minimum it must have the ``scheme``, ``host``, and + ``port`` fields. + """ + with self.pools.lock: + # If the scheme, host, or port doesn't match existing open + # connections, open a new ConnectionPool. + pool = self.pools.get(pool_key) + if pool: + return pool + + # Make a fresh ConnectionPool of the desired type + scheme = request_context['scheme'] + host = request_context['host'] + port = request_context['port'] + pool = self._new_pool(scheme, host, port, request_context=request_context) + self.pools[pool_key] = pool + + return pool + + def connection_from_url(self, url, pool_kwargs=None): + """ + Similar to :func:`urllib3.connectionpool.connection_from_url`. + + If ``pool_kwargs`` is not provided and a new pool needs to be + constructed, ``self.connection_pool_kw`` is used to initialize + the :class:`urllib3.connectionpool.ConnectionPool`. If ``pool_kwargs`` + is provided, it is used instead. Note that if a new pool does not + need to be created for the request, the provided ``pool_kwargs`` are + not used. + """ + u = parse_url(url) + return self.connection_from_host(u.host, port=u.port, scheme=u.scheme, + pool_kwargs=pool_kwargs) + + def _merge_pool_kwargs(self, override): + """ + Merge a dictionary of override values for self.connection_pool_kw. + + This does not modify self.connection_pool_kw and returns a new dict. + Any keys in the override dictionary with a value of ``None`` are + removed from the merged dictionary. + """ + base_pool_kwargs = self.connection_pool_kw.copy() + if override: + for key, value in override.items(): + if value is None: + try: + del base_pool_kwargs[key] + except KeyError: + pass + else: + base_pool_kwargs[key] = value + return base_pool_kwargs + + def urlopen(self, method, url, redirect=True, **kw): + """ + Same as :meth:`urllib3.connectionpool.HTTPConnectionPool.urlopen` + with custom cross-host redirect logic and only sends the request-uri + portion of the ``url``. + + The given ``url`` parameter must be absolute, such that an appropriate + :class:`urllib3.connectionpool.ConnectionPool` can be chosen for it. + """ + u = parse_url(url) + conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme) + + kw['assert_same_host'] = False + kw['redirect'] = False + + if 'headers' not in kw: + kw['headers'] = self.headers.copy() + + if self.proxy is not None and u.scheme == "http": + response = conn.urlopen(method, url, **kw) + else: + response = conn.urlopen(method, u.request_uri, **kw) + + redirect_location = redirect and response.get_redirect_location() + if not redirect_location: + return response + + # Support relative URLs for redirecting. + redirect_location = urljoin(url, redirect_location) + + # RFC 7231, Section 6.4.4 + if response.status == 303: + method = 'GET' + + retries = kw.get('retries') + if not isinstance(retries, Retry): + retries = Retry.from_int(retries, redirect=redirect) + + # Strip headers marked as unsafe to forward to the redirected location. + # Check remove_headers_on_redirect to avoid a potential network call within + # conn.is_same_host() which may use socket.gethostbyname() in the future. + if (retries.remove_headers_on_redirect + and not conn.is_same_host(redirect_location)): + for header in retries.remove_headers_on_redirect: + kw['headers'].pop(header, None) + + try: + retries = retries.increment(method, url, response=response, _pool=conn) + except MaxRetryError: + if retries.raise_on_redirect: + raise + return response + + kw['retries'] = retries + kw['redirect'] = redirect + + log.info("Redirecting %s -> %s", url, redirect_location) + return self.urlopen(method, redirect_location, **kw) + + +class ProxyManager(PoolManager): + """ + Behaves just like :class:`PoolManager`, but sends all requests through + the defined proxy, using the CONNECT method for HTTPS URLs. + + :param proxy_url: + The URL of the proxy to be used. + + :param proxy_headers: + A dictionary containing headers that will be sent to the proxy. In case + of HTTP they are being sent with each request, while in the + HTTPS/CONNECT case they are sent only once. Could be used for proxy + authentication. + + Example: + >>> proxy = urllib3.ProxyManager('http://localhost:3128/') + >>> r1 = proxy.request('GET', 'http://google.com/') + >>> r2 = proxy.request('GET', 'http://httpbin.org/') + >>> len(proxy.pools) + 1 + >>> r3 = proxy.request('GET', 'https://httpbin.org/') + >>> r4 = proxy.request('GET', 'https://twitter.com/') + >>> len(proxy.pools) + 3 + + """ + + def __init__(self, proxy_url, num_pools=10, headers=None, + proxy_headers=None, **connection_pool_kw): + + if isinstance(proxy_url, HTTPConnectionPool): + proxy_url = '%s://%s:%i' % (proxy_url.scheme, proxy_url.host, + proxy_url.port) + proxy = parse_url(proxy_url) + if not proxy.port: + port = port_by_scheme.get(proxy.scheme, 80) + proxy = proxy._replace(port=port) + + if proxy.scheme not in ("http", "https"): + raise ProxySchemeUnknown(proxy.scheme) + + self.proxy = proxy + self.proxy_headers = proxy_headers or {} + + connection_pool_kw['_proxy'] = self.proxy + connection_pool_kw['_proxy_headers'] = self.proxy_headers + + super(ProxyManager, self).__init__( + num_pools, headers, **connection_pool_kw) + + def connection_from_host(self, host, port=None, scheme='http', pool_kwargs=None): + if scheme == "https": + return super(ProxyManager, self).connection_from_host( + host, port, scheme, pool_kwargs=pool_kwargs) + + return super(ProxyManager, self).connection_from_host( + self.proxy.host, self.proxy.port, self.proxy.scheme, pool_kwargs=pool_kwargs) + + def _set_proxy_headers(self, url, headers=None): + """ + Sets headers needed by proxies: specifically, the Accept and Host + headers. Only sets headers not provided by the user. + """ + headers_ = {'Accept': '*/*'} + + netloc = parse_url(url).netloc + if netloc: + headers_['Host'] = netloc + + if headers: + headers_.update(headers) + return headers_ + + def urlopen(self, method, url, redirect=True, **kw): + "Same as HTTP(S)ConnectionPool.urlopen, ``url`` must be absolute." + u = parse_url(url) + + if u.scheme == "http": + # For proxied HTTPS requests, httplib sets the necessary headers + # on the CONNECT to the proxy. For HTTP, we'll definitely + # need to set 'Host' at the very least. + headers = kw.get('headers', self.headers) + kw['headers'] = self._set_proxy_headers(url, headers) + + return super(ProxyManager, self).urlopen(method, url, redirect=redirect, **kw) + + +def proxy_from_url(url, **kw): + return ProxyManager(proxy_url=url, **kw) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/request.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/request.py new file mode 100644 index 0000000..8f2f44b --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/request.py @@ -0,0 +1,150 @@ +from __future__ import absolute_import + +from .filepost import encode_multipart_formdata +from .packages.six.moves.urllib.parse import urlencode + + +__all__ = ['RequestMethods'] + + +class RequestMethods(object): + """ + Convenience mixin for classes who implement a :meth:`urlopen` method, such + as :class:`~urllib3.connectionpool.HTTPConnectionPool` and + :class:`~urllib3.poolmanager.PoolManager`. + + Provides behavior for making common types of HTTP request methods and + decides which type of request field encoding to use. + + Specifically, + + :meth:`.request_encode_url` is for sending requests whose fields are + encoded in the URL (such as GET, HEAD, DELETE). + + :meth:`.request_encode_body` is for sending requests whose fields are + encoded in the *body* of the request using multipart or www-form-urlencoded + (such as for POST, PUT, PATCH). + + :meth:`.request` is for making any kind of request, it will look up the + appropriate encoding format and use one of the above two methods to make + the request. + + Initializer parameters: + + :param headers: + Headers to include with all requests, unless other headers are given + explicitly. + """ + + _encode_url_methods = {'DELETE', 'GET', 'HEAD', 'OPTIONS'} + + def __init__(self, headers=None): + self.headers = headers or {} + + def urlopen(self, method, url, body=None, headers=None, + encode_multipart=True, multipart_boundary=None, + **kw): # Abstract + raise NotImplementedError("Classes extending RequestMethods must implement " + "their own ``urlopen`` method.") + + def request(self, method, url, fields=None, headers=None, **urlopen_kw): + """ + Make a request using :meth:`urlopen` with the appropriate encoding of + ``fields`` based on the ``method`` used. + + This is a convenience method that requires the least amount of manual + effort. It can be used in most situations, while still having the + option to drop down to more specific methods when necessary, such as + :meth:`request_encode_url`, :meth:`request_encode_body`, + or even the lowest level :meth:`urlopen`. + """ + method = method.upper() + + urlopen_kw['request_url'] = url + + if method in self._encode_url_methods: + return self.request_encode_url(method, url, fields=fields, + headers=headers, + **urlopen_kw) + else: + return self.request_encode_body(method, url, fields=fields, + headers=headers, + **urlopen_kw) + + def request_encode_url(self, method, url, fields=None, headers=None, + **urlopen_kw): + """ + Make a request using :meth:`urlopen` with the ``fields`` encoded in + the url. This is useful for request methods like GET, HEAD, DELETE, etc. + """ + if headers is None: + headers = self.headers + + extra_kw = {'headers': headers} + extra_kw.update(urlopen_kw) + + if fields: + url += '?' + urlencode(fields) + + return self.urlopen(method, url, **extra_kw) + + def request_encode_body(self, method, url, fields=None, headers=None, + encode_multipart=True, multipart_boundary=None, + **urlopen_kw): + """ + Make a request using :meth:`urlopen` with the ``fields`` encoded in + the body. This is useful for request methods like POST, PUT, PATCH, etc. + + When ``encode_multipart=True`` (default), then + :meth:`urllib3.filepost.encode_multipart_formdata` is used to encode + the payload with the appropriate content type. Otherwise + :meth:`urllib.urlencode` is used with the + 'application/x-www-form-urlencoded' content type. + + Multipart encoding must be used when posting files, and it's reasonably + safe to use it in other times too. However, it may break request + signing, such as with OAuth. + + Supports an optional ``fields`` parameter of key/value strings AND + key/filetuple. A filetuple is a (filename, data, MIME type) tuple where + the MIME type is optional. For example:: + + fields = { + 'foo': 'bar', + 'fakefile': ('foofile.txt', 'contents of foofile'), + 'realfile': ('barfile.txt', open('realfile').read()), + 'typedfile': ('bazfile.bin', open('bazfile').read(), + 'image/jpeg'), + 'nonamefile': 'contents of nonamefile field', + } + + When uploading a file, providing a filename (the first parameter of the + tuple) is optional but recommended to best mimic behavior of browsers. + + Note that if ``headers`` are supplied, the 'Content-Type' header will + be overwritten because it depends on the dynamic random boundary string + which is used to compose the body of the request. The random boundary + string can be explicitly set with the ``multipart_boundary`` parameter. + """ + if headers is None: + headers = self.headers + + extra_kw = {'headers': {}} + + if fields: + if 'body' in urlopen_kw: + raise TypeError( + "request got values for both 'fields' and 'body', can only specify one.") + + if encode_multipart: + body, content_type = encode_multipart_formdata(fields, boundary=multipart_boundary) + else: + body, content_type = urlencode(fields), 'application/x-www-form-urlencoded' + + extra_kw['body'] = body + extra_kw['headers'] = {'Content-Type': content_type} + + extra_kw['headers'].update(headers) + extra_kw.update(urlopen_kw) + + return self.urlopen(method, url, **extra_kw) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/response.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/response.py new file mode 100644 index 0000000..c112690 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/response.py @@ -0,0 +1,705 @@ +from __future__ import absolute_import +from contextlib import contextmanager +import zlib +import io +import logging +from socket import timeout as SocketTimeout +from socket import error as SocketError + +from ._collections import HTTPHeaderDict +from .exceptions import ( + BodyNotHttplibCompatible, ProtocolError, DecodeError, ReadTimeoutError, + ResponseNotChunked, IncompleteRead, InvalidHeader +) +from .packages.six import string_types as basestring, PY3 +from .packages.six.moves import http_client as httplib +from .connection import HTTPException, BaseSSLError +from .util.response import is_fp_closed, is_response_to_head + +log = logging.getLogger(__name__) + + +class DeflateDecoder(object): + + def __init__(self): + self._first_try = True + self._data = b'' + self._obj = zlib.decompressobj() + + def __getattr__(self, name): + return getattr(self._obj, name) + + def decompress(self, data): + if not data: + return data + + if not self._first_try: + return self._obj.decompress(data) + + self._data += data + try: + decompressed = self._obj.decompress(data) + if decompressed: + self._first_try = False + self._data = None + return decompressed + except zlib.error: + self._first_try = False + self._obj = zlib.decompressobj(-zlib.MAX_WBITS) + try: + return self.decompress(self._data) + finally: + self._data = None + + +class GzipDecoderState(object): + + FIRST_MEMBER = 0 + OTHER_MEMBERS = 1 + SWALLOW_DATA = 2 + + +class GzipDecoder(object): + + def __init__(self): + self._obj = zlib.decompressobj(16 + zlib.MAX_WBITS) + self._state = GzipDecoderState.FIRST_MEMBER + + def __getattr__(self, name): + return getattr(self._obj, name) + + def decompress(self, data): + ret = bytearray() + if self._state == GzipDecoderState.SWALLOW_DATA or not data: + return bytes(ret) + while True: + try: + ret += self._obj.decompress(data) + except zlib.error: + previous_state = self._state + # Ignore data after the first error + self._state = GzipDecoderState.SWALLOW_DATA + if previous_state == GzipDecoderState.OTHER_MEMBERS: + # Allow trailing garbage acceptable in other gzip clients + return bytes(ret) + raise + data = self._obj.unused_data + if not data: + return bytes(ret) + self._state = GzipDecoderState.OTHER_MEMBERS + self._obj = zlib.decompressobj(16 + zlib.MAX_WBITS) + + +class MultiDecoder(object): + """ + From RFC7231: + If one or more encodings have been applied to a representation, the + sender that applied the encodings MUST generate a Content-Encoding + header field that lists the content codings in the order in which + they were applied. + """ + + def __init__(self, modes): + self._decoders = [_get_decoder(m.strip()) for m in modes.split(',')] + + def flush(self): + return self._decoders[0].flush() + + def decompress(self, data): + for d in reversed(self._decoders): + data = d.decompress(data) + return data + + +def _get_decoder(mode): + if ',' in mode: + return MultiDecoder(mode) + + if mode == 'gzip': + return GzipDecoder() + + return DeflateDecoder() + + +class HTTPResponse(io.IOBase): + """ + HTTP Response container. + + Backwards-compatible to httplib's HTTPResponse but the response ``body`` is + loaded and decoded on-demand when the ``data`` property is accessed. This + class is also compatible with the Python standard library's :mod:`io` + module, and can hence be treated as a readable object in the context of that + framework. + + Extra parameters for behaviour not present in httplib.HTTPResponse: + + :param preload_content: + If True, the response's body will be preloaded during construction. + + :param decode_content: + If True, will attempt to decode the body based on the + 'content-encoding' header. + + :param original_response: + When this HTTPResponse wrapper is generated from an httplib.HTTPResponse + object, it's convenient to include the original for debug purposes. It's + otherwise unused. + + :param retries: + The retries contains the last :class:`~urllib3.util.retry.Retry` that + was used during the request. + + :param enforce_content_length: + Enforce content length checking. Body returned by server must match + value of Content-Length header, if present. Otherwise, raise error. + """ + + CONTENT_DECODERS = ['gzip', 'deflate'] + REDIRECT_STATUSES = [301, 302, 303, 307, 308] + + def __init__(self, body='', headers=None, status=0, version=0, reason=None, + strict=0, preload_content=True, decode_content=True, + original_response=None, pool=None, connection=None, msg=None, + retries=None, enforce_content_length=False, + request_method=None, request_url=None): + + if isinstance(headers, HTTPHeaderDict): + self.headers = headers + else: + self.headers = HTTPHeaderDict(headers) + self.status = status + self.version = version + self.reason = reason + self.strict = strict + self.decode_content = decode_content + self.retries = retries + self.enforce_content_length = enforce_content_length + + self._decoder = None + self._body = None + self._fp = None + self._original_response = original_response + self._fp_bytes_read = 0 + self.msg = msg + self._request_url = request_url + + if body and isinstance(body, (basestring, bytes)): + self._body = body + + self._pool = pool + self._connection = connection + + if hasattr(body, 'read'): + self._fp = body + + # Are we using the chunked-style of transfer encoding? + self.chunked = False + self.chunk_left = None + tr_enc = self.headers.get('transfer-encoding', '').lower() + # Don't incur the penalty of creating a list and then discarding it + encodings = (enc.strip() for enc in tr_enc.split(",")) + if "chunked" in encodings: + self.chunked = True + + # Determine length of response + self.length_remaining = self._init_length(request_method) + + # If requested, preload the body. + if preload_content and not self._body: + self._body = self.read(decode_content=decode_content) + + def get_redirect_location(self): + """ + Should we redirect and where to? + + :returns: Truthy redirect location string if we got a redirect status + code and valid location. ``None`` if redirect status and no + location. ``False`` if not a redirect status code. + """ + if self.status in self.REDIRECT_STATUSES: + return self.headers.get('location') + + return False + + def release_conn(self): + if not self._pool or not self._connection: + return + + self._pool._put_conn(self._connection) + self._connection = None + + @property + def data(self): + # For backwords-compat with earlier urllib3 0.4 and earlier. + if self._body: + return self._body + + if self._fp: + return self.read(cache_content=True) + + @property + def connection(self): + return self._connection + + def isclosed(self): + return is_fp_closed(self._fp) + + def tell(self): + """ + Obtain the number of bytes pulled over the wire so far. May differ from + the amount of content returned by :meth:``HTTPResponse.read`` if bytes + are encoded on the wire (e.g, compressed). + """ + return self._fp_bytes_read + + def _init_length(self, request_method): + """ + Set initial length value for Response content if available. + """ + length = self.headers.get('content-length') + + if length is not None: + if self.chunked: + # This Response will fail with an IncompleteRead if it can't be + # received as chunked. This method falls back to attempt reading + # the response before raising an exception. + log.warning("Received response with both Content-Length and " + "Transfer-Encoding set. This is expressly forbidden " + "by RFC 7230 sec 3.3.2. Ignoring Content-Length and " + "attempting to process response as Transfer-Encoding: " + "chunked.") + return None + + try: + # RFC 7230 section 3.3.2 specifies multiple content lengths can + # be sent in a single Content-Length header + # (e.g. Content-Length: 42, 42). This line ensures the values + # are all valid ints and that as long as the `set` length is 1, + # all values are the same. Otherwise, the header is invalid. + lengths = set([int(val) for val in length.split(',')]) + if len(lengths) > 1: + raise InvalidHeader("Content-Length contained multiple " + "unmatching values (%s)" % length) + length = lengths.pop() + except ValueError: + length = None + else: + if length < 0: + length = None + + # Convert status to int for comparison + # In some cases, httplib returns a status of "_UNKNOWN" + try: + status = int(self.status) + except ValueError: + status = 0 + + # Check for responses that shouldn't include a body + if status in (204, 304) or 100 <= status < 200 or request_method == 'HEAD': + length = 0 + + return length + + def _init_decoder(self): + """ + Set-up the _decoder attribute if necessary. + """ + # Note: content-encoding value should be case-insensitive, per RFC 7230 + # Section 3.2 + content_encoding = self.headers.get('content-encoding', '').lower() + if self._decoder is None: + if content_encoding in self.CONTENT_DECODERS: + self._decoder = _get_decoder(content_encoding) + elif ',' in content_encoding: + encodings = [e.strip() for e in content_encoding.split(',') if e.strip() in self.CONTENT_DECODERS] + if len(encodings): + self._decoder = _get_decoder(content_encoding) + + def _decode(self, data, decode_content, flush_decoder): + """ + Decode the data passed in and potentially flush the decoder. + """ + try: + if decode_content and self._decoder: + data = self._decoder.decompress(data) + except (IOError, zlib.error) as e: + content_encoding = self.headers.get('content-encoding', '').lower() + raise DecodeError( + "Received response with content-encoding: %s, but " + "failed to decode it." % content_encoding, e) + + if flush_decoder and decode_content: + data += self._flush_decoder() + + return data + + def _flush_decoder(self): + """ + Flushes the decoder. Should only be called if the decoder is actually + being used. + """ + if self._decoder: + buf = self._decoder.decompress(b'') + return buf + self._decoder.flush() + + return b'' + + @contextmanager + def _error_catcher(self): + """ + Catch low-level python exceptions, instead re-raising urllib3 + variants, so that low-level exceptions are not leaked in the + high-level api. + + On exit, release the connection back to the pool. + """ + clean_exit = False + + try: + try: + yield + + except SocketTimeout: + # FIXME: Ideally we'd like to include the url in the ReadTimeoutError but + # there is yet no clean way to get at it from this context. + raise ReadTimeoutError(self._pool, None, 'Read timed out.') + + except BaseSSLError as e: + # FIXME: Is there a better way to differentiate between SSLErrors? + if 'read operation timed out' not in str(e): # Defensive: + # This shouldn't happen but just in case we're missing an edge + # case, let's avoid swallowing SSL errors. + raise + + raise ReadTimeoutError(self._pool, None, 'Read timed out.') + + except (HTTPException, SocketError) as e: + # This includes IncompleteRead. + raise ProtocolError('Connection broken: %r' % e, e) + + # If no exception is thrown, we should avoid cleaning up + # unnecessarily. + clean_exit = True + finally: + # If we didn't terminate cleanly, we need to throw away our + # connection. + if not clean_exit: + # The response may not be closed but we're not going to use it + # anymore so close it now to ensure that the connection is + # released back to the pool. + if self._original_response: + self._original_response.close() + + # Closing the response may not actually be sufficient to close + # everything, so if we have a hold of the connection close that + # too. + if self._connection: + self._connection.close() + + # If we hold the original response but it's closed now, we should + # return the connection back to the pool. + if self._original_response and self._original_response.isclosed(): + self.release_conn() + + def read(self, amt=None, decode_content=None, cache_content=False): + """ + Similar to :meth:`httplib.HTTPResponse.read`, but with two additional + parameters: ``decode_content`` and ``cache_content``. + + :param amt: + How much of the content to read. If specified, caching is skipped + because it doesn't make sense to cache partial content as the full + response. + + :param decode_content: + If True, will attempt to decode the body based on the + 'content-encoding' header. + + :param cache_content: + If True, will save the returned data such that the same result is + returned despite of the state of the underlying file object. This + is useful if you want the ``.data`` property to continue working + after having ``.read()`` the file object. (Overridden if ``amt`` is + set.) + """ + self._init_decoder() + if decode_content is None: + decode_content = self.decode_content + + if self._fp is None: + return + + flush_decoder = False + data = None + + with self._error_catcher(): + if amt is None: + # cStringIO doesn't like amt=None + data = self._fp.read() + flush_decoder = True + else: + cache_content = False + data = self._fp.read(amt) + if amt != 0 and not data: # Platform-specific: Buggy versions of Python. + # Close the connection when no data is returned + # + # This is redundant to what httplib/http.client _should_ + # already do. However, versions of python released before + # December 15, 2012 (http://bugs.python.org/issue16298) do + # not properly close the connection in all cases. There is + # no harm in redundantly calling close. + self._fp.close() + flush_decoder = True + if self.enforce_content_length and self.length_remaining not in (0, None): + # This is an edge case that httplib failed to cover due + # to concerns of backward compatibility. We're + # addressing it here to make sure IncompleteRead is + # raised during streaming, so all calls with incorrect + # Content-Length are caught. + raise IncompleteRead(self._fp_bytes_read, self.length_remaining) + + if data: + self._fp_bytes_read += len(data) + if self.length_remaining is not None: + self.length_remaining -= len(data) + + data = self._decode(data, decode_content, flush_decoder) + + if cache_content: + self._body = data + + return data + + def stream(self, amt=2**16, decode_content=None): + """ + A generator wrapper for the read() method. A call will block until + ``amt`` bytes have been read from the connection or until the + connection is closed. + + :param amt: + How much of the content to read. The generator will return up to + much data per iteration, but may return less. This is particularly + likely when using compressed data. However, the empty string will + never be returned. + + :param decode_content: + If True, will attempt to decode the body based on the + 'content-encoding' header. + """ + if self.chunked and self.supports_chunked_reads(): + for line in self.read_chunked(amt, decode_content=decode_content): + yield line + else: + while not is_fp_closed(self._fp): + data = self.read(amt=amt, decode_content=decode_content) + + if data: + yield data + + @classmethod + def from_httplib(ResponseCls, r, **response_kw): + """ + Given an :class:`httplib.HTTPResponse` instance ``r``, return a + corresponding :class:`urllib3.response.HTTPResponse` object. + + Remaining parameters are passed to the HTTPResponse constructor, along + with ``original_response=r``. + """ + headers = r.msg + + if not isinstance(headers, HTTPHeaderDict): + if PY3: # Python 3 + headers = HTTPHeaderDict(headers.items()) + else: # Python 2 + headers = HTTPHeaderDict.from_httplib(headers) + + # HTTPResponse objects in Python 3 don't have a .strict attribute + strict = getattr(r, 'strict', 0) + resp = ResponseCls(body=r, + headers=headers, + status=r.status, + version=r.version, + reason=r.reason, + strict=strict, + original_response=r, + **response_kw) + return resp + + # Backwards-compatibility methods for httplib.HTTPResponse + def getheaders(self): + return self.headers + + def getheader(self, name, default=None): + return self.headers.get(name, default) + + # Backwards compatibility for http.cookiejar + def info(self): + return self.headers + + # Overrides from io.IOBase + def close(self): + if not self.closed: + self._fp.close() + + if self._connection: + self._connection.close() + + @property + def closed(self): + if self._fp is None: + return True + elif hasattr(self._fp, 'isclosed'): + return self._fp.isclosed() + elif hasattr(self._fp, 'closed'): + return self._fp.closed + else: + return True + + def fileno(self): + if self._fp is None: + raise IOError("HTTPResponse has no file to get a fileno from") + elif hasattr(self._fp, "fileno"): + return self._fp.fileno() + else: + raise IOError("The file-like object this HTTPResponse is wrapped " + "around has no file descriptor") + + def flush(self): + if self._fp is not None and hasattr(self._fp, 'flush'): + return self._fp.flush() + + def readable(self): + # This method is required for `io` module compatibility. + return True + + def readinto(self, b): + # This method is required for `io` module compatibility. + temp = self.read(len(b)) + if len(temp) == 0: + return 0 + else: + b[:len(temp)] = temp + return len(temp) + + def supports_chunked_reads(self): + """ + Checks if the underlying file-like object looks like a + httplib.HTTPResponse object. We do this by testing for the fp + attribute. If it is present we assume it returns raw chunks as + processed by read_chunked(). + """ + return hasattr(self._fp, 'fp') + + def _update_chunk_length(self): + # First, we'll figure out length of a chunk and then + # we'll try to read it from socket. + if self.chunk_left is not None: + return + line = self._fp.fp.readline() + line = line.split(b';', 1)[0] + try: + self.chunk_left = int(line, 16) + except ValueError: + # Invalid chunked protocol response, abort. + self.close() + raise httplib.IncompleteRead(line) + + def _handle_chunk(self, amt): + returned_chunk = None + if amt is None: + chunk = self._fp._safe_read(self.chunk_left) + returned_chunk = chunk + self._fp._safe_read(2) # Toss the CRLF at the end of the chunk. + self.chunk_left = None + elif amt < self.chunk_left: + value = self._fp._safe_read(amt) + self.chunk_left = self.chunk_left - amt + returned_chunk = value + elif amt == self.chunk_left: + value = self._fp._safe_read(amt) + self._fp._safe_read(2) # Toss the CRLF at the end of the chunk. + self.chunk_left = None + returned_chunk = value + else: # amt > self.chunk_left + returned_chunk = self._fp._safe_read(self.chunk_left) + self._fp._safe_read(2) # Toss the CRLF at the end of the chunk. + self.chunk_left = None + return returned_chunk + + def read_chunked(self, amt=None, decode_content=None): + """ + Similar to :meth:`HTTPResponse.read`, but with an additional + parameter: ``decode_content``. + + :param amt: + How much of the content to read. If specified, caching is skipped + because it doesn't make sense to cache partial content as the full + response. + + :param decode_content: + If True, will attempt to decode the body based on the + 'content-encoding' header. + """ + self._init_decoder() + # FIXME: Rewrite this method and make it a class with a better structured logic. + if not self.chunked: + raise ResponseNotChunked( + "Response is not chunked. " + "Header 'transfer-encoding: chunked' is missing.") + if not self.supports_chunked_reads(): + raise BodyNotHttplibCompatible( + "Body should be httplib.HTTPResponse like. " + "It should have have an fp attribute which returns raw chunks.") + + with self._error_catcher(): + # Don't bother reading the body of a HEAD request. + if self._original_response and is_response_to_head(self._original_response): + self._original_response.close() + return + + # If a response is already read and closed + # then return immediately. + if self._fp.fp is None: + return + + while True: + self._update_chunk_length() + if self.chunk_left == 0: + break + chunk = self._handle_chunk(amt) + decoded = self._decode(chunk, decode_content=decode_content, + flush_decoder=False) + if decoded: + yield decoded + + if decode_content: + # On CPython and PyPy, we should never need to flush the + # decoder. However, on Jython we *might* need to, so + # lets defensively do it anyway. + decoded = self._flush_decoder() + if decoded: # Platform-specific: Jython. + yield decoded + + # Chunk content ends with \r\n: discard it. + while True: + line = self._fp.fp.readline() + if not line: + # Some sites may not end with '\r\n'. + break + if line == b'\r\n': + break + + # We read everything; close the "file". + if self._original_response: + self._original_response.close() + + def geturl(self): + """ + Returns the URL that was the source of this response. + If the request that generated this response redirected, this method + will return the final redirect location. + """ + if self.retries is not None and len(self.retries.history): + return self.retries.history[-1].redirect_location + else: + return self._request_url diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__init__.py new file mode 100644 index 0000000..2f2770b --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__init__.py @@ -0,0 +1,54 @@ +from __future__ import absolute_import +# For backwards compatibility, provide imports that used to be here. +from .connection import is_connection_dropped +from .request import make_headers +from .response import is_fp_closed +from .ssl_ import ( + SSLContext, + HAS_SNI, + IS_PYOPENSSL, + IS_SECURETRANSPORT, + assert_fingerprint, + resolve_cert_reqs, + resolve_ssl_version, + ssl_wrap_socket, +) +from .timeout import ( + current_time, + Timeout, +) + +from .retry import Retry +from .url import ( + get_host, + parse_url, + split_first, + Url, +) +from .wait import ( + wait_for_read, + wait_for_write +) + +__all__ = ( + 'HAS_SNI', + 'IS_PYOPENSSL', + 'IS_SECURETRANSPORT', + 'SSLContext', + 'Retry', + 'Timeout', + 'Url', + 'assert_fingerprint', + 'current_time', + 'is_connection_dropped', + 'is_fp_closed', + 'get_host', + 'parse_url', + 'make_headers', + 'resolve_cert_reqs', + 'resolve_ssl_version', + 'split_first', + 'ssl_wrap_socket', + 'wait_for_read', + 'wait_for_write' +) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2db4cc1b92164641f5184e55f841f6d40def490c GIT binary patch literal 1155 zcmchW%Wl&^6o&2GoVZStruWj)vLlPeph5)_LR3`+l~5WrEfOQ7ksD7F(;1JM8Mova zcnvnZ(rj7v71+QzuAmhwR>aDubFt$y|9`U6Z2Io?&kqX~$NBEu`7A*E3cmU)Aa-Jx zJHjQd>%^tF%uAw7%0*n^6;UPCBChh9@Q7E$HC`7D(hxrJ#SEDd0SQEtG{r2L6)n;d zZPG68^Z1<TkdBxq^F?0g3u2Kh7IA|wiDj}ZR>+E2C97hMtQB>i-xKR(U2KpI$hXM- zcys7<A6&zvPS>@q=uAtV8%7h6NoB6xoBCp+=}4w28<|9=G*&XpSPTyYBD!F7!lIZd zjXB(Sp3xDP8v1qX4~K8}Wop=GW4$+fLptmq+Td_V2k(yt2Yu+;4rIfF{nO)vljFVq zaBy^dVmp!6Oc{Efq+_Nsm88bbDF(A$GCIPJVxP2~|6S6W(@U5DhO;e9u2hs!Ek_s3 zbW1iE<w~*CP?HE|y%V6!4UAhoW=2iB6<Z%OLnl%j+sGoN8O;^9Gdkl54xyl4K2;ok zs(BS*Nh+8iitX&5^hza$sXFMT8VDcZA?6Tm#3Et_(L%uDII4!|Am$NOM1W`_aF^69 zVhOPf=yw<X$7{Nq)~ED5H@RYzsuH}}`nNk!3~xQKA!phYW7|5|k;xRC!$Xk@8gV1R zU$PVu+#V9oXFc==T)B}3<swyu?iBjjG8l44ra~8#(^k-dTXn2QX~a3D-yF3C{Q^I} zgcB)PD3Wo`_>-r*;b1zNL`n>l{0KX(AvY75z8mykM}}QR)9{j|mmyEi!mQ}*^maoH z25)E4=pq_39cD?k{rGwBQEz8En?k$C#$zmou!w0aRR{ya^E+W~5*|{Tq_8)%mrZT` gg^+R1*-QL$>1TkT6u5Xj^xM_IU8%Kej{7gyFCv>DMF0Q* literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__pycache__/connection.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__pycache__/connection.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..de1c9e4bafbb09f40a17405529a8bceac95cab18 GIT binary patch literal 3192 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__pycache__/queue.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__pycache__/queue.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ea52ea9c0cb15fd319b38019248195edbeccff88 GIT binary patch literal 1066 zcmZuw&u`N(6t?3e&AM(3*guiOl0jh-5<-(e+67fbNJvCTR*1bWCBJGXgHFA52mTfQ zC0{x1$dwDc=dLKgEcw}aU+nLFpY8G9-jLq>`tXAi@}2aW3-eRx`V|C01T9EHgd<o% zODAzC&fS8QZsJlRow=tX`<I^#&WP}Ye@%oh-MPPJNg(K35)N))Co;KlAcoX1oqvJB zTXeFM8A98}U~&pwA48BNp@Jlipu)K(36t(Q6->C-H1Rexi7y5s0Bj(3fM#fRUgzia z8@nxXVZ#yoOXzwZLQCd!O;&_Eg1{m=37Of=>Y|WYo7a^#o{&(PLK{NIxLOwHhVpMj z4I%UMYkX0cGA{F3CyOUfPvYq^yGT_zRrMTp(D2<})YZG`<ScFF=X4og%IY#M@{e(2 zk#Teq>%5gmO`3g5XHv&a-W)x879B_9qh<+kBxf^B#vGQ4TE(3zVEs7m+PsLZYf-Z_ z9?z@1-9=qiEWNt-M}B0n>`oI<#)_`UoUHM1zyNwHRs{eVR>;a~-2@~sK40kkN}_*T zvV$I(1@C4%KsMl-(-mD)xIDL}JC@V<Y14qn(AjXiU`+Whxyzfbz2BqW?@<Gk!40+z zN9^{jtxQY2{+p6Dbpw)7>;FtM*&YJ071?J3Xc7h{;Jivp$+;PFUe=;3a6aOE(WS)( zQ6t=Y4+A=;uy*wj0~XZ_=&kY~U|wTI0S(xQ1<Yo{9pyvL1ly~k@PU{I+s_CdQdHKL xQg6&;)Ax^!XYYS<$h)f3Qfy1KS-WeG-<D$!IC#F1@&f(Sm=EZPjvU_!*l%ZZ>#_g< literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__pycache__/request.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__pycache__/request.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..18abc530e812190a1ae8b99ae1aa1fea1e871893 GIT binary patch literal 3247 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 AX8-^I literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__pycache__/response.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__pycache__/response.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a3aa4e9f94d486e72057d80a17e553391de9593f GIT binary patch literal 1995 zcmZXVUvDEd5Wwx-O|sply`v{2bfCjRfE0=D9x9w5LWt_9C_<EoE2pDEw{_OuWSjkW zwl{4``f}k7@j-aw^Xw~6{R+Im*qgLDZX^F4du-4AX0o@n<>Bjpf4T1=^fy}jEa-m) zMe2$nhEtT`6O0kFn4Maged3tDleV(<NgMht*8UBhbXbSE(7J4cdC+dK%_peWy#_6) zhwD3ZD2udGJWR5(5b9c=1M{0>rOGf$6P_y=?i_N;xEN3&lYDd_L?I%qRluj)x1l_S zB4em#?i`(=1$u%Ur0~QO?_gMj(a$Kio}pPAq}Gk>vsYvu$ZUou?v4D}x?DNTTHu$M zVR(amsXPMT<1vpWlAMpZ8goG?86{JmlQ>EFZkkLuDTZe}QY4WiN(;%E@0or5k_wt> zY2S>suH!L(eWNN!q|flpvZKr1PdOc?oWMNeii<4C`OWchxpq*mRlA97POZ21l@iGi zY;EjUx0mx)T-M%GnpVv`Slfm>{fR^uZ28ac!MMnHkR_vvr=NWKC>YG5F%{WB6#7*X z#%f&TPX|ZeP{q&bEP%&PgEScirIGCUj{=z}zFX30LPuN%Wm4{b{JH<o-`g!`Aolra zq$h(Awz5J5l}KU#UQnqd4Fs2EkxTBEv$~teFxFUTGj_DU??Z)L%XaZLZd;bsZd%(j zt=I<X4Ja)bI8Y2IQ|Kr(2SCoOg(V*-aQm5~T646(`u7qm07b*Su&<iFWBM?2WzQ|~ z98l>jkbFM37U;?WU5;|qMhx0O=D->(<GC$_^5%GMv(_ILfMWwVZ8`vEjWhS9<U*~% zlcr>BP?uy(r<@Eqpd_m(;!?&{n$8GNV;Iu799$?t!3l)tQBmc<0%wHl=#V59MMi)~ z0tT#7MT*#Lh45LOu;lQE9JHPn0vIlG(zuiCy$b2_PJPnEq15b6xk%z!17%;$O1{$D zC#O1k!G-?e@$uk$xH|a#bfr<yL~==%PWJgl#7mWci~ZMw{5CSay}kbOfmA@Oz^fsi zv@I^*;}<0m2^LtLzC8IOGAb1L_2HFYcNmW~wMX^lh^w%qv$UYBXNfz2L%mhyjdept z742=-UIOVxDw;>U?ku&|n`@7%H;&=q%Xo?lkx^AU+7@*O^iv2p!)yi)NI<o!Tf>>+ zvbLoXLh}d_+F2Uc+(F!hN%4lhO=o#K6NgQ;rRU$I2AZ(h25&Gq@k0<b(Qvnm+qi3W zp*Yxq$Y@*J*s)wJ9>AKLXwZq)hGL@Oedy?<38dpWR+{0r=8)zlkSOQ)%w9kw=sqO9 zzl^p2m-HIWUQ}Ef(5QyaL@iJ(8;B`6JlOwwS8%hc@!28GSqd!Z?JugtAQ+SVvOLH~ zkknShz!M=+Mn#@CJT$bKG3iGs*rWdnaX&5(KQ&jq)~~D`eR|KSJ7ETSx?o~Q&)P{2 zKB>x*i=I`xt6SIY<szK|*Gzv8^3Q5bs0!nP?_h~^p+XyN>|rpocEwT8tGzIcD^&>| zhC*Ar-dUwUUnUoRR!q4RIw6UBTI$_Kf<eP1FXJ<#aSa1=E5m~OMOLsX<zMPQK?(oa NNV~mjyYIRm{0FXtFYEvS literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__pycache__/retry.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__pycache__/retry.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ad92578c72fef0437264e817889533f28250d737 GIT binary patch literal 12681 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 RRx;&m*(_(~e{Rs9^*<w_0TTcK literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..944a23644c507d82d418665e76070a4e254e492a GIT binary patch literal 9585 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__pycache__/timeout.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__pycache__/timeout.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..38c4381cac47093239eaf35034fadf0c09923810 GIT binary patch literal 8796 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˓(l>=^#f{D{s7yn$L8|Mk(uKxg z9bQD~+-xz-ZCDFPaRy5LVIz9hv8AnMS)7Gn1SOMM!=DNPk5#$$Q_{Uv#gNUje~)E4 zXRQL@@jrjws^ZwZ(^c}_LM646DtYL9hf>$Fw?wXV#{w@Mhw;dp5RxHw`G8@7p0AqM z3G1M7J?iw1?cG~I`P`Ck8xlmXkefvrg$cPceVghWBFe*rR6oqL!?cF1X5$UYJE$(z z$}O1No_B6}G)y#%^&O{moRTiA4V6Vbi&r4`r>OS=h+E}$Eu()XEmv`IY81xjFYRc@ zXq`6sn5xTIqr9(!8{>U7agK6(<odX(Z2vX7!>5FNe+%DGd`k5Ty>pIqe7|JOK&e{= zZ}JXmD;$he6>omTu#%yyl;nZrdO`oHd5|~3@w*F(IOMFlp-t&s9>B<|^fs!+ZM||c zrb^yYMu^86nrgevrj`8VopZ~(rGKTeBntgn;{ywMhrL6IeV!DwPNZ)=n~>(Fy4|ek zl2?^(FF@#789j%mD0|IVk*%%&g87n4J*Qqr+IA72`3qLpC*~egb6$#493`bGko}DA zNR0qox<_BY-YvW>lL?4-XdG%sd56MIud5yb1L*w`{*}3Cx{u8`QF}})7U!Fpm>*E7 zR`!022tfF;U^qp?tN6+1q>&(3LSZ72x0y^&VW>qO)0;9fS+F%q`EqSgi$}M6U?Bw2 zR_P4CzaY+w5K$lkZs#jd7g5`yr5lDw(va~j^b(C(QQ;Ku3Hl1uHZy&}ys4KHquGqw zQ21$8_gxLYmJL)ox^6ph4s}#r9Pv0Ohu=T(qev)6^otY{Rz$T<@8_ni@yr<4)4j8P z(GSy|!G(k8?(r#AiPp7GSCsX|Z^L1}8MZ@Qr$(4uM#P%!Y0hAC3dt!rAzCRtL327M zEBt<2RfElC?YQK#y5~Z18Q$wX5>!cv%eXwnj~irL)`|a)dGaDI&iOj(EqqXWRZ(}< z-HYyp()@yT=*30NbwSx|R_}JlNidDj{mB~LF4f<<7esBIAo0-@B1jjCOWH)N)8%<u zdq!0-6o8XJRe|DrG<JzDuhNB1kkw3rI};o9u1S}oqonSrt)vn{qOFcn`>;|*xmc}L z8kZaAYHPJKwbjPDPVyVX^k9nLE2w2f>0VaVKOZPo(bR$)Wc4Bk)45Jnt3l8qvSkD^ jLRu9WbuM}ePg(69Eu41|iyTQ1+bA~>5F3?h<!t#s1#cNZ literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__pycache__/url.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__pycache__/url.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ccda3f21d2aa321ca3374245e7e4816781d00957 GIT binary patch literal 5215 zcma)ATXP$?6$bV~E-6}8okVteNjF!S9f@?})N$C#cH%gf8AsLl61S{VYDIw5N=q&c zEM<$coavNq)9F)wL8sHV{*6BOsZX7K>-5QgK`-rhuoT6}Ra0_+#o}^s0G#uk4}1B{ znKFO&?}rawX6#>V?pH+l29l1D2_|^Ndc4Uwm95C?*-aZ|TR4%^bDJ*8t|*A2@I*<J z#X`5(EQs^X;wMa;6-!T<SdunUVPZ|}rYF85&OK$#l6XP9h-X>6B$n}95Q}$N^};jE z$f`U$8*J-18YZ$8_6D&^P*v^+Jt>mmAd=6lyw|zgaXU!DxW5@FEpI6mtE`~gJF+J; zCm1F>nX?n?By&gv@&GmNqoGs>nb%Q4w<r6k-bs={=2EUV+BE;skM@Cn`d7##YjVMw zmf%gh!<vpb`xWbO+J&d3rYj4y2T$3AH;X7^FHG4(8GB;NC6pIL#gxn9j98>qf5jZu ztYGC!nSEbHqra7X{5}ejKqqS0PKHYQomlxw4wTeTH|%%)pznWr@7|_=|IY22e_u=C z2igzN2i^Preh>}KAS0^L8TQ+atpRONYp9~Fn*U*(?D)x!^z)s9IN{Sa`2i;D$Ep`Z z;V2i1UI$cdL~YZ!cA({2*oP`QOu~KX2kmyO1gVw8{+*9+`j_9odZlItY_vVIe~i(y zgk&S>FOa3Kx{$iNu&oKNFm*xj)IHC}ZpzggDc|K2Hs-0VuBJS(_6m5~rp`|6#7Wu2 z+I3Tw^3+Q0)Jfg6kQOH%cG226<n?MHE9)dsiGCc?fk*LUsj?S0es<^c4{m?f{NTge zw_0~^etPTkTX!>84+m1Ivrs83wpxApxYeq9nca@GDxgx44JcAyk^ZVo*#c!1WU$Io ztJRJIty`_Xu*2WgcjBI`_rmT_M(_UkN`3R7y%VV3riyoEJJEPgcH;gQn;V}5iF_O! z)c0k7zaE9#^?_-*T)R@ozRI;h(B2EWQr8FJVD0VqYnN)5*9He@uE}nfD(fu_6|t)0 zOfmj)eVBw1z0?K=>Luv5jHH*4F>8r?+(D`!E%VU=46Qa@YnxLK{OC#PCX%L=r)-yD zNBQW+$FRR`=<_&GLa(*s9{ecW4x=zR@M(vA%xdhb=0A`tWJ6(F`cb$iVP!#5t8%k} z*eplOsG}}GdY%DzSmu%Kk#E0BQ<G;idsHDEj~Zr5QX`p=QSvPmNXdaGIE;nua$)V2 z)N3i6lHSg<_sEDi7U7JlA58JYClK(%emffGMhibMh~UHFV8t~>dj>PQUbT)-8|Ck! zx@iwpcvAlbB_Tj3@UD<_(#GiRvQ_4b*61uPWUj|-EwtIQwR|5hv=+4tM}Y2B?pVt> z0D2?C9$nm!$>Uh<`Oy^f<`$8AFWi`LZsfkH8*d7zY%G?v!3mK1Cp9nhWddoJ&}5FB z*#*ADM`cnuZ<=XKqR17@&i@&Olsznt`PdrUV`uD+3*#bA!NcCu8T=@vl5I}FOD$7( z4Rw}qrggTd+d!R-Q}R;BymwMhxCu+0Nq%}>>YDm}^m9$Wf_eV~`W4c`R94Z{{SkG= zv^cFJFz|xk!(a>&5vbmb`}<NQKG`7l4rmpS<(6k1?(KxyC%B}D;_IDw7zw`@!=T{+ zk<{8(@vtw}U?+pz@TcHfn@87sJ2_g?lsO^;N->Y$3l4y;iN7s<`6Os3(LoNvuzbRA z0%YnI_6Nfx!I&hTY4-d)tN!*d@k6X8SCfQ38iv4r#0Y;o7fon<QP#S(Rg$b{;*8S< z{&p1f_l(J4HBsd61c37fl<vj*QdDclJ9Fzv&_md5_>IPKB`xsUwQK%;e;rOW4KEj0 zD2_Jj^==$@BUuAl)O!JtX{9=wem1a1+fQ#tzf%W)qnDXfMfp@KtNzMROGN<E7yyXj zBZ4Z)Cun+<uU=aHhJaeF=C9NV2&kj+ekvR>f|cs2iaj^ejiYHAS1%cf*NwQ>XR>A! zXKZ6+V`C2ajYHm0<nf36b%3G`;Hj2!2mSVtlL3OF6OOFjfUx(F^lQl23+K3F=V(ue zPk)L4^r!cVH7eeRheOWHy-!8|4L}D;KLtS$GNFB|)uPD>o!KnBnEGmQBmY&;WFA5e z4yo13%B@x}7Q=|jl~(J~Fo>otkSF3csu5Oo6ekF)CYWX3K*b2u$$|PFCQ(12>=nvL zIrS#8?94P0w`CMz*euFG_4Cw;f{h9Eizw)G$UN8Kj>Y(5x#CvJm15<hX>Xf_pq);` zK{B8>LIDs5{x`OtfR}v4zPvOB7uhv%1?ECf#nfAm76Eg7&(l}HOQ>csb;nlfjO|B@ z57@NrjsZoc9;U>jdB-N82lQLNwO&Rk2TH-sn@z1%H~2da$yn1Tpj~}{S01noeFGx| zYf!;<1hDG(LPlYaD)g$a2ME+Y0F3~q6Dsh$4#AiaHS1XO@8s+eF=jdhKAnJ8BC62H zUXXxSi(}DKc=)ViK+T9;rJnN>kq954YNj3nVhp$)McN!nj<978S;)bS+AX8+#g$GR z*S7<8eLEPDqh7DC&%udlrs}yK^KkQR(%ydO@=0m)lR@%E+?Ul{+q-QbtOmL1%Rm9a z4V3nWy=|#x8?S2^fprTRM25Uaf$D-4o$O^!U_+7bsUISHMkQiNov<%JV!6gWicV5D zi@mVl3dNIVi3+AN<07+Bb!_Oy!n1|Boohp&CP!dPuykI=-{TheAlM-CvZdZZ+YAMW z*An|N_Wo;VlQLaS*aS2LR?m;DA5RC#MJga6{H6>X{TfjfVF`O;J+wd#Sb}=t(7mWj zb@mv6eq2gRYAY?J9<hA{Y#R9lBW>K7@{!gU^Qu2#toJe#r9F$vkX)X&Lr!XoGU$LU z7HIs}Tvbeug=vp6{L<EcP0M544$xXion2?b^gj~Z8YcWV{GgJcZi00@VEtDdmK68O z=x1?IV9t(u{etzapR+!#)#;y0?FvJmSJG(?+3wd|Uj<z`zK0ak!la1ZDx|K_>kjTX z9Czb<WuQp{IAK~M)8furivLYcwGuRrD9n-91GZO>u6jWpc!l3EcaX+b4ZyzT6PV@~ zWnA{aOxI)wcS!O?V{*VzyrK);*i7UmDhXO2$;5CF81ToTjD$9>4dmU2EsLBafM}3A zOuc^-4h}DP{&oNyGOp18&^NZAvzcdWI_wmmH+|@m`v0&9tn^}jfn7JW0e(ucczxxV zd7z32@j5AtBI5n}%9M?)`XB+vl!P#1ZuVml2<vm;FgIr|^RyYkIP&@OZvShpI=~IU zroMHW=_;OE5XNJnhIXtI2I6HlUrssH8l2kPYYgpB#1fQG86nOg|K%b7QoV{|)iVJQ zw_*w!1{|`2GA~&%)FSMn)<s7k55Am~zo1VI=Cez6A&<nT5*WHJn~QVPrGsc?u0gS; z+oC-@31X$$VLZh+y@`x1J66FW7@Pe;a+aKB%dtEgaAq$N&9TdTiF#QDv;yovc~EZ` ztVOEhFH*bdqkaOJGw7p`ZzCD#BW?zF1XR%dahDI45Ssa}g_H+lYxJ)1q>t#U48A}~ zVZOuo&wXrxW9dW&BL5zu&OmV0F*E017Yv!9yA^J0#AGr)IJp&GS0-kU{)u)?bc8t` zSL=9IZ6i?;q1mWbh*x!n^vMYHhZdAAwBsnkhX>qew4&u@W%;Bn2YCe@WU~Z!YXwQ7 ww0Z&W=KRgU=UUP<a~c^^mEYQbnp3!IWJ2aULj}yTVxMyyd-=Zis`ur80EomQ$p8QV literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__pycache__/wait.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__pycache__/wait.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0628d9af91b875a51f7963336e65c4c0bf592cfb GIT binary patch literal 3176 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/connection.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/connection.py new file mode 100644 index 0000000..5ad70b2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/connection.py @@ -0,0 +1,134 @@ +from __future__ import absolute_import +import socket +from .wait import NoWayToWaitForSocketError, wait_for_read +from ..contrib import _appengine_environ + + +def is_connection_dropped(conn): # Platform-specific + """ + Returns True if the connection is dropped and should be closed. + + :param conn: + :class:`httplib.HTTPConnection` object. + + Note: For platforms like AppEngine, this will always return ``False`` to + let the platform handle connection recycling transparently for us. + """ + sock = getattr(conn, 'sock', False) + if sock is False: # Platform-specific: AppEngine + return False + if sock is None: # Connection already closed (such as by httplib). + return True + try: + # Returns True if readable, which here means it's been dropped + return wait_for_read(sock, timeout=0.0) + except NoWayToWaitForSocketError: # Platform-specific: AppEngine + return False + + +# This function is copied from socket.py in the Python 2.7 standard +# library test suite. Added to its signature is only `socket_options`. +# One additional modification is that we avoid binding to IPv6 servers +# discovered in DNS if the system doesn't have IPv6 functionality. +def create_connection(address, timeout=socket._GLOBAL_DEFAULT_TIMEOUT, + source_address=None, socket_options=None): + """Connect to *address* and return the socket object. + + Convenience function. Connect to *address* (a 2-tuple ``(host, + port)``) and return the socket object. Passing the optional + *timeout* parameter will set the timeout on the socket instance + before attempting to connect. If no *timeout* is supplied, the + global default timeout setting returned by :func:`getdefaulttimeout` + is used. If *source_address* is set it must be a tuple of (host, port) + for the socket to bind as a source address before making the connection. + An host of '' or port 0 tells the OS to use the default. + """ + + host, port = address + if host.startswith('['): + host = host.strip('[]') + err = None + + # Using the value from allowed_gai_family() in the context of getaddrinfo lets + # us select whether to work with IPv4 DNS records, IPv6 records, or both. + # The original create_connection function always returns all records. + family = allowed_gai_family() + + for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): + af, socktype, proto, canonname, sa = res + sock = None + try: + sock = socket.socket(af, socktype, proto) + + # If provided, set socket level options before connecting. + _set_socket_options(sock, socket_options) + + if timeout is not socket._GLOBAL_DEFAULT_TIMEOUT: + sock.settimeout(timeout) + if source_address: + sock.bind(source_address) + sock.connect(sa) + return sock + + except socket.error as e: + err = e + if sock is not None: + sock.close() + sock = None + + if err is not None: + raise err + + raise socket.error("getaddrinfo returns an empty list") + + +def _set_socket_options(sock, options): + if options is None: + return + + for opt in options: + sock.setsockopt(*opt) + + +def allowed_gai_family(): + """This function is designed to work in the context of + getaddrinfo, where family=socket.AF_UNSPEC is the default and + will perform a DNS search for both IPv6 and IPv4 records.""" + + family = socket.AF_INET + if HAS_IPV6: + family = socket.AF_UNSPEC + return family + + +def _has_ipv6(host): + """ Returns True if the system can bind an IPv6 address. """ + sock = None + has_ipv6 = False + + # App Engine doesn't support IPV6 sockets and actually has a quota on the + # number of sockets that can be used, so just early out here instead of + # creating a socket needlessly. + # See https://github.com/urllib3/urllib3/issues/1446 + if _appengine_environ.is_appengine_sandbox(): + return False + + if socket.has_ipv6: + # has_ipv6 returns true if cPython was compiled with IPv6 support. + # It does not tell us if the system has IPv6 support enabled. To + # determine that we must bind to an IPv6 address. + # https://github.com/shazow/urllib3/pull/611 + # https://bugs.python.org/issue658327 + try: + sock = socket.socket(socket.AF_INET6) + sock.bind((host, 0)) + has_ipv6 = True + except Exception: + pass + + if sock: + sock.close() + return has_ipv6 + + +HAS_IPV6 = _has_ipv6('::1') diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/queue.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/queue.py new file mode 100644 index 0000000..d3d379a --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/queue.py @@ -0,0 +1,21 @@ +import collections +from ..packages import six +from ..packages.six.moves import queue + +if six.PY2: + # Queue is imported for side effects on MS Windows. See issue #229. + import Queue as _unused_module_Queue # noqa: F401 + + +class LifoQueue(queue.Queue): + def _init(self, _): + self.queue = collections.deque() + + def _qsize(self, len=len): + return len(self.queue) + + def _put(self, item): + self.queue.append(item) + + def _get(self): + return self.queue.pop() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/request.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/request.py new file mode 100644 index 0000000..3ddfcd5 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/request.py @@ -0,0 +1,118 @@ +from __future__ import absolute_import +from base64 import b64encode + +from ..packages.six import b, integer_types +from ..exceptions import UnrewindableBodyError + +ACCEPT_ENCODING = 'gzip,deflate' +_FAILEDTELL = object() + + +def make_headers(keep_alive=None, accept_encoding=None, user_agent=None, + basic_auth=None, proxy_basic_auth=None, disable_cache=None): + """ + Shortcuts for generating request headers. + + :param keep_alive: + If ``True``, adds 'connection: keep-alive' header. + + :param accept_encoding: + Can be a boolean, list, or string. + ``True`` translates to 'gzip,deflate'. + List will get joined by comma. + String will be used as provided. + + :param user_agent: + String representing the user-agent you want, such as + "python-urllib3/0.6" + + :param basic_auth: + Colon-separated username:password string for 'authorization: basic ...' + auth header. + + :param proxy_basic_auth: + Colon-separated username:password string for 'proxy-authorization: basic ...' + auth header. + + :param disable_cache: + If ``True``, adds 'cache-control: no-cache' header. + + Example:: + + >>> make_headers(keep_alive=True, user_agent="Batman/1.0") + {'connection': 'keep-alive', 'user-agent': 'Batman/1.0'} + >>> make_headers(accept_encoding=True) + {'accept-encoding': 'gzip,deflate'} + """ + headers = {} + if accept_encoding: + if isinstance(accept_encoding, str): + pass + elif isinstance(accept_encoding, list): + accept_encoding = ','.join(accept_encoding) + else: + accept_encoding = ACCEPT_ENCODING + headers['accept-encoding'] = accept_encoding + + if user_agent: + headers['user-agent'] = user_agent + + if keep_alive: + headers['connection'] = 'keep-alive' + + if basic_auth: + headers['authorization'] = 'Basic ' + \ + b64encode(b(basic_auth)).decode('utf-8') + + if proxy_basic_auth: + headers['proxy-authorization'] = 'Basic ' + \ + b64encode(b(proxy_basic_auth)).decode('utf-8') + + if disable_cache: + headers['cache-control'] = 'no-cache' + + return headers + + +def set_file_position(body, pos): + """ + If a position is provided, move file to that point. + Otherwise, we'll attempt to record a position for future use. + """ + if pos is not None: + rewind_body(body, pos) + elif getattr(body, 'tell', None) is not None: + try: + pos = body.tell() + except (IOError, OSError): + # This differentiates from None, allowing us to catch + # a failed `tell()` later when trying to rewind the body. + pos = _FAILEDTELL + + return pos + + +def rewind_body(body, body_pos): + """ + Attempt to rewind body to a certain position. + Primarily used for request redirects and retries. + + :param body: + File-like object that supports seek. + + :param int pos: + Position to seek to in file. + """ + body_seek = getattr(body, 'seek', None) + if body_seek is not None and isinstance(body_pos, integer_types): + try: + body_seek(body_pos) + except (IOError, OSError): + raise UnrewindableBodyError("An error occurred when rewinding request " + "body for redirect/retry.") + elif body_pos is _FAILEDTELL: + raise UnrewindableBodyError("Unable to record file position for rewinding " + "request body during a redirect/retry.") + else: + raise ValueError("body_pos must be of type integer, " + "instead it was %s." % type(body_pos)) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/response.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/response.py new file mode 100644 index 0000000..3d54864 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/response.py @@ -0,0 +1,87 @@ +from __future__ import absolute_import +from ..packages.six.moves import http_client as httplib + +from ..exceptions import HeaderParsingError + + +def is_fp_closed(obj): + """ + Checks whether a given file-like object is closed. + + :param obj: + The file-like object to check. + """ + + try: + # Check `isclosed()` first, in case Python3 doesn't set `closed`. + # GH Issue #928 + return obj.isclosed() + except AttributeError: + pass + + try: + # Check via the official file-like-object way. + return obj.closed + except AttributeError: + pass + + try: + # Check if the object is a container for another file-like object that + # gets released on exhaustion (e.g. HTTPResponse). + return obj.fp is None + except AttributeError: + pass + + raise ValueError("Unable to determine whether fp is closed.") + + +def assert_header_parsing(headers): + """ + Asserts whether all headers have been successfully parsed. + Extracts encountered errors from the result of parsing headers. + + Only works on Python 3. + + :param headers: Headers to verify. + :type headers: `httplib.HTTPMessage`. + + :raises urllib3.exceptions.HeaderParsingError: + If parsing errors are found. + """ + + # This will fail silently if we pass in the wrong kind of parameter. + # To make debugging easier add an explicit check. + if not isinstance(headers, httplib.HTTPMessage): + raise TypeError('expected httplib.Message, got {0}.'.format( + type(headers))) + + defects = getattr(headers, 'defects', None) + get_payload = getattr(headers, 'get_payload', None) + + unparsed_data = None + if get_payload: + # get_payload is actually email.message.Message.get_payload; + # we're only interested in the result if it's not a multipart message + if not headers.is_multipart(): + payload = get_payload() + + if isinstance(payload, (bytes, str)): + unparsed_data = payload + + if defects or unparsed_data: + raise HeaderParsingError(defects=defects, unparsed_data=unparsed_data) + + +def is_response_to_head(response): + """ + Checks whether the request of a response has been a HEAD-request. + Handles the quirks of AppEngine. + + :param conn: + :type conn: :class:`httplib.HTTPResponse` + """ + # FIXME: Can we do this somehow without accessing private httplib _method? + method = response._method + if isinstance(method, int): # Platform-specific: Appengine + return method == 3 + return method.upper() == 'HEAD' diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/retry.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/retry.py new file mode 100644 index 0000000..e7d0abd --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/retry.py @@ -0,0 +1,411 @@ +from __future__ import absolute_import +import time +import logging +from collections import namedtuple +from itertools import takewhile +import email +import re + +from ..exceptions import ( + ConnectTimeoutError, + MaxRetryError, + ProtocolError, + ReadTimeoutError, + ResponseError, + InvalidHeader, +) +from ..packages import six + + +log = logging.getLogger(__name__) + + +# Data structure for representing the metadata of requests that result in a retry. +RequestHistory = namedtuple('RequestHistory', ["method", "url", "error", + "status", "redirect_location"]) + + +class Retry(object): + """ Retry configuration. + + Each retry attempt will create a new Retry object with updated values, so + they can be safely reused. + + Retries can be defined as a default for a pool:: + + retries = Retry(connect=5, read=2, redirect=5) + http = PoolManager(retries=retries) + response = http.request('GET', 'http://example.com/') + + Or per-request (which overrides the default for the pool):: + + response = http.request('GET', 'http://example.com/', retries=Retry(10)) + + Retries can be disabled by passing ``False``:: + + response = http.request('GET', 'http://example.com/', retries=False) + + Errors will be wrapped in :class:`~urllib3.exceptions.MaxRetryError` unless + retries are disabled, in which case the causing exception will be raised. + + :param int total: + Total number of retries to allow. Takes precedence over other counts. + + Set to ``None`` to remove this constraint and fall back on other + counts. It's a good idea to set this to some sensibly-high value to + account for unexpected edge cases and avoid infinite retry loops. + + Set to ``0`` to fail on the first retry. + + Set to ``False`` to disable and imply ``raise_on_redirect=False``. + + :param int connect: + How many connection-related errors to retry on. + + These are errors raised before the request is sent to the remote server, + which we assume has not triggered the server to process the request. + + Set to ``0`` to fail on the first retry of this type. + + :param int read: + How many times to retry on read errors. + + These errors are raised after the request was sent to the server, so the + request may have side-effects. + + Set to ``0`` to fail on the first retry of this type. + + :param int redirect: + How many redirects to perform. Limit this to avoid infinite redirect + loops. + + A redirect is a HTTP response with a status code 301, 302, 303, 307 or + 308. + + Set to ``0`` to fail on the first retry of this type. + + Set to ``False`` to disable and imply ``raise_on_redirect=False``. + + :param int status: + How many times to retry on bad status codes. + + These are retries made on responses, where status code matches + ``status_forcelist``. + + Set to ``0`` to fail on the first retry of this type. + + :param iterable method_whitelist: + Set of uppercased HTTP method verbs that we should retry on. + + By default, we only retry on methods which are considered to be + idempotent (multiple requests with the same parameters end with the + same state). See :attr:`Retry.DEFAULT_METHOD_WHITELIST`. + + Set to a ``False`` value to retry on any verb. + + :param iterable status_forcelist: + A set of integer HTTP status codes that we should force a retry on. + A retry is initiated if the request method is in ``method_whitelist`` + and the response status code is in ``status_forcelist``. + + By default, this is disabled with ``None``. + + :param float backoff_factor: + A backoff factor to apply between attempts after the second try + (most errors are resolved immediately by a second try without a + delay). urllib3 will sleep for:: + + {backoff factor} * (2 ** ({number of total retries} - 1)) + + seconds. If the backoff_factor is 0.1, then :func:`.sleep` will sleep + for [0.0s, 0.2s, 0.4s, ...] between retries. It will never be longer + than :attr:`Retry.BACKOFF_MAX`. + + By default, backoff is disabled (set to 0). + + :param bool raise_on_redirect: Whether, if the number of redirects is + exhausted, to raise a MaxRetryError, or to return a response with a + response code in the 3xx range. + + :param bool raise_on_status: Similar meaning to ``raise_on_redirect``: + whether we should raise an exception, or return a response, + if status falls in ``status_forcelist`` range and retries have + been exhausted. + + :param tuple history: The history of the request encountered during + each call to :meth:`~Retry.increment`. The list is in the order + the requests occurred. Each list item is of class :class:`RequestHistory`. + + :param bool respect_retry_after_header: + Whether to respect Retry-After header on status codes defined as + :attr:`Retry.RETRY_AFTER_STATUS_CODES` or not. + + :param iterable remove_headers_on_redirect: + Sequence of headers to remove from the request when a response + indicating a redirect is returned before firing off the redirected + request. + """ + + DEFAULT_METHOD_WHITELIST = frozenset([ + 'HEAD', 'GET', 'PUT', 'DELETE', 'OPTIONS', 'TRACE']) + + RETRY_AFTER_STATUS_CODES = frozenset([413, 429, 503]) + + DEFAULT_REDIRECT_HEADERS_BLACKLIST = frozenset(['Authorization']) + + #: Maximum backoff time. + BACKOFF_MAX = 120 + + def __init__(self, total=10, connect=None, read=None, redirect=None, status=None, + method_whitelist=DEFAULT_METHOD_WHITELIST, status_forcelist=None, + backoff_factor=0, raise_on_redirect=True, raise_on_status=True, + history=None, respect_retry_after_header=True, + remove_headers_on_redirect=DEFAULT_REDIRECT_HEADERS_BLACKLIST): + + self.total = total + self.connect = connect + self.read = read + self.status = status + + if redirect is False or total is False: + redirect = 0 + raise_on_redirect = False + + self.redirect = redirect + self.status_forcelist = status_forcelist or set() + self.method_whitelist = method_whitelist + self.backoff_factor = backoff_factor + self.raise_on_redirect = raise_on_redirect + self.raise_on_status = raise_on_status + self.history = history or tuple() + self.respect_retry_after_header = respect_retry_after_header + self.remove_headers_on_redirect = remove_headers_on_redirect + + def new(self, **kw): + params = dict( + total=self.total, + connect=self.connect, read=self.read, redirect=self.redirect, status=self.status, + method_whitelist=self.method_whitelist, + status_forcelist=self.status_forcelist, + backoff_factor=self.backoff_factor, + raise_on_redirect=self.raise_on_redirect, + raise_on_status=self.raise_on_status, + history=self.history, + remove_headers_on_redirect=self.remove_headers_on_redirect + ) + params.update(kw) + return type(self)(**params) + + @classmethod + def from_int(cls, retries, redirect=True, default=None): + """ Backwards-compatibility for the old retries format.""" + if retries is None: + retries = default if default is not None else cls.DEFAULT + + if isinstance(retries, Retry): + return retries + + redirect = bool(redirect) and None + new_retries = cls(retries, redirect=redirect) + log.debug("Converted retries value: %r -> %r", retries, new_retries) + return new_retries + + def get_backoff_time(self): + """ Formula for computing the current backoff + + :rtype: float + """ + # We want to consider only the last consecutive errors sequence (Ignore redirects). + consecutive_errors_len = len(list(takewhile(lambda x: x.redirect_location is None, + reversed(self.history)))) + if consecutive_errors_len <= 1: + return 0 + + backoff_value = self.backoff_factor * (2 ** (consecutive_errors_len - 1)) + return min(self.BACKOFF_MAX, backoff_value) + + def parse_retry_after(self, retry_after): + # Whitespace: https://tools.ietf.org/html/rfc7230#section-3.2.4 + if re.match(r"^\s*[0-9]+\s*$", retry_after): + seconds = int(retry_after) + else: + retry_date_tuple = email.utils.parsedate(retry_after) + if retry_date_tuple is None: + raise InvalidHeader("Invalid Retry-After header: %s" % retry_after) + retry_date = time.mktime(retry_date_tuple) + seconds = retry_date - time.time() + + if seconds < 0: + seconds = 0 + + return seconds + + def get_retry_after(self, response): + """ Get the value of Retry-After in seconds. """ + + retry_after = response.getheader("Retry-After") + + if retry_after is None: + return None + + return self.parse_retry_after(retry_after) + + def sleep_for_retry(self, response=None): + retry_after = self.get_retry_after(response) + if retry_after: + time.sleep(retry_after) + return True + + return False + + def _sleep_backoff(self): + backoff = self.get_backoff_time() + if backoff <= 0: + return + time.sleep(backoff) + + def sleep(self, response=None): + """ Sleep between retry attempts. + + This method will respect a server's ``Retry-After`` response header + and sleep the duration of the time requested. If that is not present, it + will use an exponential backoff. By default, the backoff factor is 0 and + this method will return immediately. + """ + + if response: + slept = self.sleep_for_retry(response) + if slept: + return + + self._sleep_backoff() + + def _is_connection_error(self, err): + """ Errors when we're fairly sure that the server did not receive the + request, so it should be safe to retry. + """ + return isinstance(err, ConnectTimeoutError) + + def _is_read_error(self, err): + """ Errors that occur after the request has been started, so we should + assume that the server began processing it. + """ + return isinstance(err, (ReadTimeoutError, ProtocolError)) + + def _is_method_retryable(self, method): + """ Checks if a given HTTP method should be retried upon, depending if + it is included on the method whitelist. + """ + if self.method_whitelist and method.upper() not in self.method_whitelist: + return False + + return True + + def is_retry(self, method, status_code, has_retry_after=False): + """ Is this method/status code retryable? (Based on whitelists and control + variables such as the number of total retries to allow, whether to + respect the Retry-After header, whether this header is present, and + whether the returned status code is on the list of status codes to + be retried upon on the presence of the aforementioned header) + """ + if not self._is_method_retryable(method): + return False + + if self.status_forcelist and status_code in self.status_forcelist: + return True + + return (self.total and self.respect_retry_after_header and + has_retry_after and (status_code in self.RETRY_AFTER_STATUS_CODES)) + + def is_exhausted(self): + """ Are we out of retries? """ + retry_counts = (self.total, self.connect, self.read, self.redirect, self.status) + retry_counts = list(filter(None, retry_counts)) + if not retry_counts: + return False + + return min(retry_counts) < 0 + + def increment(self, method=None, url=None, response=None, error=None, + _pool=None, _stacktrace=None): + """ Return a new Retry object with incremented retry counters. + + :param response: A response object, or None, if the server did not + return a response. + :type response: :class:`~urllib3.response.HTTPResponse` + :param Exception error: An error encountered during the request, or + None if the response was received successfully. + + :return: A new ``Retry`` object. + """ + if self.total is False and error: + # Disabled, indicate to re-raise the error. + raise six.reraise(type(error), error, _stacktrace) + + total = self.total + if total is not None: + total -= 1 + + connect = self.connect + read = self.read + redirect = self.redirect + status_count = self.status + cause = 'unknown' + status = None + redirect_location = None + + if error and self._is_connection_error(error): + # Connect retry? + if connect is False: + raise six.reraise(type(error), error, _stacktrace) + elif connect is not None: + connect -= 1 + + elif error and self._is_read_error(error): + # Read retry? + if read is False or not self._is_method_retryable(method): + raise six.reraise(type(error), error, _stacktrace) + elif read is not None: + read -= 1 + + elif response and response.get_redirect_location(): + # Redirect retry? + if redirect is not None: + redirect -= 1 + cause = 'too many redirects' + redirect_location = response.get_redirect_location() + status = response.status + + else: + # Incrementing because of a server error like a 500 in + # status_forcelist and a the given method is in the whitelist + cause = ResponseError.GENERIC_ERROR + if response and response.status: + if status_count is not None: + status_count -= 1 + cause = ResponseError.SPECIFIC_ERROR.format( + status_code=response.status) + status = response.status + + history = self.history + (RequestHistory(method, url, error, status, redirect_location),) + + new_retry = self.new( + total=total, + connect=connect, read=read, redirect=redirect, status=status_count, + history=history) + + if new_retry.is_exhausted(): + raise MaxRetryError(_pool, url, error or ResponseError(cause)) + + log.debug("Incremented Retry for (url='%s'): %r", url, new_retry) + + return new_retry + + def __repr__(self): + return ('{cls.__name__}(total={self.total}, connect={self.connect}, ' + 'read={self.read}, redirect={self.redirect}, status={self.status})').format( + cls=type(self), self=self) + + +# For backwards compatibility (equivalent to pre-v1.9): +Retry.DEFAULT = Retry(3) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/ssl_.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/ssl_.py new file mode 100644 index 0000000..dfc553f --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/ssl_.py @@ -0,0 +1,381 @@ +from __future__ import absolute_import +import errno +import warnings +import hmac +import socket + +from binascii import hexlify, unhexlify +from hashlib import md5, sha1, sha256 + +from ..exceptions import SSLError, InsecurePlatformWarning, SNIMissingWarning +from ..packages import six + + +SSLContext = None +HAS_SNI = False +IS_PYOPENSSL = False +IS_SECURETRANSPORT = False + +# Maps the length of a digest to a possible hash function producing this digest +HASHFUNC_MAP = { + 32: md5, + 40: sha1, + 64: sha256, +} + + +def _const_compare_digest_backport(a, b): + """ + Compare two digests of equal length in constant time. + + The digests must be of type str/bytes. + Returns True if the digests match, and False otherwise. + """ + result = abs(len(a) - len(b)) + for l, r in zip(bytearray(a), bytearray(b)): + result |= l ^ r + return result == 0 + + +_const_compare_digest = getattr(hmac, 'compare_digest', + _const_compare_digest_backport) + + +try: # Test for SSL features + import ssl + from ssl import wrap_socket, CERT_NONE, PROTOCOL_SSLv23 + from ssl import HAS_SNI # Has SNI? +except ImportError: + pass + + +try: + from ssl import OP_NO_SSLv2, OP_NO_SSLv3, OP_NO_COMPRESSION +except ImportError: + OP_NO_SSLv2, OP_NO_SSLv3 = 0x1000000, 0x2000000 + OP_NO_COMPRESSION = 0x20000 + + +# Python 2.7 doesn't have inet_pton on non-Linux so we fallback on inet_aton in +# those cases. This means that we can only detect IPv4 addresses in this case. +if hasattr(socket, 'inet_pton'): + inet_pton = socket.inet_pton +else: + # Maybe we can use ipaddress if the user has urllib3[secure]? + try: + from pip._vendor import ipaddress + + def inet_pton(_, host): + if isinstance(host, bytes): + host = host.decode('ascii') + return ipaddress.ip_address(host) + + except ImportError: # Platform-specific: Non-Linux + def inet_pton(_, host): + return socket.inet_aton(host) + + +# A secure default. +# Sources for more information on TLS ciphers: +# +# - https://wiki.mozilla.org/Security/Server_Side_TLS +# - https://www.ssllabs.com/projects/best-practices/index.html +# - https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/ +# +# The general intent is: +# - Prefer TLS 1.3 cipher suites +# - prefer cipher suites that offer perfect forward secrecy (DHE/ECDHE), +# - prefer ECDHE over DHE for better performance, +# - prefer any AES-GCM and ChaCha20 over any AES-CBC for better performance and +# security, +# - prefer AES-GCM over ChaCha20 because hardware-accelerated AES is common, +# - disable NULL authentication, MD5 MACs and DSS for security reasons. +DEFAULT_CIPHERS = ':'.join([ + 'TLS13-AES-256-GCM-SHA384', + 'TLS13-CHACHA20-POLY1305-SHA256', + 'TLS13-AES-128-GCM-SHA256', + 'ECDH+AESGCM', + 'ECDH+CHACHA20', + 'DH+AESGCM', + 'DH+CHACHA20', + 'ECDH+AES256', + 'DH+AES256', + 'ECDH+AES128', + 'DH+AES', + 'RSA+AESGCM', + 'RSA+AES', + '!aNULL', + '!eNULL', + '!MD5', +]) + +try: + from ssl import SSLContext # Modern SSL? +except ImportError: + import sys + + class SSLContext(object): # Platform-specific: Python 2 + def __init__(self, protocol_version): + self.protocol = protocol_version + # Use default values from a real SSLContext + self.check_hostname = False + self.verify_mode = ssl.CERT_NONE + self.ca_certs = None + self.options = 0 + self.certfile = None + self.keyfile = None + self.ciphers = None + + def load_cert_chain(self, certfile, keyfile): + self.certfile = certfile + self.keyfile = keyfile + + def load_verify_locations(self, cafile=None, capath=None): + self.ca_certs = cafile + + if capath is not None: + raise SSLError("CA directories not supported in older Pythons") + + def set_ciphers(self, cipher_suite): + self.ciphers = cipher_suite + + def wrap_socket(self, socket, server_hostname=None, server_side=False): + warnings.warn( + 'A true SSLContext object is not available. This prevents ' + 'urllib3 from configuring SSL appropriately and may cause ' + 'certain SSL connections to fail. You can upgrade to a newer ' + 'version of Python to solve this. For more information, see ' + 'https://urllib3.readthedocs.io/en/latest/advanced-usage.html' + '#ssl-warnings', + InsecurePlatformWarning + ) + kwargs = { + 'keyfile': self.keyfile, + 'certfile': self.certfile, + 'ca_certs': self.ca_certs, + 'cert_reqs': self.verify_mode, + 'ssl_version': self.protocol, + 'server_side': server_side, + } + return wrap_socket(socket, ciphers=self.ciphers, **kwargs) + + +def assert_fingerprint(cert, fingerprint): + """ + Checks if given fingerprint matches the supplied certificate. + + :param cert: + Certificate as bytes object. + :param fingerprint: + Fingerprint as string of hexdigits, can be interspersed by colons. + """ + + fingerprint = fingerprint.replace(':', '').lower() + digest_length = len(fingerprint) + hashfunc = HASHFUNC_MAP.get(digest_length) + if not hashfunc: + raise SSLError( + 'Fingerprint of invalid length: {0}'.format(fingerprint)) + + # We need encode() here for py32; works on py2 and p33. + fingerprint_bytes = unhexlify(fingerprint.encode()) + + cert_digest = hashfunc(cert).digest() + + if not _const_compare_digest(cert_digest, fingerprint_bytes): + raise SSLError('Fingerprints did not match. Expected "{0}", got "{1}".' + .format(fingerprint, hexlify(cert_digest))) + + +def resolve_cert_reqs(candidate): + """ + Resolves the argument to a numeric constant, which can be passed to + the wrap_socket function/method from the ssl module. + Defaults to :data:`ssl.CERT_NONE`. + If given a string it is assumed to be the name of the constant in the + :mod:`ssl` module or its abbreviation. + (So you can specify `REQUIRED` instead of `CERT_REQUIRED`. + If it's neither `None` nor a string we assume it is already the numeric + constant which can directly be passed to wrap_socket. + """ + if candidate is None: + return CERT_NONE + + if isinstance(candidate, str): + res = getattr(ssl, candidate, None) + if res is None: + res = getattr(ssl, 'CERT_' + candidate) + return res + + return candidate + + +def resolve_ssl_version(candidate): + """ + like resolve_cert_reqs + """ + if candidate is None: + return PROTOCOL_SSLv23 + + if isinstance(candidate, str): + res = getattr(ssl, candidate, None) + if res is None: + res = getattr(ssl, 'PROTOCOL_' + candidate) + return res + + return candidate + + +def create_urllib3_context(ssl_version=None, cert_reqs=None, + options=None, ciphers=None): + """All arguments have the same meaning as ``ssl_wrap_socket``. + + By default, this function does a lot of the same work that + ``ssl.create_default_context`` does on Python 3.4+. It: + + - Disables SSLv2, SSLv3, and compression + - Sets a restricted set of server ciphers + + If you wish to enable SSLv3, you can do:: + + from pip._vendor.urllib3.util import ssl_ + context = ssl_.create_urllib3_context() + context.options &= ~ssl_.OP_NO_SSLv3 + + You can do the same to enable compression (substituting ``COMPRESSION`` + for ``SSLv3`` in the last line above). + + :param ssl_version: + The desired protocol version to use. This will default to + PROTOCOL_SSLv23 which will negotiate the highest protocol that both + the server and your installation of OpenSSL support. + :param cert_reqs: + Whether to require the certificate verification. This defaults to + ``ssl.CERT_REQUIRED``. + :param options: + Specific OpenSSL options. These default to ``ssl.OP_NO_SSLv2``, + ``ssl.OP_NO_SSLv3``, ``ssl.OP_NO_COMPRESSION``. + :param ciphers: + Which cipher suites to allow the server to select. + :returns: + Constructed SSLContext object with specified options + :rtype: SSLContext + """ + context = SSLContext(ssl_version or ssl.PROTOCOL_SSLv23) + + context.set_ciphers(ciphers or DEFAULT_CIPHERS) + + # Setting the default here, as we may have no ssl module on import + cert_reqs = ssl.CERT_REQUIRED if cert_reqs is None else cert_reqs + + if options is None: + options = 0 + # SSLv2 is easily broken and is considered harmful and dangerous + options |= OP_NO_SSLv2 + # SSLv3 has several problems and is now dangerous + options |= OP_NO_SSLv3 + # Disable compression to prevent CRIME attacks for OpenSSL 1.0+ + # (issue #309) + options |= OP_NO_COMPRESSION + + context.options |= options + + context.verify_mode = cert_reqs + if getattr(context, 'check_hostname', None) is not None: # Platform-specific: Python 3.2 + # We do our own verification, including fingerprints and alternative + # hostnames. So disable it here + context.check_hostname = False + return context + + +def ssl_wrap_socket(sock, keyfile=None, certfile=None, cert_reqs=None, + ca_certs=None, server_hostname=None, + ssl_version=None, ciphers=None, ssl_context=None, + ca_cert_dir=None): + """ + All arguments except for server_hostname, ssl_context, and ca_cert_dir have + the same meaning as they do when using :func:`ssl.wrap_socket`. + + :param server_hostname: + When SNI is supported, the expected hostname of the certificate + :param ssl_context: + A pre-made :class:`SSLContext` object. If none is provided, one will + be created using :func:`create_urllib3_context`. + :param ciphers: + A string of ciphers we wish the client to support. + :param ca_cert_dir: + A directory containing CA certificates in multiple separate files, as + supported by OpenSSL's -CApath flag or the capath argument to + SSLContext.load_verify_locations(). + """ + context = ssl_context + if context is None: + # Note: This branch of code and all the variables in it are no longer + # used by urllib3 itself. We should consider deprecating and removing + # this code. + context = create_urllib3_context(ssl_version, cert_reqs, + ciphers=ciphers) + + if ca_certs or ca_cert_dir: + try: + context.load_verify_locations(ca_certs, ca_cert_dir) + except IOError as e: # Platform-specific: Python 2.7 + raise SSLError(e) + # Py33 raises FileNotFoundError which subclasses OSError + # These are not equivalent unless we check the errno attribute + except OSError as e: # Platform-specific: Python 3.3 and beyond + if e.errno == errno.ENOENT: + raise SSLError(e) + raise + elif getattr(context, 'load_default_certs', None) is not None: + # try to load OS default certs; works well on Windows (require Python3.4+) + context.load_default_certs() + + if certfile: + context.load_cert_chain(certfile, keyfile) + + # If we detect server_hostname is an IP address then the SNI + # extension should not be used according to RFC3546 Section 3.1 + # We shouldn't warn the user if SNI isn't available but we would + # not be using SNI anyways due to IP address for server_hostname. + if ((server_hostname is not None and not is_ipaddress(server_hostname)) + or IS_SECURETRANSPORT): + if HAS_SNI and server_hostname is not None: + return context.wrap_socket(sock, server_hostname=server_hostname) + + warnings.warn( + 'An HTTPS request has been made, but the SNI (Server Name ' + 'Indication) extension to TLS is not available on this platform. ' + 'This may cause the server to present an incorrect TLS ' + 'certificate, which can cause validation failures. You can upgrade to ' + 'a newer version of Python to solve this. For more information, see ' + 'https://urllib3.readthedocs.io/en/latest/advanced-usage.html' + '#ssl-warnings', + SNIMissingWarning + ) + + return context.wrap_socket(sock) + + +def is_ipaddress(hostname): + """Detects whether the hostname given is an IP address. + + :param str hostname: Hostname to examine. + :return: True if the hostname is an IP address, False otherwise. + """ + if six.PY3 and isinstance(hostname, bytes): + # IDN A-label bytes are ASCII compatible. + hostname = hostname.decode('ascii') + + families = [socket.AF_INET] + if hasattr(socket, 'AF_INET6'): + families.append(socket.AF_INET6) + + for af in families: + try: + inet_pton(af, hostname) + except (socket.error, ValueError, OSError): + pass + else: + return True + return False diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/timeout.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/timeout.py new file mode 100644 index 0000000..cec817e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/timeout.py @@ -0,0 +1,242 @@ +from __future__ import absolute_import +# The default socket timeout, used by httplib to indicate that no timeout was +# specified by the user +from socket import _GLOBAL_DEFAULT_TIMEOUT +import time + +from ..exceptions import TimeoutStateError + +# A sentinel value to indicate that no timeout was specified by the user in +# urllib3 +_Default = object() + + +# Use time.monotonic if available. +current_time = getattr(time, "monotonic", time.time) + + +class Timeout(object): + """ Timeout configuration. + + Timeouts can be defined as a default for a pool:: + + timeout = Timeout(connect=2.0, read=7.0) + http = PoolManager(timeout=timeout) + response = http.request('GET', 'http://example.com/') + + Or per-request (which overrides the default for the pool):: + + response = http.request('GET', 'http://example.com/', timeout=Timeout(10)) + + Timeouts can be disabled by setting all the parameters to ``None``:: + + no_timeout = Timeout(connect=None, read=None) + response = http.request('GET', 'http://example.com/, timeout=no_timeout) + + + :param total: + This combines the connect and read timeouts into one; the read timeout + will be set to the time leftover from the connect attempt. In the + event that both a connect timeout and a total are specified, or a read + timeout and a total are specified, the shorter timeout will be applied. + + Defaults to None. + + :type total: integer, float, or None + + :param connect: + The maximum amount of time to wait for a connection attempt to a server + to succeed. Omitting the parameter will default the connect timeout to + the system default, probably `the global default timeout in socket.py + <http://hg.python.org/cpython/file/603b4d593758/Lib/socket.py#l535>`_. + None will set an infinite timeout for connection attempts. + + :type connect: integer, float, or None + + :param read: + The maximum amount of time to wait between consecutive + read operations for a response from the server. Omitting + the parameter will default the read timeout to the system + default, probably `the global default timeout in socket.py + <http://hg.python.org/cpython/file/603b4d593758/Lib/socket.py#l535>`_. + None will set an infinite timeout. + + :type read: integer, float, or None + + .. note:: + + Many factors can affect the total amount of time for urllib3 to return + an HTTP response. + + For example, Python's DNS resolver does not obey the timeout specified + on the socket. Other factors that can affect total request time include + high CPU load, high swap, the program running at a low priority level, + or other behaviors. + + In addition, the read and total timeouts only measure the time between + read operations on the socket connecting the client and the server, + not the total amount of time for the request to return a complete + response. For most requests, the timeout is raised because the server + has not sent the first byte in the specified time. This is not always + the case; if a server streams one byte every fifteen seconds, a timeout + of 20 seconds will not trigger, even though the request will take + several minutes to complete. + + If your goal is to cut off any request after a set amount of wall clock + time, consider having a second "watcher" thread to cut off a slow + request. + """ + + #: A sentinel object representing the default timeout value + DEFAULT_TIMEOUT = _GLOBAL_DEFAULT_TIMEOUT + + def __init__(self, total=None, connect=_Default, read=_Default): + self._connect = self._validate_timeout(connect, 'connect') + self._read = self._validate_timeout(read, 'read') + self.total = self._validate_timeout(total, 'total') + self._start_connect = None + + def __str__(self): + return '%s(connect=%r, read=%r, total=%r)' % ( + type(self).__name__, self._connect, self._read, self.total) + + @classmethod + def _validate_timeout(cls, value, name): + """ Check that a timeout attribute is valid. + + :param value: The timeout value to validate + :param name: The name of the timeout attribute to validate. This is + used to specify in error messages. + :return: The validated and casted version of the given value. + :raises ValueError: If it is a numeric value less than or equal to + zero, or the type is not an integer, float, or None. + """ + if value is _Default: + return cls.DEFAULT_TIMEOUT + + if value is None or value is cls.DEFAULT_TIMEOUT: + return value + + if isinstance(value, bool): + raise ValueError("Timeout cannot be a boolean value. It must " + "be an int, float or None.") + try: + float(value) + except (TypeError, ValueError): + raise ValueError("Timeout value %s was %s, but it must be an " + "int, float or None." % (name, value)) + + try: + if value <= 0: + raise ValueError("Attempted to set %s timeout to %s, but the " + "timeout cannot be set to a value less " + "than or equal to 0." % (name, value)) + except TypeError: # Python 3 + raise ValueError("Timeout value %s was %s, but it must be an " + "int, float or None." % (name, value)) + + return value + + @classmethod + def from_float(cls, timeout): + """ Create a new Timeout from a legacy timeout value. + + The timeout value used by httplib.py sets the same timeout on the + connect(), and recv() socket requests. This creates a :class:`Timeout` + object that sets the individual timeouts to the ``timeout`` value + passed to this function. + + :param timeout: The legacy timeout value. + :type timeout: integer, float, sentinel default object, or None + :return: Timeout object + :rtype: :class:`Timeout` + """ + return Timeout(read=timeout, connect=timeout) + + def clone(self): + """ Create a copy of the timeout object + + Timeout properties are stored per-pool but each request needs a fresh + Timeout object to ensure each one has its own start/stop configured. + + :return: a copy of the timeout object + :rtype: :class:`Timeout` + """ + # We can't use copy.deepcopy because that will also create a new object + # for _GLOBAL_DEFAULT_TIMEOUT, which socket.py uses as a sentinel to + # detect the user default. + return Timeout(connect=self._connect, read=self._read, + total=self.total) + + def start_connect(self): + """ Start the timeout clock, used during a connect() attempt + + :raises urllib3.exceptions.TimeoutStateError: if you attempt + to start a timer that has been started already. + """ + if self._start_connect is not None: + raise TimeoutStateError("Timeout timer has already been started.") + self._start_connect = current_time() + return self._start_connect + + def get_connect_duration(self): + """ Gets the time elapsed since the call to :meth:`start_connect`. + + :return: Elapsed time. + :rtype: float + :raises urllib3.exceptions.TimeoutStateError: if you attempt + to get duration for a timer that hasn't been started. + """ + if self._start_connect is None: + raise TimeoutStateError("Can't get connect duration for timer " + "that has not started.") + return current_time() - self._start_connect + + @property + def connect_timeout(self): + """ Get the value to use when setting a connection timeout. + + This will be a positive float or integer, the value None + (never timeout), or the default system timeout. + + :return: Connect timeout. + :rtype: int, float, :attr:`Timeout.DEFAULT_TIMEOUT` or None + """ + if self.total is None: + return self._connect + + if self._connect is None or self._connect is self.DEFAULT_TIMEOUT: + return self.total + + return min(self._connect, self.total) + + @property + def read_timeout(self): + """ Get the value for the read timeout. + + This assumes some time has elapsed in the connection timeout and + computes the read timeout appropriately. + + If self.total is set, the read timeout is dependent on the amount of + time taken by the connect timeout. If the connection time has not been + established, a :exc:`~urllib3.exceptions.TimeoutStateError` will be + raised. + + :return: Value to use for the read timeout. + :rtype: int, float, :attr:`Timeout.DEFAULT_TIMEOUT` or None + :raises urllib3.exceptions.TimeoutStateError: If :meth:`start_connect` + has not yet been called on this object. + """ + if (self.total is not None and + self.total is not self.DEFAULT_TIMEOUT and + self._read is not None and + self._read is not self.DEFAULT_TIMEOUT): + # In case the connect timeout has not yet been established. + if self._start_connect is None: + return self._read + return max(0, min(self.total - self.get_connect_duration(), + self._read)) + elif self.total is not None and self.total is not self.DEFAULT_TIMEOUT: + return max(0, self.total - self.get_connect_duration()) + else: + return self._read diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/url.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/url.py new file mode 100644 index 0000000..6b6f996 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/url.py @@ -0,0 +1,230 @@ +from __future__ import absolute_import +from collections import namedtuple + +from ..exceptions import LocationParseError + + +url_attrs = ['scheme', 'auth', 'host', 'port', 'path', 'query', 'fragment'] + +# We only want to normalize urls with an HTTP(S) scheme. +# urllib3 infers URLs without a scheme (None) to be http. +NORMALIZABLE_SCHEMES = ('http', 'https', None) + + +class Url(namedtuple('Url', url_attrs)): + """ + Datastructure for representing an HTTP URL. Used as a return value for + :func:`parse_url`. Both the scheme and host are normalized as they are + both case-insensitive according to RFC 3986. + """ + __slots__ = () + + def __new__(cls, scheme=None, auth=None, host=None, port=None, path=None, + query=None, fragment=None): + if path and not path.startswith('/'): + path = '/' + path + if scheme: + scheme = scheme.lower() + if host and scheme in NORMALIZABLE_SCHEMES: + host = host.lower() + return super(Url, cls).__new__(cls, scheme, auth, host, port, path, + query, fragment) + + @property + def hostname(self): + """For backwards-compatibility with urlparse. We're nice like that.""" + return self.host + + @property + def request_uri(self): + """Absolute path including the query string.""" + uri = self.path or '/' + + if self.query is not None: + uri += '?' + self.query + + return uri + + @property + def netloc(self): + """Network location including host and port""" + if self.port: + return '%s:%d' % (self.host, self.port) + return self.host + + @property + def url(self): + """ + Convert self into a url + + This function should more or less round-trip with :func:`.parse_url`. The + returned url may not be exactly the same as the url inputted to + :func:`.parse_url`, but it should be equivalent by the RFC (e.g., urls + with a blank port will have : removed). + + Example: :: + + >>> U = parse_url('http://google.com/mail/') + >>> U.url + 'http://google.com/mail/' + >>> Url('http', 'username:password', 'host.com', 80, + ... '/path', 'query', 'fragment').url + 'http://username:password@host.com:80/path?query#fragment' + """ + scheme, auth, host, port, path, query, fragment = self + url = '' + + # We use "is not None" we want things to happen with empty strings (or 0 port) + if scheme is not None: + url += scheme + '://' + if auth is not None: + url += auth + '@' + if host is not None: + url += host + if port is not None: + url += ':' + str(port) + if path is not None: + url += path + if query is not None: + url += '?' + query + if fragment is not None: + url += '#' + fragment + + return url + + def __str__(self): + return self.url + + +def split_first(s, delims): + """ + Given a string and an iterable of delimiters, split on the first found + delimiter. Return two split parts and the matched delimiter. + + If not found, then the first part is the full input string. + + Example:: + + >>> split_first('foo/bar?baz', '?/=') + ('foo', 'bar?baz', '/') + >>> split_first('foo/bar?baz', '123') + ('foo/bar?baz', '', None) + + Scales linearly with number of delims. Not ideal for large number of delims. + """ + min_idx = None + min_delim = None + for d in delims: + idx = s.find(d) + if idx < 0: + continue + + if min_idx is None or idx < min_idx: + min_idx = idx + min_delim = d + + if min_idx is None or min_idx < 0: + return s, '', None + + return s[:min_idx], s[min_idx + 1:], min_delim + + +def parse_url(url): + """ + Given a url, return a parsed :class:`.Url` namedtuple. Best-effort is + performed to parse incomplete urls. Fields not provided will be None. + + Partly backwards-compatible with :mod:`urlparse`. + + Example:: + + >>> parse_url('http://google.com/mail/') + Url(scheme='http', host='google.com', port=None, path='/mail/', ...) + >>> parse_url('google.com:80') + Url(scheme=None, host='google.com', port=80, path=None, ...) + >>> parse_url('/foo?bar') + Url(scheme=None, host=None, port=None, path='/foo', query='bar', ...) + """ + + # While this code has overlap with stdlib's urlparse, it is much + # simplified for our needs and less annoying. + # Additionally, this implementations does silly things to be optimal + # on CPython. + + if not url: + # Empty + return Url() + + scheme = None + auth = None + host = None + port = None + path = None + fragment = None + query = None + + # Scheme + if '://' in url: + scheme, url = url.split('://', 1) + + # Find the earliest Authority Terminator + # (http://tools.ietf.org/html/rfc3986#section-3.2) + url, path_, delim = split_first(url, ['/', '?', '#']) + + if delim: + # Reassemble the path + path = delim + path_ + + # Auth + if '@' in url: + # Last '@' denotes end of auth part + auth, url = url.rsplit('@', 1) + + # IPv6 + if url and url[0] == '[': + host, url = url.split(']', 1) + host += ']' + + # Port + if ':' in url: + _host, port = url.split(':', 1) + + if not host: + host = _host + + if port: + # If given, ports must be integers. No whitespace, no plus or + # minus prefixes, no non-integer digits such as ^2 (superscript). + if not port.isdigit(): + raise LocationParseError(url) + try: + port = int(port) + except ValueError: + raise LocationParseError(url) + else: + # Blank ports are cool, too. (rfc3986#section-3.2.3) + port = None + + elif not host and url: + host = url + + if not path: + return Url(scheme, auth, host, port, path, query, fragment) + + # Fragment + if '#' in path: + path, fragment = path.split('#', 1) + + # Query + if '?' in path: + path, query = path.split('?', 1) + + return Url(scheme, auth, host, port, path, query, fragment) + + +def get_host(url): + """ + Deprecated. Use :func:`parse_url` instead. + """ + p = parse_url(url) + return p.scheme or 'http', p.hostname, p.port diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/wait.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/wait.py new file mode 100644 index 0000000..4db71ba --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/wait.py @@ -0,0 +1,150 @@ +import errno +from functools import partial +import select +import sys +try: + from time import monotonic +except ImportError: + from time import time as monotonic + +__all__ = ["NoWayToWaitForSocketError", "wait_for_read", "wait_for_write"] + + +class NoWayToWaitForSocketError(Exception): + pass + + +# How should we wait on sockets? +# +# There are two types of APIs you can use for waiting on sockets: the fancy +# modern stateful APIs like epoll/kqueue, and the older stateless APIs like +# select/poll. The stateful APIs are more efficient when you have a lots of +# sockets to keep track of, because you can set them up once and then use them +# lots of times. But we only ever want to wait on a single socket at a time +# and don't want to keep track of state, so the stateless APIs are actually +# more efficient. So we want to use select() or poll(). +# +# Now, how do we choose between select() and poll()? On traditional Unixes, +# select() has a strange calling convention that makes it slow, or fail +# altogether, for high-numbered file descriptors. The point of poll() is to fix +# that, so on Unixes, we prefer poll(). +# +# On Windows, there is no poll() (or at least Python doesn't provide a wrapper +# for it), but that's OK, because on Windows, select() doesn't have this +# strange calling convention; plain select() works fine. +# +# So: on Windows we use select(), and everywhere else we use poll(). We also +# fall back to select() in case poll() is somehow broken or missing. + +if sys.version_info >= (3, 5): + # Modern Python, that retries syscalls by default + def _retry_on_intr(fn, timeout): + return fn(timeout) +else: + # Old and broken Pythons. + def _retry_on_intr(fn, timeout): + if timeout is None: + deadline = float("inf") + else: + deadline = monotonic() + timeout + + while True: + try: + return fn(timeout) + # OSError for 3 <= pyver < 3.5, select.error for pyver <= 2.7 + except (OSError, select.error) as e: + # 'e.args[0]' incantation works for both OSError and select.error + if e.args[0] != errno.EINTR: + raise + else: + timeout = deadline - monotonic() + if timeout < 0: + timeout = 0 + if timeout == float("inf"): + timeout = None + continue + + +def select_wait_for_socket(sock, read=False, write=False, timeout=None): + if not read and not write: + raise RuntimeError("must specify at least one of read=True, write=True") + rcheck = [] + wcheck = [] + if read: + rcheck.append(sock) + if write: + wcheck.append(sock) + # When doing a non-blocking connect, most systems signal success by + # marking the socket writable. Windows, though, signals success by marked + # it as "exceptional". We paper over the difference by checking the write + # sockets for both conditions. (The stdlib selectors module does the same + # thing.) + fn = partial(select.select, rcheck, wcheck, wcheck) + rready, wready, xready = _retry_on_intr(fn, timeout) + return bool(rready or wready or xready) + + +def poll_wait_for_socket(sock, read=False, write=False, timeout=None): + if not read and not write: + raise RuntimeError("must specify at least one of read=True, write=True") + mask = 0 + if read: + mask |= select.POLLIN + if write: + mask |= select.POLLOUT + poll_obj = select.poll() + poll_obj.register(sock, mask) + + # For some reason, poll() takes timeout in milliseconds + def do_poll(t): + if t is not None: + t *= 1000 + return poll_obj.poll(t) + + return bool(_retry_on_intr(do_poll, timeout)) + + +def null_wait_for_socket(*args, **kwargs): + raise NoWayToWaitForSocketError("no select-equivalent available") + + +def _have_working_poll(): + # Apparently some systems have a select.poll that fails as soon as you try + # to use it, either due to strange configuration or broken monkeypatching + # from libraries like eventlet/greenlet. + try: + poll_obj = select.poll() + _retry_on_intr(poll_obj.poll, 0) + except (AttributeError, OSError): + return False + else: + return True + + +def wait_for_socket(*args, **kwargs): + # We delay choosing which implementation to use until the first time we're + # called. We could do it at import time, but then we might make the wrong + # decision if someone goes wild with monkeypatching select.poll after + # we're imported. + global wait_for_socket + if _have_working_poll(): + wait_for_socket = poll_wait_for_socket + elif hasattr(select, "select"): + wait_for_socket = select_wait_for_socket + else: # Platform-specific: Appengine. + wait_for_socket = null_wait_for_socket + return wait_for_socket(*args, **kwargs) + + +def wait_for_read(sock, timeout=None): + """ Waits for reading to be available on a given socket. + Returns True if the socket is readable, or False if the timeout expired. + """ + return wait_for_socket(sock, read=True, timeout=timeout) + + +def wait_for_write(sock, timeout=None): + """ Waits for writing to be available on a given socket. + Returns True if the socket is readable, or False if the timeout expired. + """ + return wait_for_socket(sock, write=True, timeout=timeout) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/__init__.py new file mode 100644 index 0000000..d21d697 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/__init__.py @@ -0,0 +1,342 @@ +# coding: utf-8 +""" + + webencodings + ~~~~~~~~~~~~ + + This is a Python implementation of the `WHATWG Encoding standard + <http://encoding.spec.whatwg.org/>`. See README for details. + + :copyright: Copyright 2012 by Simon Sapin + :license: BSD, see LICENSE for details. + +""" + +from __future__ import unicode_literals + +import codecs + +from .labels import LABELS + + +VERSION = '0.5.1' + + +# Some names in Encoding are not valid Python aliases. Remap these. +PYTHON_NAMES = { + 'iso-8859-8-i': 'iso-8859-8', + 'x-mac-cyrillic': 'mac-cyrillic', + 'macintosh': 'mac-roman', + 'windows-874': 'cp874'} + +CACHE = {} + + +def ascii_lower(string): + r"""Transform (only) ASCII letters to lower case: A-Z is mapped to a-z. + + :param string: An Unicode string. + :returns: A new Unicode string. + + This is used for `ASCII case-insensitive + <http://encoding.spec.whatwg.org/#ascii-case-insensitive>`_ + matching of encoding labels. + The same matching is also used, among other things, + for `CSS keywords <http://dev.w3.org/csswg/css-values/#keywords>`_. + + This is different from the :meth:`~py:str.lower` method of Unicode strings + which also affect non-ASCII characters, + sometimes mapping them into the ASCII range: + + >>> keyword = u'Bac\N{KELVIN SIGN}ground' + >>> assert keyword.lower() == u'background' + >>> assert ascii_lower(keyword) != keyword.lower() + >>> assert ascii_lower(keyword) == u'bac\N{KELVIN SIGN}ground' + + """ + # This turns out to be faster than unicode.translate() + return string.encode('utf8').lower().decode('utf8') + + +def lookup(label): + """ + Look for an encoding by its label. + This is the spec’s `get an encoding + <http://encoding.spec.whatwg.org/#concept-encoding-get>`_ algorithm. + Supported labels are listed there. + + :param label: A string. + :returns: + An :class:`Encoding` object, or :obj:`None` for an unknown label. + + """ + # Only strip ASCII whitespace: U+0009, U+000A, U+000C, U+000D, and U+0020. + label = ascii_lower(label.strip('\t\n\f\r ')) + name = LABELS.get(label) + if name is None: + return None + encoding = CACHE.get(name) + if encoding is None: + if name == 'x-user-defined': + from .x_user_defined import codec_info + else: + python_name = PYTHON_NAMES.get(name, name) + # Any python_name value that gets to here should be valid. + codec_info = codecs.lookup(python_name) + encoding = Encoding(name, codec_info) + CACHE[name] = encoding + return encoding + + +def _get_encoding(encoding_or_label): + """ + Accept either an encoding object or label. + + :param encoding: An :class:`Encoding` object or a label string. + :returns: An :class:`Encoding` object. + :raises: :exc:`~exceptions.LookupError` for an unknown label. + + """ + if hasattr(encoding_or_label, 'codec_info'): + return encoding_or_label + + encoding = lookup(encoding_or_label) + if encoding is None: + raise LookupError('Unknown encoding label: %r' % encoding_or_label) + return encoding + + +class Encoding(object): + """Reresents a character encoding such as UTF-8, + that can be used for decoding or encoding. + + .. attribute:: name + + Canonical name of the encoding + + .. attribute:: codec_info + + The actual implementation of the encoding, + a stdlib :class:`~codecs.CodecInfo` object. + See :func:`codecs.register`. + + """ + def __init__(self, name, codec_info): + self.name = name + self.codec_info = codec_info + + def __repr__(self): + return '<Encoding %s>' % self.name + + +#: The UTF-8 encoding. Should be used for new content and formats. +UTF8 = lookup('utf-8') + +_UTF16LE = lookup('utf-16le') +_UTF16BE = lookup('utf-16be') + + +def decode(input, fallback_encoding, errors='replace'): + """ + Decode a single string. + + :param input: A byte string + :param fallback_encoding: + An :class:`Encoding` object or a label string. + The encoding to use if :obj:`input` does note have a BOM. + :param errors: Type of error handling. See :func:`codecs.register`. + :raises: :exc:`~exceptions.LookupError` for an unknown encoding label. + :return: + A ``(output, encoding)`` tuple of an Unicode string + and an :obj:`Encoding`. + + """ + # Fail early if `encoding` is an invalid label. + fallback_encoding = _get_encoding(fallback_encoding) + bom_encoding, input = _detect_bom(input) + encoding = bom_encoding or fallback_encoding + return encoding.codec_info.decode(input, errors)[0], encoding + + +def _detect_bom(input): + """Return (bom_encoding, input), with any BOM removed from the input.""" + if input.startswith(b'\xFF\xFE'): + return _UTF16LE, input[2:] + if input.startswith(b'\xFE\xFF'): + return _UTF16BE, input[2:] + if input.startswith(b'\xEF\xBB\xBF'): + return UTF8, input[3:] + return None, input + + +def encode(input, encoding=UTF8, errors='strict'): + """ + Encode a single string. + + :param input: An Unicode string. + :param encoding: An :class:`Encoding` object or a label string. + :param errors: Type of error handling. See :func:`codecs.register`. + :raises: :exc:`~exceptions.LookupError` for an unknown encoding label. + :return: A byte string. + + """ + return _get_encoding(encoding).codec_info.encode(input, errors)[0] + + +def iter_decode(input, fallback_encoding, errors='replace'): + """ + "Pull"-based decoder. + + :param input: + An iterable of byte strings. + + The input is first consumed just enough to determine the encoding + based on the precense of a BOM, + then consumed on demand when the return value is. + :param fallback_encoding: + An :class:`Encoding` object or a label string. + The encoding to use if :obj:`input` does note have a BOM. + :param errors: Type of error handling. See :func:`codecs.register`. + :raises: :exc:`~exceptions.LookupError` for an unknown encoding label. + :returns: + An ``(output, encoding)`` tuple. + :obj:`output` is an iterable of Unicode strings, + :obj:`encoding` is the :obj:`Encoding` that is being used. + + """ + + decoder = IncrementalDecoder(fallback_encoding, errors) + generator = _iter_decode_generator(input, decoder) + encoding = next(generator) + return generator, encoding + + +def _iter_decode_generator(input, decoder): + """Return a generator that first yields the :obj:`Encoding`, + then yields output chukns as Unicode strings. + + """ + decode = decoder.decode + input = iter(input) + for chunck in input: + output = decode(chunck) + if output: + assert decoder.encoding is not None + yield decoder.encoding + yield output + break + else: + # Input exhausted without determining the encoding + output = decode(b'', final=True) + assert decoder.encoding is not None + yield decoder.encoding + if output: + yield output + return + + for chunck in input: + output = decode(chunck) + if output: + yield output + output = decode(b'', final=True) + if output: + yield output + + +def iter_encode(input, encoding=UTF8, errors='strict'): + """ + “Pull”-based encoder. + + :param input: An iterable of Unicode strings. + :param encoding: An :class:`Encoding` object or a label string. + :param errors: Type of error handling. See :func:`codecs.register`. + :raises: :exc:`~exceptions.LookupError` for an unknown encoding label. + :returns: An iterable of byte strings. + + """ + # Fail early if `encoding` is an invalid label. + encode = IncrementalEncoder(encoding, errors).encode + return _iter_encode_generator(input, encode) + + +def _iter_encode_generator(input, encode): + for chunck in input: + output = encode(chunck) + if output: + yield output + output = encode('', final=True) + if output: + yield output + + +class IncrementalDecoder(object): + """ + “Push”-based decoder. + + :param fallback_encoding: + An :class:`Encoding` object or a label string. + The encoding to use if :obj:`input` does note have a BOM. + :param errors: Type of error handling. See :func:`codecs.register`. + :raises: :exc:`~exceptions.LookupError` for an unknown encoding label. + + """ + def __init__(self, fallback_encoding, errors='replace'): + # Fail early if `encoding` is an invalid label. + self._fallback_encoding = _get_encoding(fallback_encoding) + self._errors = errors + self._buffer = b'' + self._decoder = None + #: The actual :class:`Encoding` that is being used, + #: or :obj:`None` if that is not determined yet. + #: (Ie. if there is not enough input yet to determine + #: if there is a BOM.) + self.encoding = None # Not known yet. + + def decode(self, input, final=False): + """Decode one chunk of the input. + + :param input: A byte string. + :param final: + Indicate that no more input is available. + Must be :obj:`True` if this is the last call. + :returns: An Unicode string. + + """ + decoder = self._decoder + if decoder is not None: + return decoder(input, final) + + input = self._buffer + input + encoding, input = _detect_bom(input) + if encoding is None: + if len(input) < 3 and not final: # Not enough data yet. + self._buffer = input + return '' + else: # No BOM + encoding = self._fallback_encoding + decoder = encoding.codec_info.incrementaldecoder(self._errors).decode + self._decoder = decoder + self.encoding = encoding + return decoder(input, final) + + +class IncrementalEncoder(object): + """ + “Push”-based encoder. + + :param encoding: An :class:`Encoding` object or a label string. + :param errors: Type of error handling. See :func:`codecs.register`. + :raises: :exc:`~exceptions.LookupError` for an unknown encoding label. + + .. method:: encode(input, final=False) + + :param input: An Unicode string. + :param final: + Indicate that no more input is available. + Must be :obj:`True` if this is the last call. + :returns: A byte string. + + """ + def __init__(self, encoding=UTF8, errors='strict'): + encoding = _get_encoding(encoding) + self.encode = encoding.codec_info.incrementalencoder(errors).encode diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a25ca4070ccebd4297e66935d6ad9a85f14ba4a9 GIT binary patch literal 9703 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 Xz?3U37v~liORp8#;!?4+bnSluvR*AE literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/__pycache__/labels.cpython-36.pyc b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/__pycache__/labels.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..53dd117f3f43f56941005d6f38d3a69cbee54f50 GIT binary patch literal 4115 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 K?SJ}j+`vCS#bMh3 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/labels.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/labels.py new file mode 100644 index 0000000..29cbf91 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/labels.py @@ -0,0 +1,231 @@ +""" + + webencodings.labels + ~~~~~~~~~~~~~~~~~~~ + + Map encoding labels to their name. + + :copyright: Copyright 2012 by Simon Sapin + :license: BSD, see LICENSE for details. + +""" + +# XXX Do not edit! +# This file is automatically generated by mklabels.py + +LABELS = { + 'unicode-1-1-utf-8': 'utf-8', + 'utf-8': 'utf-8', + 'utf8': 'utf-8', + '866': 'ibm866', + 'cp866': 'ibm866', + 'csibm866': 'ibm866', + 'ibm866': 'ibm866', + 'csisolatin2': 'iso-8859-2', + 'iso-8859-2': 'iso-8859-2', + 'iso-ir-101': 'iso-8859-2', + 'iso8859-2': 'iso-8859-2', + 'iso88592': 'iso-8859-2', + 'iso_8859-2': 'iso-8859-2', + 'iso_8859-2:1987': 'iso-8859-2', + 'l2': 'iso-8859-2', + 'latin2': 'iso-8859-2', + 'csisolatin3': 'iso-8859-3', + 'iso-8859-3': 'iso-8859-3', + 'iso-ir-109': 'iso-8859-3', + 'iso8859-3': 'iso-8859-3', + 'iso88593': 'iso-8859-3', + 'iso_8859-3': 'iso-8859-3', + 'iso_8859-3:1988': 'iso-8859-3', + 'l3': 'iso-8859-3', + 'latin3': 'iso-8859-3', + 'csisolatin4': 'iso-8859-4', + 'iso-8859-4': 'iso-8859-4', + 'iso-ir-110': 'iso-8859-4', + 'iso8859-4': 'iso-8859-4', + 'iso88594': 'iso-8859-4', + 'iso_8859-4': 'iso-8859-4', + 'iso_8859-4:1988': 'iso-8859-4', + 'l4': 'iso-8859-4', + 'latin4': 'iso-8859-4', + 'csisolatincyrillic': 'iso-8859-5', + 'cyrillic': 'iso-8859-5', + 'iso-8859-5': 'iso-8859-5', + 'iso-ir-144': 'iso-8859-5', + 'iso8859-5': 'iso-8859-5', + 'iso88595': 'iso-8859-5', + 'iso_8859-5': 'iso-8859-5', + 'iso_8859-5:1988': 'iso-8859-5', + 'arabic': 'iso-8859-6', + 'asmo-708': 'iso-8859-6', + 'csiso88596e': 'iso-8859-6', + 'csiso88596i': 'iso-8859-6', + 'csisolatinarabic': 'iso-8859-6', + 'ecma-114': 'iso-8859-6', + 'iso-8859-6': 'iso-8859-6', + 'iso-8859-6-e': 'iso-8859-6', + 'iso-8859-6-i': 'iso-8859-6', + 'iso-ir-127': 'iso-8859-6', + 'iso8859-6': 'iso-8859-6', + 'iso88596': 'iso-8859-6', + 'iso_8859-6': 'iso-8859-6', + 'iso_8859-6:1987': 'iso-8859-6', + 'csisolatingreek': 'iso-8859-7', + 'ecma-118': 'iso-8859-7', + 'elot_928': 'iso-8859-7', + 'greek': 'iso-8859-7', + 'greek8': 'iso-8859-7', + 'iso-8859-7': 'iso-8859-7', + 'iso-ir-126': 'iso-8859-7', + 'iso8859-7': 'iso-8859-7', + 'iso88597': 'iso-8859-7', + 'iso_8859-7': 'iso-8859-7', + 'iso_8859-7:1987': 'iso-8859-7', + 'sun_eu_greek': 'iso-8859-7', + 'csiso88598e': 'iso-8859-8', + 'csisolatinhebrew': 'iso-8859-8', + 'hebrew': 'iso-8859-8', + 'iso-8859-8': 'iso-8859-8', + 'iso-8859-8-e': 'iso-8859-8', + 'iso-ir-138': 'iso-8859-8', + 'iso8859-8': 'iso-8859-8', + 'iso88598': 'iso-8859-8', + 'iso_8859-8': 'iso-8859-8', + 'iso_8859-8:1988': 'iso-8859-8', + 'visual': 'iso-8859-8', + 'csiso88598i': 'iso-8859-8-i', + 'iso-8859-8-i': 'iso-8859-8-i', + 'logical': 'iso-8859-8-i', + 'csisolatin6': 'iso-8859-10', + 'iso-8859-10': 'iso-8859-10', + 'iso-ir-157': 'iso-8859-10', + 'iso8859-10': 'iso-8859-10', + 'iso885910': 'iso-8859-10', + 'l6': 'iso-8859-10', + 'latin6': 'iso-8859-10', + 'iso-8859-13': 'iso-8859-13', + 'iso8859-13': 'iso-8859-13', + 'iso885913': 'iso-8859-13', + 'iso-8859-14': 'iso-8859-14', + 'iso8859-14': 'iso-8859-14', + 'iso885914': 'iso-8859-14', + 'csisolatin9': 'iso-8859-15', + 'iso-8859-15': 'iso-8859-15', + 'iso8859-15': 'iso-8859-15', + 'iso885915': 'iso-8859-15', + 'iso_8859-15': 'iso-8859-15', + 'l9': 'iso-8859-15', + 'iso-8859-16': 'iso-8859-16', + 'cskoi8r': 'koi8-r', + 'koi': 'koi8-r', + 'koi8': 'koi8-r', + 'koi8-r': 'koi8-r', + 'koi8_r': 'koi8-r', + 'koi8-u': 'koi8-u', + 'csmacintosh': 'macintosh', + 'mac': 'macintosh', + 'macintosh': 'macintosh', + 'x-mac-roman': 'macintosh', + 'dos-874': 'windows-874', + 'iso-8859-11': 'windows-874', + 'iso8859-11': 'windows-874', + 'iso885911': 'windows-874', + 'tis-620': 'windows-874', + 'windows-874': 'windows-874', + 'cp1250': 'windows-1250', + 'windows-1250': 'windows-1250', + 'x-cp1250': 'windows-1250', + 'cp1251': 'windows-1251', + 'windows-1251': 'windows-1251', + 'x-cp1251': 'windows-1251', + 'ansi_x3.4-1968': 'windows-1252', + 'ascii': 'windows-1252', + 'cp1252': 'windows-1252', + 'cp819': 'windows-1252', + 'csisolatin1': 'windows-1252', + 'ibm819': 'windows-1252', + 'iso-8859-1': 'windows-1252', + 'iso-ir-100': 'windows-1252', + 'iso8859-1': 'windows-1252', + 'iso88591': 'windows-1252', + 'iso_8859-1': 'windows-1252', + 'iso_8859-1:1987': 'windows-1252', + 'l1': 'windows-1252', + 'latin1': 'windows-1252', + 'us-ascii': 'windows-1252', + 'windows-1252': 'windows-1252', + 'x-cp1252': 'windows-1252', + 'cp1253': 'windows-1253', + 'windows-1253': 'windows-1253', + 'x-cp1253': 'windows-1253', + 'cp1254': 'windows-1254', + 'csisolatin5': 'windows-1254', + 'iso-8859-9': 'windows-1254', + 'iso-ir-148': 'windows-1254', + 'iso8859-9': 'windows-1254', + 'iso88599': 'windows-1254', + 'iso_8859-9': 'windows-1254', + 'iso_8859-9:1989': 'windows-1254', + 'l5': 'windows-1254', + 'latin5': 'windows-1254', + 'windows-1254': 'windows-1254', + 'x-cp1254': 'windows-1254', + 'cp1255': 'windows-1255', + 'windows-1255': 'windows-1255', + 'x-cp1255': 'windows-1255', + 'cp1256': 'windows-1256', + 'windows-1256': 'windows-1256', + 'x-cp1256': 'windows-1256', + 'cp1257': 'windows-1257', + 'windows-1257': 'windows-1257', + 'x-cp1257': 'windows-1257', + 'cp1258': 'windows-1258', + 'windows-1258': 'windows-1258', + 'x-cp1258': 'windows-1258', + 'x-mac-cyrillic': 'x-mac-cyrillic', + 'x-mac-ukrainian': 'x-mac-cyrillic', + 'chinese': 'gbk', + 'csgb2312': 'gbk', + 'csiso58gb231280': 'gbk', + 'gb2312': 'gbk', + 'gb_2312': 'gbk', + 'gb_2312-80': 'gbk', + 'gbk': 'gbk', + 'iso-ir-58': 'gbk', + 'x-gbk': 'gbk', + 'gb18030': 'gb18030', + 'hz-gb-2312': 'hz-gb-2312', + 'big5': 'big5', + 'big5-hkscs': 'big5', + 'cn-big5': 'big5', + 'csbig5': 'big5', + 'x-x-big5': 'big5', + 'cseucpkdfmtjapanese': 'euc-jp', + 'euc-jp': 'euc-jp', + 'x-euc-jp': 'euc-jp', + 'csiso2022jp': 'iso-2022-jp', + 'iso-2022-jp': 'iso-2022-jp', + 'csshiftjis': 'shift_jis', + 'ms_kanji': 'shift_jis', + 'shift-jis': 'shift_jis', + 'shift_jis': 'shift_jis', + 'sjis': 'shift_jis', + 'windows-31j': 'shift_jis', + 'x-sjis': 'shift_jis', + 'cseuckr': 'euc-kr', + 'csksc56011987': 'euc-kr', + 'euc-kr': 'euc-kr', + 'iso-ir-149': 'euc-kr', + 'korean': 'euc-kr', + 'ks_c_5601-1987': 'euc-kr', + 'ks_c_5601-1989': 'euc-kr', + 'ksc5601': 'euc-kr', + 'ksc_5601': 'euc-kr', + 'windows-949': 'euc-kr', + 'csiso2022kr': 'iso-2022-kr', + 'iso-2022-kr': 'iso-2022-kr', + 'utf-16be': 'utf-16be', + 'utf-16': 'utf-16le', + 'utf-16le': 'utf-16le', + 'x-user-defined': 'x-user-defined', +} diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/mklabels.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/mklabels.py new file mode 100644 index 0000000..295dc92 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/mklabels.py @@ -0,0 +1,59 @@ +""" + + webencodings.mklabels + ~~~~~~~~~~~~~~~~~~~~~ + + Regenarate the webencodings.labels module. + + :copyright: Copyright 2012 by Simon Sapin + :license: BSD, see LICENSE for details. + +""" + +import json +try: + from urllib import urlopen +except ImportError: + from urllib.request import urlopen + + +def assert_lower(string): + assert string == string.lower() + return string + + +def generate(url): + parts = ['''\ +""" + + webencodings.labels + ~~~~~~~~~~~~~~~~~~~ + + Map encoding labels to their name. + + :copyright: Copyright 2012 by Simon Sapin + :license: BSD, see LICENSE for details. + +""" + +# XXX Do not edit! +# This file is automatically generated by mklabels.py + +LABELS = { +'''] + labels = [ + (repr(assert_lower(label)).lstrip('u'), + repr(encoding['name']).lstrip('u')) + for category in json.loads(urlopen(url).read().decode('ascii')) + for encoding in category['encodings'] + for label in encoding['labels']] + max_len = max(len(label) for label, name in labels) + parts.extend( + ' %s:%s %s,\n' % (label, ' ' * (max_len - len(label)), name) + for label, name in labels) + parts.append('}') + return ''.join(parts) + + +if __name__ == '__main__': + print(generate('http://encoding.spec.whatwg.org/encodings.json')) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/tests.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/tests.py new file mode 100644 index 0000000..e12c10d --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/tests.py @@ -0,0 +1,153 @@ +# coding: utf-8 +""" + + webencodings.tests + ~~~~~~~~~~~~~~~~~~ + + A basic test suite for Encoding. + + :copyright: Copyright 2012 by Simon Sapin + :license: BSD, see LICENSE for details. + +""" + +from __future__ import unicode_literals + +from . import (lookup, LABELS, decode, encode, iter_decode, iter_encode, + IncrementalDecoder, IncrementalEncoder, UTF8) + + +def assert_raises(exception, function, *args, **kwargs): + try: + function(*args, **kwargs) + except exception: + return + else: # pragma: no cover + raise AssertionError('Did not raise %s.' % exception) + + +def test_labels(): + assert lookup('utf-8').name == 'utf-8' + assert lookup('Utf-8').name == 'utf-8' + assert lookup('UTF-8').name == 'utf-8' + assert lookup('utf8').name == 'utf-8' + assert lookup('utf8').name == 'utf-8' + assert lookup('utf8 ').name == 'utf-8' + assert lookup(' \r\nutf8\t').name == 'utf-8' + assert lookup('u8') is None # Python label. + assert lookup('utf-8 ') is None # Non-ASCII white space. + + assert lookup('US-ASCII').name == 'windows-1252' + assert lookup('iso-8859-1').name == 'windows-1252' + assert lookup('latin1').name == 'windows-1252' + assert lookup('LATIN1').name == 'windows-1252' + assert lookup('latin-1') is None + assert lookup('LATİN1') is None # ASCII-only case insensitivity. + + +def test_all_labels(): + for label in LABELS: + assert decode(b'', label) == ('', lookup(label)) + assert encode('', label) == b'' + for repeat in [0, 1, 12]: + output, _ = iter_decode([b''] * repeat, label) + assert list(output) == [] + assert list(iter_encode([''] * repeat, label)) == [] + decoder = IncrementalDecoder(label) + assert decoder.decode(b'') == '' + assert decoder.decode(b'', final=True) == '' + encoder = IncrementalEncoder(label) + assert encoder.encode('') == b'' + assert encoder.encode('', final=True) == b'' + # All encoding names are valid labels too: + for name in set(LABELS.values()): + assert lookup(name).name == name + + +def test_invalid_label(): + assert_raises(LookupError, decode, b'\xEF\xBB\xBF\xc3\xa9', 'invalid') + assert_raises(LookupError, encode, 'é', 'invalid') + assert_raises(LookupError, iter_decode, [], 'invalid') + assert_raises(LookupError, iter_encode, [], 'invalid') + assert_raises(LookupError, IncrementalDecoder, 'invalid') + assert_raises(LookupError, IncrementalEncoder, 'invalid') + + +def test_decode(): + assert decode(b'\x80', 'latin1') == ('€', lookup('latin1')) + assert decode(b'\x80', lookup('latin1')) == ('€', lookup('latin1')) + assert decode(b'\xc3\xa9', 'utf8') == ('é', lookup('utf8')) + assert decode(b'\xc3\xa9', UTF8) == ('é', lookup('utf8')) + assert decode(b'\xc3\xa9', 'ascii') == ('é', lookup('ascii')) + assert decode(b'\xEF\xBB\xBF\xc3\xa9', 'ascii') == ('é', lookup('utf8')) # UTF-8 with BOM + + assert decode(b'\xFE\xFF\x00\xe9', 'ascii') == ('é', lookup('utf-16be')) # UTF-16-BE with BOM + assert decode(b'\xFF\xFE\xe9\x00', 'ascii') == ('é', lookup('utf-16le')) # UTF-16-LE with BOM + assert decode(b'\xFE\xFF\xe9\x00', 'ascii') == ('\ue900', lookup('utf-16be')) + assert decode(b'\xFF\xFE\x00\xe9', 'ascii') == ('\ue900', lookup('utf-16le')) + + assert decode(b'\x00\xe9', 'UTF-16BE') == ('é', lookup('utf-16be')) + assert decode(b'\xe9\x00', 'UTF-16LE') == ('é', lookup('utf-16le')) + assert decode(b'\xe9\x00', 'UTF-16') == ('é', lookup('utf-16le')) + + assert decode(b'\xe9\x00', 'UTF-16BE') == ('\ue900', lookup('utf-16be')) + assert decode(b'\x00\xe9', 'UTF-16LE') == ('\ue900', lookup('utf-16le')) + assert decode(b'\x00\xe9', 'UTF-16') == ('\ue900', lookup('utf-16le')) + + +def test_encode(): + assert encode('é', 'latin1') == b'\xe9' + assert encode('é', 'utf8') == b'\xc3\xa9' + assert encode('é', 'utf8') == b'\xc3\xa9' + assert encode('é', 'utf-16') == b'\xe9\x00' + assert encode('é', 'utf-16le') == b'\xe9\x00' + assert encode('é', 'utf-16be') == b'\x00\xe9' + + +def test_iter_decode(): + def iter_decode_to_string(input, fallback_encoding): + output, _encoding = iter_decode(input, fallback_encoding) + return ''.join(output) + assert iter_decode_to_string([], 'latin1') == '' + assert iter_decode_to_string([b''], 'latin1') == '' + assert iter_decode_to_string([b'\xe9'], 'latin1') == 'é' + assert iter_decode_to_string([b'hello'], 'latin1') == 'hello' + assert iter_decode_to_string([b'he', b'llo'], 'latin1') == 'hello' + assert iter_decode_to_string([b'hell', b'o'], 'latin1') == 'hello' + assert iter_decode_to_string([b'\xc3\xa9'], 'latin1') == 'é' + assert iter_decode_to_string([b'\xEF\xBB\xBF\xc3\xa9'], 'latin1') == 'é' + assert iter_decode_to_string([ + b'\xEF\xBB\xBF', b'\xc3', b'\xa9'], 'latin1') == 'é' + assert iter_decode_to_string([ + b'\xEF\xBB\xBF', b'a', b'\xc3'], 'latin1') == 'a\uFFFD' + assert iter_decode_to_string([ + b'', b'\xEF', b'', b'', b'\xBB\xBF\xc3', b'\xa9'], 'latin1') == 'é' + assert iter_decode_to_string([b'\xEF\xBB\xBF'], 'latin1') == '' + assert iter_decode_to_string([b'\xEF\xBB'], 'latin1') == 'ï»' + assert iter_decode_to_string([b'\xFE\xFF\x00\xe9'], 'latin1') == 'é' + assert iter_decode_to_string([b'\xFF\xFE\xe9\x00'], 'latin1') == 'é' + assert iter_decode_to_string([ + b'', b'\xFF', b'', b'', b'\xFE\xe9', b'\x00'], 'latin1') == 'é' + assert iter_decode_to_string([ + b'', b'h\xe9', b'llo'], 'x-user-defined') == 'h\uF7E9llo' + + +def test_iter_encode(): + assert b''.join(iter_encode([], 'latin1')) == b'' + assert b''.join(iter_encode([''], 'latin1')) == b'' + assert b''.join(iter_encode(['é'], 'latin1')) == b'\xe9' + assert b''.join(iter_encode(['', 'é', '', ''], 'latin1')) == b'\xe9' + assert b''.join(iter_encode(['', 'é', '', ''], 'utf-16')) == b'\xe9\x00' + assert b''.join(iter_encode(['', 'é', '', ''], 'utf-16le')) == b'\xe9\x00' + assert b''.join(iter_encode(['', 'é', '', ''], 'utf-16be')) == b'\x00\xe9' + assert b''.join(iter_encode([ + '', 'h\uF7E9', '', 'llo'], 'x-user-defined')) == b'h\xe9llo' + + +def test_x_user_defined(): + encoded = b'2,\x0c\x0b\x1aO\xd9#\xcb\x0f\xc9\xbbt\xcf\xa8\xca' + decoded = '2,\x0c\x0b\x1aO\uf7d9#\uf7cb\x0f\uf7c9\uf7bbt\uf7cf\uf7a8\uf7ca' + encoded = b'aa' + decoded = 'aa' + assert decode(encoded, 'x-user-defined') == (decoded, lookup('x-user-defined')) + assert encode(decoded, 'x-user-defined') == encoded diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/x_user_defined.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/x_user_defined.py new file mode 100644 index 0000000..d16e326 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/x_user_defined.py @@ -0,0 +1,325 @@ +# coding: utf-8 +""" + + webencodings.x_user_defined + ~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + An implementation of the x-user-defined encoding. + + :copyright: Copyright 2012 by Simon Sapin + :license: BSD, see LICENSE for details. + +""" + +from __future__ import unicode_literals + +import codecs + + +### Codec APIs + +class Codec(codecs.Codec): + + def encode(self, input, errors='strict'): + return codecs.charmap_encode(input, errors, encoding_table) + + def decode(self, input, errors='strict'): + return codecs.charmap_decode(input, errors, decoding_table) + + +class IncrementalEncoder(codecs.IncrementalEncoder): + def encode(self, input, final=False): + return codecs.charmap_encode(input, self.errors, encoding_table)[0] + + +class IncrementalDecoder(codecs.IncrementalDecoder): + def decode(self, input, final=False): + return codecs.charmap_decode(input, self.errors, decoding_table)[0] + + +class StreamWriter(Codec, codecs.StreamWriter): + pass + + +class StreamReader(Codec, codecs.StreamReader): + pass + + +### encodings module API + +codec_info = codecs.CodecInfo( + name='x-user-defined', + encode=Codec().encode, + decode=Codec().decode, + incrementalencoder=IncrementalEncoder, + incrementaldecoder=IncrementalDecoder, + streamreader=StreamReader, + streamwriter=StreamWriter, +) + + +### Decoding Table + +# Python 3: +# for c in range(256): print(' %r' % chr(c if c < 128 else c + 0xF700)) +decoding_table = ( + '\x00' + '\x01' + '\x02' + '\x03' + '\x04' + '\x05' + '\x06' + '\x07' + '\x08' + '\t' + '\n' + '\x0b' + '\x0c' + '\r' + '\x0e' + '\x0f' + '\x10' + '\x11' + '\x12' + '\x13' + '\x14' + '\x15' + '\x16' + '\x17' + '\x18' + '\x19' + '\x1a' + '\x1b' + '\x1c' + '\x1d' + '\x1e' + '\x1f' + ' ' + '!' + '"' + '#' + '$' + '%' + '&' + "'" + '(' + ')' + '*' + '+' + ',' + '-' + '.' + '/' + '0' + '1' + '2' + '3' + '4' + '5' + '6' + '7' + '8' + '9' + ':' + ';' + '<' + '=' + '>' + '?' + '@' + 'A' + 'B' + 'C' + 'D' + 'E' + 'F' + 'G' + 'H' + 'I' + 'J' + 'K' + 'L' + 'M' + 'N' + 'O' + 'P' + 'Q' + 'R' + 'S' + 'T' + 'U' + 'V' + 'W' + 'X' + 'Y' + 'Z' + '[' + '\\' + ']' + '^' + '_' + '`' + 'a' + 'b' + 'c' + 'd' + 'e' + 'f' + 'g' + 'h' + 'i' + 'j' + 'k' + 'l' + 'm' + 'n' + 'o' + 'p' + 'q' + 'r' + 's' + 't' + 'u' + 'v' + 'w' + 'x' + 'y' + 'z' + '{' + '|' + '}' + '~' + '\x7f' + '\uf780' + '\uf781' + '\uf782' + '\uf783' + '\uf784' + '\uf785' + '\uf786' + '\uf787' + '\uf788' + '\uf789' + '\uf78a' + '\uf78b' + '\uf78c' + '\uf78d' + '\uf78e' + '\uf78f' + '\uf790' + '\uf791' + '\uf792' + '\uf793' + '\uf794' + '\uf795' + '\uf796' + '\uf797' + '\uf798' + '\uf799' + '\uf79a' + '\uf79b' + '\uf79c' + '\uf79d' + '\uf79e' + '\uf79f' + '\uf7a0' + '\uf7a1' + '\uf7a2' + '\uf7a3' + '\uf7a4' + '\uf7a5' + '\uf7a6' + '\uf7a7' + '\uf7a8' + '\uf7a9' + '\uf7aa' + '\uf7ab' + '\uf7ac' + '\uf7ad' + '\uf7ae' + '\uf7af' + '\uf7b0' + '\uf7b1' + '\uf7b2' + '\uf7b3' + '\uf7b4' + '\uf7b5' + '\uf7b6' + '\uf7b7' + '\uf7b8' + '\uf7b9' + '\uf7ba' + '\uf7bb' + '\uf7bc' + '\uf7bd' + '\uf7be' + '\uf7bf' + '\uf7c0' + '\uf7c1' + '\uf7c2' + '\uf7c3' + '\uf7c4' + '\uf7c5' + '\uf7c6' + '\uf7c7' + '\uf7c8' + '\uf7c9' + '\uf7ca' + '\uf7cb' + '\uf7cc' + '\uf7cd' + '\uf7ce' + '\uf7cf' + '\uf7d0' + '\uf7d1' + '\uf7d2' + '\uf7d3' + '\uf7d4' + '\uf7d5' + '\uf7d6' + '\uf7d7' + '\uf7d8' + '\uf7d9' + '\uf7da' + '\uf7db' + '\uf7dc' + '\uf7dd' + '\uf7de' + '\uf7df' + '\uf7e0' + '\uf7e1' + '\uf7e2' + '\uf7e3' + '\uf7e4' + '\uf7e5' + '\uf7e6' + '\uf7e7' + '\uf7e8' + '\uf7e9' + '\uf7ea' + '\uf7eb' + '\uf7ec' + '\uf7ed' + '\uf7ee' + '\uf7ef' + '\uf7f0' + '\uf7f1' + '\uf7f2' + '\uf7f3' + '\uf7f4' + '\uf7f5' + '\uf7f6' + '\uf7f7' + '\uf7f8' + '\uf7f9' + '\uf7fa' + '\uf7fb' + '\uf7fc' + '\uf7fd' + '\uf7fe' + '\uf7ff' +) + +### Encoding table +encoding_table = codecs.charmap_build(decoding_table) diff --git a/venv/lib/python3.6/site-packages/ptyprocess-0.6.0.dist-info/INSTALLER b/venv/lib/python3.6/site-packages/ptyprocess-0.6.0.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.6/site-packages/ptyprocess-0.6.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.6/site-packages/ptyprocess-0.6.0.dist-info/LICENSE b/venv/lib/python3.6/site-packages/ptyprocess-0.6.0.dist-info/LICENSE new file mode 100644 index 0000000..9c77274 --- /dev/null +++ b/venv/lib/python3.6/site-packages/ptyprocess-0.6.0.dist-info/LICENSE @@ -0,0 +1,16 @@ +Ptyprocess is under the ISC license, as code derived from Pexpect. + http://opensource.org/licenses/ISC + +Copyright (c) 2013-2014, Pexpect development team +Copyright (c) 2012, Noah Spurrier <noah@noah.org> + +PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY PURPOSE +WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE COPYRIGHT NOTICE +AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES. THE SOFTWARE IS PROVIDED +"AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT +SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL +DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING +OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + diff --git a/venv/lib/python3.6/site-packages/ptyprocess-0.6.0.dist-info/METADATA b/venv/lib/python3.6/site-packages/ptyprocess-0.6.0.dist-info/METADATA new file mode 100644 index 0000000..f38abfe --- /dev/null +++ b/venv/lib/python3.6/site-packages/ptyprocess-0.6.0.dist-info/METADATA @@ -0,0 +1,37 @@ +Metadata-Version: 2.1 +Name: ptyprocess +Version: 0.6.0 +Summary: Run a subprocess in a pseudo terminal +Home-page: https://github.com/pexpect/ptyprocess +License: UNKNOWN +Author: Thomas Kluyver +Author-email: thomas@kluyver.me.uk +Description-Content-Type: text/x-rst +Classifier: Development Status :: 5 - Production/Stable +Classifier: Environment :: Console +Classifier: Intended Audience :: Developers +Classifier: Intended Audience :: System Administrators +Classifier: License :: OSI Approved :: ISC License (ISCL) +Classifier: Operating System :: POSIX +Classifier: Operating System :: MacOS :: MacOS X +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3 +Classifier: Topic :: Terminals + +Launch a subprocess in a pseudo terminal (pty), and interact with both the +process and its pty. + +Sometimes, piping stdin and stdout is not enough. There might be a password +prompt that doesn't read from stdin, output that changes when it's going to a +pipe rather than a terminal, or curses-style interfaces that rely on a terminal. +If you need to automate these things, running the process in a pseudo terminal +(pty) is the answer. + +Interface:: + + p = PtyProcessUnicode.spawn(['python']) + p.read(20) + p.write('6+6\n') + p.read(20) + diff --git a/venv/lib/python3.6/site-packages/ptyprocess-0.6.0.dist-info/RECORD b/venv/lib/python3.6/site-packages/ptyprocess-0.6.0.dist-info/RECORD new file mode 100644 index 0000000..9faa1d7 --- /dev/null +++ b/venv/lib/python3.6/site-packages/ptyprocess-0.6.0.dist-info/RECORD @@ -0,0 +1,13 @@ +ptyprocess-0.6.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +ptyprocess-0.6.0.dist-info/LICENSE,sha256=yCLThbGnMymEYkF5m-zxhpC11Edkwb7WkwC1NqQFAwo,905 +ptyprocess-0.6.0.dist-info/METADATA,sha256=E32CAJai9AnGYv75eEH1QQngK3Sg-v1JEOJ2q-FOD3Q,1312 +ptyprocess-0.6.0.dist-info/RECORD,, +ptyprocess-0.6.0.dist-info/WHEEL,sha256=Pnb1-aANNEDpiI6zZkifNVAxs3Mjlbjz3HYhduOZleI,97 +ptyprocess/__init__.py,sha256=Q7Cd31VTCkFWg4KPHqZ75ykOQ7kj5kuo-tzkqOz8suo,138 +ptyprocess/__pycache__/__init__.cpython-36.pyc,, +ptyprocess/__pycache__/_fork_pty.cpython-36.pyc,, +ptyprocess/__pycache__/ptyprocess.cpython-36.pyc,, +ptyprocess/__pycache__/util.cpython-36.pyc,, +ptyprocess/_fork_pty.py,sha256=VVvMy8c4ZpjDMiIMSg8T1BQ1g3SBexDpey_cxi0n5aw,2362 +ptyprocess/ptyprocess.py,sha256=rD_1VuW02HxwB4hPIm6cah5XGx7pHj8QaYz5OhCXwf4,31355 +ptyprocess/util.py,sha256=rQAdDRZfoOiOn6vykWth0wI6FFKAp7aJtBSdt-KBWdU,2785 diff --git a/venv/lib/python3.6/site-packages/ptyprocess-0.6.0.dist-info/WHEEL b/venv/lib/python3.6/site-packages/ptyprocess-0.6.0.dist-info/WHEEL new file mode 100644 index 0000000..2d80143 --- /dev/null +++ b/venv/lib/python3.6/site-packages/ptyprocess-0.6.0.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: flit 1.0 +Root-Is-Purelib: true +Tag: py2-none-any +Tag: py3-none-any diff --git a/venv/lib/python3.6/site-packages/ptyprocess/__init__.py b/venv/lib/python3.6/site-packages/ptyprocess/__init__.py new file mode 100644 index 0000000..e633d0c --- /dev/null +++ b/venv/lib/python3.6/site-packages/ptyprocess/__init__.py @@ -0,0 +1,4 @@ +"""Run a subprocess in a pseudo terminal""" +from .ptyprocess import PtyProcess, PtyProcessUnicode, PtyProcessError + +__version__ = '0.6.0' diff --git a/venv/lib/python3.6/site-packages/ptyprocess/__pycache__/__init__.cpython-36.pyc b/venv/lib/python3.6/site-packages/ptyprocess/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5705ed2c57489a45eeeee778d6ff11259e28fd5b GIT binary patch literal 321 zcmYjM%SyyB6ir`_R0a|JfNorLG3~&h8%5l>l|gY6giCC)2sRIrRA@iJFVSDh*46xi zn=wJLUbu&IADnaVX1Oficl)O|gwSWmzeoeS32CbU6k$XYn)ZoEaVj#Li5%w%q8Tn| z{($OYI=dfaMJhWyYoj`5ZN+1)EgPt+95aGT((jU>R%gE4x^ern=TBz-D0!zS^T%`R z))-}`V%=Oc>%02EF94|O0C1_@_-ke2u_lX<2k=J#ugqAkB)|tUi#Ukzb=f+hTg~-~ qOY2DAuL#+^5OzMbv)X?Oz$JG8jUN5sl~8o(*>(KEMx#7AO}_yMFkRjN literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/ptyprocess/__pycache__/_fork_pty.cpython-36.pyc b/venv/lib/python3.6/site-packages/ptyprocess/__pycache__/_fork_pty.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a22710a81105b83c5f30cc1c39aac66b5803adde GIT binary patch literal 1960 zcmbVMPj4GV6rb5$+v}|p3REHoBt{j28k)76s0c+7LQMliO6@8RO1p}*+U$($jdyoe zGqWwW>>g@92`9Mm5%?T?L!9yjIB<bC<D_*fK!}lM=FRN;x9|Oav%R+F{dn=`=}r@& z-_XjiK>iY@JcNa!08vb>6bIPsR$#$yr*`H9PF4$QSv{y{ji7-Mb!aVhvu4l)xlSA3 zqrjssZNh$yS_9Pfrn`gkOsYhcijg4~M2*ZoF4Tm`iBv2jag?UFiQ+_-MZtw41D-}A zk-m2U`Ji6gsak{M`v<-7tAoS+UcXv{Q~%rJ)#Lur(bciG_szlK{R<4HZCt(eP)!~R z9y2NTh2SFAF7>c4=N|0xIV=jD;{`gk=4g&*P=Ya%@6VtFV<bLQ7PS`m1qK~^f#%lC zQqI^CDV%FFw7?jt`V5;Loi}D!xeE*KmU44N_OzUP#?I)^tQi{WQrXe3kn-^;ktE5A zlw~Yel0;CH|587nXiJa4kRx8El$<e=alweLXmpk`sC<;0@<Zu;XvO$en+(f5Rte92 zGALM_3=`dp$!+6D=~OPAJp*;Z^H-fQ8V@)H6Gq9MuHXI4@7^V66Y@3V!y$PP2{{5^ zJLKT%XFx9ub=(jVfY=#RBTk|3#+P7{r%!d3j3iQ)j66%!h&-HtQvR_dD@o^ET|p(u zpIqg%OuC4KO5zgmlLEfv$S3zA36UZ9B2w{4!>r&k`7YzMOqm~(sDuatR3P^rk47e& zK~V~kFtM}anX|6zNU36{)5)SF^$U}h&&88YkrYhm%g*w0ld`9st!{UF^FcJ}bhqzr zeSXIusVrT35*nA&ce(U=!SZD#hG5NT`&wmjSv4;2t44od5L-FAXrcyoRV_}rWYq@P zg;_LaVa#(Sc$z{XLZv2^L(5`IXhI7OaN)qxwu2_r1@IIOY2e1AB&8r#c9GDZkhl&i zf9!TtR_K4(OmeB9ahp-JJ&xGjX$N8zO9HKmFFOgfsNAcz!pnl>1}td3g|B1Ra$$Nf zTeyYS9nTW)z_(b}Ko6bW2QUo>e+L100o+^QIiB1E86F;3ZJ5qIw6NwDNVOR-5u+27 zcO78e*b}E1&25aPH)i&ELp9Fbu`Lc?fW~7)fwyz}x%~*`)+6n`xj-0AJ^|@pd@GOI zn(Zqwe)*diKmS7v3;3_!iP!Rd8S&cd_vV>&rau_s>z2wTM<pvM-&6ptB#%;ax6*3@ zy<SrOilJxB0QG-U9wNM?yYciU<;m3TXlO&^-t^WbHVGdRCPdEt{obR4{;On&h!WtP z-);#P`dT%>ERQl)IU3$oy&oRkKRK%0e%R~p9UngyEzlC4R;?L_LCtuq>XIp$P|?tz zK>g&X-#dKVc7i&1)Ohxmcs9;0jcPDAm|iY#Yrku-d<s*31PiKpH4ERs>j2OezG1nJ zK6xOUv%QWzn8v2vsv2QPc^ro3H^h5j9@xN$Hz>Abr&FpVHJKWi8y737Xrc+7Pv!0| VpPw%@QKkNM2WzHm;Fjgy{0mX57XbhO literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/ptyprocess/__pycache__/ptyprocess.cpython-36.pyc b/venv/lib/python3.6/site-packages/ptyprocess/__pycache__/ptyprocess.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cf6e80f138841c763324a1d1e8bf63b18ab672e4 GIT binary patch literal 23993 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 Ug>TV*A%8qy82`Ev|2zG^0mg6$cK`qY literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/ptyprocess/__pycache__/util.cpython-36.pyc b/venv/lib/python3.6/site-packages/ptyprocess/__pycache__/util.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..21eb8c75701e50edf81fac319346b4771b992250 GIT binary patch literal 1961 zcmZuy-EJF26rP#=^~Py~D5Xdh8bwgmQtAQ$flw3*>JNWPE4iX2qS`DwV|(rO?q+7) zCeixJk;pA?QQm<o9-t2}cZjRLKrea&=Zq7ptypVj&YU@O&UgOCo2#qQ)93&G@^?hY zKjf9K4fG8ddJm?<H9-W;$%O7wN*<8nOP5GCj@0**;15n&?(8~tb$4Cqj64|rH^A>R z;RyE_ZvIRP_K@5m!V~^65xxxO&Tc4Jk930PV1;z3@tzE`bhwi`xQA~Ah6e-pdYux0 zA=ojQIW-y45j!Dss;)H732Eq@sr3`mBf{yC28@nFwGC3v$Q3TE-ki-?!}RUN`N#)e zFsCzChohG8#!USQoTy>rK-CQ!tq7Ee=8O_pQA;4gIa}Uy>-KM?Pen^a$6@2%1SEjv z=?NLonYaI!JzEj&v$L63_=~f8bxvmf!TpBaB#(Za1)!ad&NYZ7Y{JF|`_CGGbiN7a z5bT4ijR$gk*0OSIP0+N!lc;f;$ol-EiF#!J#RIbc?1A;YvzqiEP<OJ&vfv3%%gH1u z#0H;~LT+#%fqC!i``>b1tE?Doa3$-hDtJAVyh`dJw<(DD>6ey8zf=>=>(Yu0tX@>c z%f%&Bw!urqcgjNYtdC*}2+fO<>uEY%>gs2??AqOuwTGJaxRCv1n%CA!sk^u1yFc)T z1N9K7F5g37uS+3ZB{f`H>MHwqLl%!SRTkZWtgo&kw)KuhmnH@O6+l0hN@YSoaGqq~ zEktOl>vF=iOw=n_(c&9eQwCLtAFf!DJsA25Og1;Hff^`3z-no1JzAQMT;#VwxI=e3 zo?)dnE^0TvJjisdji02c)Y^EN7MbcW!}^7BF))7+1&v8wetx~4RM)Glx|S8XPV)R( zl5CC>`PtF+sy?h#iT7V6r*)Qht3$IIFLcN0P^RMxh}VUQ&`b2_vQ2b%D=*U|*W2CK zM0bpfv4e)pip@_H6cjN5a&A4mZ%B%J{LUh=3AE-gHRREy89gB*GKacuD6Vt*6Fd_8 zOq|Am880uNNM%A<2#r}lpSvF!M;_Gh2sr6PSicpv|I60aKo;_#QrjP+6*TFRqf2j~ zUkbg34V`@(Z=vf0MAt@i4SkpV&i38jBEHsGhbfd)DA}Rv9i%b%3lPy(4!MG6s<uA` zrbXeCqxarKv6Sk(rLaU4A}|5uwMZt?1gF($94Jp<%f77yPgi*cd)#PQ8AlIOXr zWA7P1ohr~^e8|33wQ-W-5M)3@SipIjXbC(aj5{i`qO-C9-#Rm|@G)N~hX5N7+Yo9{ zOIa8P^#-WL63|t6YFtFS2+L_GFck`8AHdLGz(iKVpiLv{QkR8v4OiM`5sT<K=c0F! zhU|jtGan?{G=v%WmbO|_RB-lTHQj)r*I<%lmkP4W1cg5o{Bv;3`Fr)@y+x7VQmRx( zAKrnAP+7{Mm*L?_^F(V7p@OFeo}DU5$H_o;cRH>K;}~6uV-v+OwA3_5x*f;+(<DDV z3F26kX&f)oZF9a%yy^m^+lUQ)52@XETE^Ey>@n+$S@~{Km8!Pb7FmBEgpG^Om~rt5 kGp$<(sjTX(EUbqAGiAc91;A~Lheikt!g`LbIhVis55<f0GXMYp literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/ptyprocess/_fork_pty.py b/venv/lib/python3.6/site-packages/ptyprocess/_fork_pty.py new file mode 100644 index 0000000..a8d05fe --- /dev/null +++ b/venv/lib/python3.6/site-packages/ptyprocess/_fork_pty.py @@ -0,0 +1,78 @@ +"""Substitute for the forkpty system call, to support Solaris. +""" +import os +import errno + +from pty import (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO, CHILD) +from .util import PtyProcessError + +def fork_pty(): + '''This implements a substitute for the forkpty system call. This + should be more portable than the pty.fork() function. Specifically, + this should work on Solaris. + + Modified 10.06.05 by Geoff Marshall: Implemented __fork_pty() method to + resolve the issue with Python's pty.fork() not supporting Solaris, + particularly ssh. Based on patch to posixmodule.c authored by Noah + Spurrier:: + + http://mail.python.org/pipermail/python-dev/2003-May/035281.html + + ''' + + parent_fd, child_fd = os.openpty() + if parent_fd < 0 or child_fd < 0: + raise OSError("os.openpty() failed") + + pid = os.fork() + if pid == CHILD: + # Child. + os.close(parent_fd) + pty_make_controlling_tty(child_fd) + + os.dup2(child_fd, STDIN_FILENO) + os.dup2(child_fd, STDOUT_FILENO) + os.dup2(child_fd, STDERR_FILENO) + + else: + # Parent. + os.close(child_fd) + + return pid, parent_fd + +def pty_make_controlling_tty(tty_fd): + '''This makes the pseudo-terminal the controlling tty. This should be + more portable than the pty.fork() function. Specifically, this should + work on Solaris. ''' + + child_name = os.ttyname(tty_fd) + + # Disconnect from controlling tty, if any. Raises OSError of ENXIO + # if there was no controlling tty to begin with, such as when + # executed by a cron(1) job. + try: + fd = os.open("/dev/tty", os.O_RDWR | os.O_NOCTTY) + os.close(fd) + except OSError as err: + if err.errno != errno.ENXIO: + raise + + os.setsid() + + # Verify we are disconnected from controlling tty by attempting to open + # it again. We expect that OSError of ENXIO should always be raised. + try: + fd = os.open("/dev/tty", os.O_RDWR | os.O_NOCTTY) + os.close(fd) + raise PtyProcessError("OSError of errno.ENXIO should be raised.") + except OSError as err: + if err.errno != errno.ENXIO: + raise + + # Verify we can open child pty. + fd = os.open(child_name, os.O_RDWR) + os.close(fd) + + # Verify we now have a controlling tty. + fd = os.open("/dev/tty", os.O_WRONLY) + os.close(fd) diff --git a/venv/lib/python3.6/site-packages/ptyprocess/ptyprocess.py b/venv/lib/python3.6/site-packages/ptyprocess/ptyprocess.py new file mode 100644 index 0000000..29b4e43 --- /dev/null +++ b/venv/lib/python3.6/site-packages/ptyprocess/ptyprocess.py @@ -0,0 +1,836 @@ +import codecs +import errno +import fcntl +import io +import os +import pty +import resource +import signal +import struct +import sys +import termios +import time + +try: + import builtins # Python 3 +except ImportError: + import __builtin__ as builtins # Python 2 + +# Constants +from pty import (STDIN_FILENO, CHILD) + +from .util import which, PtyProcessError + +_platform = sys.platform.lower() + +# Solaris uses internal __fork_pty(). All others use pty.fork(). +_is_solaris = ( + _platform.startswith('solaris') or + _platform.startswith('sunos')) + +if _is_solaris: + use_native_pty_fork = False + from . import _fork_pty +else: + use_native_pty_fork = True + +PY3 = sys.version_info[0] >= 3 + +if PY3: + def _byte(i): + return bytes([i]) +else: + def _byte(i): + return chr(i) + + class FileNotFoundError(OSError): pass + class TimeoutError(OSError): pass + +_EOF, _INTR = None, None + +def _make_eof_intr(): + """Set constants _EOF and _INTR. + + This avoids doing potentially costly operations on module load. + """ + global _EOF, _INTR + if (_EOF is not None) and (_INTR is not None): + return + + # inherit EOF and INTR definitions from controlling process. + try: + from termios import VEOF, VINTR + fd = None + for name in 'stdin', 'stdout': + stream = getattr(sys, '__%s__' % name, None) + if stream is None or not hasattr(stream, 'fileno'): + continue + try: + fd = stream.fileno() + except ValueError: + continue + if fd is None: + # no fd, raise ValueError to fallback on CEOF, CINTR + raise ValueError("No stream has a fileno") + intr = ord(termios.tcgetattr(fd)[6][VINTR]) + eof = ord(termios.tcgetattr(fd)[6][VEOF]) + except (ImportError, OSError, IOError, ValueError, termios.error): + # unless the controlling process is also not a terminal, + # such as cron(1), or when stdin and stdout are both closed. + # Fall-back to using CEOF and CINTR. There + try: + from termios import CEOF, CINTR + (intr, eof) = (CINTR, CEOF) + except ImportError: + # ^C, ^D + (intr, eof) = (3, 4) + + _INTR = _byte(intr) + _EOF = _byte(eof) + +# setecho and setwinsize are pulled out here because on some platforms, we need +# to do this from the child before we exec() + +def _setecho(fd, state): + errmsg = 'setecho() may not be called on this platform (it may still be possible to enable/disable echo when spawning the child process)' + + try: + attr = termios.tcgetattr(fd) + except termios.error as err: + if err.args[0] == errno.EINVAL: + raise IOError(err.args[0], '%s: %s.' % (err.args[1], errmsg)) + raise + + if state: + attr[3] = attr[3] | termios.ECHO + else: + attr[3] = attr[3] & ~termios.ECHO + + try: + # I tried TCSADRAIN and TCSAFLUSH, but these were inconsistent and + # blocked on some platforms. TCSADRAIN would probably be ideal. + termios.tcsetattr(fd, termios.TCSANOW, attr) + except IOError as err: + if err.args[0] == errno.EINVAL: + raise IOError(err.args[0], '%s: %s.' % (err.args[1], errmsg)) + raise + +def _setwinsize(fd, rows, cols): + # Some very old platforms have a bug that causes the value for + # termios.TIOCSWINSZ to be truncated. There was a hack here to work + # around this, but it caused problems with newer platforms so has been + # removed. For details see https://github.com/pexpect/pexpect/issues/39 + TIOCSWINSZ = getattr(termios, 'TIOCSWINSZ', -2146929561) + # Note, assume ws_xpixel and ws_ypixel are zero. + s = struct.pack('HHHH', rows, cols, 0, 0) + fcntl.ioctl(fd, TIOCSWINSZ, s) + +class PtyProcess(object): + '''This class represents a process running in a pseudoterminal. + + The main constructor is the :meth:`spawn` classmethod. + ''' + string_type = bytes + if PY3: + linesep = os.linesep.encode('ascii') + crlf = '\r\n'.encode('ascii') + + @staticmethod + def write_to_stdout(b): + try: + return sys.stdout.buffer.write(b) + except AttributeError: + # If stdout has been replaced, it may not have .buffer + return sys.stdout.write(b.decode('ascii', 'replace')) + else: + linesep = os.linesep + crlf = '\r\n' + write_to_stdout = sys.stdout.write + + encoding = None + + argv = None + env = None + launch_dir = None + + def __init__(self, pid, fd): + _make_eof_intr() # Ensure _EOF and _INTR are calculated + self.pid = pid + self.fd = fd + readf = io.open(fd, 'rb', buffering=0) + writef = io.open(fd, 'wb', buffering=0, closefd=False) + self.fileobj = io.BufferedRWPair(readf, writef) + + self.terminated = False + self.closed = False + self.exitstatus = None + self.signalstatus = None + # status returned by os.waitpid + self.status = None + self.flag_eof = False + # Used by close() to give kernel time to update process status. + # Time in seconds. + self.delayafterclose = 0.1 + # Used by terminate() to give kernel time to update process status. + # Time in seconds. + self.delayafterterminate = 0.1 + + @classmethod + def spawn( + cls, argv, cwd=None, env=None, echo=True, preexec_fn=None, + dimensions=(24, 80)): + '''Start the given command in a child process in a pseudo terminal. + + This does all the fork/exec type of stuff for a pty, and returns an + instance of PtyProcess. + + If preexec_fn is supplied, it will be called with no arguments in the + child process before exec-ing the specified command. + It may, for instance, set signal handlers to SIG_DFL or SIG_IGN. + + Dimensions of the psuedoterminal used for the subprocess can be + specified as a tuple (rows, cols), or the default (24, 80) will be used. + ''' + # Note that it is difficult for this method to fail. + # You cannot detect if the child process cannot start. + # So the only way you can tell if the child process started + # or not is to try to read from the file descriptor. If you get + # EOF immediately then it means that the child is already dead. + # That may not necessarily be bad because you may have spawned a child + # that performs some task; creates no stdout output; and then dies. + + if not isinstance(argv, (list, tuple)): + raise TypeError("Expected a list or tuple for argv, got %r" % argv) + + # Shallow copy of argv so we can modify it + argv = argv[:] + command = argv[0] + + command_with_path = which(command) + if command_with_path is None: + raise FileNotFoundError('The command was not found or was not ' + + 'executable: %s.' % command) + command = command_with_path + argv[0] = command + + # [issue #119] To prevent the case where exec fails and the user is + # stuck interacting with a python child process instead of whatever + # was expected, we implement the solution from + # http://stackoverflow.com/a/3703179 to pass the exception to the + # parent process + + # [issue #119] 1. Before forking, open a pipe in the parent process. + exec_err_pipe_read, exec_err_pipe_write = os.pipe() + + if use_native_pty_fork: + pid, fd = pty.fork() + else: + # Use internal fork_pty, for Solaris + pid, fd = _fork_pty.fork_pty() + + # Some platforms must call setwinsize() and setecho() from the + # child process, and others from the master process. We do both, + # allowing IOError for either. + + if pid == CHILD: + # set window size + try: + _setwinsize(STDIN_FILENO, *dimensions) + except IOError as err: + if err.args[0] not in (errno.EINVAL, errno.ENOTTY): + raise + + # disable echo if spawn argument echo was unset + if not echo: + try: + _setecho(STDIN_FILENO, False) + except (IOError, termios.error) as err: + if err.args[0] not in (errno.EINVAL, errno.ENOTTY): + raise + + # [issue #119] 3. The child closes the reading end and sets the + # close-on-exec flag for the writing end. + os.close(exec_err_pipe_read) + fcntl.fcntl(exec_err_pipe_write, fcntl.F_SETFD, fcntl.FD_CLOEXEC) + + # Do not allow child to inherit open file descriptors from parent, + # with the exception of the exec_err_pipe_write of the pipe + # Impose ceiling on max_fd: AIX bugfix for users with unlimited + # nofiles where resource.RLIMIT_NOFILE is 2^63-1 and os.closerange() + # occasionally raises out of range error + max_fd = min(1048576, resource.getrlimit(resource.RLIMIT_NOFILE)[0]) + os.closerange(3, exec_err_pipe_write) + os.closerange(exec_err_pipe_write+1, max_fd) + + if cwd is not None: + os.chdir(cwd) + + if preexec_fn is not None: + try: + preexec_fn() + except Exception as e: + ename = type(e).__name__ + tosend = '{}:0:{}'.format(ename, str(e)) + if PY3: + tosend = tosend.encode('utf-8') + + os.write(exec_err_pipe_write, tosend) + os.close(exec_err_pipe_write) + os._exit(1) + + try: + if env is None: + os.execv(command, argv) + else: + os.execvpe(command, argv, env) + except OSError as err: + # [issue #119] 5. If exec fails, the child writes the error + # code back to the parent using the pipe, then exits. + tosend = 'OSError:{}:{}'.format(err.errno, str(err)) + if PY3: + tosend = tosend.encode('utf-8') + os.write(exec_err_pipe_write, tosend) + os.close(exec_err_pipe_write) + os._exit(os.EX_OSERR) + + # Parent + inst = cls(pid, fd) + + # Set some informational attributes + inst.argv = argv + if env is not None: + inst.env = env + if cwd is not None: + inst.launch_dir = cwd + + # [issue #119] 2. After forking, the parent closes the writing end + # of the pipe and reads from the reading end. + os.close(exec_err_pipe_write) + exec_err_data = os.read(exec_err_pipe_read, 4096) + os.close(exec_err_pipe_read) + + # [issue #119] 6. The parent reads eof (a zero-length read) if the + # child successfully performed exec, since close-on-exec made + # successful exec close the writing end of the pipe. Or, if exec + # failed, the parent reads the error code and can proceed + # accordingly. Either way, the parent blocks until the child calls + # exec. + if len(exec_err_data) != 0: + try: + errclass, errno_s, errmsg = exec_err_data.split(b':', 2) + exctype = getattr(builtins, errclass.decode('ascii'), Exception) + + exception = exctype(errmsg.decode('utf-8', 'replace')) + if exctype is OSError: + exception.errno = int(errno_s) + except: + raise Exception('Subprocess failed, got bad error data: %r' + % exec_err_data) + else: + raise exception + + try: + inst.setwinsize(*dimensions) + except IOError as err: + if err.args[0] not in (errno.EINVAL, errno.ENOTTY, errno.ENXIO): + raise + + return inst + + def __repr__(self): + clsname = type(self).__name__ + if self.argv is not None: + args = [repr(self.argv)] + if self.env is not None: + args.append("env=%r" % self.env) + if self.launch_dir is not None: + args.append("cwd=%r" % self.launch_dir) + + return "{}.spawn({})".format(clsname, ", ".join(args)) + + else: + return "{}(pid={}, fd={})".format(clsname, self.pid, self.fd) + + @staticmethod + def _coerce_send_string(s): + if not isinstance(s, bytes): + return s.encode('utf-8') + return s + + @staticmethod + def _coerce_read_string(s): + return s + + def __del__(self): + '''This makes sure that no system resources are left open. Python only + garbage collects Python objects. OS file descriptors are not Python + objects, so they must be handled explicitly. If the child file + descriptor was opened outside of this class (passed to the constructor) + then this does not close it. ''' + + if not self.closed: + # It is possible for __del__ methods to execute during the + # teardown of the Python VM itself. Thus self.close() may + # trigger an exception because os.close may be None. + try: + self.close() + # which exception, shouldn't we catch explicitly .. ? + except: + pass + + + def fileno(self): + '''This returns the file descriptor of the pty for the child. + ''' + return self.fd + + def close(self, force=True): + '''This closes the connection with the child application. Note that + calling close() more than once is valid. This emulates standard Python + behavior with files. Set force to True if you want to make sure that + the child is terminated (SIGKILL is sent if the child ignores SIGHUP + and SIGINT). ''' + if not self.closed: + self.flush() + self.fileobj.close() # Closes the file descriptor + # Give kernel time to update process status. + time.sleep(self.delayafterclose) + if self.isalive(): + if not self.terminate(force): + raise PtyProcessError('Could not terminate the child.') + self.fd = -1 + self.closed = True + #self.pid = None + + def flush(self): + '''This does nothing. It is here to support the interface for a + File-like object. ''' + + pass + + def isatty(self): + '''This returns True if the file descriptor is open and connected to a + tty(-like) device, else False. + + On SVR4-style platforms implementing streams, such as SunOS and HP-UX, + the child pty may not appear as a terminal device. This means + methods such as setecho(), setwinsize(), getwinsize() may raise an + IOError. ''' + + return os.isatty(self.fd) + + def waitnoecho(self, timeout=None): + '''This waits until the terminal ECHO flag is set False. This returns + True if the echo mode is off. This returns False if the ECHO flag was + not set False before the timeout. This can be used to detect when the + child is waiting for a password. Usually a child application will turn + off echo mode when it is waiting for the user to enter a password. For + example, instead of expecting the "password:" prompt you can wait for + the child to set ECHO off:: + + p = pexpect.spawn('ssh user@example.com') + p.waitnoecho() + p.sendline(mypassword) + + If timeout==None then this method to block until ECHO flag is False. + ''' + + if timeout is not None: + end_time = time.time() + timeout + while True: + if not self.getecho(): + return True + if timeout < 0 and timeout is not None: + return False + if timeout is not None: + timeout = end_time - time.time() + time.sleep(0.1) + + def getecho(self): + '''This returns the terminal echo mode. This returns True if echo is + on or False if echo is off. Child applications that are expecting you + to enter a password often set ECHO False. See waitnoecho(). + + Not supported on platforms where ``isatty()`` returns False. ''' + + try: + attr = termios.tcgetattr(self.fd) + except termios.error as err: + errmsg = 'getecho() may not be called on this platform' + if err.args[0] == errno.EINVAL: + raise IOError(err.args[0], '%s: %s.' % (err.args[1], errmsg)) + raise + + self.echo = bool(attr[3] & termios.ECHO) + return self.echo + + def setecho(self, state): + '''This sets the terminal echo mode on or off. Note that anything the + child sent before the echo will be lost, so you should be sure that + your input buffer is empty before you call setecho(). For example, the + following will work as expected:: + + p = pexpect.spawn('cat') # Echo is on by default. + p.sendline('1234') # We expect see this twice from the child... + p.expect(['1234']) # ... once from the tty echo... + p.expect(['1234']) # ... and again from cat itself. + p.setecho(False) # Turn off tty echo + p.sendline('abcd') # We will set this only once (echoed by cat). + p.sendline('wxyz') # We will set this only once (echoed by cat) + p.expect(['abcd']) + p.expect(['wxyz']) + + The following WILL NOT WORK because the lines sent before the setecho + will be lost:: + + p = pexpect.spawn('cat') + p.sendline('1234') + p.setecho(False) # Turn off tty echo + p.sendline('abcd') # We will set this only once (echoed by cat). + p.sendline('wxyz') # We will set this only once (echoed by cat) + p.expect(['1234']) + p.expect(['1234']) + p.expect(['abcd']) + p.expect(['wxyz']) + + + Not supported on platforms where ``isatty()`` returns False. + ''' + _setecho(self.fd, state) + + self.echo = state + + def read(self, size=1024): + """Read and return at most ``size`` bytes from the pty. + + Can block if there is nothing to read. Raises :exc:`EOFError` if the + terminal was closed. + + Unlike Pexpect's ``read_nonblocking`` method, this doesn't try to deal + with the vagaries of EOF on platforms that do strange things, like IRIX + or older Solaris systems. It handles the errno=EIO pattern used on + Linux, and the empty-string return used on BSD platforms and (seemingly) + on recent Solaris. + """ + try: + s = self.fileobj.read1(size) + except (OSError, IOError) as err: + if err.args[0] == errno.EIO: + # Linux-style EOF + self.flag_eof = True + raise EOFError('End Of File (EOF). Exception style platform.') + raise + if s == b'': + # BSD-style EOF (also appears to work on recent Solaris (OpenIndiana)) + self.flag_eof = True + raise EOFError('End Of File (EOF). Empty string style platform.') + + return s + + def readline(self): + """Read one line from the pseudoterminal, and return it as unicode. + + Can block if there is nothing to read. Raises :exc:`EOFError` if the + terminal was closed. + """ + try: + s = self.fileobj.readline() + except (OSError, IOError) as err: + if err.args[0] == errno.EIO: + # Linux-style EOF + self.flag_eof = True + raise EOFError('End Of File (EOF). Exception style platform.') + raise + if s == b'': + # BSD-style EOF (also appears to work on recent Solaris (OpenIndiana)) + self.flag_eof = True + raise EOFError('End Of File (EOF). Empty string style platform.') + + return s + + def _writeb(self, b, flush=True): + n = self.fileobj.write(b) + if flush: + self.fileobj.flush() + return n + + def write(self, s, flush=True): + """Write bytes to the pseudoterminal. + + Returns the number of bytes written. + """ + return self._writeb(s, flush=flush) + + def sendcontrol(self, char): + '''Helper method that wraps send() with mnemonic access for sending control + character to the child (such as Ctrl-C or Ctrl-D). For example, to send + Ctrl-G (ASCII 7, bell, '\a'):: + + child.sendcontrol('g') + + See also, sendintr() and sendeof(). + ''' + char = char.lower() + a = ord(char) + if 97 <= a <= 122: + a = a - ord('a') + 1 + byte = _byte(a) + return self._writeb(byte), byte + d = {'@': 0, '`': 0, + '[': 27, '{': 27, + '\\': 28, '|': 28, + ']': 29, '}': 29, + '^': 30, '~': 30, + '_': 31, + '?': 127} + if char not in d: + return 0, b'' + + byte = _byte(d[char]) + return self._writeb(byte), byte + + def sendeof(self): + '''This sends an EOF to the child. This sends a character which causes + the pending parent output buffer to be sent to the waiting child + program without waiting for end-of-line. If it is the first character + of the line, the read() in the user program returns 0, which signifies + end-of-file. This means to work as expected a sendeof() has to be + called at the beginning of a line. This method does not send a newline. + It is the responsibility of the caller to ensure the eof is sent at the + beginning of a line. ''' + + return self._writeb(_EOF), _EOF + + def sendintr(self): + '''This sends a SIGINT to the child. It does not require + the SIGINT to be the first character on a line. ''' + + return self._writeb(_INTR), _INTR + + def eof(self): + '''This returns True if the EOF exception was ever raised. + ''' + + return self.flag_eof + + def terminate(self, force=False): + '''This forces a child process to terminate. It starts nicely with + SIGHUP and SIGINT. If "force" is True then moves onto SIGKILL. This + returns True if the child was terminated. This returns False if the + child could not be terminated. ''' + + if not self.isalive(): + return True + try: + self.kill(signal.SIGHUP) + time.sleep(self.delayafterterminate) + if not self.isalive(): + return True + self.kill(signal.SIGCONT) + time.sleep(self.delayafterterminate) + if not self.isalive(): + return True + self.kill(signal.SIGINT) + time.sleep(self.delayafterterminate) + if not self.isalive(): + return True + if force: + self.kill(signal.SIGKILL) + time.sleep(self.delayafterterminate) + if not self.isalive(): + return True + else: + return False + return False + except OSError: + # I think there are kernel timing issues that sometimes cause + # this to happen. I think isalive() reports True, but the + # process is dead to the kernel. + # Make one last attempt to see if the kernel is up to date. + time.sleep(self.delayafterterminate) + if not self.isalive(): + return True + else: + return False + + def wait(self): + '''This waits until the child exits. This is a blocking call. This will + not read any data from the child, so this will block forever if the + child has unread output and has terminated. In other words, the child + may have printed output then called exit(), but, the child is + technically still alive until its output is read by the parent. ''' + + if self.isalive(): + pid, status = os.waitpid(self.pid, 0) + else: + return self.exitstatus + self.exitstatus = os.WEXITSTATUS(status) + if os.WIFEXITED(status): + self.status = status + self.exitstatus = os.WEXITSTATUS(status) + self.signalstatus = None + self.terminated = True + elif os.WIFSIGNALED(status): + self.status = status + self.exitstatus = None + self.signalstatus = os.WTERMSIG(status) + self.terminated = True + elif os.WIFSTOPPED(status): # pragma: no cover + # You can't call wait() on a child process in the stopped state. + raise PtyProcessError('Called wait() on a stopped child ' + + 'process. This is not supported. Is some other ' + + 'process attempting job control with our child pid?') + return self.exitstatus + + def isalive(self): + '''This tests if the child process is running or not. This is + non-blocking. If the child was terminated then this will read the + exitstatus or signalstatus of the child. This returns True if the child + process appears to be running or False if not. It can take literally + SECONDS for Solaris to return the right status. ''' + + if self.terminated: + return False + + if self.flag_eof: + # This is for Linux, which requires the blocking form + # of waitpid to get the status of a defunct process. + # This is super-lame. The flag_eof would have been set + # in read_nonblocking(), so this should be safe. + waitpid_options = 0 + else: + waitpid_options = os.WNOHANG + + try: + pid, status = os.waitpid(self.pid, waitpid_options) + except OSError as e: + # No child processes + if e.errno == errno.ECHILD: + raise PtyProcessError('isalive() encountered condition ' + + 'where "terminated" is 0, but there was no child ' + + 'process. Did someone else call waitpid() ' + + 'on our process?') + else: + raise + + # I have to do this twice for Solaris. + # I can't even believe that I figured this out... + # If waitpid() returns 0 it means that no child process + # wishes to report, and the value of status is undefined. + if pid == 0: + try: + ### os.WNOHANG) # Solaris! + pid, status = os.waitpid(self.pid, waitpid_options) + except OSError as e: # pragma: no cover + # This should never happen... + if e.errno == errno.ECHILD: + raise PtyProcessError('isalive() encountered condition ' + + 'that should never happen. There was no child ' + + 'process. Did someone else call waitpid() ' + + 'on our process?') + else: + raise + + # If pid is still 0 after two calls to waitpid() then the process + # really is alive. This seems to work on all platforms, except for + # Irix which seems to require a blocking call on waitpid or select, + # so I let read_nonblocking take care of this situation + # (unfortunately, this requires waiting through the timeout). + if pid == 0: + return True + + if pid == 0: + return True + + if os.WIFEXITED(status): + self.status = status + self.exitstatus = os.WEXITSTATUS(status) + self.signalstatus = None + self.terminated = True + elif os.WIFSIGNALED(status): + self.status = status + self.exitstatus = None + self.signalstatus = os.WTERMSIG(status) + self.terminated = True + elif os.WIFSTOPPED(status): + raise PtyProcessError('isalive() encountered condition ' + + 'where child process is stopped. This is not ' + + 'supported. Is some other process attempting ' + + 'job control with our child pid?') + return False + + def kill(self, sig): + """Send the given signal to the child application. + + In keeping with UNIX tradition it has a misleading name. It does not + necessarily kill the child unless you send the right signal. See the + :mod:`signal` module for constants representing signal numbers. + """ + + # Same as os.kill, but the pid is given for you. + if self.isalive(): + os.kill(self.pid, sig) + + def getwinsize(self): + """Return the window size of the pseudoterminal as a tuple (rows, cols). + """ + TIOCGWINSZ = getattr(termios, 'TIOCGWINSZ', 1074295912) + s = struct.pack('HHHH', 0, 0, 0, 0) + x = fcntl.ioctl(self.fd, TIOCGWINSZ, s) + return struct.unpack('HHHH', x)[0:2] + + def setwinsize(self, rows, cols): + """Set the terminal window size of the child tty. + + This will cause a SIGWINCH signal to be sent to the child. This does not + change the physical window size. It changes the size reported to + TTY-aware applications like vi or curses -- applications that respond to + the SIGWINCH signal. + """ + return _setwinsize(self.fd, rows, cols) + + +class PtyProcessUnicode(PtyProcess): + """Unicode wrapper around a process running in a pseudoterminal. + + This class exposes a similar interface to :class:`PtyProcess`, but its read + methods return unicode, and its :meth:`write` accepts unicode. + """ + if PY3: + string_type = str + else: + string_type = unicode # analysis:ignore + + def __init__(self, pid, fd, encoding='utf-8', codec_errors='strict'): + super(PtyProcessUnicode, self).__init__(pid, fd) + self.encoding = encoding + self.codec_errors = codec_errors + self.decoder = codecs.getincrementaldecoder(encoding)(errors=codec_errors) + + def read(self, size=1024): + """Read at most ``size`` bytes from the pty, return them as unicode. + + Can block if there is nothing to read. Raises :exc:`EOFError` if the + terminal was closed. + + The size argument still refers to bytes, not unicode code points. + """ + b = super(PtyProcessUnicode, self).read(size) + return self.decoder.decode(b, final=False) + + def readline(self): + """Read one line from the pseudoterminal, and return it as unicode. + + Can block if there is nothing to read. Raises :exc:`EOFError` if the + terminal was closed. + """ + b = super(PtyProcessUnicode, self).readline() + return self.decoder.decode(b, final=False) + + def write(self, s): + """Write the unicode string ``s`` to the pseudoterminal. + + Returns the number of bytes written. + """ + b = s.encode(self.encoding) + return super(PtyProcessUnicode, self).write(b) diff --git a/venv/lib/python3.6/site-packages/ptyprocess/util.py b/venv/lib/python3.6/site-packages/ptyprocess/util.py new file mode 100644 index 0000000..aadbd62 --- /dev/null +++ b/venv/lib/python3.6/site-packages/ptyprocess/util.py @@ -0,0 +1,71 @@ +try: + from shutil import which # Python >= 3.3 +except ImportError: + import os, sys + + # This is copied from Python 3.4.1 + def which(cmd, mode=os.F_OK | os.X_OK, path=None): + """Given a command, mode, and a PATH string, return the path which + conforms to the given mode on the PATH, or None if there is no such + file. + + `mode` defaults to os.F_OK | os.X_OK. `path` defaults to the result + of os.environ.get("PATH"), or can be overridden with a custom search + path. + + """ + # Check that a given file can be accessed with the correct mode. + # Additionally check that `file` is not a directory, as on Windows + # directories pass the os.access check. + def _access_check(fn, mode): + return (os.path.exists(fn) and os.access(fn, mode) + and not os.path.isdir(fn)) + + # If we're given a path with a directory part, look it up directly rather + # than referring to PATH directories. This includes checking relative to the + # current directory, e.g. ./script + if os.path.dirname(cmd): + if _access_check(cmd, mode): + return cmd + return None + + if path is None: + path = os.environ.get("PATH", os.defpath) + if not path: + return None + path = path.split(os.pathsep) + + if sys.platform == "win32": + # The current directory takes precedence on Windows. + if not os.curdir in path: + path.insert(0, os.curdir) + + # PATHEXT is necessary to check on Windows. + pathext = os.environ.get("PATHEXT", "").split(os.pathsep) + # See if the given file matches any of the expected path extensions. + # This will allow us to short circuit when given "python.exe". + # If it does match, only test that one, otherwise we have to try + # others. + if any(cmd.lower().endswith(ext.lower()) for ext in pathext): + files = [cmd] + else: + files = [cmd + ext for ext in pathext] + else: + # On other platforms you don't have things like PATHEXT to tell you + # what file suffixes are executable, so just pass on cmd as-is. + files = [cmd] + + seen = set() + for dir in path: + normdir = os.path.normcase(dir) + if not normdir in seen: + seen.add(normdir) + for thefile in files: + name = os.path.join(dir, thefile) + if _access_check(name, mode): + return name + return None + + +class PtyProcessError(Exception): + """Generic error class for this package.""" diff --git a/venv/lib/python3.6/site-packages/setuptools-40.8.0-py3.6.egg b/venv/lib/python3.6/site-packages/setuptools-40.8.0-py3.6.egg new file mode 100644 index 0000000000000000000000000000000000000000..9d260518d656b88bc0c7ec4bf02697fd1538b0b4 GIT binary patch literal 571890 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�|&dmFJ$RQMZMrLJzYg+Q~I4r4=I@PK}Z77^D4B9L^o z`aBqe`-)J=wv$IFah-=8N^=i~SqzwECOi_91(G>B0rVe)OhoNx18^M1wVi$m4e8wk zu_MyKOFbf5^54OpLjK%Le+5W^w(jVYd6XUWITm(8comearSi}bgOz4nM3t9%e4&zH z6>{Vv?vJ=-Am@8%)&w*#)1aRxgetB66qtck({i;k7iP(57Fncj5!8iheXd&1gZYv& z4sFy1=Za_wm_|vd)GTn)^?;!ns={)m$zD1k2PE(sv-Slbv?iBRuH%$70#^%p2FlD% z$)r36nF_SK`AwN*Tx*JE5ch_oX7OOS#!Y)~!Ulp}CL7aD?V4#+dQJe9qs=8~)n>W} z1=m6iN&@+^_0uFW1B=a04}g-h(rwCCfs^OKjAAfF3)_rZwLp&3X2@3#8RZG|9q3M_ z_(oYI$6sDVS7U+Dl&$a7uSgWO?ZT#!b*n$At~kt;W?fGENHeO*q0o!KE$W_E@Oj`o zK7;$&vyVNGu_tBE6YLpg&m-`pg9Dld_EQn97L%s8E$qgB^mMkqDt_Q)0OX_$68tr4 zQmfWo!Igp|85}oIX?Du>Ug`v1sQm-l@ncp6a6y3dMTS$^s=yv*?5B`7*pk4H$1Vxr zdcdXBF-rm|<Pfe0h{10|Z`isVXT?Are6>wbLuU~4P&a$N2G7=KzJzDslo*%+_>?OL z5P(ykKMXH%dnUxS9h#S4vV7w>@!%oxV9RotLX~dOHUMVHfGsQ@3`90Tls_#J<7?I6 z(~!*(5r6n!=^&5_f|)je4q?wh_wHbw%(`w5>(V`}GxxAg-h-Xly8*I6Jqpd2?op^w zx?Q1yG^eUc%7Ks=^x@Kc2;qg^dq=+c-bEwdhF%-4>9Ow?v?~fml2Uqe;k)JXjq*G& zpY(AiTjP#l^#EcchAs&sB@RB1QN5qyB0d}b?}RhNgKvZ?gcCYB^d5sGbq}_zHzMf8 zUUzM=lok7LtXS3uz5mP#q}LS4N_m`>a<{as<#MA`(Q<jMl-qK7qZoWxNVbQAuigg` z%&}IUSe}RkPSr=N*FJ*3rT3<h@BH4GxTtR|xm}*t^0;AvJgGdHwPhshFld`4HU@AT z19%Ama77^j@Mi>AEe77f_oHIqO?-bJ6a{?CV&DM2H;I8g_+Bms{woc;2dN<xMCNjf zdk?wwL8d|}n<LtSNO`r=ED}P-3++M5qc4I4Z!?zb)ds?1;6;$`S3x`h5WUrDI-$f? zi%(IIi(=q0T<VK?#HaqoVGsvjp=FW<h-W$c2~|~M@Fy_KwH(Ut3?eC_*{M^%-ce3F z8_v-4{qST<TI%yXjL%<S<5&eToouXd{j&EZ2o5p<F(3L@4C3m*m~m3MvB`4AXcA$x zpj^`A)K{^OfogO>3zAfle$)e4w;1>>4|egeoVoL95Dsb(BMEzUGV#M~=dC=p6?*-B zzzN#=SYbpATn}YqoBtIPzgdMeU);Ai?ry|(hJx5+cPNNr!A<XVFw+C3rWu_~(qSdh z32lqxtqib}!C|DHQOByc2r43JBRl{TvV&Cdj<=)*dfnJ|@pVoOA+%(DuJF*w*qBE2 z8IfX`6!;iEckUQzubUo16}k5<T+5HG6Q3Gl1O5>%62~49x4*{Xzb*b~0jgTDN2MPq zvF}N9mDu;i;0us8z^ZT2(H3w~=b^-C;Iid1a>oeH^v+^bF2uksmo-h#mM@vtkRTG? z8r2jP^iS0^+A+QVhflJaQ?DWeZA%t07(pHr1HZz(#WdpMl}@4e9h}C;wOszT{D@9Y ztb1$i?0btz7YEyz@Yn?@TNV*Um)kn(45$&#$^>p^WDDXJB{+<eMeite4^k>Q6V1>I z#_YBM91}qewqnxaxEkC(%9I+D$-qY%t3vMth<$;9U=EL4D_WihdRQ4Q+G;1r0c@9Y zIB(mh$YD~x&NOmvqC}5Yv>L(3>)^GuEe8<QZ_9Z=#AAR~A<*YDl0c4|<Z+2Hfku|= zjOXb!qMpT?g2SeUa8iyID0ICT*c)f$9Z+%1ac<aaK=wq4>$z*j+`=TnqX5~)0Qj1Y z;M>TVt-*H~J>xutI}E+33&NmTkfHCzk~{f<NWPS-_sl>9R37p5#qlVQ%<~*5GK=FF zX?zYesZ*msQyuSaowS*EbgUmYct$zJ4Zc6xxCAro0E&2@#N-s)Ifaci*K8g`4pS5+ zfd`o!x|%ddXJ)%>n#qt3$rttML}NlF7~X2aWa%ct8vfk<ZjX=lfDNHU<|~)%>hp|1 zV&wfTCL`<3*6gLx10mPN!j8%WVkq}mW_1r^)Q522nY`6vpD%ee#=C?)I}G!k(S>)f zfq0YC>3B=-FJwe`G8Uc71lEpg1XeWd?v`RsN=4YOby&S3<pA;$^!Q3-6NbfZr*zw| zu(zaieW-4V=I%Bm1BKDd-6_&IJ&>;tANCqyvv%S0-Rz06IvJSdNg7k`LX3Mo{(QRb zYi5;cOa&naMiWCJER=5eI+<AjgIfRM<?%j`f4&Y!Z`Mmt4xq^5^!}FC1jAdtMfQxD zHujmc5PrD*rjV;2WbCsLsB~A-kBbsgR-S8Tky5_4=h;y_s{83z{n$B}o2!-gMDrA; zy=g#pYy{j1Ox^&n+Jxe^If<);xaKDyp6E~Dit>V!CTM%`g9@l5yu{*a37c@+jIC@| zMi&qgdYbhO5_Q{&-VdR@e@Bzm1tO`AH`LqSTtVNDYFbzOj){d%Zqf}-ZZZ751b<(_ zUmX7Ky3xt4gEapGjmyz0eFS8u4Xv+`>lX>DG+{*fo&J1Kj2|<h5#i_*1Gw|I3$<Id zXa_t)tvH`V=XW@HP7$;YXKIGJN$7AEa2?J$86D2+AXwbtT!8zCBn$Ixi(n2%r0Lii zd-GdjAOoq*bpp#qgN+o2mh&Orp}KkwGQi=@DP*|Q)y?>E1>!@asR^6SORBp=W~OYb z1|<~{$`9>e7~MDqBW0DqwX7;=Nus2zD&~?njWfRMIMj4X17oxl^KX7WY9j1Qd8C^Q zYFoZbTs=epJwfs+mxiU9HY0Gry}JcDvqsBt>PuK9MD8XXxKH%SjL0V@;{ttK3^H=6 z2?n#0Z+rpFl2E1DO#?UT$cq8=U(+fDsJdKn_3-xQ?#(~7og){qgd$de3C)X4G%rjo zOZk>)Q%5DgEqG2&^$#qMW{~zOwn7~K8pf;yy&+->&~JHAlNR|#a9f}*oP!;!#8PA| z#TiXkVn&&VPhk|RFK$S5=^cPkGy~x}O~cH(8#0R9(SXs|fNMF$P%hZV<F2;0!IYv8 zrzDqZa5dUC;OLO2(F2CWCTL<A)@2x3hBXqWWz3e{E;pFdBgW!f<5*)+dFc$yG@Qr3 zBosUkU+8Ucv4?SK9GQGB<JkFZQZ%c<c_UIy4KYLV8Ky5h|Mry;dxu#YYqmcVW3SK! z_ImyZdj$`(*Gpmc`Y&Y7Up&Panz;B-HQ&i<GJs@E*rOp-z{uTkU90M3NKN9oa3@0+ zNf$&gd}%q$am9xtXSAFL&^3c04#Vfxy;saIxPm{0R^JB0(TF8zIZL|PYH1Y?aCIEH zJN_whx4vFlgq=oj%uVdg)M?$2JsY#v_5Loo-~pWr<|qH=8R$-FLYZ>urlzk#Ri7)D z#%;{@XDx?5=ifX(9y>p^0+~L$)^TKNcy>ey3w7=Eg~@E`$h6;SE#ulDuAPRGQ5AZW zIkBoh|B7od)k2Lb&?j)2iS*Ie(CVBI<9zJcu|}@g$*tCk5`H!ob!~wq1b>Cy9<Ps$ z_N}hC?N4s?5vs{C;)*AzOLfIUuD;c%Ndbjb_pMg5@Uym|p?(GVxUOc@8|>Jz#701_ zzP_+tuoYpsK4R){X&~16na2FM1-UAVEai>IZRTS7t4{#$rDjqo=;7xu>=Fi?{2DPh z5k*wBCA5sHo;X=y#$AKz3(C;2)DXIx3-K$+k|(X9iYG0qs}DHd6$^GrR`MPV+{$rK zsUaBN?A*GTxMJiC)GEK#(hS180J(cC3fCo2@G=zcq!Sqm{dx=A0dZ_`v<rH7oBiSS z-|d!fP)fJ6z25vrd{bp+(iu!7%LKpSek}*%mBRw5Hq+~GW!vEP<z{JoquwK@$q{;^ z9!;uaYL)p~lz#g0)hH<+vppSBB|z&A%;&g2;NaLjW-)L-d?boJO5cH`-aIY2+~%_l z;Hu~xtSVL;)a2{!sSg0zZkXZKHyc7v;vR!Tk2Hd4Abq%C^#<u|7+KMWLU8$)?S#2f zu_W9v|A)(Jzox82Nh@@m5UF`~ms$D;ON)G?G)tnuIkr*MphU|*TH*n{M8COl6VAw| z(cG4W;D976r2!a4qg?Li>0~~!N#Lb-*l?}U)q^g3UN>Ei!I5?LOt#M6!^w95PSFg= znQFw<bT4#ak#qx!@m0FSnMm`nsy;1eCCV9kYzXbDTKY4HZTDLmpG9n3aa@{L>w5eK z`p;O9S{L^l8`S1*M=AP}H2cV4<dYQUG-B+q=SmfX8*rKxNp#aUN)t{tM$OfuXx7bh z85rSBx@SZMRLf$t1txk0Hw$#%lRVSn=)Yd;1Y=-W8R#7;Bl|!eTtg(4W^$zEL!<3n z%cT_A`6~f+Ry%OBk1Q;V!7M({=l0TvE<x#T`e_B*&~S9hBIFB%9}|`CD{7@Vnx-r@ z=PO6G2FR$a;bHEsC+#c7Y$*i?<a94Z=~WxO#Y;D%gu@*yoXlq6daV<xwR&kRhUW4L z7r+gksht{5Eb#iRjr*}X2f(aFb*o2hJ`atlz{Y^`h5G{C4(6OAh7_oTbwr4N*<LKw zCpy#%&6xaW+*7cfx=URaPxR%>q{=)HQKVb!%LI9xo8E(%VW&@rPLEEuHw&_LAd-UP zaZ4geHm1AIL#-5Ty2@z42K3gQ7>Jj_zGaoPCkJ3WBPhWDgCH4+>pb0fSs#i2;@H-l zfzH5kaeD>W;q~RXFkbTY5-aYDOb_v2SHYKB%=8UyzS5aXn`b5z4s)e4T(J2RXcG<f z?MeZIME&9`qIt+Pqz>;vjDwK`#b$!Cg*Ql9KJB!Ro&aJ{t^?xg5Vj3B=78>Yo<TOS zUBPsOl#Oof^l17g^(#iS4Q;`n5IE_Y1B};=WAor89Gk^3IJR^4X~-&aE`0^2JO6Z= zlAGMtaesup0~8Tjz!0`imw3_{{hmLUrsLiRi8+R3kw$<HIyp02i;mX#GiWWRGmm|` zJdbsTk4pJ^N63?WbeQd%kda)#anVe5VKmK0KN=ddjh1AGzr}D6GU(hy-zPM$klr+9 zAtz68(^)!|f?hF>R{Rxrcy1r@mV#CTU2$}Ej7{4%&2fCg&HnD?wo`*&Ib7zcVW&KU z4h<&p@!>zJ45F50wS{}%L5u!3)n@XQDhrN5*=QT6WO70o?%w!lQgGd?bco6)eX5N6 z(T>!05V`RV5J^iAF`z&cn^m{#(k$7+25eznkK-@WI7s$+sOcP2?HqrRAM*Nzq!3$; zO3@jJTw*V6ff&i=r9YX$bRjX=#P)?OXj!<mWD|N_xE2qzZUzicqpNL)>{$#>GU+g+ zojwa~Y-f4|4;YeWoI)eLX=}tU!%-pOc)DYaxD{fyF1Fw!A0PAa;lzg<AFJ@OF7!IC z(cCScAW#xa<+_^$7V8q8BQe|M!pq91BEDeGC;>%-oK*h0RbAHactaXr_(qMJu15tM zrg4`*mh}fuNiL(yQg{dy4O^Hr$4GVm#s9#q{+kE?qI5#ReHaZG_hED&j4N4YF&-&A zalfCdp<7s4I1~wVfCloB238F~0!%Gy#JQ19R}ZtdX5(fYN4Qd$aKlnY=`?&9ZQ=HW z@~=G7!;S2~_0VrY5lKgkTwB-!io5FS2RuE$SWb=<;kg|5^S^ko@T4@O=6PFK{5MRk zqw2B?YIPrTH;1TYkSDfc&=rRuFJ;q}8e3dTg(^{wuIOr~&q35K^m7ADbk_?u3)s&2 z92ccjd!2b>K6Qbi?4MZ6JV1ax1$vBG-&WGWoI_#2f!f=p$!*-7?a~B)N`t-GEIx@l z>#e5B4%3~Lq}oa%j-!&Zc(POiwhHvtGBXH<xa0Er$J#8d6Dys?xiWRv&<h~;+klBn zZjme{D<$({N3(gomz@w{*<86$(fFtyzpzbc&1PBqboZm{+k`uhN;6w7-7MuYh`bKd z&6Npg%P2I4H;jXEYt5yN&=&u!-s#W}t<%SP7%~4F0sU`20frIxqGs3Mw#*uMz%Wgo z&i2;F17Q#qJ#WyHX12?My&7c0>il~iIDVdOyMuni`dv9}sk<t{&(UpH$8#fYZ^+so zFJcDYRfgTJmuJCzko9YP=IqAjv={MN^a4Ihe*w=m+jEYvSJrFnHSJmUN`0EW=Imgv zo3_L27f+>zXQ8>x?Rtg1`Ca?r9RiE;FouKOFi~`-a`25N+fGc}^~%gLt}}HvJk!xm zOa1jsOih@aDl_1A2H5BM5xZ?yY$p0B)87F5*P<&2nsAM8Gv^jG;FMAX;GjzklpsuF z`n48ZSNlybLi?pz3gx9q3eA$tRg9tb^LVIb|9JM~1$>U<nK|wCk-kQQ0as{3m3cll z9eM{OSXkV5ghbRWJnkuPF-JbMWJW?;EdTkR|M@CTb<D>;ukfwcF=Lz6&}wnsCl7|6 zoCd*z9E%emZmB%jP@f!_ywt0<XMLd{y^O}`242f)1l(W8e7JBi#3r=XKq@l6)6v<~ z-xmA=Ks$mMksk<4H;118@-ouj5pl24ab)Af!iduydO8c!{rUIP;&+%3DsMBE2g33h z=*tb}P%sWzpf)$ujDT+DxbYZhQMPj)h=*8^*S?WtA7t{-2g{MXDiQ$ku>fpWg#i^Y zpaSf*?JlflAYzcRTb7unS=zRzVzJS2s2}BER6a&QL9N?O*j-VfBfviJq(Rfcs8{dB z&R`Fe^Gmj~djtC>&)_o@$i`&jiO_@j%FyJE=9VSdP|L}dL-|orxjcDeHb&$_#Ao@f zmZ-6V<H{Vzn-1aH9UAvD&Y*D*LfMHz`Dh<ZhR<f8O|g@C<t<((O;fh6<)leuV<YIJ zf<K>r?|oD`I_O7zs19V&i-V}*fhY$MRqk;VG1tD^!I+o=M#wr{@fUTSNJ{h4A6`VQ z8-ditjf6o%HUM2ax)4b5m}vAzMDBqK_79Bc8z68zFgz%6r1!vdn0BlHsBd^!p5B>? zpV)6&&L$|RxGpZa5~3wqq6}Y=$BzY(03>=&8IGf?UmtPuqlwYOm^Td!XtvbZF)Hlx zzv)ikW4;G4tq!Qof@4_DhS_`{+ArbW=kZhro+7aCe|9qZSN#}k2CF1IzZ4IAHhsEH zqgQZ~Vx0k9-g?>hYTV}9*9i=~ne`mlx_BPMMS%brUtp9C&zT^vh062L8ao9Qp1KRy zq8{hf^=A7rDn1#5Dq5PqfFh6M5`_F^TXvvJ44~JsxVI9RrK|V<a90&G?i8wJJy6Vd zy5@s%5c=(IeQcsPwpF69^jvZ8LiF{3F6(Y<c^VRh3db}k&9K-J+wd7^0hN_4pa!0V zanoGgpb0C@-8>Y~)Jr-6wa#+1lsNir&@TNZwcH#kw}jMRKsgVtA-9&TQRkOAo%hHW z$wm4e?)UBkQfOIXoW?sHkqrY-_7>bQSb!TJ<<nms#s&(4^KSVPDd*{UG$qT;sz-<# z)%8L`Wa*OXag<ci-S#3JV==gVn5`g=tY1%ghcSV*aTPK_$LEk*-L285(vT6rYN9BV zNkb!yH<fV#4iw9BUJUqf81N(%ed0^xi8H}-VxSTtUv0%Xe`6yVy7-bZoAcnrgc~ol zpmcVlvWVISk<V)z8b>%}9I0$9)p^8CAMQhCwZ73qN|7tH_XaB0rHH}LaFZ()Iny8p z|BOD?SybvzvR^sB>pZlNlncAM+1tFUrvSAU&~%kpYO`exSyFCUqnceOAlezFETt3) zpgF5;Np4<iYwILT=+zUD8=664<)VaXZQYTJX`g6}V@J@Qz&LpX@&CY%P^V#>M|&^H z&A81Loe#)<{x@Xh=p3{N^S2G@xja<DT-0y@)n;6_jq<o04pc_BKwP_0`f?%j%JpBN zUgqGJiV+4jF^sj#pL`9YKrd^TzF%534GM20Pri&!=Iv6wJy(8^Jh@*FO@a_uD??uZ zdV4V!{dpO4uzm8Cs{q~~1t?+w+FmS=9vY3`_XV@go($_5D<GqjJb4&GHzA3-=|2Mi zdGZ*1Gu6DX(@hl?bs`axSz(x;`oCbhP3Yj;NFiyZt$EOhN%m(ED;ezRsi59ychGWH zXK0JN(<Pu|!nUok9Y7V*IFbe^WC98>7Sj>P-Vg^JY%xC?orck%xog#e-07t;Aotpa z5x*(u$RZ>;A8@lzdzbtWn~VCI8w2~t23{E(2#*Fr4I^khuA`MsjEOYm@i^`zmGjAP zJHrDCzy_yckq|qI4x$m%!~iZ(AZkc;|JTr}UqLz>>e_>vbO)a6^OE_FL20f}Ev6Bq zN|^DcdZ~*!w{f*N<vlw^pYm#v_ep0x7&185wxF14=mo}@$Ij&Gb8Y21(9^cST$@L8 zFnZnE#Dsh0ls@4$_2PtUrcd-GI6hRlmXxBGJ$;m|TK8PVZxH}(W^zgHNh~U9MFD^& zMJ*^(-i0>I+}Sc!cR!ot))TdNwG)sakQO|m5xxGP^pTVECf%v!OfOw{N?(V{ZCw4) zSkG#Kc~*mL1fv0seUAQcbfMt?Th;OZq3ZUN$*On!zg4Z}1R$Or5=hjm<zT&}4|;T} zR%Dq2UG|8+VK4&FiU1w;?IUPS1hjGy(!o5$PbgWK0(yEPJsaxZj(T_&E1>rez(_E- zFW}%l@u{X=gFcV}kLbfNfvD=NT)Csy$>G}17Av%%K<`X44O^t0R-eS)XRXv=E`>05 ziMnN7$CGGEm3KUOFS<;0RyLvt1;P5gFA_Atrj)Uo)Iyvl%(VIoeffj9%xdLYT%g&B zlmp+|hP7;^b7Z|I2L(|ow4fc(16-l_A`}uxd-Fa|uDj_=xLOf*3W?DlW7ZR_hnF_u zwk=pCzood=TZ@cwr&ov6imceBxQ$iIMmyKfdFh{!eQLFwr?ESi@|tRjrh92U(0i?I z0BYI+@pvYm`BQI2g{zP8hJ}83obg6|yI*KLf;}&Ml32<X1E>L!$^vv{0ObY?BbD>? zkWmjU&_iES7Anz0pXwo}9y+UsD)i7%JyfNK4(Oqkr8txr@oS8L?&`jfoRhaSg0z_8 z8>0tn`lRQhTj`iS_vxeb?-%qq=Gd@hE##f;qZcout21MC$+}HrLdC2s;$$d9i;XE{ zI)}bO*JHWV^|7WQ2e9GW5M`qV-)8EMCP(m_1p4q>Y&8)DZawZo6(Kb?hCgC5xA7Hx z?=sIpPHo)H0v0{+0t;AKKq*BC$cqfM3mHh7sFWfgCuJ$6R`!7hHVbwlPqHF*A|G|8 zV#cTMbAn-xP%N*`%DWOgCkAj9)fw20QbY{=5sCGg6S!fF+3AEK{6qkTDK)Y%E03`~ zcBanP3}5=uWj5im%IL3q+2YS5jjc6E+N^-mAx5gZl47AMN!_PE9-;09S5tS!P?EZ* zB6WW{bS-t`;!+y@$q?EJNsAcw5Ya8Un$qXqfRgKkP`QEWU>il^qWbA2aUZ`tDywxu zq*)NqC;)-S_S@a`-zOxNxW~7-1b<4aE7n?fsl#;{&#c<ITI*sRu1j1Ql;k&P>#W*3 z9?yi<gj_Lq2;<yz%k5~j=HnrjVpl&JKz(Qc*}_q)xX%@z?J~DC_p|kyJ~XOE&LN@q zxR<W)#u>;=D$TXKpO7cf1%E|l4wsJEHpdaI_ZDc%Zl{z*C$pqkI7fX1*4%D`G*PYR zcU#2350UJb3QG5|nypr1VM_Ox%8?ZK1_-q-{wwAVKaZ|$PdLv@X1c09={TQ-t44xF zKa2q6Jl%;~B9&&eI()i!C>}Ul7^*U;*<@*MVeD?lkh+xLGR=pl-e`$__5{qkXti=A zA8N&|md8l7867gFqC>_+5>dKmkdu+iy6g2bSDnV@^Chc4#p9`=Z6J1M9|FQcl9>aw zwp9zQLUbZXRA0y?u<G8tF<G6xIWDCq`Y9?T$FyNZeX@^hz}^&auY>u`IP$KvqA*Cu z^+83O)bs^BL}ep1({H5jJJ}YPK@2R=Bf6Y=j{x^=ACIO(U@97%LuiDEfij$E)`0-~ zqZPCc&+GX>!9Kd9IC*_RmVT!E?GM;`Cc81^pnVRW1LrzYORp<KYuc(ykn0+kLphB@ zDJX`Pj+7uKUE_D?WdKKHbDR@!EZI=(rSGG|{1*;mhu`?>g1Kc};{#Ag;gK3Q_1?kO z@}P)uwgDZDYQ2bPify3L4R9VGU3dF6sNSH%5LaAV@Tcw2Q2=!BwLpBLJ(hd}*EknS z^3mdj`bojt{QU_JmottJqyl9~lV<oi#wiP~V0qf@bPgb0>(*}fXgSZ~<b+G2(AD*e z^uCvJAW)My7BeH!@AAY(>~eYo2y1;~X9k=1Mi!NQi33q@44{m{<4|aR#_1mhbV=hF z6rVsvn0!$9mryyc#Q3I-K3cSho$W8@YaOxmRr{G6Q*3<-=`?maI-5iwwK!e>Vd5;= z#L!|3#5!4QT_RSxH8PX}jeC~9^EJfmLL}G`(64cKR_Wlq^fi{iP;v>ixQ3fp1@`)R zP*FR(5koJ1M)!|nB`|21rc?d7%j?^f>o`1-kC!aqH2n~CKizRe-vhw9V#B&_bnT{7 zGXS>J?;lAn^&{*)06<@)!85g0XeW60clSHFgZS`~n4@F8NYWA~^*VXSaMM>z#(MWt zgrffol+UJx_Br#|D0lQTZ_rxk1Z{2;1%PA8Gx&)UR0fI1({-e*#2DFD%uY{zX*-oT zKUI}0K7EKBs{4k&2yTZ|l^BnR`^u~yuek3ACfg}rs6xmM4s4i8n$4uj?6}mFPL>PC zvyP#rjJuTZT*tdjl=b>m#p&hwhZ`+}z<JEyWhd?yx$&N&5hs_J?N9Czj~11AQQ?<< zI_gHYoQ{^yGQjI5b_z^SaqAmFkm4ZDf(V^4ctYtmBzIuO_{Hc>Bl=M)gY6XCzhO-u z<FaK7e=`RtZSw(d>NyW1o{v=S+yu2vWJGZyns&9*7ac4Co>>d9?Tw`?Alvo0lDG?H zMtf3Ddg-dKb@fnRi6P#VJEgobX3ml~Ja)U3P0oDhoLPyOjqf{-HhuA(u-SOXab&$< zx63?<Bz7k<pzC3}NgS=k6=-EBRW_q*AK=vc8H)fx`T?7;R;kr7m?YGtt4I~EToS|} z8l)tv5h^C7Yw>x~c**fzbHR7I%w)?-Wwl*^1eQDvlkYPA1rTza-uzcm7bl?ktuFl$ zbfKKyS-Bb+K3ZS8BN^U?;iaWNPKE;*URe6mWSCuraC2!W8GZu8(@UR9hM&Z6cIi(r zoCe`G)TlPB_6yqST6N3nXc{)MMmtShv0Alq70gI08j|x6y3G|scke2}hZ7$abIZou zYC*EFv%PjVFNx%<?+loYvY>>`j*g}a&~#(9Q16JWPsQXEWE-sr%b@Rn#jK0`MmG{e z<@+Q43TI%}Q-(6PE|GFbyFaD2Fe1%@KLP$$7e?d?y8a?AzOv(}GP{Z8A)KBN#hv(w zuF^KHB&TT|GZ~Z)ftaEXl6HlPQi(!MQehPs+iho)%TCF8%5qkpWd8dgqPG(t(TNAK z%{%cC%{Yjy-ieRI)}@<H{ED41thI%e=5C;jGZ1Tcb<1fm5ghuHrrBLRXd!fTqfHY= zAHyL*%7Dg6smc&9PbK#O6}_!4UIp>8liasjtv=DYc=dKhX@Y#SPEBg{d6LBlDhGqc zH|*8tn<ta%^GH~}m1@N}L35pto}*j(*nx#H79Ex{L)*C8qb=*MjZTK1CCz8hYe&L8 zwFmx!L%`CmMr<5$C9yIQ*9mp;YFn7nGf8ob6tUzg64<r;>flNi^jjL&;ov@cCMojG z?Bw$cFnNO1kKU5l`h_mEb(KzH@*_eb$o<=zyD<#Li=bPA*K7l?xC)t7qqS>A7@(WK z)E5mzwn$K$*xapaXL379x7@a3=H+&yvdLnU3y9NNnxFd9$x=?~OnhaR&cat(Dd&6+ zkKUFu)gA94Xgt{9Ozh3EwMd*l>}<Uf!NArcMK2`g!GqrdGpWr~lD|>FO)D_&3QA_l z>9#Jgx1h0?#Jyply^nNk4V9JA(*T-Q*=7oa<*%9fn_LJ@rM;hNnwJ#eX<4WcuW~`^ ze*wn1q*O92_R;`)E#n1ZEc<7EezA|vJd4~?TdS7l;_YjibW|_F6TQnzJ?Q0jro3fg zX{~gt-{7Ga&#(n+oFkWdJ#N~3^EVW_*WYH00#l^%A};*Ds<HCui^xE8@RL)n2gB~g zk=5E-5GKI(SU=supmG@$=)FC<2q)DRk1gy~)5zb*GIJ-cP6HzeQaZ{4m%ytNfO%RL z&XO&*u-z5^{Veh6a3!kjC0bhWlq9s7T2t;)mzmq9i+kJMmGt!w^$wk&rQvZ?5bf3G zHk0Nuw;C#;0;n!<PP$ELj&t&_T88qa)Rv)i`Ik@<-*K15A+18o#6T~gfnz7}CF!!M zGJ0`o^dpvli@59<Z93iqga}$RgY8_ott*;RS=O>}rF03gy>1|408J2gyv?CXLrd{2 zm~Q%_S+=n495e%O?{mdZ_6ED8@prSzQ&!#u4eFA=!nVK|O3N6I0-$hjNxHN+cup!6 z4~E?UJe$7Xtv52O%>>QU8>gj>wltbW_a#7#kN`=`%$2=f^mRBTrFEom*khQ%(woiL zN~m9fuu49s8AkTM%<Kjk`?LggKSDu|W%fWL@R`@sI&Cd;lR;}>Clb9{G#3UJZ#jXs z73a!ERgRNoanz(eo=|f?%|Mr77y2)jLamF|-$SbV!PHuR7l}naO$qU$Bhqxcn-;vw z^k2tC>4rph<FL<*1$13W7ErYduk=!j@Om#WS<%&T)K6jOIzSBZ2bOsSSCDPz&>cg* zS$h|KrzCS{DnjT^DEh*d65Awa_*0he!h~q5UIG|ZL7acl-Ad2O^aH#SmUOPM&ycd6 z&NcR2`I7$n8!37jit>0og`J+0F{j(-@u;qT?OoLsgI>ACP49V!X}x$O%}fuN|1r?Z z`vD5qHc&#wY3;iR0a`&_+^6OI8m*G{=t?D)BJt3GC$ya1Y+=)JQ4F95Qt@;t1N}FK z@G(%>;dDb?^rN>K;{&>8ua@&7<Y10TP@mUF|3kNW6A9=Tn(Q`YFqj;GHXHGDlv~T$ zkBc$r422hNp$K*ELa(cl`%o-Q;Zz=pF~;%uUSIl&^N)YTn~@!zQdY2CN*_G23mqMz ztGqalTFx=7Q;yr@n3i({g=n9?P=fEn?2T8sXgOhobM@O?eYQTwpqzH_J}5bw8N4W` zk&Z~WC9_Xup4Wr#szq2qeZz`Tr3L+<MY{83a!CS3KRYq7S#Yp(98Gytfz-sw0R*9$ zClh{W(J9Hp)<i%20fxVLu)@GA-Ol>DcD=<%47M(N>L%zJecl??&zBVNgAsPCR6(0T ziQqo!QawWcl3j+J@b60A2WeneNF^?iQX+}#qbMnhL(ba*JyOB1*acD(euavgloEY2 zRHk7qg^~79+3?8Mm65M_;%j6F9an5@=RhU4I4;Uo$Iu3genU-)nhVs-EKC+QDuRa2 zHrmz=Q|ZGe(8FouZlVjv6aGz6FCGM}?xP>=WA57a<yJBH3n*g^aamtQGk1+6vf*}M zUJ+`_^m)8=_wSjNNG&IDKyGBq&G1P$edAr<v}a@pxo&d|ZJb9xK8`L(Bej1|uN~mU zz+;*&16HlO()(R>Q8MY+n>raoGnhGJU?$`KakaU|<Ma9rp=xW5N3An!>v$~(nH4fx z?R91`Sg)Tga2%BmsD|jPNvZHpVh|54Aiv=;6~~bHWCOghStozTn$>$>(iQz0*QCwt zQV{DXvn1{=`j5TLcS^X*Q)&(#BK^A#Qp{X_HE|EoF)v=Xni-bo!XR7V+l<bX<P6?R z2Jb%7KDZj<kB|<08&5_T!}m&v!E4<B=49{5b0<GLc_y<<?jO8J`T)ub5ETWM!B31Q zo3b4Mw^3*k9RRx_eQ6;iOnsohYC8vC0(_YV-yb}qyw8z0$Z2vG>#09v;gmTocvOJh zhwAk~U5J?#uOwY|zq_WU@#RNH&SfNT7KP$gt8*9!R20ky^9!Ko*(Q^9W@UI7?9T@Z z7ATj8LFoN$!_A=u8$v68Zy}j#m05Y5=j3C|i-D92H04%~W4EkgzzTur%d4MaY^EH} zZ9s=y<i|1|w*i?8pk!nBNLC59BXs;84SKjSS6c`4VA0lD=|bIov5vt&Gt`v*$hqyy z*e#YfXg|o)evqsEU@px`0D?xi%<J=z&v0J1ox%k>?c@sPz5f~cibVVd+Atpl5TtfN zx~6@?HeG#qi%g@>@8oLe&uTc1+4;-J+5+MJ8qgE1^p(VgGlvAcsB#DD($n5VUAhO? z_#H*e&vllcr>oyi>^*qtLz!2*xhB_CZg>+n5_#HidUSsd3Q>l;#UJA8fyYNmS2GVY z6!qwmJQMe}rql07lPgyT_9Ff5MBxv!qMRKZka&;<=+)<r=HZdAOi(EkzQ7YfKQ&b9 zez~J(0^UP^3HfHfx!#`2ylHcgu<z<mXzPGb@8gK|XGifw5B-R}8c6$!sMSlSA{ae> zbkyUyo*5Z0W5@8v*!nq?o{j6QQxT2cV@M$~-g;>EP$O;|_3p#NVY=I}82qV0Kb6?S zx}go1PI)@%w7zTRp|>-)c~>|3_x>xY0D6z#jhb<8T2eDkMIY)SFa0!K?|GQ@t|#U3 zDlmXkNC#f~)kE(DIq#vL;C`N~8*-ad7;)l_M^!MhnQQ}<s%#$dV#Za$QTJoL%=~N1 z{A4zVUMAi2b^W|sa>Q?D%4s(z-#TUpuu#wF(Tum*S-$9a=p5)YXmr&{Mi$LIV3!16 zNA+9xcAn>@FaC{<ju<?JH{!V80K2xiTV6YQpkt^DJIoYqz`Qt<&_W$ZYSafR`U8f^ zHxU2}-kTtV1zzgVE0SiwXl!`XOA9ef|I#%&-t^%&aAoiqMD^m)2*^K?9_$)>y5xIZ z>~sm~jGjs?+o1;QIJ#l3zuR_dIXazN*5^?bz!F!tVbOG4S90br6Ms`}0Ri?EUYVH5 zZVSVci{uPmz(+$@baM&}DXZgy^_IemK-|W^c<7N|>rT&|qkarvz5}`JTnmrybXko@ zqT|Riq0nvKb{T&GpebDmTS3>2j@YCyJD?|ZnFZ%+9~mxu3@9QV`BEguAMN7t`iAX> z3M3(zGqUeitK(o^h{4m4;0fj3N+zhw`iVELE{l<6{V=@^95TpK<T8Jca(U4PqkqwZ z<X+x!uOQ!r+h;Ax<^1)N$s4Dmp(QE&;OUtw_g4(3%d-K2nUkY=p?kVVQhu=?{aPT= zgo(90sWTIgKvwXiI&Q4)S0Cijq=M)Dg6a_fE!-&?Q)^vJ`N*Kw^^3u$(Dy}-K}=+b z_b&pPytm%*!G;v_fw4NK=Ys5xcOm9o$NN$}-Y@q9-thxLb{u3l59P0)M2?>RV({IW z65zYU$jdVksavB{LicvF_*ZmnF^S>(1D=&4kh^)jqL7tH?iSRg0(5fJhz4eJKbTmK z_Y<2%)qNrJNm2{Y0`5Nn^ip^V@N_H{<W+6ZDXrDwaHJJJuoLIBG>e>^P2OPLdO8Y~ zrcY+ytamH+SET1gZ(u+c=+-e%wLFCXz`~z}0u1kT(8}VfNv)V42enEQ#Nb7oFE=yo zTVG%zS)1|TZqaMFO^e5YA|HyzD)S#vcktAJg~HNVmPFa<Zh-}f)1oITFSZ`$lI23| za8<efS!HQ?telh6l~w#Oi%~WSn*0dzEliK^vM87(uRh|HAahIuGAB7m?}bM~OU7NO z2~}BZ-1PH8rd;AFd<N=BMc56z@?F8oxMP>Z&N2(TFkUT16xsUY&Q0(I<{M`6f$`QS zFHpjk?}V*xtqAk^#!3@MC%aT@lah+LEPAe8jQIwvMh4$_xC}4CyGpiJ;;D>IKi|mZ zv&C@>UQc+2rQrFk@!AH9Z)|I$KUbCtnz~Tk!fUBm1*x=v%1k<vd%86>jEM!%xPM>) zqcdtWhRcKD=1Zjg(J<rUz<lIlpnq5FLDea!PF@KM_sIQzo(wUgEApvme9YX4Bbq=4 zeK&Bi2M-T~e#Wf>A+Rj&xV*8Pyis^O(rXSawv;JVF->W`fajk=JL2$CE%5#lq^C39 zhe0>r*+St11F2Zg-SSbetwBdlMbDGaeP*?aSIdOZJ@6r@WxTTbUn`iq%4`3M^wL&Y z-gaa-5(wi7fu-fLF?|!yNDNr=v%ym{-2!PJdrrWtOEWY*EI!=fc(1SqB-*6NXCisy z8j03V?u)}Tb+_ZI&}Ms_%uuT>U;v9hS_Y{D?I7mxP`B|csNhdI*jd?l<Pr}uFs58u zw87+GREx{;4ZNd4kjr)Xb}4`T6y&p5Xo-OdxE(0quG0nF3?<S%Ht`obu90!~2~e7f zA3WJAsE>i7ZYg}rP#wnw8SzIiAtN@&@yL$G-xpePYh2NoxN9JF{h_=ewax+p67$zt z)LKEkmq&?muK-U+tswi_mZX6cnSfFxjaRh%^?5DL6HtmAA1g&d6+0@(@n}9vvxM%u zMtB4m(h!~Ga|>JBiiaw0i>rdV#1IGhwhULE)Vtzp#ci?P64ZCXy~XHn9KyYMkmWZ( z$x99Dz46dWTO39zGR!Z9*#jb!Vb-Mj0aqLbfC)!Aj>*Xc=p4s=BNNInPAG4I$dgRT z{>~nqP?oX@#q@VO8zvO!?~P2@ZWN$Yl((|QD92SDpOFfy`$Oih$Ya=*==KbG?}ew3 znAxCPO-bQw;t`>|gm8ZAb=E~+V$a!Gx4wnl%4G7=?lFmvjdbhMG2QC2s7AFSH_na_ zjuN<aCldhG0*EAIDoPk7GD-Qc4<=}!PS4#ygI-^Art+3{`U|BxrbV-W?36b&+ra71 zaGK6ya_=nY1s<L_W-p7)9?pDE&QRK|YMtOX(?lI-<gH{H7W_ZJoCTP(@`@;!L;^P^ zXCLIeHIXy@s<g9^c2>@zFW_;4Gb+=VaXl*?)d+egJ6d?JMKzFei&CsfAFI<ClI0d+ z0g<Cz2EB)DXFWtV@2HqvjrbgwZ(xp3ddF2&5PK5OY|RxXKgR7UCBjEPMQQU*&R?>l z!luoBOCFyn7z*|0H-OyiS{&>Gxd|W-T;fSaA?Q6{CCCBTeG5{AV^9n*JMbRfagQLc z1YTm)*nAy1j*JoyZ7v3yQ|m6wUfEiq!r!nc+eq~VnD}RAM&|+d=wRE~l&C|`oIET- z4mlGyOsX%;yq8ZX3NffhApgXxkMU3;`6m<%Vj#rSh9qU)Bd7pSg8*uckie^6r_9XZ z2v8*wXY=fq=1fk`WTXdN^JThY43WmuH@8-x(f}Y?qXe4%IO<%X*IE+<%9NthU!>mw zf-Kl2WvUtKl5xoNAPeO_<4NReh`J5fx}Ri+9y6#5gI)3z$26R0p}RrXV)}rbrp&=8 z{T}$xUHmAKGaqZ1dzGUa*eQ9m=AfprGn$FJHqIVkdUIxb^sa$Qvm)K$rAH3oHpLlw zcrLnx-1izDRE}PsxC5s-6-okPuFQjJHv`o52-*%?^3*M6HhHkaf+x_RvmHd2{2tsx z#(TnHpq~lDgglMDbs)KSrymye>L}oLf*G$_l+0Kdn7p?`3GH5*`GRiGdD*V_SlgH# zIC+O%)mi((h*`Y9X9_f|_{OnEm59siwGF7j1s~(>9>wfAAD(vE!nmi`1lD1Pd_Ao= zzzo+L4~#4<vTpj_Ye^h?51N><-7JvKNGvs!xX8t%|Gt5-vu$}n%DEFm>Ylk!eCzYq z!?R^51$QV6@_d+t22bLq!gcf<ln5Bjr?0<ubybV?s(Q<z9_F1i4lf1PSCAf_tlu>a zpYMF8TXliwff<QupdyWL5d%B$U<1LWcjsDLm%Yjw3g!U@;?of~F=-3Z)KLD%cvh`D zaVTXKzylnMm4v`KG2q4nQ90*PFMOW$7AwFOR)ZzjUoMOI<Xx$FSxLpmcuN<yF95dX zxADMOCSk3%g<CFV;O0mWizU!0%BEsY%4u^iXkFIdTKzTNuH#R^Tb82tiU%WZ`rZZI za=ep-u+GAx#%c@5YR3`r$(K;oN(lv>ALAWov}CUS>nE|qjeF%9LnJ!YZ}8|qVA_v? z3Gw<Cu|G9b-CyH3ghB{Y<JR_Ivl6-WRYctZVI^enb0OARw-<3FL2MM^p!;;kA?&yt z@D4qenS_v#j1l{u64qTvT;lc|yld_Nwx1INc$##iOu%7Gp&hRNtg8w>fp_E`KuCkQ z{Wt`)AeOJOa@jg>i9zB^QskN9KAWv;jWP^f9VstY7&0m99&DdJ%n88zH5Nzb%mFia zje~WP7;MCPSfMEiJf$1_S<BrjOQ*4dvA_<7M=`@=KD*(=VrTV<Ph0|ny7zkYea~*2 zpu@C2ATA);YK2(bn{7n;LJ|N{2Ksy*iB;!9HV{B@LEMQ+P**ijSH2N{qC}@862fTZ zC9H}oWV8_qR>9LzZCP(8&y+BX@Yy!LtmSfsY|-)S;If?h(6(9<AKMPFk)FVDO^3)C zy_CW;I4bjSR6Kf&&LyLxaTmiEAq=c(j&^bToh%M3Eo3cm08c!DC)IoLSdq>c!17}7 zBrd~Xld4n3HmQO&spRi9sggXyQuVPE_l++rTcbd;CMv91DgLY#Yt&q)Q(@JoBwlM& zi_^J{(abQmZ_hv8zHb@6*}ex2NzxwEzD3wR{LMwypv?&K&4wVKR$bDxdTdLH-WF(t zVGn*7-(pS4*4tq0Ffe}6pU?thhu(tSAoiMGN7uo|W%!eGp}r{aYbb=}7Dm`zlx`An zdmHiSU4n7XI6e>qKT9wfYc6Ro>~MzyMVR^TF|cGd?m<Au2V0Lu&HCDtPWceCa%}5$ zhGu<`fmgaMf;vK&6@Pv~+k+t5{E=dF^v+aX!lF1m@73ii2QZG4*D41XjC7MfwcgG+ zRJPLJ?M-fX(Le0PnJBs_!Mz7@@iuyEf{2*BcS@qpOD)AynC)CZn^^ul%>PgDspPX= zdNW~&6fz=eSi$ays;6h3XD8?^jeR&>2llcpWZZR|N*C&R>Fg17lEy1c<eeiMa5HHR zB3Vp__9WpF_do2>opHL@uONl;*cKe=)9*ebnc~4ExAMw|2I+M-wHN4Dn-Jqb#eCi% zO&r~OxjCla)#d7mPNdI{R6$?ZgO#FgaqS{G59qL8KvD|Wog<b;OAOk!d(TMQCeZu# zjBV3@V4Kc4+DF<nh2A^@z!n(k-dFU-oX{Ina&==wXiPS1OoyAUovmNqLDB{)OwgEH z5tr^+%<VL%CvhYuK@BdvjJ>YMUe_Z{rf<H&j&Z62efgCU^!`o*XYWZg@ZV;STyLYF zuf^XX$)ioLj4X>XW#aPhlgpxhT$FTNl&8?8*TB51!$ec<ve1NNw2-;9_tB1@BU1gL zO3hv?NO@Ium#{HI+-n)A$e6~<efV=r(C)&omXeOKn}8#_=g4JD%e1lA@q^ukJ_(?< z;g8qgcBTb?jsqtA-cLcUB=2XKPG9={RlAor|2}y;Lm1@{<mFqZN4waT=#V_Ubvl)< z&T!>-x+aA`&c^mTFVKtslGyJQ<Q(8PpN4MmyE612hQXiBQktzATHzhC*e13L&c$~g zm1f){UyM!}2@3Z}samyF{sK`jw&pq=r^O&{0T$1|+tIBCxhS-WxqJ^dO%J&)xQQz+ z?&aL{#KDB?uAo)N?Q(qmU-1WU;=92(Z|C%?<p=Snr(%W;cZN2bhSg>(lrd8;!^+Co zKBf$-UA961Q$Vc087?z9URZ6#^Xh!-j40o_(xesF#qcmdKW?7--OJf;-arR=es|T5 z?D^j&c4S9^Nk?=wIa2tRaw%nVb!bxph3R8aNdG1Z&<yKtgOt}ggZ4q0<cR;q<*EV8 zorK;Yc$_<XY%N#);*ATPRmUq-*jD`KKXV)&cgzJcAN|1=>zE_lUfcu!%04ZC7ErOr zgTDEVt3Pw<KWymHa{3ad%hXZ?iRO&)4Cze8C_HBeBe!K1-rnJ|++Cb22~NjRc|hp` z(y$grsvItBv%#sltUCkDfh0u?{2B?fT@1X4B!V6#xHH9mmMLErhzWn?#+6TsE-;TW zdtCwgg;>GhK~CcT#JmkPIbU}_5d%*_#Flb>KVuNeZ@ME?u}CPzpD5lqf&K_sn;dqu zOL?8#v16b)jB`_S4<09Km(n{q>?0*CsIGpLAN}^aelf5R4@+orzrJ;izjl$YpS1Z1 z<wj8-b7;{4m<!*#<Omqxj-&d~@<EpwtCnuC*X4-;cJ#J7Pkid%(N{sv1I`(nvv&uk zAKl_gY{ww__E1H70{w~fIEXva4_xf;G$Hy*hY+3OruTewZ3{>ro(KTIGUn4VT1RpW zXL&sMYgW9+6E*3GAfN{u$L4+274zyxv>`A3jqX-d+gr<qreCe=Lz&1%$Ev!7tA+}t zQhq+$@4JBKn$ZTFiDT@_7X#;*=tnOD=u8|px-g$@_d%aS3*IJ0lyxZdwmaD^%sU8* z8R*>yxwn)mvF?q<(8y%3ygCzlCGHrK{@j_ydZm-~3ZA&RrdMM4o52A13N+T^qw{~F z-+wE|d~9_4udb1|4MgWa=Y(9)id?r3J4e1iLo@J<sw(#Z)`K5R9heQ-X$TJtMyDjZ za@5N~%c0Ev0a}vMu`i$fEiNOu`T#St-Ia?@ut65p5qhK>{lHO!pg((N<dVtJOJ#oi z4EiX|g-=Z`VAxz$8=Z?+avje9dtMSXHKUBavlUoR=k`m`%sbKX$Tm>vWxVdya$-p~ zFG9fRf@>VWT6G7o)+GPpbqdJ8om_%{@n_r_|K<Wwq%oq%9p&GA99#?IU-Kyc<|g?U ze_w1%$u_M|)3$D0FqU^u&G;toy1TzI#%F@(q(?*iBDbIO(4{-r2>U#V-+?o*n(zP( z5}1dLPfRCw5AC|FQ+ZUj4Ipzc<bk~Nu4)PX%2-+Arz@FexYz-sI30=F0z_@b#?VKn z=|3u%3oLkEMM4-u5in{w{cMjHQq#Qj$=|Tk(4j{zj12#?Km9wy|C68M@E5S*|Hjx) zWd0C&e{bx)iSwV^aIW6K(}};qi(Ukp&E95eVs8r_{%?F+=>U7@(l79RJN=Xe^XXsM zyMVsO-gD`3_MS&O*?T^HoxK;(ee9h_f5YCz^xxULg#Pls5ksf8!AYNHQ5AGMdsoo_ zdoQ7z+1pJe_I`k_W$)#5HG8k5E7^M$eSp1J(<SWPNGsTTEiGa1b#wuHOLQK4Z=wb4 zy_x1EP}qwL_B0z~_u>L9HL_2<rQ-i-?^^((x~@gfe1H)LXN;(*sAEK9f-xkh0Y;iZ z7{tWUK?LL~>Ij1{^2>0JpHy^kAZ0k2M$M-tO_P{kZIh<yZQ>_s5)cdi>L;3nM4Mp3 zO%5HJU?qSF;k>o>J~PaqSnq4@?S1!kaJkRf-?cwy@3r<`do7{&H~5Hh=E7geBTmY~ zXXNoweEg6+qNM}j1bIZ^E}?-uK8uh0$RpbS7G5TgdkJOz8!UU~ssM$C>>NH=A4D`W zz&ud-8*+bEsSjEt`K%{C8&vu^=84kPdGr~S$yPp9tq)ozrMa8tqSXg2mwcvCpKyK9 zO37yw^@-32t&x0W)F)COlrQ;w{R;8X>4OR-pFb0y4N>|z#S%8hU-82Rs0|_zivq5E zrCR^p#tA~=uL#-bilOv=(_XKX+&rF;r^?z0&&T}fxbduV{t^ylPrs@gQ5!lx6^KE_ z67DikpW508p?fb9S7`0;lIM+pTR+$elK3_J@JMGNQzs8a4TOhenwOPPo=Ygob5sO> zXM?ORm;^P+G|wxeD!$?yV7^@Czn=@UVgTuUlT;dhs@_T!?hUBarC)k0^}d&KKE`Ki z^=HZB8AA3V%^M0t?tG}%B&e5XobOe&#E<5c*G52<c|xyhfc&(Xk>p(7z6k~SCJA5t za-bcyd#_&6Mn67)-;rMi;Fs>hFUH&G<Dk*c5Xtb=gvNn}9w)f{3TU{-^{Nw+DR5QK zAtJIlkC!LNxLMGs(-SN*Zdzy?JF!8~CM3zZao{;J!J^=_&IYCPkTSH5dyf}m>l=4W zs6W%{td}+R93m2D5p{CtE6C<c=paaRq2~}1lI#lwJOp6=C&9M~^Zz5{|F*M1?y2?S zgE}#g{X)fkl`6i0Kci^U_rn*{tJ#heWz`j8nRT+)GV7S^Ea#UR=NB4%|EkrTYSrr8 z_L<{-CQU~-w9B2JDV$eS_S-JMC`LWjw$s4u;G5sXP-nZ+u6DL66i39Un%*4-MvQWI zVK}&(&{e^IvjLU^OvUC6sY{jBE|Arw$|2v{1#)MT!r4r6KjF(A#-%SVi6wJ3$(_w| zjP=q04m1u7T*R<hhM~3od7KC52tYl+0f5&4_5wT$uzM$3f&XcnE9K!fa0PG$a67>5 z0Jjs|PH?-x?E<$K++J||!0mG@k-uRSor+$mFkZw;_W`JO8JNgjD2EK~c(ic`V(9-& zYcKiWcj@0E&>Y^lZuZVTJld8zA!?u#!oI)!Vjq<2cm&Js`3PD%<`Gg~Z=YPDeG-j* zQoW1x2}a)WC_EnkXa%TCRZKloyFlUminQL>r1k#YFKfh2iZjqxUqMXL3$=bRclgDF zNCSQLmBRToqO94Dw+I6Bo(;}CfE0j50LuVY0^|d1e1!B(B(!xTxDnt+fEx~OIJjDH zwcx73RfDSnR|T#TTxDS2&^Fou|L+Fa3-E_W{Q4$U0a*L>1$htb2Y<hSzVrM3Z*0Eh zMKaN<y%X&vcdF<&)2656p%KIbx(oQk>@1*4h47Kkou`1DYvx7@LC<@)YWQaUL(jcH z=(tUN>EuShXyziJ*dXF4N}Hm>S+mgd9Ma&Yh$#TcHa6Wza;L;79lGyP1$bs33eVWW z3uAEe$^$8!Cq=Z>$hAtlSdqe0&(R&as^@$-H1Qv_pT2sF&i)+PqFer4;1*r$9=hvu z<oa85+;rhin!(sX89YNXa2^x+L!K38p<Eldkrx>tNBt{8`e|Lp3$Dyo&v@bJ9^ZD} znLTtn?*h@_<=ycjT2_r0_{>&e)^pOP*Kf4GO)qL|k4W1H2cO3!-=uOS;Z8!BbD>(* zoD_jUo{{jPbSH&F5P0E?%_pgx7A517`Rzt!Wef6y^p2Y|aR)g_ZPC>HltF=_F1#uB zlqBt_slIJM#YWd<qGAKt>~I-gCtP#@>ZFWnL;vS78}S36bg1WP;`ylLc{BBVop|n+ zJi`v)&Ddv&s2Cew_!Q0FEPS&c{htE=J@_9`E=%GkVl;MvS;#nm*Us^c?-WuG5Up0d zKyJ;f5!o4pix}rN^`_g@Zc|6PO=cE91h3$3W0#B@R%OznzEw~Bo=0iEF=jz=fS$xn zL)AQe@DRCYHw_$R7QWa|1A#s0BjMs4tfp{M^4I$D4-moc#yKSd@cPEdEt8yA<XhFw zD+(@r51PgF%pi^{jJ!+`UVSF;Ky>ai-m_OKE^NlH;{9jH?c`iMS^m^}vdlgcc(UC0 zwC`j&!>ejI&ZZQ;dC4mw98PZPpoB0xoUiC}el-kL=P7v3cgBq3?I<s+&G3nlDK8?k z%r^;-Jwx>Epp*gE2KhF=NbbbS1+mt58a>!dMR(8+pi5<0tjZQDoP8T5WPg2_XfRRP z#t5&#V-Af1Tq`{p`>(K3!71HFrAsmr=Cf2mEJX2!KAV}E1EQug(2&NjtGsW-c*cM& z4I4vES&U{FgX@hpVrc_SYh1&4g-s!p)QKXUpW&O!B;xbCpCFcmg{+$yCf9o@eXzX$ zUF0f4T3_rD;pQ45@2};}GnVq^sHJEd7Y!I(CGL-x7*e9NnPyvm;j>Q+zPn&{r$i~~ z-Fk>M1Me>2tp$-yaBhj3DYC(OHfrXE+ugG_@ao^Y7DcJ?+QOFKD;aJqy|<9^dzG+| zkseSNwP!z~EnSwEE-u8@=kw&fYO@k?;Iw?YnqR7pPgik4q-u>B>2Ey>z3mw;J@8o8 zeJWS7(zRZlnQmU5lbf^RkdhHk`{pa$D^uZa_Oxnp6pJ^5@UE8J6{GLrW(p-w1<H7Q z^K<eUI4XM?za7~27TiUz42K1<GF-mpDEuF_t&ul%WYkSUJ3m`x&V$r2_gLKh)$D7u zsmuae!h<-}IQLF+@nv75X1{X2vlS=bpt{KmJk5^pZs&rXrU<zw$njk?rvOjh7!DKV zL-$Ghr`7YxLzL#>cp0%1a+~A37<O2*F&u5Od1lvz%-h6<&09{qQ2o4T3Ot~BFi)tn zSIdop=-dbrOF3^jr(A$V{0`B<`B02~uZIiQ>^rX6uU_2Upk!5=caA&TV>}aj8Wd0- zduQEoN4v#wWgPf#R5;sp&W59UQ+UNVKw1@V?6cp(DfP!TOo3M=F-AO<H%2VktKxJ- zKe7Ut7+fqoEBM?#&2MwV6(6~B`>^W#J9zVIuacXvSH>keTjlJqs!G(`;Mh0}Y8f5R z^=+6goOn_cyNwYts!)f8rs@+t8t{?ZnB_2;DVm7L3L5s4yW-HFRrKWc1#}>9?DIr; z<HQW=+kxBvKnD3H<@g{pl+J||ZkhlCPG%Nf{$9G=bRzKg1Mn+b!iMHo9({TUer4}3 z2yOhr)0AJCf$jnDYXeX{eS`c8=KlBj6@tT%{ECzZ56&ila)3gBH2}*2%m8Um|4{r2 z7RHNM=~n;_0GxRGzk^?idDh3Tv_3N=zcTw7(kB>sM+!U_0_=F^@9--a`^NYclJ9?t zUy<@|0~|U4x&ZnBl;Euf2nV?3*&m8up>1S<|I+}L0~9~|1Mw@q&9Uq(;cca40mZzB za0LB8opn2K*H6X`clOJ<$ZkW5j2#1{#V(XjlJUKQOGyo`v5{FqrIH>ot1glw=1|IU z(4&Mb;UkpJxr*V)X#z4G6$+@c1<T`j{|v|^La|ZJ4@hN|J?<wIaO>lg<rwj}{{i|> zujV+I#|gvm#bbdCL+N8TEEEu>4CEz7Acb&T(l+GL2>fH$J0$OaOyU<vvkWvepQ_&L zWGC%avEy-T`S-g;v8q7bL)1d#xPs9XcdByLpnK7TXamAEe$H#SpSZ-C$WBUP`ne$C zGgzwj;0rlGf^`QLr}8YfsT0M_OsaI~k8s)_>zs+0Sk8Ssa7=N^MKa9FvIU_$7)phy z%vs`S?M0#_lgPD%k=(C{>~mS}%+94|jF>KtR+C&=cL6HFpt2n5Ew~ro9E4et8}XkH zx;U)A%#M!F)w0^SNvJ&=@7e~%9xZUGV(XDYC#-9yaPG(6>%iP(8Y!eevu^}M^H;Bp zn(&U{4R6i9V6*V~Vd*%y5|wh-zCtDt+16?CChZno?0fOKD$QeumO^)=XW534E4v+p z8;00G4w<xilEkiyTP0&B@D6+-*MF_#E-yJFXwSj!ef$yc&0~LLa1168RYjyET<%nm zwM`aSnx+OLdEWF1CU_asbN!NG0>AYy-Hn&8k4&iVIX(3Ve|Q?xDT?|d_E5ed=TV+< zDWe*1NA9wQ@wEFas$|#HZ^@ybKt(zk;bdrg#YHqQ#+~zE9M6#yi=i@dZjw`ASS{K- z=0;`Mx;&~3+czFXhOJv19f3?nh$}J}R&&o7;fY;7etFL>uV9bQz!cqJ)gRBw-m*d; zMsUdB8}N(2<eo<bR6``ggH7EA_@L&XY<P@U$JxZ_<E(Zet6De&7EX0Aw6ABhFlqpc z3GnEOpc)$n_SSKxh!Dh`bf#$A={Hk&Z|~nMHPSV1=qnl!IW9_gXD5-uePL(d_5PVV zef*r9myFZwz<H_}0=yErd{2OhMM>FD?D_arDsC?DT)n%gat3@KKVaTab5PQ@hC(@F zs>(a5#1L_THg+P(oJ#ph^Qb!|PHm=!a&X%D$xh@3&jTJ%%7LGWe)e{*uBtmlhG`|s zLJ@_pVKtbYlE}1(W}k)&bw8tbamm#o6x9R2_}!Fubyc=FMT5qTS3>yNZ)3K2euj4* zaGyv?e1eE#xlWA}h2y$Yp>0<>x2hN}9x&|0%wx|dLsJmH$bq&Xn*dmFkSq6sM**#Y z)UGgt2&r5E7RbFyok1&(nX(fyXic0=2G4fBvW4ebp@27VQE4OzzG#AI&JkiXMYN$m z7+SM6NYM%0wzINL<Tfv8j~1ydQQ?kVqF3oUYjLaJ4zS(HkE}XGDs`x0>>&G{&UynR z^8C5s%OF=}8yyR$oEIlIT=aHWQ;JF{%NClxr_HLo*5c9dFy6BsF7!Mm4j3>{4=e@L zI&7g*i^35q)YU1D?xT`j#K>1D1`BJ@1R6aiy?=w>G3ji7k#v~-B3#B6V2v_d#?w5L z<uYD?!IBN#Z#v<sY;{$h(;L;A>eXb=3GE2DO+q@V$eu_iHFlM=Qjl@WQK=|SXSm&S zAMrBs+=XW2IUM=G)Z$FnB20gqXk<y%_iSBJ)lbf@Gu$b2rL*fh1Y*PRFc1`R(%JRx z*}!OCfTVaNtrE}jsKf(!+IAFdH4B?i^dF-8%cP)8TV-2(WgFY#R?bCngf^k{ezI$j zg-VhAvjb$e@wq4TpRyCNpvVl2ff8AC^@HFwuH07Ou_oeceC0VV9O(#OEP@X^FUuwq z`W}{s44@MYQOpC8^v!soyjA$)4)Wc!dWOS@6xkr&blN3D^fsO+vJS0oYrXGi`)wBc zEMPrQp|G1q(J<lY@P?fBkFTIms^lBu^*ww=q}{B-50vXg77DE_X&c%@Ji+dtBVk#f zDGLTztcCxwbnxG*7|BS~5;PK(jYgtYgI8IB0sbpB!+#srz<*oIAz&REjw(aLQ5(^4 z)V6XrIVJX*k9wYmGW{$_MY<}x01cvvM$I=q!5=|0pU0w)K~2yJG%dxS8U7)6FAt0I zN$16FE|Z|Y#Ey!-gqP)S5q%b+OhV03b|asQchwYUqtCc9I}|O^!2fpgTnAs-2@x*8 zfTpH0^ryHvJs&w6v@TPdw<X#j%%oC)2c*tygKr?(*k)duPAq-V5<KI5&BmVrM&R;` zJm9M!nWCmWtYR10B_d0CD7_h>xfCd3sHJL;a<!W3_lX=6p>MkEqKHC4vxJ3wpb+Gl zI<ImPA7z0%3ESGAz<B}BEZO6Pw~yzv8)gWhgOcyMIyv9uStHR>6M@{wCSs`yax(#= zrFiX}=%HSkeGJl#W?=!|zJPjmYW9UtpE*R+fOdgs(y}U`;*|PM_D|8Bko!UZ-Bm)N z681hmo>Os?g~GbPUDQq&!H`tSb4xs@W-nA#YVmF3*;Tpi?NChC09CY)Qbns!U69#q zQ^3DM$i+~&i0p?)UPP5bK%6!b0yvAGgPaF4Fh~IqZTx%6DP=t1<JFm*h?>PP4Qdf1 z(kXe_sN+3;jt)H7453LuwuJ7bF>1P51JTu$fQVTR5N+3<Tg*b%0W$w=7{>=Y=EWs) zBe99iLaD;1^32(!L_>evS<2P$u<FLiJYB%uwBT~P6Pm;pB7C`ns4RDJePlyf{|Rm< zH$f9l!|*YyU2#<V?5nk;1z~<`-;S$nEN@inn{f99Xip+71aHTn4TW$~+Es31mz#xG zQO8d20voJ6lZxpEssi#KEBvw6s~JIfvla!^asIpwCaY|-aJZEkvupC|zE%B1Qjkl_ zjB{~UsR#*n;nEc%%zM~x>59N<RgD^|d&-E04Px6#|4GF%_)@()eBro)p#He&FCx(` z;Pze^U**+a?QE41?H*Mp$bO$Pq8&F*CC$=Q<22vc{uDt&a2}v}-g!-p*KbIqg-_#k zUv2L9O~!sE2gu9Uf8wR^QTcUWlkt0>@@u6#v)86rnvMr-Sz<XsSg0a8AEWRDrVQtg zUYTZ}v6mgD*=M@a(5f2V5TN`TzZJjztqho8h96~3$QV|t_b2`S-}dQ{ho2tWRu{tF z5?aqrbvDVI&9a0q?ZFA3Z<NcwNN9$qMtEvUXa&B!UB;b>J(|$U4nxg8qFvte5#O-F z$J^s1B+WZpO0ikBNTPG20$Hi{w+MlWbJ80R22Lu84-PRW)siG?_D@-4O46U)FkaX+ zC^175d+y<lT`2Ax4ydF{UpLT&IH!2#Lc5|LfT~c26ivAr`8wejN}^U=-^ghPO=%iu zegBZc-rm{cdoNGrRfG+*Q#PN7pEqig3xN@ArK>s)ZJTJ$$`a4wVQCY)47HlyUQ3tr zKJZ9}Fs|2Z6UDnR7L1&^ZeYmG!bQo%d*#S@u8$>p*Dhi@D8bpR#6q||(hP}oSvN+g z#|WNIa#XM=N;~`r?zVHo;9c2s@sO6u=(#AVVaksRSJ0=6inA*q$jfJWLKZsW7&h2Y zbCmmLAq?#3hBV)*Gt-~E!*j)0k^h*#1XMJ9+VP2N@UCW@O?Ci<7~y*}1Kl$^igNSn z<{%6v%zL2FGI|rC<x1_=>Cni0qfkaC7+8ZN^dD}W1RwuWVFmKbr*mAH5uTfzFtb;F z27?QQRGi<6Te|o#%*J^|uBpC)-~TC1^(Atd+@L?geE`fvd?gAKjzBdVrbs9X7Ml+> zHBVx>nOd|szPz1-%=D)<50}VMyQ6li(x&jVQ`$4qYv+osLo{y%B2;c~MN?L8<5%p5 zb!J)hd+h1D;R!0cGU3>U-x&<hh@9YgJH9evYaGT#>raOEo8;607N+`|rV@Z^s2c_e zRSCy54+3E((!>`%C#k?D5|7#p;PwHF5AaI#IsK=aY7xfZyGYsAoZo7ovdWiHR(ZBN zWr9lIym6E;9d#EU#v{%FS<M&r(UVMnnzof%HbRv=n(DofEh_CHgZ%<hvXS%%co&1$ zkMJvq0IJf5P0e}s$6M$7l|NT1e~j=FDn0J25!rtW5DA`g6$*484<g=)GTbD4Z@KJP z^g2fnqLRE(MDCy^TX^O)5sYpX9!E88#+ID+H^^2UaKe@TV$r1EsaSL*e!Rmj6E*?Z z2H+-vQ_^#htQl+OHli@}g)9^<y&WU9I1fjl^{hw9IUq)efCz0Qf|@A##RwwmZdy=- zx|`PHi6wjs$nixGc0fxw0*bkg9IHZujmQwjLi}uDWDPmbZgN|X_(=1ci>@Jc8d*f7 zPWeoj<#a^$lnR~_sna#&)H32)Qm1}X^hbq&a3)UCXRn%~n|)LCO;v%j?30cmrszip zP0=5~6#c#<FmWzT?75E^OxMENFdApyrP3^V7tzbE_1q(t!y?*=-b=j`H4uhZ$Rvw% z^aSC@4)4MDjZW7R`Q@2{Ruoi1Jh7;uMuP)<aGf$_ULrfOx}F{9rJz3Io1%j-K|`;+ zrv+)Lfp?fs$uytMqp{gjFiunBL)c-?2BpCn&u~3i2Ak3><ZP$<@L_sJ&9}B;!pG2Q zo)Kmt4{uGP#(LD+j_Tbx&y--^*yp#9hEuUkS8f+nccSpnw!nrA-{#vFD$U|!vY`y1 zlrwCJS;ANawchTk>;MwpfDB`7ecWmp(cRj+2dkhDibO&*RG0%j^*r%u<kn#4Ma54f zBx$4&dxad)-z$vV=51-OveNk6UQNwzs(S2>DiqbAS+JkDB4~PU6a<BnARP^AbVbni zcX6G7>Fd#G;<!&(i>g(7_21=eSsFiyUF@FyjyP9PL&N1jA>0I_S_oRg6+sA4K2?dY zoeSKv55!O6I*HcDdn#-;WwxZOcUu)DA{*IE&tih-XACMrt(5nC>Ruq%H)|f63u%ZR zSB(=lV9Yk9ls4I$R#SZwt}K~-ZuJ4zNL1NjQn|*FN@5#r;<-MXEQ{#RGUOP{Lb-!# z*n;L>33Tggl7F^v>3wO8v0+r^bIuk@(wcht=IADcv7<J^(DTuRqdjM)9!ZClaR%Kz z*EmgGqOiNtOB-ejR~)oS@LZrz@HogJMGmy7v8%lhNn-GQ-{%V-a7MqR-BG$IhfGHj zIYt+>ui&^$%@Tg~nh)=rAs{PTFbqbx`o|REW=XOo*MAlvSLPncC#B+zLT-l8wk2?! z7H_#~wg5!fES~Ga-N*!#%ok9}R!)v5Nwe=vcgkH8mF##!oi^bt`y<W%qnds1HC$8; zKNfFNbHmd-6E*wK#AmA6FhhZ6p9;bYU=C>p7sE$jF=M@4=7_*TufC&qm-mhy(8uoi z;)+JEiqrfkpc3kU63XCPfT-q|dF5)^(RHCH6MLLJReh9AmxOIS!&|cX#)i+eS;JfS z(05TUD&N5O#2#04Dy}#$iKrs=RBV&;kh1C`YDwiHrx9hTXVH;ys;V!Lwcrk~TD<~w zbI<QfXk_QYRP=Si=j<)jZS0pQx!cH&2Coa?6%1bIJddwhO>v&z59z@9o;rQ#h|^Bv z4lSYIGRZ#qS(ro8ejM00ryuamA-cHn?5Dg*tv}AT@G|&%-iwQ1PiCYq6-H?YZ#mHM zk+5Xo(UPryxy#t$%52kj!gMS?AnkuY;D1t93j`~cetC;ZKZhKZ-6FjI0Pdm-Z$02c zhHP{v`;ci*50Vb=vaj07uS-*+E{SmAVVVo)E6!u9`j)WvW>;>f{;Z~21-W!L$Tc;h zlCDd4*BPSZ^{0Dljs2Q;>eFn>95ynI8^IsyIlWf~^ZsZ3u1qc39fMB_wI|a6Zi+CK zmNo1F?>tC9jh&n6S~i<MbVhKQwE70S0ti&(hR1Iq#41kRlY}#yeLU|+<WVKHP9Zth z%phhrx1a(GjVoou43ua%taU9LF_YIQPIf0L(^$4{VUXiWC|iujS?g+5yv87!w9Up& zB%Pa5Mg)b%<@U3Sc}?A-5z{bYGDiH7H=?7mUj~uoH1f1ipc*jdbc{I;V}|=>si3i@ zhi2f;E8Yg<L&Vv^;^>(d>HYa1<MLt>^v5+1l`HVxoL2Lbb?6r&Gj+OCf|cEjLsN}< zBcWWNy~iL4eVh&BO<j)oP%g-!QhF2)-FJL$7tG{}Mpv%ZW$e_qXq+g?2`posY~FZH z^{enQFN{^!Dw30+amgJ#h@YlEQZd$@By+@ta-m5W(xeFWaM13a649u&F_f)$8^u7p zy$8hbWCYrqVeg?Amebg9N2M6b9&A#C@ga34v35~#kY}1cw~GrV0ngfGHW64c=%W^* zMqW$2l@LD}_qy<w`~o~@8_kE%+8eNra!*j53~=Wgqm5nI0Z>Ox4b~9b5O*2ws~cW@ zbW?D0J6gH`MnJRgD9|pw%59^daQle+H2a1d90yw`p|pumH%hbbnC2Z9z5*8(CT!X0 zT^l?PBmqC8RJ3>uz5x@J40LyGdeD|(b)$Gq?XnTml2O;G_icJ|bc^Svo|Y$UvZaI; z>OV_r2253SZr2&Ivks%O%f?752Rg`ItWIdW*<PiUQ#RuHxv2x@{w}>yjrUM8A0XSx z9nRi<O${$2{nhTIE<ZN*C@idxH7I}x>2xg`6XR)uQ85BWMS=7B!$KrIuhr~V6*#ZJ z$oLSql$}??SWSUzcyhAA0G;3dIvG2i&W3({L&YR_nw;bs=Bx)AUuz2`XZARZh+Ze7 zRxS+`IbO0GYM`tj10~ZtP-YZ3D|<uPf47A#FK{Vvu=L_!!G|mGFpUpsN(r7G>bVUE zPY8`%Lq<<Ow(*nikv69ODw;{MZwR6CS5E}5akC?o-N877M#w#?0-hnUqRHLPc4EAc zU}p<jMfTG;&UZRl$>9NFdlAyey(OBOoPOjyI@(wE6Z36oq|2r)?8RL`p7WD&FmiO} zzK!#rxlvD3fadWjLL@0bko)4%UAj8<S~3p3(y<}RIK)#Khl7MGFli?oO@ayhBujF8 zo%I>hea$RP{+#Y+pb$h{pk{=vSNt?1Y-N4bevssItz)gfu#!wf(dT}fgE6okbsMz~ zG$8NFZLQ7iZ#JIB$r+evc9<)-rO7C2J)zA;loe!Zb49nY)huYjh>a{SRa9!1$T;l* z)Oc8Pgd5q@z!*XpE-2pE$|@Zu(Sa7&6w!@%I$2MYVX+I+*jZ`pbm43TIY%BL3i~Po zZtveyL2vKlW|b?m*E6oWLB*;dX9jZqs@aH^A`N)l)XN*gZCbQ5b2q?k022YUPQk$K ziLdM>lzyjYk~E!rMoY85M=h-xc#XOfzNt4MV`l21gScs+Zy=`Zx9Qm!SpR40o7u^U zxCsNyE~H3gASX?Y0UEg3*g-P810Iz4FdZI9ITI5Rb5@hc1cS3ie@IiKp$TO48*YZV z5U0Rqb_^e;0&*JYUQ+~2gCP)tarPS6o2pD*@T9CVL3L$})6}W_6^b6PieZ&qdv)G$ zl_wnXCF-zV+N)(lsIOLd{vt63)+=)31)JU5&?Y+$m<WhLW&%7{NyHs}oaLzgb&>0E z8&AW`2b^>-j=2wsIckwB0eTYcB-Kwn0`qJ%j2#&}t;*VqqZyM!DoA^cgtPg%L*04k z_s*i{??-9q-`<Z~;q9!FA!bxZ8&EfBBbV}bGeBEryYDBP9&J<<N`IMqO;~+D))u93 zJ<r2J04teEG<b&L5`aTfg|X)fvp+$tD*S0Yr~fvH4<|MPa~fKMb6^>C9F?KA*sH?H zIler~p>x!lzIRx^PpdVFRMBF011$T$gOLF(Bxmop$(^UfY$)b=m1I6p&^L4Agb&I^ zu__LgI<Y1QZU0CV+rNeH7T4@PvpBalw@=vhjh8ha@2Kn>&jBwiJOL}!T;bVZk{Jxn zMxdMK3aKjZ`|rDrA|Mb02)v75;z7m$1Fcev*Y#SbHgiG4Oj?g(m=QH2PHomVuqlZ+ zyx3b483Q;s!<(GG$?2PtA$D|>3^%dK*e~;p#jjlk<D86xVc;kCC}8^NF>3Mq)KtHL zdOwY#!Idj$YW9+4ulFDsI1P#T;cBY)lMe}}f{pqHO-(h4(*eukgPVzLuzbS^AOJSR zID3OMH3g{g@*QJ;teB>$o(?Z*nwq8HG#dr6A06@)wvQ*u!boGpoggdB@I!2K2JyHB zJiOK&HPt`GR#uSB%elfGU8IRg07sS#IlCSPh^FQ@kZV<?@bz2oGF%SUy!`^>!xN9e z@pk!xYsuk*Qu7luz9yA_;J8%2raD<9)ID}T^#nAasG6OKau6}6B1}W^vBZA(j~fRO zKm8Ctg%?VtJCb};dp=Yx5$noDX4vEqWqI&`mNS&_Cw-7aib<qFo+qGr5Orxv0<@!> z&F+*$QfU<O@TPY_dPQ%1WyiMjFvyP#NUGp)C&DUGb*j5e{f>*<VpK!LKx$Rn(5|h& z7~=SBTj;S`Rb1}(+!Xi%RO|#ybPX98r9-9TE9sQNpCW^43z<|l_&#E3TCpi`R;l_D zXBsLb5J`_52dJ>0mymDx+U3A3F;_VCF>XWd{tn{J<xl!mg3Kl^<p@aut}VPU;tI+? zmPi6Q-7c;bPx(~zY;dA5ti-!i(}jO$v5$SU!<vm+I1F^L#wF7YE3m7V9v>Pnc-Q8e z$kFlzeLp)-I9QA_lb&~DyW_c5HaecWz)pm98z($dTYwOYJ4Hom!?g*&I8WAc$b5K- z*Pd2-IvxdcD!|cN9C!r$*Y!Re@5KY)PY8BsOSVrE5*M}*t@z=1Zreg;aHxsOCKob; za5nDaJB3O-d*FHnu8i!e@=dD-cIk*(#Mtww`sO=MC;Z3yKo+~iSAP3N8Bv#W0gp2q z+4p(e6gvf6_VFy+%4{JVND$i{K$8feYI0HqUmLaIbD1irw<Tl?iC;?wHZOA(*}}pn zskJx-?nV8zgl;~o2_~9q{E7?NE(4R5Ev#=Gw5jvkB7zm&@@Z)p6uOg!x;M(9YMxMX z0N=Dh4n>(dMcb?_p>Vil!gpo{Zad-qg&d-7zk{r!lw#`>*7QphTW9-O63{0+{scui z2vJTbk-|}_2a)%Bn?}nr3kMDjLaMJ&Lb*>!$4q(^mAyH_1{*y??trN_x<}CoR7A&Q z)XUu^#z58VgLBzOb3qG6LhdlB78++sm$Is|s})jK9`;NUbT;g7Ef35Mr*^3@@}u8- z>w<5^B}DcvhuFhKlvb2b<sk#se8?$ucI<hHzXx*5mD?pe-h|fo1TrVPGEof+n?oi~ zpi&=bLM=j5kKuHEMP!qRNQgGNbHcZp+9qh2Z7LWF5B>q3-a>LH1I^6MrjoPN;zA#+ zmt%#zBHwPq@*-><@^ur%+*k@4jKFio-WqXB=r*PPvR%nHdeA@v9r(g4FMH=mcJ32c z`ljG*XKT7Qp5i3}M<t|^JRrV}@u7fv#$(SDURJn_tsED`4HrHr^b#WEI%k*XZT)xK z?%x8%R;<q$pzXK)(SMynyEW+hbG)bqS;s&L)QoD{6VL%u54keCa1y*#*yzh%*j6}T zQNa}qxK8D|$azjTJ-vdi6fo29fTBJkyixl{-o4T+qFD82EEr4B3Zo1Cm?Dn}kKM@j zp>*37zBrK_<Y2LqO-{902r86h%O?zd>9yG>$%<mJL{=N)y2I&?mt2aij;TwElGkTz z_H9;b-l?zp5=pHyy;a{KdBd8)1rK&UxJb-QM;GXqN$3LQlIU2dbnv0>MR!KkjdXlg z<v1p*9qG9x(09AznA{^cEXr-3uz?WA6h{s2_H!YG#mQ~NE||vDqaJnx<7YXMh`7Sk z`<H^isn=dWzBSvJ<(^PJEFUErRmA*>^nDc41CDI?E`ZB|$#66pB-U;n160UXpjDNe z8dxzIDzXM%CQkT80ojFf76i_)!wY;f?5i*?iBU0knk;S{8`Q+;_y&0QWZ6<yWx0*J zGt9!dg^&xkn<u-GNI70+qur_S;qj;a*2d2!H+&Wxw{oPC3tpTCvu!JUdJmy0$g2Lk zVu37kqRDE$X?=Z=vtC)?G9J_Hug6pTb%pd4{{)^PXo+Swpk$0E+-XYpmKdcgw|8qi zUU!yg>H*W-b!KJvAuXq>9SPG}h$pCaoD(=FV{ekPSsBmuZaD^-#N~?YOvowrJsd;M zenq8{@AoKdiq-lLE7g!fCC*O*d^~M14dNc7V6$SAxs4ZKz1xjybx@fSosl{TJ)tH% z1RcI2cY^N~c47^n#>29Od#orqu-sXx0uCZWcp)8)L?U^D#|aa0OY8!WD=4CAMD_<> zl$c#^hbI`)D7g^y`vBEYU%<oK4`7}dAso*4PEUBb)o;2q_{kBNP$&+j&v!P#0_Lvl zeDTGC7hR@vM4ZHBYUNGgFWBTR;}O0WTFWHh`D$*5EBEj!kJc>Q^@xbZkkO_jACd!0 zO9w1AF7AYItN?F;wnF~|gYQ(JKw&t|_TeMU%lF@$y#vTcJeq{c!La$m$KGQlAQZ-M z_tWKM-CDZ!v6e`X9Na~Oo)+Y|Do@AfcHl`(hw#EKBs0;AH=e_L%r;m^VNym+Yf-Ab z2}VYUj1MN5?wLoA;*y1qheh#u>1_^REzZT;;=<nw2<hyal;etMx5|n1kt>3)Ji>?Y zbCG1Y1n8%>XA*s2Z9rYjs8jKsjw^}m<SZd#7r8Xv=3XR|k&@iARW4Io-H3$a+yzv{ zXln69$1Rt!w>vh;6S!L(n-q!M6c|xv;m<os(iWgAgZMB^>oT?|8XR$n>`C6(5^Zeb zxpRtMS7p6tGHHxgAc2{f#G5OO4U#lzvnHr+{3PzriptX{8y07kdW45glp*?fBm*h% zqt0<n5*}ac>z${ut)U5M549H&PUtY%%y`|*H{oI033HaP?ae_;e&ZTSINU9a1C(%7 zz~J!AH3L`3Gu~7S2d8rTQhmMyI<OPcGzIHYbNCSG4<J8<+ErrhBt9lS_Z-!Aj3VIB z2&bZtq|^3M97)d-x*^}_$~MSa(Zg4s^UURq^-x#wZYWp=<(@e>sNB)Ma@V7Xo`i1v zWUeVb_b|7PuRM)ynw=&5Y;el+t4YejHJ=+82$vri6#f<s$ALKs1|~%LbpN0zyJ-|f z4@`>i1q%8YPEk84wRVy;EOC$b{(S72iSx)&Xa`b19YStCp?+Wp^{rkN`==Gc{b@dd z1&K0`5<Xc&_WKU630x%>t?{iAnLS4J6<qqyk|i}x;&sM&d7a;`K?c#e28kNajJ;a! z=Djj@QnyhpXCs7dYjC9Cc939M<J<i><G<h_*#{Gd+XPcZpKxJ;WH*nSA>6Sha8232 z`YI)nvGtz&VUg~{L(6d}KPK4ZNCjb>Y_Gz{#o2WuHTw=}_VsqB+&xjrPD!d8nQ)dJ zt=ac2%H}o48`a!scan%^V8h~b`#cKtQMgQfNeO4U#?=8@DUE&CIkEK9DjJ_l^|?PO zlVpB71ZIIx<>&MPDyx|sU#OuFO?3$|NJ6kCwy2Sd(SJv@kaDwx$*Tj~<Cm+hY7Z*% zF%6Pt6=?QpM3a`B)t*_<og$y8gc`BQbz`AYLD1Ho<qa2A5bM2y;m7dAmcO(BA{6M$ zwRSc9f78a`0!4YaXD&RCvB$vw5gTs<pYfh3&3-(Cmv<*k)UsiagKHvgitIn?QE2ub z!#sEnR|^OkCK}Zg10MoLK2u$HlNX2V0UT&lf<hWWA&sDrMo>s2D5Mb-(ryR^%;zLG zr2xK~VJLlF;{kFqaO{wUZbH4YRi1_co!$ZS<yCToQ?GG1%PYT$oMyfAsQ9;6oei>{ zkDOo2>Wu2|;jLK~7sBEJznpLGTYVHYs}BA>^)16305}QI2G9*K0*J&YfO!DR015%h z0k#9|0C*1Ib$}*-4*=Q#`T(?jkPg5AunNEqupQv108awE1n>^P2LP=A9RU3R>hBpQ z0$@5o41fV33t%mP9pFiT*8xrdd;!o0Fs2{M0=Nrc5x`0SJHSH#y8&JT*ay%A&;rl_ z&<Ajn$S^kp%mzpWSPozV*Z@!s@F>8q0p0{S2G9cV7l1y1C?KU{01N<2$>wn2uOq_1 ze3oQj^6xV+{mX$EUSsfu-S-;<^NVqYtI`x$ii)lII<`!=&dTbnn~GRnURl0XS70wI z(UsfF@~jmVvqJsj<=L$k*6JUon^wWVKPI`1E6&%ImSH~DJoE)WODTF36qV-d%$wQ5 zvQiSrv6i*PR)~T+2BuCaCn2*Sgdy*~bY<n%QWER-iadK!IXkO-^F}DgZUjWl6a$7S zVJetBri`&OR`{F6<TJ(a$1pRPQidbXx01TfDCLTa=_4Kl1Y;9w8AUJ?EY~WHMq?2E z=EN{&5?L2#ULK-i?v9DcHitkZb-2DWsx^gc;KwkV$~VDJ1u>WqMx_Er1%LR;?46PX zot#9<k;xUxpx_YIu+ZV^un`*V$eTumj~+8NV%+!%krO9P)=jy2YSgspx6HWpw&<C+ z&$=V#&bwk~&zXC7TzrClUgD4LF(l1TPBEq~NLzUCeTz(smzdL+W-QCh%3hxHZ!1>j zu3EjuvNkW@TClFL$hN+?q_nL3etQMWZP>VJ^8-KLQn_^-+153dVwalBib`3l9mfJ= zgz>W&{$IqzGIv3XrNGl7f^Uj7Fm7sbMXKFuMK{CBW?70k^1Q(BIjOj~EDzJ#xl*>M z#HzE}?PYcy!-PTSE?cxDBZK<jE0eKs@dCeBCS{2!Y2o4lpQUqSVrPeiCY9<e<>kdi zc^0+^hD@QQLRVseVQB$>mbI3Yvp5us%PcS?3$40joww}bqP2F5eY36z>TI`L^Vs6e zvqH_qR!fBy26icH$zw?hzua%B&{c5d<z;pVv06%W1%P}>ncWI`z+(xCGmBzN@rw-$ zy<L|yfCdM7n=%$I^80ew!lDYDrJ}-GvbK1$E}yd(m9Ep3LRK5BG*(e*5nE&_E_#4u zAG!?V!#9E`Ss|rvEw>Kdb(_mLyFae8bPHJ>L@g<+V4<$-t&lrb$8N3Qis5r9(B)Z* zi?J|hDa7gayt0yV^6AdFBd^$gtFC}6%_D6}@U#pdRa(K?xjYss5C2GDN^!BtQbg;H z^}Y-1O+N3^GHzX=uA<zMXC=)A1He)o&|v=Ub?2b=^3~l+J8$VS+TLs-AYE3PXPtH9 z?cv2O2Ft*l5Wj%}@}=;*;xL>mC9_T-3WZinImH&^-F=-pZY(Mr)Ncdn<_?*zg3Z59 zx;dDxoP*kLD6+GhrFfu&uqR1Gj5mA8{8yKi;<SASG!)L>WMcK@e`kDPy~%uveO(6c z`PL0Zd46%FHnMIihwlbP47QB_w~BG@9u%hphFuX`2x~$<j)L`r;}6{~QlfkdYk}xt zw95y7^mgn0oV5ZA!jZC6`pBUoFgukLmEuBFg#C@foh#)kumLw(e!x#2>JSq@WF4%f z&}(I-CDu|FVq@I6A>&%?>o|;9;menNPX#cEvG~E3<DBb53$wuKjgDZ3F%{+6%PPtW zSY1{Tsbz9>w68rD(Mb>Eg+lCEvt}{#V0~U^hpLrYAOcsqzO-y(>5rgXDTxugX-a6Q znMO;{N%R14D)qyq=ZWyFl%5~=dv?RKN_zgO-}A$M&pZ5{cltf=@_T;7?>X4vc+gSh zfCX9cpyR>qj_{x$SdnXLY5<{_7>C(W3#;plTjI>w4p?ttQ8t_L>WyxOqt*eb7+97I z3ky}MkWJ;~8_UZB*5iNuP`BLRzZt&2tHZATO9M*jdVkf|_zR3t<@YDM!9V}>+x`CJ zH~8mGtNUj+|NnsB)qPs{-#r3k1AjOA3m5^ifj{{T{tb+PfAsI~)gS-D;m`lgKkSC9 zEY&;k{YL9MQ18J$GQu!As<u0;YaaYbt*efI$o<oYckJBt$fJ)v{<GarJo)pde)04( z&+d8d`4?V%>6d$d_3M{k`OT}peeHMu{`=S8*th?{!8hOf!`tt?Ti<Y~@$es;nvWbk zcKpPjPM$h_=DoA$-v8jkmXAI@f8o!ceA;^Pv(MZ9<BKna_P=;K{`%F|otOT0x$B$m zp580pe%JSXzxWR`L_;$?H^dPAv+MuQF8{xrAsssWe?<GIr6rV<B;c+A!{oznrp^RE z9X@P^A7e7zk)MCZW<pDuO$?J{B0MqhafBUa7ME@CJud-n2_G}8<*e5;iCf22uncoA zS4{G_7ieX4lgjNyxF=z<*z@rEeyVk?os(#`do88p5z4{*F<;CR^TK>E4@kEe^T70& z7Sk{p7M8Q;TSy+M_9F7MtdO%;NPgMY{8Fp*vW%lorm|Avk-<r>g~ha(4&!4yjDz6} zF!|CROE$1#Wg9bCLKvfeW`)(hWUUQ&fQ17TGwygm*dj{>o0NxKrMaw}D<^*Roo2(B zAV<qO>-@4!Nla#jacS&bvr-l<A~-?OfB_%^_yAgn9cdq^GSnOz0NMeX16l<d2igdl z3R(;s4t~i?7B9(M7RAg0o)_P}`$@Cbl5D`gB%in|p{&ioRg^3(D`V;EnD!5>taw0p zy32r)s0<UwFs~Ic%(G8iJ1$Bap?gkpz3&$y3<2Rs28I7&YG8P+U--Av3`{=)JlBJJ zPI|`hhy3Cd&M`2>a}3wTW0XEH{Pdvki-W>X3<_VLXz<nb?nJ|o<#hh&`glw=3>|Jt zGB8C+*H53j;QDw*-*^4=KVN+P@IRXe>ek`++%hQMGfM};US2wMdsuS<%k$4?_zD9v zdBxD-xe#U<6kb0l{{yQ6!~Od;ZMA_}z54p~J!l&`J-Ww=ub=+p=If{br0V+N?`{ta zAKag>KX(1}rrp;MZ`*Ty{8zjb7(V#>oU)gO<1hD@h9S$j@apyP=sk4(dj9;FfmwOQ zR}?b_H?dopYySRqw(^gitt^!-u$Efw7S@_fcg&Jmd$DnYwG`HjCJ1Bk6e1b7%e^NN zrOIqe5t~|O&nPNgS8Sy#B=Z=POwLTCXs}HFR*_+4{W49nl;#%${qPOuYAVa;imj<d z#n#1^5-Y_1m@(pRe6qcWEy}YLXIRPpAj5RY7g;SEtXKJeJCF;_I2-0WWk#_TXo{QV z(yE@6pKm8P2g&>oQ_3-Ia#=|UBwSQf3dPUE6tMK$S*{!x`y{3lv8OpFmvPt{KcaE+ zsVB57=7Kd?wz=HOybF{~v6a0F(Yuw)yt{b57W_3SpR?PcmA#&6%FNP2l5@UsQyvgo zkQg#22NaW)fXk4<AIKM0q*&K->(*KAW~eT9-Ip?nMj=~ZFq-6PR!ccK<Y1m7&-6fJ zCBejuRc8JuUx+<`8=Thsg{66RYY7<z4gUT>g?RllFl|z@nPI}QWtJFC_}mKEWLb)f z^2wM13W)iUa+%**$~=6NPE+o|XWxlSBEAt6yRhy3uz%IBy_S(3)rCOg{7jh*ZB51y z(=A_AX33Yf2w^n62{?N<zX$b5QfYohc~L3t)ca&upmAV_GlRub3>d!kWb9uRz$_Xf zMK)8d%r45eCKp=l%gRi+V?2K|Yh?~yJ0BRWFOYtqUk$@plv#9doU}lWBAv6^H=C_? zLU@+u(Lo5kZNs)+R+P718kH|!J(i$xGRRmZ<lnL)_`WL0IE5$XNySpOIJ0ykP^rwX z2nI{7v^!RLF_3zvntmnp`-Pr;-0vMeJivLrEVY=cD8#(ya|H!fJB;lw<cpF`mU3E6 z=!wY+Ut26I^EMD8_{V~_Fwk!c-|%aKbjg7}5T~7tX>tfdKT+mO94A=1?<ntOQlkv$ zb>L{2<l?dlX?9>9qN7E^KZ$wLuQp3Kwwz;09Rp%zGr{=f`F-=7rCAOOO=2<_m_*7g zcB`+pS%E%)bqnI?*Z)}-dl4Q~Br*3Hmo7Fg0=^)>7?`F~#Znm8WH2-D(=_=@3h4WE z`2d%K^@Ew+JNG29P|#YAwN@ludwu-Z@1Osxk52NrGJlZ<?bUJdUeVQ34}szG9}u^H z{r>m=7Jp%Q>v!YcP5BG(*En{HKLh$20OdU$q5t>!;y6VaHSd^ING_hC;dM`x2t-jp zG^~PR{2>4+PpXpKVUimvg$?%$8zZGfS0m-CmHb8m+#~_|Pm%oRNbgC~d$ROymeMSh z{4*psTgpF2D!W+n$Bh*o08F&Rw!K}#HCT%8kZ`V&-0f1hQwpz^^1%ytD2ns6^u9;J z=LM;}UrPS_CHziG;U7xj5h1iKylv)fbAOllPx=oP{-2FMRQUhipLWO}4c86%`=_G) zgZ+j+bfDowZ;JnO@%|xy|G$p`>G%KmP$(P?beLSJdI1)!HQP6DpCb9c^eJ`syhz=u zXK<GXxRb38;_ij`4bOl4yl#kmtNN*HklZ(JFn*Hc?t}QJo@;w<Jo6vV3D2z<I{&SE z$P?;nO8<D($2w;9$F`5}x;p;ZmQPx*FwC7>Y0Bci(mlImDg3``?%pvz=?8t6F<0Y? z_MyGMLXUyz{Mx{jUotSYkx9(%@l>%Xy4csE^ux8aS1^#Z^aQxLW<LuquHh<h@gu(Q zrGc!)uYim6MJ>3az+DM0(lk-vjsv&v3j;GA+{55b0QVtqkygkDcM`ZM;7$g&^*;=R zme>m}j<eU=48#hT7TisUJh*sv)%m%B!LO$kTpVl{z{Snb6X34eePe+17t&FfFV@M+ zUSRv!pzn8IHZYF@>;QNOpcbGSzyYucpd6qOU?qSVAPrz1KpenqfEa+805bppPC&80 zq5yONkpK|@;Q(3yHGmSJ_ixZA0K(sB{8n&V08RrO2KWQOYXC0*JPYs?zz%>d0ObI~ zlmmT^eL4%<6#D$3TmL?6lYVKEb(&d&#t*iWF6fbQ%n-l9{FS4ertiE&_ovMn%Z5sN zLqBuMKbHP9)Jr>wj%%-<|1*B${nD7nv8V^YnHR?eTIN8-tmgnO1B`@<#Q-b@z>6u~ zGzko)i#IYvE{;JRPk593Zvc3?@(utKK=J<q0`Tw2smKTY6w=R|zPQW4<O8e(Sk`5@ zYW(~kP)h>@6aWAK2mpivMo!octMrSR0000c0RR;M0047kbailaZ*OdKFK2aWEjBbR zWq4)my?c06)zvV5CNq;vZkz-d2sasEP&A6s@sco5=a7k>k%`8Nii(PjB37(4IR~%; zCZ37SWIL6%w$;|Q*6Qo6)mLk|DkcPSfp7_m+*IOy4<i^rlW;x1wbq_VCK39+-|u<8 z|2`fvXP<ptd+)W^ZLhsg>21p;t0YM__%lsOS|y2pKIwn{w;TQjja@THdOLl~xK)<m zmT@!Z-CyZiQ1Q@x6?Z@AD!=<@KYK`X{p4O(h5j?w{XcX0ufNgt;6wM^J2^W$!yT_< z!ksVt>AtHrwIu$0$KGtYhr*j%roeOWg4r$Q@O=2e>spHGc~{GW^bEA5)ARP0x$yk) z{pItpd;+$z5=pw}aho*aO?E>fu2Y&IWu~M{(ueReU&OWL!%vRrvPFuAQzXfbKT_XQ zT3``_B$BHVg%Xb+zV{1Cwp@!eDS7bbSR_Zr|6-8;r+=N2v^?eP$&<Bv7i;i5`9T~Y z?7OXh9v46}x#FI?wYy>d&lhz{7r@`%{`q|Hf3nCXeQ`M!gfSV0^;rhytDn3;WTZYq zU!^Q~j{HGB-~T~R|KGp=3;)#cY_~%V&v)mjVa=VVhL^Zq%1q@Z<!06R#ua3rsz$5n zsSmJ|YjE<8ysmb)NBrp)HS(~jmbdUSm{(7i=U}k>+a_te8kuDYvd$WF*}d}EDy(0T zS7cpSb!@h7Gn-=PRUI3zyK1_Y4fV68w`QwsGds<H3N@(K{rO!@*4e7r7)$YVK_T0P zs<{zf1KxwR#paS#P-t*cq02=fmCbjnD%0F$DqG^7)npytRBVw{HrwqBuqM^m;8N~X z?oehowk7^yfAelptG}58i$G=ecLqa#&jvLda+gue9+fr7E7DbVJk+WUS+1J(RmU#Y zZB0INcAX>CsvlA#AvcnWVB`t6F9n}|w@;1CbQb_<YS`~~@#}MeLM(9?NOH~V5(Ry; z<<Q@8xc@`pZKCjCC@cnDjX*&damv%(u9_{X*{WJws)}ao4hX_ibBa`NOGRcA^n@by zSW>mv5D@qvz}5`a<DBsQ*^)%lxf)k4e<A|`dy4YK1}7y{Vgh?#S%q&ZYf)JbUz>@+ zW|ci52F%mO9SAXd)?J0~)f;eR?`ljM@3Z3<4mWi*$PTFNM5N3?2nOBY-9V>3rpk^g z;iZziE)&qI#Pfw3&g1t&b2asvQy%M=AZ3OH(1e#!q~0m7$cI;7=%9AHPhPi$7mCdG zlA15HfUoKlB4TrF4}`|+!+c%M7JZPX9unoJ>V20U^s|n3v&Pg02U#<s+E(6{j)>On zF|o?$eYKNSz~evm%koMhOH-<(m?cu6yaXnqDG<J_2@9PI!1FhA2#nn233#8&5%5-d z0ZFbgO_Pvz06w1qhhfwv)wJq^S@vV&EK*IY=J4z=omYGWlpE&_vQO$m_W1bcAij4% zs;3@DbdMSdx)=B(*Ua<m2*2a*Br4#CCgEom{><SYIwUD_3oP>NCjd0Sn+5YAm+3sT z4^ehD<OKv<5QMr_Ea1awEySOK5>IOhU@m*#(+aPX5aldX^tFA|;Ys|s9kI>%+9&u> z=kN*}0*3h0BN6@}q<1wkfJ0?LcbT!t4BLMPwV2Mk_93DLvH7P6Zqw;cRQq>P?S+YI zN1dhGkm&Hh__j0S>n(_@f)Yjrrmn^A1lXxSIR{+zeyp-1fU&T=f{`06OGjSIrfw1$ zkGvi*8z9MVZ4Y|4Ecq%>z6pkfk4+;u+dh`0QnnEmRgiV?!E$2FL(QUEs55fExwIh2 zY@Y<mw?L8KL6Ly9jej`^;h*|RoJg3Bv}XL)C=^?=eE=Q>*aku&Kp^U*@5Wn{n-xTe zSt&#S*Jk$;zyc&l?1&%9P_X<M(GO*n1ReIYn$F{UlIc=`Sf~+y*2RcU1**4UVV*oz zsw$kU<xt5c$PN_CyM9ruiKYU|Qc2GaD9h|qKE{E-qTy>yX7|8r_?k4n3nWms+vqX% z@qC+AP)ML+&J!QSCw4kO87a0#k68rODuAbe5(rfIA8wR}_?R~!vAji%ypx6LY%`xx z+m~H6H>u`&)w`=wmRF>N>NUsI49zw*TaPxSNJud$Q^fh`M_4sVSKK{_7Vty>{8oY_ zo+)f$_A-bFD-L;u{aOgsDp}ZnH)gpMspzreu(}0_FI3rXAoP6UF<kIm1<ZBvXbLs9 z7uOaLR_x=QP%cuE63wP2-gcKk7MM+UF#LjB#aV)WBKs(bTzKUg2eR2ni3Qnl1M#pe zh*RTxOw%}R350F#01UfhnM*Yq9p+Y*W%5)=Q;lW^#;C?23rs<e{uRvzKhSNOYXvQ7 zb_BfpF>UEMd2EQ}g#gR?gf~MLz`LXjOTIRMutU=VR<$_|Giw(F*arX(U-Kf2gC*Y2 zy<#GRY$IO?nP_}t!%Eo3c;<&s;^4G!<%DSlS-itcbXa9#f|30ox+41tXV5xEd{*vK z?!4>vWCEx%=l!EC63e~|eifpT(H?35P`(Tnx#|dpeR;vK>bmh}SnaUZVUmt{_OYX^ zQT1+?e^>8q)X(F~&y}QR5_XY7xCEK=?C`Ym|C%UCMvEDBBA!8!_Y+0#IBSv0c#+Q} z#P56D3pgV4@~&(0d~(h2h&*lMUrm5aJ*IYn(Q_K`t{hhOCbi+1Js7b!pKp<j&&H|` z?3fj>4h1aFo|s{gV!03)oq_TX&<^|akg02W;iLLQtYswD;>0Dv8q|g!yYVR$Z-wGn z^<7F~l{TKgKJjeeZUAM?*lK!@>K7njr9*Iqma;Y?^fTS_FmjF)B0E*K3znKR6gq>E z|H2_b7FGz<=T4dzHDV9jEmEWJMx?6DKHF=N)<S+H;%Tc;wTjujjdHLNKqbr$+lwFz zx1Eb{*|YPZdyv%)q5_Cp;W48z@#~3{*m;3SOj|V)QEIWL70_)Iw5EoKT2y0wfoe1W zy2mUUh<En&kURDz_95aN44FzIsx<)QIO3c)$pUy@A0MUwv#rOW3bLV=fN|W^GU4~M zW-qPTp{F*doCXFNFzd1UfDyIm?;xey;KI%#ujao5g{o?r8&x08&U4Sh$<4kRAq7?) zZGdjIiLoHYoIM{zE!DfHVhRjYXBvigFPaQ|LtXXStMu;zHNRc$KA<)nw-Q1`uZje7 zbNE!yW92mu<jJuNH8P{Xbl&&@NdpLosNXm?RAqaY%0@#DAC#Q?TF5=IFSmdj2IW&L zHovLjN&w|v0;Oe9zP#q=d9s?nDG8qL=s;lJfIdUbMg!FR{`<XB3DyfxES2Ro6?p{5 z<02!0@M>?yIK20`eL_Cwf4=}nZ8y&Cs3M5aoE%hnoNFzUcZ~-m3%Y$_K#0cPKJ@=L zcW#1y0s04w9!JHE@`@dS)t30bfc!=~MEfevQM>mTpQdT4!Tbg_oCCskDQgKB9ajY! zqN#e3cu9j7tCl-=?%d_e)o?CiRlsc3zbgfJGHP>Gvms!%=v|HSSf7NM;D4a{m^50F zDhn`w_y&+LZpeXhAUNHy8~!?=JUlr3b;4hdzB~5RT#|29xiJ_1palGgA`sY(KU4^w z9Dh3Tr$^u3S(W9MqB8+0&)okY+f$lZueo6gyVj>^lj?x|)!K69(C0Wf=6Zl!OM?{s zt5{ZmH8!eY8+33zjBQH5;EsxO1FOx`^lw?v3bM=gfN{hu^|S|8OJXRiOKaM-)__s( zkV6dWj8`A(tA26li&}TCrpI6JR~vW^<<fo<kGfgpxH0~EO<xXQJnAx$<C6I6#NG^J z<1s@-h8*!K*G$D_iv6)}Qaw9hu5&6%x*F2744AFjT*wkT4E=Lej7XlK@C|t|;x0_6 z{2IFCq9I6+&pDQ;cR-Y-B8_G}b`)D^i{ozz%Y*e6WUY$vd5_X1*@CQH8=^3uqqMxt z*1bDuZ3h|`oX{R9Z@iWb%~4r#4pSYfb%vu$vC3MOyh5=W9i8gaIMAL=0oF>`9eoC* zB3etOOaWd63GF-#-Rq|S2tI}~G)Qxkg5jXsRf@9adKKhpo-&DY7B&j~AP9N#Zo2sv zp_qYmXna$EocCo(aNehB;T!|m(6ghI9b=oqGu;bR?{O_7=slv#LGOA^UQMj^9n@{% z^>EO;NzYP?o^mgTX#F!-<ngffVbFU(Bt3^o%_0fI+S;J^Gm-S)nDh^kgkkMD(L1)k zaEO*kns6hEmWQjnQ}hb~3T+(Bsa1Z=i_+lg6iLWZ(ANNHXhVR^cy_3fM=UW1=Cvxd z!&KBbk6?wvwR=%T+dBy}0ql0PLJY67PQ6&mo;q7gpE_9wesMHrQzH+c?p8QN-==yG zXcq@z1SSSS+REP+EP8@^CqMpba?{)R(^RX<PGQT(vE|_^KyZWV?XC#INND4NY-_v% z9D{{F?=8HA-%f>LP_!~N{}Z+7SsIIl*P*t7d=+!G@yj7s>|&}*&EJo?sG>=ftG6z> zw=SDfJJju|kNz5Ru}v`>5YGic(2LMsgQEk0u3v~lgaBtJ<_%+pV<UqS)3p#Px=F$s z2PLLyA=M3-p-<#@jzJu|2c*KaC{*;x6QIIZj7C{0HW-j(7rz`bt{#u9-T|@+s4t5F zH49LbBdz7mI~x1+G7Xhk;~P+GK#o2x#D0|>Mscu8P<OR^cYrmNj@nl`VK;<<CzOub zfto7N+Mv6zbi#IuZB{WBgmPROlL8bA16De!UWHg-#=8`w!;0$t-jhN(pM(0;JOHii zt{*U%B>v*fz8`?nbJd21oVnc%rm3eKZB!dtbE1Fi$LpJvJYZlu<eJA&y}0~xlwgX1 z2rREB32cbUYFANc2GHJYdnWSVc5N7|LKAn5eMver;^65X%mQ%Q%N>xTsMw*6B0^G2 z*|KlKZ0Y>K`Bc3Fle(ye6y0f1o|LBIJXjV-<%d#^%8y!-c__i^Go~#Xfumf$M+fli zw}XHwue8lFIvlZ^QDbm<cJOn_fB|Zwu__DlT9yq%#_b{j4g|t0uaG1^+Z}`QRcQV4 z%PU9E0<!3+TH-F0v@9%IU_6K5oKgq?AIVQJ6M{Ao{X%Hwz>ooMrHo48Rv%gk*_96; zNwRh9Cbgzj`w-`xCcXeIZiFJJ<Uo;Tzq=5ieiWYSbS(H6P$P`_?m`ROy*LA{3<XUf zAd)Uu07CGiSCDvbY?$*O<qMPnbP&;kK$q7hSRyi-v2~W|bwksEO-xy@--0aaI#4{X zRl6HdRnkAbHZnAQZuMuTJh%FIkG!Z|WftHH=|JT4jU-_J>j|t$@ZN>MfjZ5gbw|Ln zK2X!BH2|QV`bHJd*Vt_~hIVM@g}Sr}YQupX2#<pB@OW5;aHa^_LS1?-7E8>vi|ygp z7txftt|USApQm7C3NC>KYD#elQ8hb~@`K3w>n&)AIoc`&vJoITKD33*g{JdRJkrKC zo7?;26}Gh!CIC{L+aMdnuSRr<R=Ds*gy)XMFbJWQ7ZCxtMJ%4<WTv%Z%_&$fD6!uC z6$f#Z7GNuP3BD$>qmn`epqAkvLBh()MBGR*+Y=?D$tBy8%Bse+x^qy8*`wt_PalOa z&+w8Zz=44O3?nX|LVE2lHsd3E20ZvO=omD08@%s_@#J+ym^NlCWtrxJM{LlUI$%tj zfX#sv6UiQlb^mz^H6|mDw<?jc6w{dk@z|#UeI?q6rklKEHts879c-_k9i#E&!(cp@ z8`J)hZILW;=p;ln+w1TJLjKx`k3z6!pIozzNNIM}7=XZYF@`%)j3@wj<<MV6;_a9? zj1qgua2;e_2m`Pkj_-x4@vVc*y{h+gMHb&b8L}3o=_#?VFk-gKWWH-M$@RPupW!s~ zeW*7R>s==j;PpFD+xZ)lkux3D?LjZsprNDK<4LM`7W6h42P9SlvyrulX5%1W7Jugy z8ep91BI-Csy#i6o(I%WB2IdqnBzV=&ZMHAV662u&p>XgoAVC2>o&^QqX*wq~qx1!% zzX16GvMOIMs{-U9Vif)9X_UVq3{z%_&W1OnQ2xktOZ0k5Y9lK<M6vbJX&58c1Ydno z+|a(8ADD*0&HVZJbI?%ntc$<@BL3VlMLfF-<L`yk%|`(R`A;q)#rW%Ez1khgd&0D- zR)6zcf*_jC+nWG2R+Zi+Npp+rU+o0G^%J$+KH@_hy30R=ch%ZdU5MMNTBc`TScoFA z>sDu`U<oxZIkwPPh177+qNF&tXJ66NXmXW**O-XQ=}m?<Dxi(`a8zKlUoR$uz__Am zS-|*oJ70Ynkf6~xQ@^}4PK@}!Pe2c6U7X1ISq9~N5_954C%>aNC&QfQ00CdlpOZ2F z!x^hbVL~b-n9f-nX_OuY9i3Mx6t02F_!3_{FQLfZ<50={)8bL-7}X3>0Bzd|T<uyK zYvKRKOf6F-$roDUo-eNiIayhaTcCcqWK)pUqbRtQ-**to^&qa+?9;JW6JQtL13$5m ztjBnVh6LC<q^yF-Hog_nl{Lrgt4uN(2@x;AZqEy_N>_k=epf<o=kHAyN<eflAsX4a zX2C+7m#2moxX|X+k3N*LhaIJCT!8(&ur&YcF2y#t6ve3nK^B#3K9Xn;Caksu!@liB zKawBMC&TESS**Ax=<SdndkN>O_#}pnKS9`d#3sohlq?OeMH>Mmjx4-vXTaKQZU^#F zi-@tTQmI}ll~+F4p-%#u*PVwn?;JqdLlEMxTuwA^&>CTB-(os<K{T6TQ{p-RRJM)3 zKOGaV_OTmnrRAlxgE0x-Ck3p#$gaMHXo2ZujWAIkLS_?0;l>>Ak1Br}{SnN%r#?0} zz#eva4hHhgqR9(qLbr0*jPHWpPb+>Tx>tFH>OEGGrFwfR)0D0fn@hjg@Jd=b^vc_# zO^6Lg>(^rF*_)O?IMom1P-<;f%<bkzYH4!Ce-psCVd8_iDhRL#;904{d?k~N1pQv( z&LR6FN{5`wXwT;3rsG)1p+6wH)qjIl+xi04yIZ#b{6qNbB4!T8ETYCt`_IxWQg?A4 z%3*qWFfwrmnr_N_0>;#nlAgaBodEc?gJJN(wv%X40mfGBBH1%+C0lH`*bSm$Y(#)% zoop_4V}a&k2R=X;g<P4{GxAb$;~P$~lmstgxCMk;4YX4Q47Pwsn!M&Gc_85JtsD)i zDsKQHR$ZQF9x_d%+zp620shK!qye%)*YrFXsofwM8o$VaRjrs(>|A5I!(5!LvXokf zYNp658e$H4T`T|ULb8+UwsdPO#k9t2s@btDIB+iqYYwnu0oKX(`s$*n9I+35bz98M zyaq7BxXRRQHTxd@I^Li8$Wk;AAN$D#1L{+{d<d$jRAo^uD_|@pkS)2fD**~mU8y8m zf@aP^IoaF@E$PGgG#F8%@B%$oB)@qTH(|*F09(!i0PS5TtLfF>Y!{n2T}P$FCQeI= z*!S9lQtvzzeP9JH4zTT|EQ))3e%1kxnSRy@58Cp>y+3}>QPV8(><D=G>I(lmAfIR7 zK+&4a!hGc*Nh*9+sPeK3YGW-fb|Jf?P5Tsxvx>3J>?+Rl1tZzdZZl1}W{o6x)8K3p zl@<ZGinm#tghuHJ!SZ^@Sh)=iG%cWYjYTVW=>zq%O0A*Rs$vkrGlFbAWGRCzFy4ia z>gQwWbFlOXGK{ZBYj{JCU0B4QYQR!m(+jIKh3^`4_P)fj&)ye>HAgQ=L%kIS<+!%e zS9h_3dt)=*KK$`34D`pR$TXr%IUt7)q>5cdw3#St(U7g0&5HMk8W!YSexfB6H+4Fu z&RR5BmDg>YF0XsS(Fr4Ad@9GR3frWXuUE@k)yU8mNO~$G=Q~MiIBtWsX0uI-cZVE$ z7{D>2Ah^{!;(?13fmkAGZzAwqBJc-j);MO7Yo<cL2MrrN_sCB!gT*U{s#0+6C~^q3 zGNY$h4sFK~=qZsylPTsJIW&<1H);<WJ+tJ{7xZ?UHr(jBTMjwtty~TvABd_pB*`UG zz}V;rc-Lzet85ko_G;%U@|rI)<@cn@!OwucRfdEke|>vTbTE{_(JYHPXya;3>0zkn zuoZ@|dqV+q4%U&p=9|m_yF)7Rb}OuDHR^1#zX98TJUI^R1{&9)okZ2D>>rbLm@qDS zMEXHpeI>OEOXQWMJ-97cAD4vurL2+v!AJA1Kp)0HrL&084N>Y!df?5EZ?&O#iD&5< zEd`Kqn;g@8RU2K3(dH|G$&aTi?5G^M2sfzKrDFC6Xx#6WpKw|+aNn|RM$i3n=r9fb z&*ad*De#aS`XdDvX!jaDm2&8NpbtimE{EDEda+!y6DnGD9)fqH*)rE(l&htKvX}yp z>))#Ro7MJXv2idmI3h>Br4fl`m@WRoTn%Vw17<s%zZnRHKgtL?6r6CB<W;DZBE3*Z zm?{Z<@$ekm4NZP`ut162aHQ7nE{)x&kYt2uek_z8n-*Y8Y5Mtv(-K1{hZdj2b-Tf( z+2@9@jHQIHOpIxCKF%}@m5`Buo2rN@azz?GvMMu5<Jc6NOtXe{4255xmR2giSJD$3 z4)X_(9EwXVEr+nJgq8Hrdv>XJ{ZdDudpE-75EW-o#TC{PRu9v&)S;}Sxy@9JFS<*- zM@!`EkNSa;&B5&-n7j9I8F%j<)jDAl43es_t%|u-@osw54s~lTAPuZO0Bg4UFvxb1 z=><kl(K4%IZLYPd=H}RT^!C9jl=lE@&HP5yY{d4{VO;&PfmRhnvGgi$fgH-Ded*06 zBsEzJqNtncgM3w|?$ebxkVSC-mFm;zO0?{JC9>`gvdnDb591yvP=B)2qAUs;1nZ8a zD(n6(iA4#z)bisJjV2I*Q)+n^=0|G9%f<=ZU+hO8B#_sHMX(7iW4Md`GEwjM{lN5G z=5~dh^wd{>jkXkRjNjV{0tCx0g{rxO>H(2RMRng(PtcF__UOYP#{|srl`A<%mG>gu zL6d{lTwo8^Pa&ki;qe#EbkCA&X5bj%WL|;;=cr6W47>>Dt80Tr%fXj?(iuQ_Qe(Lg zo1#$`SB%3nBKMq$d~{yE=Jw}zLwXjlTj;7U$TkAYb@30nO_L&U0D>61ix2G~e06BU z;n&u$Kmq?d6o9Jzp86snH=6G4S@v_4#r!}>$iJXIMR*6GfUc~<)oyN6jg2XM`qadV z&@W}ef(le!J2%Mu?s;(#o}l9Vx81~y74LEVB?3P-fgZq<(Ay?9q8FlFIBfTb>`;#n zYF{!Eq1J}>>*m2O%7Q!&Q3R>;5ZYtUAfOVQOl5*uq0|AZaW*jBea$c!#Ltie0;j8S zA2UsV;ZwbA^9jK=|3+++HDN?cd~5#D0kjJ~>vmabi++22i#}o31q2CbQ{Z==mJh%4 zwQTrZr2n4ibnMBhtLEz&$VK5bD^>-BA}6{C77_$p(Vsz}E{$l_)GPF%RgYRO(+8<W za|%U8uZQHR9*V!TH~u?0dL_o+1Dq3|KyuH+ClK1P_yo#29G{Ejkc>~@cWLlM4mF$5 z)+evnLi~#NT!DU%-X?7vZGqE1C5V!I>i4Dz0|ij~rW}$(DP*5c&M@kGnu+K$K+B=G z7w98Om`=+Q2$CH614Ngw?&y>7ERJNYK!)v)XzKRpQc5`z)e{BBC~@itla3;t9J%c@ z4UVmQcT5Ism>J2c!txQnx*an_r--61O@ZGD+9mLtuZ@S_i?ku|TOilui5eVHIbKyX zRRk>2Q)mH!u}zB}Jw;I|(F3Q%;4HwOS@<&(f7BB88T3Igc2aGBY){?*K<U{PH`mSs zzV9o1n~*8GsEcePy*ldx5VRNP1;cY(y#nv@IG+a1?iJvY%h$|8<vQ|{7TgKhZ^ylt z-6b9~;BD3&D2_goLi+sg92Q{0ZQ*PU&E$3|6AencD~n5NA8`bXOjBtpPR}R_KavFz zh45080Y6hPrVL_&0i$sih}qXC7p`bz+2=w8aNQ;DpU9yAO*O1#Xj=|>$;oq`O)W17 zSifH@0i!I+lY@Cgt-PD%NQ5-Q%TI!KMtwl|#|rqN0_}cK&rUP@Mo3ny8^ZQ?AP|T! z(e|E7<p+Q(Rpo_MXNEk$Y^VFc-pK3^p-N~rdmER808z%wf!A0X0E6)gGZpXtWy@6K zN2c}w{GQhC1?5+=Xm{en0gH(ZGM&M<g$N%AmVb>tW*~e64;@?jz!xC4yMYL#qT>;W zOp*e!f+GM^ma_(pFMRI>qGXx^ye=z7v$PY*WOD!&=O%~u#FEEK7}N@+W54>qzFDeu z%+6GFnDCmY5qeK+sZ}!^Rk25#iXGJoEG!dQw9)YWD!?DJ#QU}EZ!w+E|4SGy(fj3E z9MTdpN&og=qWLS;ut#1|Z}g<-Seq}FZuD4n8w4F{WJVm;$#GciW^q<52e%a_V_vn{ zif$i@xj{v%f@zhXxB*Ss*~3!NP0{r)RKa3a$d9I)<-$}0s%Pb-0DGjMl$96ungDwD zYHM2ciTr|;v+iqLWfA)tR;G*=TeqMOX4`ut@};T%rUP&XN-m()p#k$)^%NG%+K>DV zt(72)<X8l6!e_7ZW|`@1eoN>sjugS3eZW<qb$;qmAx(G@ra~fQ#3$#Flz^dGL3Fx{ z%L!C1Ys7b#r<JdU(lHmZ9BvoViKxHt{bgD*;vJ>u;Wi2PWi%4v!(vC$bmqQ=mQuFc zbeeC9#jl#qZ{8%kUslaN-4Rh!c+X{+bt}ZK!CGjlSG`GG2S?`iv*_=jWk*3cS=WU! z`knymQP~mh%M;xm8H5gl!n|21=;&96dxPfo*hJc4=Eh~%;n@T8plUhq^bcKnjSU54 zM*yz6^9w|g0BiS0d=77hmT%SvtlN#Aiz<#pl!Hc3?xNIHpqxsL)eU~!+D8;Hjtx@e ztLq!prxoUJur&&M-y#95o~}mhUw;WBZc~l=9C8Do^jnhBHz(4EQhM(`j3+72OTBr* zd3<CZ5-I1CU&gm_f|0Tu5IDSu{Na>dKc_R;MbOdsu(8ENbLTytUiY0zMfTgim!yR* zG^Mw^fu#Gd9E1bEcg*zfaSl$%*PQa6(p!?OAAnJPn;m`jOlWLD9`Fa3Fq&b5M_@LA zF`49;hI7I1Pwj2`f+G8VP^lM=$EHjBHQoFjHLb|koK(Cg_4?$-m*DL6L4ek+v%}Cu zTTKLmin7@j?&|CN#cGYI0Tj0iD7M17dmW+pOB@P?pg0Ope5ZK7)7SkEP@LUY+0#Xc zd_aNm53)}QGj}3?x$lR-v>i<VGo>FeZy!wn^S$EzUSFH+ncgT6yVtE4chj!CQFuu= zz-sC-(bd3oR=rMZbU42eH(+o9&wZV&nkPUZ3|o6`etr8_G>iqFuE=#3{!@?)mPhWi z;&Sqixon6<T6%x5{BvN#4y#4F)|lEMX=T^4td1@v&(L!CTOQ#rnQAscRc_<N&?T2Z z=6xW7VJ_i~_UC`n=2er3{FEyu`k0Pc0q-*m_vez?h|R^GBySe}bqe_}ie;=p|IsgD zc4L2E1Q%2CaN_s4ty5F<tGbmu2b#05U`6>4=hT?XF5;un0hryG<7ds#`OiSf0qI0$ z#d)Fnhh?MVRJb@VmS)Vza~WG9-;5li+(FH1=u@BBe{ZtSR}dIR8pl&uu?zW6X}?jk zBZD|cUQ?bosM1M$M<A+0lYjS060pd6GS(*cfwZ{IIT*gjo!960<7bCUJYR?@!2U1y zm~>{t*k*dCy`F24<jCVFx|DwlgS*T^Gr=Y8r`NKfylXnl#2mJb*X=UR<&b`-g~plF z6kV<ur!D$WUWC*GnCe8}pMGfE9UE0r)1?oCOervrBSo?z`@3;FQDx3Ns%7W_sCe}* zJdc0?kpdv535{1+Hx&6!jGH(<5oGrOtLpV7X%sF>DdZd1H-|U~d1CzrBNPA8LFbvw z0Q<;z#9`4Vs^v{23z$tRh|@qIU+qLDlm%=rlMfnCTNM{U^uIns*4>x`0)cn;lE(N} z1=(?N9swR-eC4X;&8oFNV7ND+l(6s2^iz$D8P|agU342(%ucB6O0}j-8)ZD|uxK#3 zuwu8riYZ(967*0p&O?Xo9MyYj$p`Tr?kws-s_A^`RRJ3w5cvGe#$~cR+F#!f8Lh1< zgYKCV^Inytf#XC3MlIj7PB@!Q%Opd^aGp0pk|NiQ;e1$P(`{G>V*Lr#3i8KAH|<B$ z!;(|5Fl?+T_Q+~H3&|VF4W8(c%qPQ3GaVCzQMru_LVPa#EEnbUi)k7VtDklWx`N>< z+}b<Z(_6GFmJ<liJ|)G{G4&@W2oJLt?nmiBeI>D+2TsZzjY)g{<$Kh~v={IkiFKc9 zOx-W(xg0HT&?JZ&xxD=oggR?~-@=5k`r_sISkWR9?nyWYm!jX<^bWQAu<C8DbaRzF z?*~eFS+rl-O}kQesPY@f1p3sNs_gH<HEVV(LNm)>j>9OIIe?;@&I?`<O#32Z+V78} zDn0^TuHP9;W3ySU*{8kLY{iOWui{IpcuA1%f<C{20rC(sQGi?yogff)$e|-*8<6cm z=az9wofHDu2<=*u>fI$j{tl^Rw_0i~P1Y%RWRJC%LeCYYsz?IS5f{X1+4w!=s!LJL z^=KPwtePU}Uj|q!-(4t4RfQL8L#hgAYlB4Q$_K?!Ky<>HgM&CCHaMPgW1WS{t7Ze# zu17J;Jj`-QoduxEpE_9^AJ00e$vPQ5`4UC*1{RH6V^O_L3v-%EVDSGNREM?bgci$f zvLXgf;D5#_+AJ6_UmzI030i!D5B@;F>(3v2xG&UBI;+BtDXf$C>=E8lll=0EeM)GF zb&Nh1mbQ~Ts8m*q^lZAk(st{FCZyO%*a;tcy`@0-j+<K$f--D;7CIu}oU-+-U0H3T zscr#)iB7h)B_hd@Bzl{mfv9&--}tRp#vMXYcz1w0QA?AW9XW&x=cWHbId{zBZ-v@0 zi=5_Xit|~s_^wJRet^ta;x3ak1rHj+v|<H*p<@(?Q;N7p3sk1?kSGA+LeO1?_ODr} zTFe2Rp$6)TjZbXFfZ}fZR;Ud0YShE9+JAkB_Ph>IE%w_F3LRp($UplK`m|gMk?E*R z*e`^TAjS6f-J;of5Z)3GFEE{Ny@-blo`rmZo4h_roOk-oi^8Ah6&!)3@M26`co2zQ zhRFB$ButnM32V|58pqWylE#6+o<%N(g)$lz*g6ZTKIq2j*}?B?N1M<-HL^5EiOfh< z<du#7@EtbzbHHEL+@r4nMfx!wJIX&*XB#Wf*f?a-kEoHz7^rCt_OZ@ZRBHk3R*eIg za`rvMKL3v@JB`fBUA^0f3n=C=3)pamK{wp|f+VfQ>Tw%-nuRtOA!R{ridhe<+1pt0 zeVyNZa}$iE3y*i*96MiLaf<~|yWa0zzi60}zdgX}uZ;w43()`NEf;@yI~_hssY?sh z>+iFxvq-r_1K9#Z6?U}^)G2`~0FO0(R29uecs%w`SCO9UlOP|vIg1>BFdyVWXCUG3 zOa~lUBP><a#qODU<{~KrizsveC0=UsRN-lX5U9Y~K&9@oTC}XH^qjiTP;3wP9jqzZ z;Hq>N#z4{9Y8<IpT2r+^I+zS|eZXi;!BZ#td$FsK8(cRA2I8+u#OE@4Ml5nbeUa&| zSeAlsgP<;87X#`s*F#O-_bcesEzOXpjsIq+N#+Hd!~UKi@iU+3PxLXJ;O$AcgI*1M zP#dBet8i0F!ecN`qmyauXRA@!<lQ~QF8?YVPjP6xV={peYJTJ(qdN_&sSkq%+>A#7 z8J+rT(d_)>QKV<~Pw_xs_?N51YJ2}<vBC;E4aq{tDB3{Vwn|$23>SZV7nUSCS|~77 z_?(I}s_0qT_JL^{6L%g${rALaePXk{>5y2_rqlO)f+pUWOcP@z#)(t<;AZ=?y*UR# z&e#XWiIe(JBC^f)s(2dn*<x$Y;D(y;LQURtN64UO;Sb`gg?!GA@Bn&~>|;INMm-zF zF*}H3(L6fbebL7sp*N+<Vga^MLFag>s89}_hXSj$Enxiy-8qb7_KIk=$xq={CZ4pe zHlq|KZ>g1_t={!FP#GHK(ASc%&ye<fX*{xtBCi{bCLg3Ke8d*eu9n%tcV_vEfVj(# zN8+UT+``%JbG3^KXIZpK@`^%vg=+C0Tjb2&26bLJ1^}wcum!9i1oGST?*Xus!aV(b zHFEVit4|~IaX13j4V1>NvsFi5fMuagGNLwZv=PnLaujbHh<1&!k*jPr+$~*&d%Ll$ zRW=76=~|TwZ{e%6{NcHdm^FN-LyauU0W!B5H%NfKMLTe4#vJ+vdR(&-w>ewP=!XM) zc2ygCqs@O1Mt002cox`tP+5aqtu*34n1kK}g?ZW~g|}L?3*{BL@(RV`-M$DnOD-Lw z)L9kl2a3ajv8C2F@Aie?;7)1b2z?tK<0!R$RGR;Rz7__q`djQ9LaMoqZ*5wh@ol!2 zg@%EVYenDIioUHCeOpU?yE99T+?*4LEIDYSPRT3NkjTwNGs*fC9Jhlcs~<-p57D&{ z7x9*Mu|ZNr>}`Xu*W>++HgFWsK!gCbp4-yMy2*3MJN+-X=s@~g2XB7X;Vrhwp(kO) zR=aRJY4#x!vq6MI%k&cBJiiyqv_)A(S-u3NH0;H*{;Z8V(5%lmWUg^j=3imvPQzmA zBjYciDXrg$`$%otAb#>&(?t96#5Z>0n*WQ)ZMAegP7daBO*+)lWpCLFOHQsqg+Y*l z+V9Y-t=JZ}XT;Er%n`QRDUcPmOBmRN=C)wOe#<`rA&%RZj!?@t$t(Rca^@=GkXj4e z$Xt(EVxNhu)yEM{mJWw(b^Z~fr`Luot_ylIeTr&hwTa7q=}5JFTU}@b@=nZEkPo>? zt&DvFD}4AK?0{tIxgc|A>=FI6^P$jBH9Y3nZqYr_iN+()`FwOhIu}OZpC4f6k2E}- z$iIMb=eK-=x(SMrF}nwb^;-qK(|Rompn{a4o;r*4)H}##XH3gRky{_S`V=~G9){m$ zd-q{Mut<ZSG|&d2vg%1RReR7*_b|vUm8igY8?*;iW{}+%;_o&JC4IKan2RD>wP8jP zYByd&5Qa7I;vZo(EU$l#5lK1rkmD)CO1UK|{`-R%HVWd6U4xBHhr~jRsE#5L;q8=% zsSx!Z;e7r!{;r5a*A0AqUA$s7{CN?cMRseu3nd`nI3tbKc%ux$b+?yb!3<o-%#lZC zk&6XnzZ+$|qH8*}!77unFB#YuJ1@n2#-lyR3EB0Iq!bUOG`mQ)dKa(r=+hOEJ4FW{ zM7bGO0&ukI#HiW?hpToCc+VT~UeND7qRbN8!)nAy@>fw=C$gX%P`NNmibXXR1B}2@ z${a~?bO_C&gN|N}z3w!sa4aljM?<ZR9FmMyv(s-$?+2vc;^+sYc+VT~UeND78OXsu z1k!KG_yLd<HxNj_rFIUXXG5|LYcG~iaQvqRS#Hp~L%SG{*0D|ekH7&+A#rQ~UMA9( z?-V>!6R|)0A?{*rht+tTC|_feO)Kt09i^6bCuE)<LkTUfSLPYSTPgi%e2wL=Ce{1& zw<!2TSUnL%=O3V}{AN1SvRh>M_)wD6vVE(NT6*o5=ERN9NKzY!sOH4A&(K*02(5l5 zeol{N&)tRQdsE9cotSQ9&x8n*+;q)@V$XBn@rH=~hQA{<t$q&LZ&pSl!Z%lAmoU^+ zjhiIJP1W7_fXtU|r_8H*iEBP}i5Y?zOL1!Dgnoz~Wm0;0ZM`rw;I^LquODJ1h8P7J z44#9Y$D+iZgJMggAX%3XFq_UN0Pk4#GN^#{n9ioBdkxKMM769ze*muVgtbTWu<RSL zEw<fsK2Lc!L+mh+_rAl8HRpd}oH4^;hOMzQ{%n*4ERcB~r@YDg0r5Hix!G$;azxY| ze$kesDWY{jp3A+0F&!WY;I12B($pwso}r4j$>MF6cyo!jdE#xbcv~ReY~pRPc<Z9> zF`{Y|@ui4(PEaG`Z-RK)`4)&5v+>J=G)GLx+bB;%!7;>WheMG$Ta(1>RQ@}TQ$Yo< z`zA4seo;kY8nt{h0v$a8EqkYJ2WF&=go^INqt)IXZIE%5gl8Fn<{s;v))e$125xl) z7t>ofz}C#~-Udvl?EqPr=KyE<Crwf2A5d+Md?1YODowFajBov_cb+d{*$;dWpXW8d zCtK+`=!LSG&QqAqb-(YOXW>np#y6iN0jY0qAX$B$qn00I2T(Wg1=x1}Mhgfkk-IEP z^$A=Ri^ziFi(63Sm9~eYcvyvX)1GF-X@^f<v6cVG8P_Ng7+>w%WLogmzT*z#x(d1L zkWBa^*IHsjFt%32hAEb9Qt7DqOm|^0Zj@lkP|{iz8-XSCR#0VywtBFD%yGjC{q9*p z!6=I>7@qprNRVaR3npv?^<!4tu2UA*VQ|ZKPJlho-@l(^!kmOJe^^Zr41j7cU-7AF zvKe`5d1qI{WBPFZ$>%6|;5h}_S^#<aG8Drad|EbNPibWC`pjc?HCVI};YS=@4LNcs zOpCub$N2QL8n%XK<gwyBNHaRVHCj@_#d)ugWBJA0v#!?}9cb#rb$yQLnIPugKZG_p zNDOMn-G^e@6_G=zi?Dp$4at8XM~zIkKqIW!ZMJy74Hr9>jqtOLP<-7uq$9Cgj8+#w z5WNb$vrn7a1mpB+?HmxJRn`O?ss1Z;o{c;Hw$4(mS?gnIfS`HJ&`-tT(uR9>u&tnM zr*J18k^w}OL*LTI?2Mc`n6z3;Y}mV&xKdRBS=mNjOig=F$u%1xr@R7<SF|eF{Jvcv zSAV~K5YOkkU38^YK`?T8Z97zP%(E}Rn!FAz6Kys1ImU_M6^G$RHa<YX9PeD@CK@Js zEJ7w1QQu4@gvmCh6*Zx_9J-qnLKK?i&>u+-nwAI3lJf3Qx*W%z`DdK3Z2`8EhprG8 zV-2)d@_qa10MxPl=#qvSrl+;ZeyD>~;|af^1}}lCUVfG=UOOP$niEK|J!h-1jw;N4 z8FKPJ4n{)<tk|BZ3$KRA-(qCVV3HXg`;1_mK@|rJKT)WYYJNMHE<a1v7n8$+edx1j z)!2!&Dsb6Zvf40fd85cyYOTMX`I{Vk<k_<C{Del~H-ExW$Z=WdmX+EfSOX=ize5L2 z=R?0HYY9@WOUZBKLbZIKYK4gme&XP7<|0TlKXHhf(PE?q8R&ArnC!nvnAU|rKR+(e z-<dd<BW8DymnK{r9-n_Y-KUQ+rUf^^WP`wu^UPlW+9>u={)ii=Nq1t<f!fHmdHj3Y zT%mJf%g~?_w!i-+**`bXR{cKR9x2X?rQ-RDr29w)?s@fH^LLm(+9bA07*xQ2gkF)X z170<Jy||kwdceCueoVLt_5|`z1|ttS0>&wa{1~3;!Tse&=_p!fz`L<><{COM;$5%G z)3>YE?W%WsMK0!fuLGI6>TT3Vg6OsnlxCOe{jlO{O#3_b%G;<FsST!8jg0O=7sbDH zQU8v9fo*K%Ptq%-&Tw!;ByFdpPp~?^VPmgFDM`cXe~TLVMGzgpP0{Y%W{Vi(BpEC+ zrkKpX)26<7wzHZ^J_*U?Mu~Dm|4+*`0<(WFg9bN~zxuuCBwf$+twoRZ-vsV=zfr?# zacIw>S@8sLxjI#~ws`8Ri}0+Tp0!3C(7Pc|eyaXxV_UFXnF?zn$aVy+4T`+dH?%}v zIV<(rNKncvsoAHU!*0j|NxUM1DGuv;khCjg1x?BglS;gsD?Y;(gb<%-AI37s8iJAR zxBiR=I9d~X(c??=8-Pb+Of3p$c#4(z+zote_jaSh5*OPi_0ER}=aSWKkBd(>vppv9 z#|owRjTYign(TH|h@be5rv3a+;)&}~&OVc^ogHDv_|4x7<2vGRqa3Ou>Ax1GvS7LW z6*{ThUNl7;f-c|2`W&^P!=_pr5MQHo2~gs-(gwM#0rq~t`@S41CSRxNj#8}i3Os*c z^w{<6VE8tN67ijkP83lV;e|My8hwo%sl)%m2fNm09COGuoZxUex1jhuWDD8_H<hwY zesBBI3jz(F+CYLwP!%*IH{_ItXIpw$_SbEY+x{i|T3aCJlD*YaekDouY%N`zk=1PA z(?IUNuzJdJNJ+$1W86=wr~Eo84i|6iy6P#vO^U0*xGB|BB1v(0PeJV5>M2hq#i1ua zY;g6I-(XyZh(q~_{T4%XIzTbEhY7A&8VwFCg)j|7^z+lg6n2(<itHOu-4AE~SUheN zkC`9Q)(YT#wgSQEQ%4XNW+%JAB#t(+J><Huz|+OrjRPri2+dFwcwUMJsuF?a6tK#n zUsAxPl^O?9wF`~o7VR$n)ZT;%M;)j2yBX`%J;GAiPTrmqU!wa7v!8=U!Yh42^i^Rl z`;$m}s$bf#MA{;ewjenzrt@d9Z>*D)8f@hO!lLD*P_Rvay|GP_RCKEiE&2^Py~w&A zZv*B1UMuaGEd|zn<ZeePyU-mQ3(a=!rDmghlbYqlhmrJiAnX=B%~K!klJHW4gL;M% zDYf$R8$nwIHNyd&Zv|?-+&JOTh8ZU^wOr$bP0I@6DL_9=<bv2GLAH)AkfFOFjsL>1 z1ljc=ezpP;qWN+BeF9O#PDL=Wh-KqBZPrfb5bTysh~u~z)bdT_neaGu-?*p6A?$hu zEPHn=RPjDv+6e?GY;yy6X#m~@ARWAi80g)vXS3gvTl+S}+!?d8&G7K<*D?@pJHV|E z4u%O<$eQL46Lg;X#JSBvkimUFJhPd-XAhtvJU{LCG`=Y`ovC$n;RT&WA31F}u8vGv z4W_d(jGM6g{J6&??z$+9*Z0aEDRD0vsi)abLj?cVw}N=)(2)r|+R=CJGU=W%m079_ z=|pY5u{h7BPh>vVG?)FiBQ)o<arhWCZ9G2Grb)hMEP5*c<#CwF{xlfq>zgD8{h_wM zoiXmwS2S(m$9Rm2-x5Q_9HY_=j`p=rkjSCR{@qnx*P`?)ucUck63(ykj@Q#Y^))82 z9@ZnT$m9z@CEg&m;TvPyr$TlJ)LBFI`qBQ1{aO4qjcJGRR5AdugU%L=+1EzS2_W)} z!ZiY@AWfYH9Jd)&kJEJ7=4`8lTKGD0jfEsAyeaWtwDr^jeB{<PVe$e}G$sOJg#TVF zU7v<8(;^EjTCrMwXpPuM-oh7S(Qq1;sX%{Mls{W|YW`W|&O1JcU$$7@q*`H!B>j14 zX+j&BJ@|XOF?HgQHbU$3q-Oi~`+6<CXYwxq#CQqsn0Q<i{NrY%r54=KKcin_pNu!( zJ*Si%4zM1@xEGn%XMkl&vqgBC?9hNbrv!`*4$ncHw_KRFgT58xVd`Ll7>^a<)wXD1 zNUO8frm1GLyuyPiTlwGi)1(d=n1Sx$?b1d8@%X2&>a<Hsh2M1jZ<r^&=^9gt;VCIk z7hZu&*N*}AX!a^^x=uGR9j5rrM1H=|9D(puH-e{_sqy{b7-lmYs=TwcE(H0C&?bFM zO_w%EjTBp|3dch=Y<DaZXQ8GGQLwW;8p}0XvHjGhwApyF1VFB7)nkYr+VwSEx?`$K zyJl*-Rty7jrM#|%Z$PC13XH-N>2-*>)Hf^`?`ABM&Rdy{7)N7ZHb!qXMKNecif4}w zHPNW~g=P;JZa3siJ=2xH$&xDVJ<?%`IO=!p5vafGYt&?>RqgE4=Tx?<$zJgxk(ja& zqShFsCu(@wAL$O3eK@j`Zbg@R^va;qL4={bw^qN4%0@ZzU_4}r|Hi7`!<Dnu@*pa` z$IQwb)X31os<*vDMI){K1F?dj`-Q=Xt+TIQ@_mihdLL~j(e+Ey_P3xsu-Q}Z50BXf zVRDi0=fWcVXU^hZ>tor!+lkckivasbiD>Q=#oMM|YC7Me4x@geWi{I$+$q*iY@F%* z-axtPuASnzq<<^O5j*3@Vew3I!26NzG@Xz3mM4}sg!t@<x&ERF+F;ds8Up9(-HE^< zbeJr}p8_@igxU_=veC1{AGzM*X+?L&Ntom^o#V06a;|v4(G;W_AMPM-jzC`0R|S@% z3Oubq=qAN4E%?g7a|avrOx!a3^9Lwce~0wnxzRw-nqrmSty((tUakoe#eUI9^gs?x z!6QqBF1-7$9-ewn{Mnh`2x@wHC)ODtV0y5}gQ()!P(f58Z`dZhZW0Ju`#D6ROs9`3 zZ;nqCs<tp&a}ZtU(VitLRpd4VJOogRG(Ys9DKtnWjlM7F>jb*WSGXY|+O;(M=?+)G z*i<9={_6N0?ZgM|qyA0o-d!N6?_K)*{)?W;N42t9%Tl|yqkqu9QOb?qVe<83LJNoB z2agd44tVyN&RI#}w;v-@1PUo4;!lqWAO6B1=m@I>-b2iU-Rde&yt$xve-M~kFg)g0 zZv)PBzYn1&-cBg|XHd$L?*ps;W;b-W)Kg!I9xQ+vc%juK{`>1NZ3Cvo3&-z!q=5vv zCJ*oO$q6(!AQO){;(3<$Wft`(&W{+!PV3qHz_x_VFZSb_*2R;(*&!JG%5%xP)4BY8 z+JZ?onK9dXd7a<kFgkp(@%*)IXL3%Yt4`{-#?7*Yaa%;fM}uGRulU_x=*^bwy*3fQ zl5r-VwfOa3Z3BHhI^O#KTho8Ij}32x+oQgM$C)*G?(#ZZ6`>v4T`#BUM+2)8_i6Rr z)upnWQr3d5W<l#FwR=av(;k@czQ$En)&u2k0FHJ|{3@*?2wxlzkHagrL@*=NrLP8J zXaOMyeoxcyDf&H0zbEMTIQ<@@-yY=Zm%J6fCflMGWxoT8Fz_rPf6evdk(!%sCKI^l zpg5*NS6c1VhXlPF7Y<UrTeOt$`9Qp0z)r)P)krr3)jfDzexaMUZ;AUdCVMfWXyxKx zwV^9x>>)LND3#3EeCC@-3IM;Aq6db`HCxdBxKbP*CDYVgZ^Oc%>ir%Fr1#Xq>>z6v zSKB=MDk$jXTM!NL3nF|L1exS3oG<L(eHQK{uZKD4@ql#|LtTrea`%?FFXj({EdpSv zGC8EumQP=WbhNWJRrP+1zOG12;u*g_Ezl}qd5?aG5pnZ<_#gC8*bJL+=z(Sm(6&$e zsI;Ns*?~9N6CXC6!DXN&Y}AGoiE?rc9u&nke-pOGeq}mCOOe(5Layn?Mt(RxOJ0HT zDQ-J!2WM^W?cjX_;l3Fo`g}G&6~@8BMq}bLcw^TOeFF9X*X~%f<UJwcwW@N-F~GB1 zx6+&L;^iR6uRaH->5^!|<aie?!tBeo(lwTNjH6)*S@lp2y|BohzZEx8QF6WED9L@< zvDbLT=7a+_zppold}=VyKZ@r+H~0B=57<-xfxj$m46|bhVFrpBc(-8er+DvQ8vhMo zMr^if9Pe0E3_w1)CBZg?`au8(k!5|^2lGQk_C=6SD?^z7e1u@mSB(=L3vq{^Gl=1D zZ8|%A{CAt;r&nHngifza+k~fAVmtYgM8cCI!A$^9K(N0F*zL6g`c#1K(|hrvN{}lr zK_|d#I@Io?0dIZf1b#VIGj2(;VIe-2Gg`?bd|E($V>cSb9DK|~VWCD2y_GkfP8bNZ zVXF5;WiH<T8Och+L1^T;FJbC{<1794Z3~QTX8b701pay}f-$>47<BY-LyKu<Hpi}} zQyf$HsW#d$WIbHIK<F^uW;$lVC(-3tcBnNrL}fE3k!uD2cr)T@`6S6G&y$20k?=t8 z^+yfH0Rm{CG)zKGtNgoqyy%+`YwfkZ4AiXh0Wj7aI~M@+X{pBDc~UHozy1OlvNv-l z9?9&%Q2vXU4;$_`2Ck&LbXFCNf}VczQ{0{C0I}nRe@F?JSQn&t4tmTI#!+c1-vbNP zSAzG91G)V=m9!^)GXE6-Gp>-|*K&s0q+wjzER02Or{dB&f!EkY>?c9N2{fFxE5_Gj zuVq=CK|q<Z(g)00N}VPb`ck@l+fReqltRjrMNe1Q#_sJeTeRg$mtS_cv~14~wwboL z{&)^u-1u!bVz?YSOlK|a&qDpzGFvBPPjghsp}n}T(=2T8k(nsU)z%Zyw^wXNW71Fr zBEYg_`Kd<J`TE1c@Am~L1u8^3=yP)D4=E_JF-U@L20;|ZON2^l4$7fLDJW=xB>yh% zQe);CgJkKM?y|bf5>WMyWvG#h9GfX_r=-YFH7UlD;boHMQtJG}gSA2T9pZxvwSM<( z#kdEO5X{-J0ABU9nfj((7GN9I{KkNFgNnOnzuIOIT+1(t;#W2<zkv3o<<LS*18s72 z;_|TfDJLJA$Z(TIAXZ^q%0!oT)MRF(wCYcA01#Ct*(ItfE}|DNhT-NoI6_?@|98Ys zHIjWE-ZaRv8c-Pu68t!#ezwtcezZu8=yWK=PAK^&txMd#qWSKi`~<4HG;k%Lu7=)_ z`qk>IosV}AWVf|SwDT17M@qiKHhQZ!omKI=zd}PBOpRs9Bc|W&0~PgNL>@w+6n(h7 z(h5^C*XYTZi#KiHB&bGXN>Y|9<drx^^Ug&+k9U>S{1&ThP65cY5p2s`SOI<>NF?iv z&1P(fH7fZV6z@j)F$)kTSZ%=|>b1CWT4TyJtE`Aba_AR$=gkSbTyrl3_>~(IA}bF< zFq{|NebO}RtW?x&zLo{Q$0Ou&@LJ}FP_sXc?)bslV=tP{p$qY21hL=K``-YKUu!{x z&+4T00SLbdJ-YV=*f)fZ+i7?KRZrqqL~hLXlg&Buw%e6Phm1Fh9#o!NhkE?RsTq1^ z?J&h`Qt^KS-W8sT!Rlk?5J{@oPV^E*2`uhsP5%6P0AW%Kx{qpj`v&xZ_6hN35X_TU zU8eJWoy<j-Tk&XTyaqMDQ!U3M6W%8I3EX~W8`mI0B!=}mplDIyelc3den+398y!xk z$Tc4%dNv+<My1Zyw@c)e&^cpc3Zj56&kYY#jHVQo{u=0SZa9@*tB;+=Zf-ntH<jl9 zMK{0E1WsNHK%cd%dr$qKtGMMKT@Ufpr|ZyRnhr$Mw~K)0B|0;?UuUvFQnrX*tf#-Z z@z?6(F9X%BXh~k_<ff6|LI)3UecuH2vxe2^d;LuQde4sb9zQ4o33$b-FV%1WI<ZGp z034qC>|6NdTcQ71n7ai16S7@RePlrO=QoKF*;`2ypJ@e-?Duv(`fkht^;Y6^!mIpb z3!pzcC3*|=LGhlFA4|p2c;h760kUM`E>x%ZW{T<jWxPr}ChXZ4eext?$ngrokjJpP z%{*s4)UXWC+ePfP8<Ti~Ps>!Qrn*PUAv}P`Uv9wVNH=Z13qivrMOBE;KP5i-g}e~` zmYpvOzvbFdq{bri?0;c*-<}Nd_T-!8OIQbf?yGzcI`og`H$yWXGhE0oYUp)X0WOL7 z>@mIj<tP4zhWRmTH-NNlh>xQj1>T8FGZ>ln4n!MYja47$nl*#jy5)7j0*CRbMbGD_ z>rJe6SAC*Zx{NkSdN}wV@#ENoFg)LbT(ul4=<*jhELv^}+Yn$oAp!3PVm&b@f3mk8 z{sPquathwP14Ix+kn<@Wnwxjl=9Y=(Pzsrc;@E<Ix11+rAsVjuhiD4a@?(a1S|7p( z*C!7RS^+^ms>N^1d8a+!hy(LH4a|O(b*nTm6aNm;#^+=4{)_;#eFp=RM*}mFZ+x#8 z#DN0U-gRO~e!;f!&)j(S5{h>D^I%BwA!>#j8)-3}fB88%E@YU_rxp<XP4Vml`M}A; z?;#22Kk044*o-%%{%9iI_dbCK&ffN&>w3pW9NGm;O4^ez>r)HdJmtMJ87jp6-|I+b zUWk(RF1+*k2pNaaU99SPq0<&B#v=|%A5jI%1*kx=sj1}Fl{h~#MUC8O;y0qa#}{SF zD^jMz2#m3z|Ndq*e-jL%n!kt23XL{V4r@w4UlzX$IEvq$ILkTxvJzC~@#aYS7QvoU z?-qSfK>X~~UC@ai!J9T5-WCqVM7zKC{1`9wZq%=W5I^<q8FYH`MB;<rMV+3$)Fy5o zd0<k2RTkhTmN>D`#Pv<$i%;|Z79SVd$=F;{^ngQm1=+SBYvQwVf#88Ys%mfc8>7Fg zhH2`<>yRDNsWWBDMr|@3J&VQ8?H`?m(ON2bGJF~Ep3+kReEdp^cc)xqw_pR4G1;`} zw+173qp>sS{k&qNykZbJX7Tgz4l2;P9jdui^&YMKN?{xFn?MS_prrOfH~;P((_Dkr zhH#DmwcoU`_0glGI0L+(I-asDyk3oH`KMKO8tTGUWYJ1PQ*SHVP@DRSHRU%$BQAgK z<lcHg%!#YxtIBZW<!PweUpqhFjD6&<&FA;Oa|X>`%*nE~XqJU)<j~!xh3O&zVzi7R z8bGK8i8f`)t!m`wKZI}GS>VeD_;}~q{$n7AZ1Fq!6Y$a~#M7QTH6ZOtyk^*UQxch; zqejr-Eqq6r8rEm2;iYpxEBe)6k^FB|!zFos=5()<q;)Aor%TzMV7N5LA1(p*cqDw2 z1Mt}&`I+hW?$WOhM(ov#kST6iBR(c4>?uo-q0WC09R;<l61LMHzG%n0k`x<dI)5}D z*{rkiU9#KzW&el%u=C&VqTX~zj-Qn-@O!r{yIf(d0hBqn_zDZPjDU5ccbk6LXf+kq zkl&!>Z&bVuOEdft)#4AAE{LT9HxHLU$q(hwY*bXdyX4S~_z^Wk!zxl;UL=psZol_y zJxyg+KbvFg{xdF=QfP;@joQ%*x$&7pvF<dTFU&{(jUK-jREepma;@zYHe^{@_wmQ* zr-xtLU3R-T1|I0{#tE(n&WHrB%7N9rXtEknWYycS$V%?Y9i9BP*+K`!kAJElH;2B2 zF>6k1Yr_MFJnvBNrc0VXTtG+uF;hJ*BN&(<E6Jh#F#y+}G|nd<z=8KR$RWH^kKH8E zr9Eg?WTlQ0T<guIbN>T$Kv*sBRJ@&XXdKmf6J7}USw^Lo)u6pj@q+A=1}Tu^NwgS2 zd2)JXC5uHp3fmEvmY#(AqWh>&=dwA8lki<M1UCTfxq^n^f*%aQEw{&q05{;hyS1^+ zR_gu`KH{J$Zg<%o@Fqr}F$aN+SpyikTl-mWhX4?|K>}5M)0q+<0qrW$5dbGl`v6<x zcNP_R8}!WHVTolYdPSXq;WVAs|CBy*7MaoMFS<mxbL(1^r>>8`eZK~XZc}s%se|1? z_O;*JjXOAiMhk}e!@7gLi|AEj>ZuUP7TXlImCtkG7;`*7gyw|h<W{tFF-{{M)|!gz zWnVB-x`1tG+vwJNI-FYL680@`qt=Sk4g(Nm^-y7N7Sn0@DWYZzAivG;-K?jv6Hz=3 z0%3ug%YG7o1%wvDThV_6q<uuyMVG0OTVXo(EXwG^W!3l`m{cQQcPmcJ=QJ_6r#LY_ zF*&>{*6Z}$H!Gz!+?Tg`_Qj0S@&@7f{m4_eA9#l?4mC^`x<X9CZ6^Wtwf6%NE3tui zVe^==$zrl#1Z*%(I3;YCf|o1-R`W;4!h9@+gbq(VUP12fNzBb8e&1@-jExhe<85JS z7^0w95ueRNM_+VBJc`G)w(`rN1n?caH}s_DK!3yutA*XDG*9(x;p6^@T?Bf_fF3fS zhmm_-3Hj{|->6xDCVD#e4?K8}!g{y_6|j(d6+!fD@0GJ<H~{E4UI>ZkdO`>0St$Pb zCE7=w1h3Cgxn}mE_{Q*Y(*z-8UR(&7ljJzQ0C;{5@cX>D<G9#8NOp}v+Fk&(9q7BR z0&Ryr+2495LE9aEmK|IbcM9_CD`lO2c09<Ukwq3nq-ii2=-m6yp9^@lna&mW;aOD8 z5uP>_%EhiQolE9oVzzx%f`V`LhqJp^BKmEWL+1)SltW`EuuZN(e>$em^B&dH@U~L6 zz}9`oVwksCrL1Yx4uRJ|a|uVRyG-YW_aSn3_`RPCYNWhNC_PVI701~}0U;LMIs@;W zOJMfp2||<6n@c8o^YzWWB)0%KtGIu+m*l?41<8dDX8FUDkmSa!c(V!SWW*dcAa0`z zGJp2hh~5M?kzux#_Jre9c;Q?cCufkA&hew`@GknM#G<(<L<>rCK2Va^R-pJ6t)&US zcLB5o{nQ;eFu;<A_8%uau{nNp{0?*w8gKG8X>OPz1ObRfA4TA0qlNJpAlMZ|sk3BG z98?7XX^T_sPwyov=RJYTVjDjPfoXz8;J`&N`VX`Se6R>WXa>ZI+?$iU2>P#qIlXJZ zC$3lHCx1_C;JNr3csa4*glnLX4pNA%7eRc*wGQHTHTI!!D42YT5P#r_iGH8tm@{BU zw%_;f)ckh&vA+oaOh?7t_;H>q@CZa^oh>6^wvgD`)sUjea~VV!JYhuWYOrb9BFaWF zHvAl5L)5O{AOcoxs0!&SCDJDWJMn9QrRcwhUxvf)0YV$p0Dd8mJ{LDv{7b->^u0hJ z@s-oD!XTTO;lK~ksbQrfh@S~${)|qH?V;}mDxE?6X5a_V*w`qZgi5Y&xmtZ3H{>h+ zy~>3fR(ZAzInSTrQ>z=0Gy)jksMS%-vC2o|lO@^<%8ltk{P19q1v7FmDi2-*IT)9R zaW0ITgkL1Y_zsNc7%u=bTQIgWNM9v<HBim5g+O%=K4b%d6kjS_eVV`>(0}+_9<a6y zoFLU~P0SHZkZMFzk|v2J2;ywLla!dCvc3s2q7EEW8aPYe1f_`yl9HPEU(Sy|qX&E3 z2{q#cfwX@^4#vX34HeBOj$k-f-$~O`X%6Tw%@0tcMPhznE~=8JNz6|}()<MD?cw<L z;P`f89LG4EgaF654vgE4aoYhdnjxIN8*(t7AQKaW)13RC=4TCRCU}0X0~So5Z(_i~ zQ{NH?Y51u(DUip%69E^GiNGZOnFti{Jru~~?IOa*TSP$R?}<PeUm*gs_&-Hp4u3%e z=J7v?Kq3E)2rS@X5m?Nt-t0Yf$2Ac~vdQO(Fp>{GTZECU@Ul0159M*c2-6+dg(8gX zmtQEt$fvnWgppVCp(2drhC4(U?aBP)e^YojhC4;L1H)g4FuHj2-6D+N9_MW$jMqEx zdJ#swh`%kucu<PJEW&ii`dJaiqq=;#2;(tc9ui?Xe7#tN>D2Um5yo@Ze2xgCD+Qk^ z!g%<at0IiHbUyXJX(L(qlGe0p)BEN*UG-+4{~Ud~b{LhI;eeR2BE}|Sav;VjVvf9# zsEKd}nPU>p<Uz*o{z@5J-w>z*F$YA<N)a;&Vmd_3iy{U%a`uNJ=C>lI5MtUyOtpyd zLCks)^N@&9A!e0`x#Nw#?g^ihf*@<fj%K5g$brlMLVvA=|KlHLzwoL4HM;Q0*idkL zBi?J3-gnVX%?{nJ)aJ(CQ|hFESx@9WRF4J?G=^ZZ49Wbue<W_0dJeeszk6XRWxGpj zTJ=Gy_}M|0pQ{kO;RxPfOtkxJ(__3BQ0spHba)b=LDn8*>p{df^*p7{8ZaA`+LVB~ z9-zCB4rm{Uxd+5&VZ4?~pECXeo3@tJW<bMo&0PF~Dpr;0ul47eO2k(dd%DRYas9P; z$D$94&(4Z|one4yymofD?|L;E?p86DO06Z3G?)i)cm}~(rX-q-{Tl{r(|_{+p-=H4 z3mGLoz&B;RezTaMTN2;i`)YZg`_F*S@NG`|4BvZwpWh2wci{K;h|P-+@HNNe#K-qM z^~f}q|L?!S$CAF>cLw;03y#Mw44u2Y&N9W8p<gH@2#C`U#aWv^7H?;hMS50T!Z?gy z_ZwA@6)%TODcY6LAJq#vZdaKCOBvXd9)w^H26Oaj5X{41o<5nrd<!zn7UWwA{`sdw z`B4cG=MZwxm?1u`9sgrlxvJcv%B>)5i`J9RR+XbNgf4D{pbqxn7hzCz&E*%p(q|iP zF=MwdI%Vs3PsPs?pw)TK?Iaf#V)h}XbHr`5>yge{_@z)Z)=C#PG=gUG5^mndKXM-b zdUw@54#z1pc@_T9$NYb@PceqS{&IYuqUPmfILR6>HY#33d;FNe|3D7<j5J`QV#q(v zyisu>zv*S#Ihg$N*>(>6=*WRX@^cul8QJ}IDhBuNRQ!=_h&{1k{EL@*w<?akgmtT8 zuL8G}RMs53fPY5OeC<nTYqI^nM3ZOTtq|uFOuIzKPxpw=N*zT&@k>(Z7G%uGbHqO% z6&nICHvG;MM9>yJed@HBZaP(aZ-VW!lPCN#P*+vZ?cx9)QG9kCxh(+l6peZN6?DF$ z(_)cqb3S?`gl8pue&o;-<PzZgaDIHl;@(@x2UQMLl6B_)Ywu0qqB^pL@#+O=nxz{B z1=mi*#Du80B-7X$yQPVZHiif)$z%bc5h6mTxmPi9K^qeB%8W^zER#jEJCn@BFO#To z5(iumcapeGHc8BKNt;L(w?w`FbE@h#4MHaGH}k%E|MyMf_0(Rcs!mm%sycP5S$1uu zmqA~k0S>t8!V0OLw+XYD_chGBJm~GF-h;Tek$H~{dS6eym6^;t@HTF!9|QN{Oi80~ z1%z&!OG7IO$9S+EZ_|5hnm^z&6IS5o*0Vc<VW-wpeS7WenW$@_+jd;I6JxyiHWkh~ zx}KI)e)Mg2O|$llFcEVZryOxHb)@V~1_!<2PsMKOo|dEjmeZ*7M>&MsG-seQXvA>S zmah{6H$tkVG`oYsXnEq>?9RzBrG@Y53<CdKxPLEsF!wjmJ1Oj;#v$wRJw5JWc1ruR z@Nn`74WT{~=0)jY_GBVIDx~*iYIj#z{O7exV*KZIVjn3i@d>DhQBs&0U|oz6Z9`<! z3q2nBBtOqij;Q`Zu1ozY`Qzt%jPU()yhHV33X3Pd#1s}s%p&|*?0r<hciR^$sh-4T zC)bCe2BY6RN{B`<GTo$?8Wlwrce4T;-=qoqz<MTZ4g}K*cVR0afhq}eX7HmH)MQ23 zP;nVHWKA-r%QV~B@i;maMWPc3p{f$;i94lmTnsA-8lDO)(Z9)6?~6ZH&t7`}xw{|P zZoUk6HD^elWJ$6-{{g&;@U@`NsuM|8?HTb}`PJuotgao;(iOLhw4rJhd^I!L;lH3= zv={zQUb@q<as=vdOdX?S*59dds80a*qjZNaX3#q~^60Hdtl$*rmC2p~MnBUgz02Qf zKw`45OhHMVtrB|;0-vQ2!~6%dfpC1MLJVjAkiBU|4(|B)FKF1S3y6m4w-Xs|;xK&4 zLNGYq!d41ct8G<6Otmc!T@a7JRgSmtMI%(Wcfl+sVra1!h6;mFB49CBgW@n*(rUzU z%)3A*j<Y{FrDjAo1Mr>VIMbjPBJHNF`~7XHfqss&4Jd9ZTvwm579GbYEzrSQ(BHV* zVcS>P$A7@!u$}i^De7%|<`3{6(Bo~oelBIN{Y;ZVOafb`DdXcYO5j$9>D3Fm^Sl}! zd>c2hAdFrd2>)xuaZ;1NRVx^l;ih}_0;n?aYTL#6L*&!XsLC8LoIu6zV(crMlC@`! z^;gaw*IlGdomqDW2G9!Hv&XwRy@YvTP>>|-)<s>9yV!lWF2{-Y(T5Dwi`Cfo#x!Km zXXYvWO7EnF*?<X0#qu%JSJPW-yX9L{xz$jf;JkEDJ{iV%0pV5{15Z2;B#xaBj|C&` zHJfocCK_$$#erw+`5K|G{B{`EID)s}H(*@bc3}{t^L!W|^(W@2$JAfnq8?L&KMLKu z@vQtHzBK2+Q}X(R%IB%D#-6OXALLDHawZv2;4K<v%_HmBnRxJ_!{FU*b~h);H?R|X zF4a)Ij&lpM)`cG3?+!8xk5Fde^XHIRSgA4#Co&r^0JAXsi|0a^1?T4^M6BWJb#&?` z>w22H`>bX7769&p!YH!<DKKs!3f%6$L?s$x<+s-cF{A9k<6&HsVaHmU#Zzm0%Hl6i zhaA=OSJ6`$W5C~UbR_zLD-f;(gFzSoYd^Dm1juw*VdB}J=tTmU^nnM!C&~HT?>~up zS%>?Hs#`JJKjF%UaEAn+@D_?;n3hq=0$y~8mfwlO8jCr?TohByo558DO2#;;#up~? zrzB+GLS>L@QMHMG!u|)TPP!G;>+sEVe_CAZANt0F)TRF|UE~3q`MoB5U8$=yAlopt zW>aJ`IWj_O7eri6sX<BDl1<sw-o@Cd0&%;-91rq)N?&irD<^a_6J=}OTt@px$@XsU zKW3xIK)d>&^<klx+qP4Pv0JYd2UDT{V!Q*u+oi07bIS&TWl|9D$oDQ|r~RoY*)I;I z^75vQ5yf>ndpC#N6v00S&!9C26vejFRP!WZ2&X!wx@bBCpVur&b=baLlp<y7rJazf z>30ooY1fuWbu*Wp?g%&Yh_;<#FIV9*jO?<t`-a)A6&m46i8|QXDfL*T%Q5*7y!{{k zlzO?K8+_>tlvHqzwH3ny_#V`m&GwWjGX%IuF1?cQ`7{*gH`U_($-wjbP-bIyTMc`n zndvv^R<FSOz_OIuVy<3CNM!*GUatD#W7g4QKmV75Q2@s^SIKjsz@p1PK0*;E_$S<5 zjT%0#hDC8AtgVG;s4y{!>KzG0zj+!#*qdkQU9LY&qmrKxw{AcLEN}bBy`Ky+^uwN{ zLRq}`b)&~Uh%ZGI@T|1OEQK++axPVDK3u{heCa0~^cs~g`n-<hyhxak&tyP1Q4#F^ z34dLR=w8za-TvL6i)_=mEQ;_&C~UM&p%@oD5yW`@6Ww6U#!!B5DM6mj!pPSKqXq5& z)JNH3c03KJU*jqS?j@$>Y0M||txs6pHJ)*r4JchA>CJ)bWCKsB_4hqqWjg&hU)#_* zs0TfpxJ>OBk7qs|6sDRg37@l*G5?}5(L@|me{-a~^%=YhPwh$2(Z=xSgH8d9c=lNT zcZd9_ILAaYw((&YxN8-`JXLakj_h2LSxI<l3gLqBA&TiyE2N8Srw2NuHE`gm?rH#1 zF`He=(2^-c)z^R7yAJkDd>2JJnK9-JK5QN>4_U`F+B>8jZKx6N%_v$o;L2WnNOskS z-Sreszjjmo6L>6Ls7#RtoO7WFFX776Qm07zbL?p;m+hFzkJp6Gq#HD*TGV>rzYpre z#)|zUCQKbH9nUKrY@j$qIqSU|lq4M%&?)J>p60Ga+0Qd9xROwl$x?>yPVI}p9&ph@ zL7<6E;N`9x;;s*S8HT2*DS+qZ=cEx^<Y%Q3uCoDHKxQ^x)T7*Zqdd{Alcimatzk}` z>_pL=K#~jJ_rmgEf>7{cNTkg|ACo$1s(lJ4hF!c)P?u2~UMZrlcGXX5mP?VI=$S1H z?}DrFC}1)4N&3KYi$6>YCg7N&TW}Yj)>C6;zb3nZxa%xU_DG{YKN=OA=g|}bM;gBj z!^zfFco5}*_#VdG-6+G?(Bw22G{C>OE@HJgOwJ2V=@f=$ZI|{mK2g7ukN%62OOS%R z9S_vAwUHFI`@Y~DI}E2ai-Rhx-J%D!xXGD(6-<KPWKzb7z9(X2*ZiK)vVnUTPEmdC z<1E}h`;44U4-zxI@l;h-SpI$LiE^r2dIPuCGo&l<X$@E}o~>I<sKk);l~X$Js=LEr z+heNfO)o9XNK_JXT__i1szC*A{>6zvQB?F3{2cfq`1RbontO})?#iH(DKPblknfN# z)GDUm`~jmtO$N_|UAAV^0}s=L+>ya^;j*62g%4Ug<WNxDVLTUim`2}L*`+A;Rhqyf z8PYztw4Dpx91M}US>Zwn1LQm^aHMQ#`xWlC&)gG~l!)C$@YEWGC8#bW$l~wrLV8nd zFCHe}T!~Y4h5>TuoIIUMuW_NY4!)IQszJUo%XU_<NwrixFY4UD|5CA$ohS{n9oC*G zH$iW)-9MSWYsOw`&y>!zA#3DJTTI03I--U|qmo2iZeq%0EEPWBG7D&(sr)N`gx_u6 zB~0oz0fsi^mW(WKrYpPgQIu&uOBZ7b4&qtnIt>bOEKB={>6%#kD8I#&m5S%jPgdd1 zi^tU=ZTxF0dx1BwCmGuoeh*W(8y}!(5XNViHX1XPZH{`!-%z)@-r;YwfRjtv#$9x{ z#fkgf#thWh=(Oz?_BvB`JETV3#O=DKru>(B_p%N5#A^;wQgR(bzUoTE43>5i<f1h_ zE~OVf%$L$#*eoPYdftzFIa^)JD77wlgJ~qMiYMZb;QM0oKt)aCwoW3MZqvprrpZp$ z>R?&Hr6+;Zl$~-reUQ2dWiSN;(3#$LOgNZwth<Hac6F(984s!6HJ;!>x)D)zt9Z36 zKHOt*S3aaDv}}QacoJ}kUr1fBSI&bGG+=-T@*|hju>{g~F{T^-8%7+Pb!>ajdn=Wv z#0&d&CnKWz44i<%j@(Z-Y+PJFloYe`e$InO<3d3QR}yR)lsSL?GLI`Wh^kwv^Zi5r zg!xR#*}#b_5PU1lLoud7uC#$Sf`f3EoT8`0<4g!L0E0k%PQixDK$2d$or#OEH+V+N z_oCglYknfQRF6-aAevZH${*?If*>5Vd<9xiRam{#s_9r~hF+2E_PwH1x)eaE=r{2k zL$*GSlXnBk1Jb*5SIO@`$PZlV5-*dt{${nJv~8rzrmJZY^juq9?HLw*i2TIQM1K{c z2kylJza6}VNJYJhaig+!8%&TIy7`!_MNz6@<qFrCBF4+<4+gJ`TEQqKqOzc-Oz99t z-TFDb<aN0om4x472m3(K!9+ji16JgWM?>CW3DNeJ%JgS&HrPv9bXZ==iv?JOQWfBp zv+1=o{}#4em54K8HWS%7DBu4w774s@J9atOCR*ih)i6ao%kc=+v{7$u!?WF>6qYkN zUwu7bSKB9q-``UA!)}mH(I+(;FQOjO{qjc2{0M{XD_%*)X$+N(qJFNXnq*Y9MYiDP zN5CTYS<S1GFM1$YH4BEJ*|HH9q;^)@tEi{s&^tC`Db=?wa6=9E7Io@&B5FjJZi#2L zlKyvgXK*y?**vE)ZDbLI7}Lg8$=KB!TMbc--AJ3cq*wUMEIYiHz0Jp@h^23FwaUiG zOsNeffBBq`Hl&zjz5Q~nsBN#ZQBWKw5BP151Iwu2ga`q3L}z1-7d5Xmx|aP!$C}NE zu*<*DK*Zi|m;sSoj?%d&oNhBa^wKTSs_s@RGJ$UCfMc`9%=SHoQPHW$aN1W_`5P|v ztgRJ=?m{)T;#yL^q^SDI%GmPJjz!AG;iaAG)zHy%3Cb_;S3-9l=pe|-??k+5`IUq{ z6OpMwwt~*yF6khp4*ApHFg7$BIg5Kk6LO;n>VA68+A$6LC(;s4rW7#dU3o7p;lc#A z4FMxpl$^Yp)qggjiU=8|wYMs&+O|BLAM)A5Lo}NF-EVQ}9r$!#7rqcTcc{pr6gKr9 zl_`Yr`fZfGa7ypi%^*_3exNzWU#UF#2U*g2XI+Ng4b)S&*pN|QsMy}4g5=gr<RbTB zVYsptHXlr+f^|lRbSMKFLla0+63$P6j*ze*n5zF=74XdOp|EgWLjG#ZxPBd>f{06Q zrLyF^94Y(!2NY|f5SgjlVcRR7k`72sDUD8Dv$Kwcm1;N8DBDr|yxB#gbcFv-4d39b zqX7f)ke<_aU~v;r_6ziB#im6+I8cM&tAG>2m+(<++ad8|r}QT(8fpumG*YZnDn+?n zArdk()xM0}v#lA|Yunpy*P&&{61sT1nOgQOG1BR>%}$@InPH}Ea_j_JE&h;_j`lA$ zYkluo@95*I&*&rU!Ph``I#!y-8GK>mT$=d?_VP#Ib9$Gy4X+WWJ%vSCl0svyQe*ld zrm5y$poWgfdwJwfv-r*rvVI*B$qOdnGP2!i``%P@5;{g^klkKVqzcG0>F^m-Q94{@ z&^v_Wsgg$E%&#BLIdcIeHX*sEAh})PTuS`=t!zeuqMK9}yNL>Ieoq5?@g@YTk}MPx zKSWtvA*kfx;CS}5$`7=~>#_9iZVU9{_zo%5U06qR)METVi;>q!{&ZAN>x?<qb&@|7 zmU7wC-s~KbiEIW-(jk5-%nV|eVc;u-{h{)v;j|#aAZdnP%7T7#0H)bc|C!@e!P6kW zJ#rN?*wZ>32CbsPs4^XEesW6zCv?TAOex$cWyd?A=Q^bq7~P&gx(&xm6Ao#Q{F`sF zlG|-frW%3|hTC=s9(TQ3=~4?m#~l<+edAlToTi$0FR)b)1l~Z4bfi<zl}tgQi#@k< zP+lSdAM-Sg1OFNVdW_4vDQja^db-@j(IN}4I^^0^Ay+ddk|yCgWWPL0;=-=OaIrD6 zj4n2;T^1WX%D8el@5C}JITLQ>vaX$FTwPqqRh8^sO`C9Uhj91SAAhNgYZqM9>6Rk% z4o<ex+@G6lxADn#g8b?OJ)i&G-}7Wkr4@0$-Kx&FbkSm$vdy*ciV0L5SjUw6M|>>h zM#*k)G4})Nl-qT_eVo0wXqFQnP_;j_Eky35+xfSLdPxK($2?<ZXQ7TUUsGWMhx8F% zwM&*a-H$g))DqLHTD;i%Yk{!7qD^x}mhE#Bs!}3bCJ?6U_%C`UOpTAoW#X1N%8cVB zgql~7@~kBqmvsH5`*60p=rFC><+5FW4s0Ue`He%`nQ1$Xo#=F620nSNG`Q17h^Li? zpnAgi2ly%iwJD2(-=sU2vw*NrvqrPLpFV3JLDdTScf#D9K``8B?z)l40(<E>d)@U* z?n51Cr`gem!}hh1=1v>F5FCY6x%e!*PIkBadaYW=bdxrymnSv!N^gekqJZM%$EhAm z*>FFVT^L9+*eNu*>xMzngRq22EW{VJG(;2+@jQfp8aa6{R@*m#l<<&Cip7=CB}d8* zccF|t$3*B!RBm9O{I@fd0{Xe62uJmzFfxIuZFN|04<n|UM=6F-c>1ynJ{NucLzr^P zB~%@K_Bb>%UYuTq+C|-I^B~4@TCrzcs82wi@&In_T@;GlX=SI0Fc8S`G^C}$*W4SS zJK^TL(nLK)*;RN{RSbq2@mfrNx`QOeSnkDJ>9nx-Ky_d#7X>N-m52^h+I*-}t*+=a z$*LO>xFZ7<%OhhB*e%wcJzhUqYuja7g(nW~!iJ7)+_najzZ`cNDM3KjF|iy>HMnwi z6&`fgB{u`LHX9&asOB{baRUch-Bh!ZQ>f+*zHo5i1L@mq6sGZQr%;BzCtg>SEMVBB zgRc5)t?W9+s3E>fUy#>QNrj`RVm{@NOP8DMb*{M9rEG(eWSTM#D+&E>z|!m#WBq#- zxzw*7&futeqLx*26lQn?EPyLaC68ak!FHd#gSoW5crkcKR@Ilow9*JS$>U#VQ+d5h zBM;aVy!$rXRX<Zh$CYNe{%8*i#?PuT{4RAx-AM^f=lrrEKQ?UAi^8*t>D7MQ$D&hy zbb09bKp6x+KKyAJs%jE0KPc~XE{aEQD9M)QGl+w!UPPI$_GrYzoi=cGnKnih+YSh0 zOdIi3W1t=gQ`v5}ju9R+ZPb}I?QZ<U5Y=ou5A$Aqx)ONHw5ic{PN2#%cT%&d76yp! zaB@Md7gOO(ypxP-{sIx>wh1vVr4ipv6~7<1P1L*CwwE$AZ!{sw&}ZrY&yU8ArpnZ; zT-M_xv9_Aa)C@-P*u%Kp)8dk}*jUZgRw8VN;PUcbs(=m3|C#aVJg4&jo#%K9^;@_K z8y(UyWL3uEq=~u^ljQ4`@iTSZGWD3KZEyrVP=`Kr3KlT7ur)P!pnifr``+$`fAuj* z4j{M2OJV*m22Yh%eOsNbA$YL9(mBeo9yr)d5SC3{^ZUxXtLf4Av(>>_=a1kmow6N= zeg&rWT2t+EOx$)<c-Ogd(I~59GksQ7t2kN|hiU6UJS|H=>Def0JJr<lvj4;-xAaw@ zh})ldC*ZIhbC@O_15#+L=FH44vA=v>b#Pn6L5<k=+a@3at0)&iH#s%(h9meyLX5*s zrOc*EHMC6by4zFjswGo8?AVOwD0uGgV&}Ch-Kmj|am}Wh-xAbx%yeBlR%8)1lEc48 zap>O9te>HA)R&xfu5hMCI>#x(Y&8I+kOnCTx7dygSu2dec)IspxXoH}4x^+2?iz7K zNStvPXCTB$>WIT4oQJ3wXPnwF$S<Tiv0q1z;ymiMQEaRKAWpc2xyh-vqo!5c^r%n( z2jd4e>FFC2V<sw!?kh;X9n-;LSDR`Uf*+uxHPzs12HGsvQN5TL#fWNmszDzJt1e14 z{NyTx3Fo6M>GMq8PAZAzw#g>{I1Sgv<5;Or9^cPYW5k2$aXW<=`uu99vZF1)w|ML> zr5R@a%Kn-4&SXus)hI@0`gdsC7+crc_BKE$V0*BDs3v6tjT}9S2`NBwytwbB(w9?= zN<!L5YPv5CRt16xMa;fYQ9=vo60WR%izZ|guC}j8QS(^It`V+qj*1LS&a{0bn$%!o zSd-2e7{kelt3-lUr#gz&K#<cH6BI=-;hTP8AAk|kh9bLdMag#4a$L9t28ZHdXZ5KK zL}Fdh>X8DDl&_HxOtrZ4Y&&JDk#U_%4^A^vj-Sz0i-t_y@wV3}hkrC+_W!6~nh41H zdV{w^cN9jvN!GWBd8~#ACtzTlWZGJzK^s&_ysTNQ&NB}GKBetJR7urf+a?-Zh1*=Z zV}Uz6*OLvh^8ct^0X<+*+)ABVQQ!)dl;;0YCtl_{4pT}w7KrDSb@u%XU{(s>l}En^ zO9WtB-O^i>!*`^7^p5P5_5$C6?EIK_sRkK-SW-IzwL}5ReUyaK;Z#f9{fqE9GeG(? zdc7J(INNqteOTpqMVZ2pwwr#pOZRo%qEuHKR+#PR7VOGGY_TJ42I+x#r`3-imId|f zzb{C*rcL_fV*fdy-3$$?YT7B7i|L~hT1uYuiGupcmx83LElx92($&*-0g~>I-I4C* zAnD>30j9-ix9<o_v9U_R;_GOqtwj|jNWZ2U)JqBEw93|%hHs*UD^6qS3R8>gQdY7{ zvTDXi$l&y5XQwnZnH9OI;{vmg&f_~JC59E(^@i03Yd_bnZ8)*O0IHKK-T}_Y$PoHz zoT3CXPY6V-?kCW_E`^E$+P*X`|1*;PmEDqkG^=S=wUqK{v#JCFt%BEy_sfT9%U`(U zG&w(aNIL?hO2Uj3+?NW2!GGkvL5T?`HKKq~+n|fMBRfwFb4p(Z{)}?V;Max^bOI}W zjoj~EI$eFgP>mbPso)Li$c3tCY+eX6&t<K9kb8IF#Q7E1Ju^VwxDchT>k{Sqg`tvc z3G`;V?I+W!PjNb#(0?&byhkYAeCd|Xa<TUTi?NG-HaKhUXH@PTy0P0rMcGEkw=bm1 zVy<7<A!pV}{h&OxifPQlb6jb=gB>239%+E3e~LVa#XegVR1erCb_|OhC<jh7;bTRi zQuC9}I4!8)$BE|+hry>375p3vB*=fR3O2y@DomQGuJM0N)uUcR{UN^xs(QlqsRjQ) z!4H4G%Ux$rbk(^GGddldBU3m=alBsbz$N_qyX@-|!KJ=JQ&;sQ?)e|1IaY1RsM#kN z>Z&$7Hktzwz@dAcE6*b1nk)Yyma5W-?@9w7iHc&{@`cHlaJGrqBZz2RwkSClRq6`5 z4C4>D*^N7g*Z~?GLz?lJt=e`_$W7TVjI-?*M#--)p!$xY6nW)>%T&(LJfL3I&ZpZ% zKZWC<b}o>F(yf94awL%B*N(p-&l}J=r5~X`w&LjY7TuF=GYi+@e?#!UB>d0hKW`T$ zr|n1SplMBG!0eEk15plXUm#rCAJ9q%rKT;AB<inl4cR8#Gyzvrf^`DE+$~%?f#9>m zgC^j98`_`~30F-Z;W&EQwh8^)Mk**IaWW8x(xW6`d>gs9fX*SwP(=pE+t>^!6p~#z zXl2;dWxznSTv?Nhn_ugz9rYQ@pzl(lk!&cRUFhR5ZTY$%{CCRi->s+ah!-RkU1>x= zgBsQ%M4-KYAPOvIfqD+0o^s}gs5TTYwOk=*&R45?@O-2*qyae|tCqB_qhhT!RBwP& zLfvW7DlQ+s2zA!Flk;IF#WaWQqOuUUep3==4`UlmdG!6WT3ivoNt;^QHKftjD5g^` zz+TfXq+OmWpm}yMO`4_)>9a&*LK78juEHpH{qWR<q>Fy(Ov$;E;MJQ;O2XY&(dq92 zphkHT{3lu4_UXBx?xmr0;>cp@$W=d=&XqJB>6ko0Wa5E&O2W*m>DwJI$!!AG8qR)! z-{Ybo+);hN9*Fdx(}{X88gMC=Cq>Ca@$m$j*?qyx*jgEKbQ-^-8Dh@P6@menim2}K zu~s`)HYK}OIFsF`T6_#AqvnjMZX0qsH9rVdQdEYt1KFz=Bk56`6Duo8F2X}dRE|!B zY{2F8yD+4;q0nMfh}f!q#iC@peE2&B7B^yIHCXzIamfEVA<EVW_UvLK<bd5!&WL0V z8)zXY7O0KpP3-Tr-->2v*xVtFc-iBd*nl>wU1}QAIDyy!gDDeG3RSocYygIWO-qCn zumMO0o1V}&L-a%(wqgw(g#v@$)Icx8B!GN+IafT-oDJ$Q#X7yI25|u*ayp=^m}+0a zT@Pv3P^3NFM6;V}@O5c4Rtt*|G?;21&`@Ua{-tz_<mCKV|3&?LtN&scEN$`3b?Yjc z1FItGlp_U}GZq@Q*;I>{S$9D#E0<vA#M`p8{-Ji3?xsiZLW5de<>)}we=Z8vyORxr z^6YPM%2k+_Cfv2QAoa|JG1GbKuYV(AoU`73$+@D2BGQJBk>E3q&Iy+kU^)6BZ2@;7 z=lg<3=h9DYC$ON1mN<l>;E)c<4@Gbdr04O41YU`4NJJ`@UKS!?vz?lM57dU~{tNgr z`bE9zfv+gqtaQ&bE9_<OkC`KlyQ-O$P_)wR7OWP;-tm@>W&ms>M22GPoz9e<^0W=S z%<~|uPIlTpU-|)G9TY~{SH8k#AKC@%)t@iDyc^gJWd^IOuy<$S#7xP(6X>M6D9*aH zQ8qWUMi`uNR=ix`7O$WaME@STmfK*kgc1vo21<fCYT8XTj}Uh14gLPkAy61+a`xo| z7uEF=9K4|T79Cq@C<(U=Vb=`A8<d2@SI|M}J1_3P^+#<|R512jSQgcr2dGS{E=n|9 zf@XadmPl=r@MTpj<{nzi^J+2oL#}!w?q)ujj5{u_Wjk;t>7o-++EJHHr+;^y%R;re z=lNa76o3AQRP9pjZinf24X9aom~8R(sP*{z3dR*NIkuYQY8t4);FRp==y@;7$PB|G z+v!ZP2QN9{z```&&PRr)9fG+0K+;4=!;4<7Lew^e_bhi|>4E<(tYnXCa@j*V_y+VS zm<mi$`C(v&sipRe5G_{%Ms=z5k_5yDUh}RyJMLO%Ni9GXT+Q@V^5lvhw~%fx=UYfK zaM$QCy|RYQmq&%~GbMa8LOy6<Bi#`<l7O2%`1&5bDI$Lv#wf#%H$sZ<;nRbBJ2mmU z#p<0;JPJy@>~P>r7Q6H*wYj8kGi?W;B_1j7d_d5#0r<*1hHqP6R32s>CA^nuJ0cu# zN!m<XlhEX}rV5Q)ZpV=Gfi>GQlG5#dmvl}pjt#DbZB3@yC#m6*sg|zF>u05*nAh}^ ze8aYhT~<K15o>Yh^r)*oPlp?cr^>n5U6ZK>6-z*~m5n8YzuzHl!||)B^Oi1PFYlX+ z8%I0267jDZdI<Ico*dOL(FS4wHz5pVm~^=P3Vbn8N`1~qc`dzAdH_p%6^uFNXdH+E z-Lr%$#i0*#9*|E{Wpl@<M2uYaG%bO<K0ge%fQOd{3t4l3t{qe{piPZEpcRW~L9$mq zjRhVXA)hW&l&q95oRT%OUO(PlKQwzbV@|wTl0MmmZx9}kOB#FFB>vmoD8!Dt)we`Z zi3ogo`Ah+>Yfl<rX^a~@-o<YO2FdkhSZ%Dou{TGZu=eW9N{0#jfQ7N0X4<5_ELYTr zD66`jrTol&J$}L9t1$|0_D$AE-^z{K*d8HLeKxph@l{*-<!x+$7bdu*k6bCoT(;w; z-!u}u!m@4<QWsvlt)B(BG}8mmpQ!R5y3;sH-ZnS5)3|9aGM7C*MRXUv+qDH(3y|r2 zx@FPol(uKuj=QA88K$gV;QZ>dbovmYU5_zLmh=yNATNfL{njusO3s<9a%FfE874o7 zgYR)G38x2Qn*%8}<3)m-0ms0M#dlB*Z-*gJQ=>Xh=b|$A1M+Tsp#(X`*CFEBW3K*+ z>+EsVhltu8hss~wt!5-EcPmUe|9Aai64qe=Q%$Tw)yHMh#7l#TpQSGmww=Ay^&Em< zR+qkm&Nl5JpHa=S|L%~LaA3MqItYoPa3&!3*8wOVi{T7P!u<a1r8a&|U4nRleZgz$ zq?~knO}*1qfY3J*+=VcZ58OQudsnl=-#R!GW}vLO4S7?f=)IFxIyKgtOdD_47_<$J zWhdxL#<aD?@y?ISex$5k9zb06p~e~H`Gz3`HqU|(7(CacYPZHvJw?**g;|eSmw}yF zHG$MF?#rpWHjoH5jbUlPtolczzs6dfQTu@yu^ICUm>g%{@82+#z@jA#k-(A}_+3FJ zK6*oGj}yYw5=GhEhpyA4u-9NQR;N+lpmF2mKo1deW`r)ITj?@dYO9~Dch=8=_2yaU z%2TkK?d?CW5n`9bIc)ouL{K@JH#AwWPPNNNO6VTSt0kesyt<=+>*t+wVB!aMm@1^O zTE%k?Yn29;b4|p;UB38h2_dR#YJ7U(kqk)l_GGU#P+vxOlM>2sfg+4V#j=Hax^g`F z2H=Sd2B4U|${tw9e25nWw`=fR;+_Gxt+I(qATk;A;>K28y*p7~T(>IuHOhVNmcJ-L z%4NG|loh-m`RL<yi7u{h&RzI{tKOy0tk2cym&|fYyHKZA{lF!2k(6M7Y;bV4EerUW zEM5F|$I3~D^=8qyLX#<JU3J<(gndPt%WqVm$W-;oHUrfW(ioD1bKEImw8QpcFej(U zeZpz`a!Fr@w1Y>-h%~;e5l=d{(!<l-IoMTKC8Hu6Xo5N`-nh%gK>)cFs-_z!J$gwR za<gh!%UJ1^2`aaP%nrNj=j@9TElR?LzDR4UxU#)gIS;4|YSxI_()5sDz~{fH74aF% znc0f6&vr^oVG;#<6eZzoAN4vO>NBSU)raU*_!hMVBI%irO-2C}2&E((NyJAineZv& zOm`#_s%ya{&nyl;h=RLA%XYMeGKRPpXU~~&`5g)=?20MDdm2?>{rz=VJ7-W=Ffel^ z8TG~5EMQaWw5CmA_g{xQ&X93&-6X@xu!YxQvz}Wq$%yJY>gdM68LX&OoI<T=8jFwr zNf($j!BG_7_is1UFN)B(BpuAgqAcy=!mzXv<eFl9Tr&c_uEZO{@={N53R&Y(537(F zYSS^5110pCEno{A@3EPDu>V{iQ|-!5yGLwFw-rKz2pGOZp85!5+pLcI@p^3LY+%EH z#~cIhx^vv&8&l0~RFOjld>;kku@Jp@Au{TV^lB--bV&(YZbRnkh?pWj{~#ufuZF!y z-I~O{nUcwWK#|AI!IS7;VZqvP2Ps4P<}VYR*3rVSm0IBS$88q|%dh<oV<*gos2TNT zVVcasov!+5^Gc0lT$A`whIBf!aDQN=-FlBkNUdI|9VcFEy;Ua;b=2RacNI3fbbDkk zOW_)tf)E~-S$F`Ptx3Wj2g)3M<Ve}+)V1QFr`?q%65(oABWW}mU89z`r3U$Q80Ax@ zQ=!bXG2-8yx-T94hKT%O5$AeQ3mvQ^ra}qjUl-%pb_Pl)Hx~w*?ISQk;rTIRq?Rt8 z$I=U*8*l?V6|2JuJV7eHB#?@av=*@k&hs;+!ETA_O{1sJR@_!`AxEm&OxdjXt`Ftj zT7YPo<aujg25ta0L3fOaZ_rmXXVR1TOsOw@PJOQ{<vo|~i2TN;9$2<$o|uK+v%rTn zp?d$`q_bdh%62UFUl3z_j5e<+T_H_6VAv+Q@FfA1#m-29wnF~RrAv4+4=ADVV;r<U zd6m|ZOZSr-Yk#Uk`p``Y>^%&cax_!dSH5CX4_s+gKH`)`WQpE}*lA#;Jcmh%o1JOU z<4m;=(FOJG_*eq=4_t1&Cm-0@Ly|-DDMx=>U(V4VlqbH?L(m`Z;++Qj%GFe<1&t8f zQ-s|ZLHAPtUjjkyJ~q=f5!G`4%BAeW|D_oJEbJl&gfMv^Cn>AD?)rH_*N7q}Dd&d4 zX$*|1Fyq14wxaW*_t)$`c&hY1&h^9Py9?Ou%t;06oPU`Db9rVy-Ehx7yX`#Cinv!v zIM$nKx9p=N4DChN>lk0Yhyh99YM7?3Sg#QVp4qMy66J^j_3%XgFh95%_%7ueVENaL z+(%GB{1`>P!^x!OZjjevgLeCl&l`84j72vJ5&}zcIcjyJRiUWI5&A}!mT+YXg`Gq_ zW|%fcxuka{opEXg>V={B25wZ%ZlPD>rv}r;#;6wCcVZt`{e4ORwL7B{;hzHGwr^b~ z=T8u{X1Ca2b$8Ws&R=K@6+GF;<UI`C=%DX%m)vdJN%arY=X%te;@Rn{zI@aO-<!S+ zNd;KW?gfr0gWlZ!NE|N<cXbw#=@6k?c_(|#tn00EDmh3WMYmlP{)Tm-9DssBbtFM` zIPBIGF|1hHADC*|s4HUQE6#Zk@04%<|-FBU<s1rfy#-PHKNHE8SOyAna-g8t~( zFA#6q)JT=~n}x_prj4r-2h#f*eSx^axgX17BxZ3Kvxq2$Y6rjKs1`^jhh>q&vdCds z<ghGqSQa@ni)|rUtf5&H+ujkcEw=3!B3&qSm#py8n`)lnZ@C2(uCE4%{tf<Ct<r42 zTxWgvx3BO%!B~_Old!H=GWGfm;u)8+JJYsX&|BlgAFOe1ld};Rx=spEL-dLHPnz9z z@yTwahb&YrotvEKPHD+9O?uDcmIe$(-6&bM_bU4oJC=P)+Oz7PK<$(c7(&5SY<Ei# z7kPNV$-Euq{F%7cS1|bH%iGfEU9QwSw%cd$g{+?*sSv@)qypCzGG%-rA&^Ir-jNKl zwfZtYcD?YfZXy+CS@4Fel<*_2_NDke@>6MQsE&enNvKbExyR(CBZqe_)kM}gce;}N zWcKA~(FwG<8xI=e)!AJz=@Rj`mq(PN(l5t8G$z#2nBB{)VYnB%rcr{wkQA^1{ENMW zK72lE_GOI#ku%18u*`}tkvmLlwzG%FLt{hp*=3!zQ%rQ1va;ps#%`SR`TDt2KJ4oD zhJwrMg?c<%&||&O8_WwjN5qWSHLp7hI%Q?2#dQ+lSN_E=<dX_#fYTn_W@MX}FW%YB z=A}-WVVCyEuQkxL?00M@|M`&ye7y{QA9DB|hlY3t`*Ap$Ll=kn99D6-io-P=zR2P0 z95!)yjKeQDJjbCSfx!T2K$gEg9FE{{5{EN6^l`YF!{<5N%;CEne!<}x4z+z4jODN& zhshkKayW^@=^W1H(97Wx4p(sa7>9r6a0`b`93J8D5{HR>d43#D;V_@WdpTUq;nN&$ z=CGN=k2yTYVR$01KMsd+IG#f{hqF2KaahCQBOI>ha0`b`93JBEGY)^`(3r&Qlfz*g zj^ohHp}=7^hpRb!mcxJatLjJS4ae0v46eV6K|=|HU4PB5F!$U0cki$MiVI51JVh3v z!ZODrSUgpwf~Byc$YUw?Rm`(^eHDeC%E}SO&~Sx5Pl4bG^|K7EB=C>^(ksNWB1?G% zrsXNLsLmw4pd1~GOUsKa*$ah|igFr26bfdSc_5gPhZ}N*m->zXUuN$VzryP&r=f>e z7WzuP!U*re1w3D01|Xl!up(q0sU(G@g7}CB{zi}@QU-s}KBSz8)O-zVuX3@h?3#}H z2*-a=VP>KWC*fMNJ|iO|41d?Bl585mV$IHrFpyuRrq0TS!P#QLd7T*YOY-3d4dtzZ zp8-OU2x2e*Fu-4gfv0b_YG`|G;83I0>BGV!43WmD=$KfOIj&dl_=G-v6O;P&A24vx zV9OO(4oMz*)z!nUxi;mx;Uh+-jv75??DaSN%9=LLHh#j56YY*k>CTLsCc84HOm$~X zyE*%o={dPGX3omH^|oK%e#f16<rmB@Eb<i3DJi{sZrQx@3hzC>N<o~zplad0_bpny zWGOv<#-C3t7fR=OEFPb)!e=2QhBrvA`{tY+=1QG%GN(-ru@dLaS&qzU9WK*vNF6ga z#^@-w6nMR5rG*7TDKvFSL8WD00gzPzxC?@3o>xFpDyt{}k}C07(k*KKWu>!y1-^xr z((=LzpU+b$lr0=#%r5g3RC<6g%Y}kMfyM|){pw0frReom_`t_gFwas91(;Xi^FSJ4 zoJYfqP|Jh(jfpW1w>Ub`5FzcXoJ@BJ<qIXHm6n3aO3%F6WeY7uqOY`kj-?!un(twu zO3O=y(t@(mduj5<TnrDijVO5_re(G`2ke%G6{0T`*AbRX!2&_&Ra6R4*0~-?9gE}h zRElLl-o=)}g0eEq3~CB-8eUj2&r7@Bu#tsjzH2PSVtFC0Q;KIn2U6vgf=?_Ipz!dI zdOFL>vI<IB*|FTCvD~z4mRE>#N-UM$f<h0iuCfZqwo`?L*4L;m^%X3;hc({xTvp#g z2_RijUg#O|%j+XFpH$2TQ$rj(GAZKtkG7(}SWZWb&S;c)3cM^O4EL*_Dd&RHiY{%} z5$}c`<5dbpKNIhIjOP`h2IiOg1hJs3qmi&RX+R7&w#W4Eswl^ycO+C6j=*$K45mLS zt#i5Q7>Mm%0rn!#{L(^?T8k_^uP0BH7y1uS4%SX+pH;*Cs!O<eK!T-035@SWND*^G z<6!un>xV}wDi8`fvY@{hMhaaA1E1#}(Nl?;A_Yz7ogWG(czp9p%W;A!MH;|vAeM`j zSg8vN{)IyUlqWT<$MSf}p(QKI=XuHnULFi@?J<0TZ;pt8D}$xS@U*`b!yqSMhxS&K zmJ31jFc}>F7<I#vv$W7xQCU$eSZ0>e(x#`R1nb4k21N{KgwP{Kj3DD-{+;84B9<3G z0I_^-dBuYA8zEmFB?Fu83ZpTb1siAKc;WgfDx`e|f?XeCf251O9_)q?`)|6~f7`{r zx{Lk6F7}7I*dOj<53jDizj|3UOq9C&tM6Z49Um43GjMHfEg+tnTAf|J0%p@;S6j1Z zRm1!WlW=x6?zvfpRj;UqSOliwl9CdGA)?CbUEuXzHvj&={<B>6H!S#fx!>h~F5rxQ z?yshszs@0+h5TuL;a_O{<spCCU-+lSwfwuQ|9`;m@-{8`zfA#}j=x{}>qG&Xjz8@$ z{Oh2AfA;Sml^_4&;V;w{>i3I_%*)-`{!7c-QSPoTnoi5X>SfFQHMRFYu%d3Iw5t9$ zzg_*{Ll3X{-6M}a_W19gc=D;I*RFf!+2@{r;l-EM|KX1>zw)O)zq;Z7y!MyZ-`Kcm z^P5}#`qtZ9|JKmBZTpU$O}m<R@7cR=|AB)o@4Wlop~FXx9{c<IAAI=H$H!Yg`SiqR zpMUYC-1b%A<k#PvYXA1T?|(Rb=IpuiKmK&#;w9yuUI6vH!1+ZBpnrGy|K0ijw=Y0@ z_WvJI|1Q_KdGp3qs@oK#2!7XDvfyVy!$SB`_pGduMMWc-B|D1{M-~h3^c2Dx(c@F& zPpg>U$$m4e$k3YO@d~PkL!2X43WQ7%%V>I2fCoqD@cK$|k0PtUS6IU1-{hI?6FKik z!xofNE98rLVfvUhritlcS`dFBriJNXe2hbK3Ix$tR6x_Y$ydrvu)Z%5eU(8QA+tP1 z<(?3ST#?zbD$1#2j>utwfazd-jDz7Y4Eob}lRfHQ%q&<2RxHR7DD#c(Gb%m4n`hq* zYmUqguH3=%1AlixrQj&URc&^KSM&zmnHx)vWI@UWb3BtOs#we!IT_Q(j2_{1yIFX^ z1JD7i06D-BP(_Ss{XvyL%|Hb~JwbIrtwH5M9YR$?jbg>ZFa73eH_ymTCL>_|jdpcE zYQ$`s47krLqVRT}-$Gc;%$r_OA@n%$cKT@sMUz276d6=xB!hAz$)K?YGH7(a*2I=R z4M~H;NX*#PBu2A}ghTl^4+fe8rd$()?t{U70CmT$vGxQ)4)h@;IYLA2XnwXYu+P*E zkq)^C*^$}VeLy%F0PgYNZYY}4+0URQhTQ3$(oM32lUU7E644&ks`F}75ua2oA#nr3 z$bi|24Sl=``SGcQw5BkH-m8)bxwRi5_D^|PlZ+&3tcfH|PiXJm8rNcKi19|}M`dfm zwItl9P1VF}N&IW(RE<ebOk=}|X>^oVW7HEPn2n>uy>SDKWI&OL3>X_r2KW-&`?SWl z^lC7B)%?D{nve^_2+33P!*oY$vm<*&kX}WJq}SNKq?ab1M0pvGC@ZbKmXO$MS^QVQ z?G%_F1bFYK3~DUV#8MPTEV;llK)x2=fOgh8@m`HNoS20OVg~%oqoW%%ky;WtIxJO_ zXdsD2@a0C3MDR--4PoOABp%%2!7U!#;zygkN!LV?zGI6>U(IdA+#cH+-C}Gocq8(| zvsqg=1A>v37-HFxL@Yug;L#Uw=tC@;UL>i#Z)-wJM_s=@4i-@3nE7_R$`Yv~k(#%N zHkH@A5J{3C|0Kvi3Gz=GozS33Gy<OR0o^46-2tAoJ~c)y)^}<gmaixh%4Z<v>Cp{p zUTY^2(l;H}h`gTTF#R3TkVh2cVGOpfTF1Y367mduuk!F$f_W=^$JKU9FpvZRzM=?{ z0JtTLj%$d!+^t2;|GAq8IRW1}H9oCdBh+mq)Ge5&Lm5m!KSfbMM@C}u0UbqaNwg-8 zBqbv)ybiSR7odd=loqhAy|Au~qqG)5X-&<m*EB-r!WVyn<&`uT>S8SLZ@!M!!uZx; zJwP1@0HNNJ02io>Al}QS6JpEhNGp!fXR7KSH4FMOe8W}$5ZYJk@?-FCgYPCD<`S5P z<`Gh?#_6pmy`c=fN1K9imfuRqhFd%0>;&_LTRY;gx-t_}u8EjlgSzT#AbkP<zPSJ) zt-hmsdubaTih?#VLVJLDdR!|lZ)jOZC$#o%i3`$6Y(60e;ajTaqt_5U&`u<WYPiX> zp})bm?gWEf{T~Onr)D!V!nnRhz|Rc0nMhw>@AkM>Q%g)kRIttL#e}>EUn9?#rZ>AI zz1%s36vFq>2?jL-qsc&^-GM+u1A&GHLRkimPHOGj0(~Tuj;2H1&@#tBnStJOp{>C^ z$p_&K8e#yP*?483ZAQx+p(PQTCy1t3IMAG#^m;AU8<QWM&C-p8bPX(BHQw}aFCDk0 zYqR6%I2cL&RosuxC*%|O6qO!F0^Vcq(GAoT>$)35Ed8Or`Ws3AqFB;@Yz*l?y>B~f zB~viX=%s{AfN#WSoQC4UN!-|I5;q-d)tIk_8(a<b1z%qtj^P|lj1K|MbSyE$SYm>) zB$gyT#Kw}O;V~J5g?PxnH?&tT(mOr&HDkM>HM~XNpyfE`1!*u2$_sS(Zj?7^RLu25 z1Tz^7<9&ZfukV;%zS#EYR%45yK`om#7!T+c!cf|c)sooJ#?*gQ=8ca+KYFyI%$hz% z(g$$w1L^ef^=dV@#5P2Gqw-n%y}@ZD4rs&-G-84}k0k>iVl)y*`%4UzFPik7-Z`HW zYY8!|3#l{S=aYH^O>X0Jy4p8-@$$eJt<HaJOo9FdV_{NJaO@6_DN|p7@d>^Rwe4v5 zSVp6O571_(v3TB#gggx2ojiOzn0LNJ$P#X+c+F;b4MY3YQ5i|;@i216v`4i@wnQ|9 zdG-0aRJHBAD(<s6Tn;$Uu^Yw-pl?1_1jmGT{zS-|e<tM7P#VgOBgS{b`5X!BWT@YG zs9)d(*f^dW4fPR4$MK|O<Mn;U#BJ+}O^}X|4uOUer^mN<w4#ysw-`tV(s~H{G1Td^ zo%s-B>Obx)Cz}Wvv@3*et}v1-#wL*~zU$YX*xIKhzM+>lF5j&3G}&?SIuie^*=x%0 z7=I2Pgz*=?4WTqK9r&N_$D#I)aj1hXG+|m2HdaG410u-)-~&TSk{t!*NE!n3Vb@m6 zW;|O}aL$A}&W(Y(jwbOBnZ2oT9a{p$cplwOdi?!IUV_2@$V)Kz@0ORy(M<M~dwd0g zC!L*$r3=2YjQO5&ScmNbKLMoz(kqHQLCFB0epW%La8rdZr?h-dnTM@J$s;74$~Ev{ zu&8`pm*Wva5_J`n7nQ;K{WPYURZ%3Cd2T8#^Gqw4=Yh~4kc@J{<4gCI3Z;bwWjP*t z{zu3+TDPZQzUMOcA3IWE2?IYjQlC@ifwlaVTE2RA6cza>&f%I+;f8xKZhFPMc@WWE zS`OKd#~850_6edF7u62(v~IdkHlut2td=vX$PZW+mQQ+xh;?%#i&4ZJ3HdvwiRH;% z==G2W;`Eexgv-#j>2uZdxnO<1OtBGtKB#lm(XF3RUP4ob+zUNkj0}kjxcxCi54iN` z-J;E`bb4lsbLMz_*-&_F$hBCOne1ql6$$zgy16SV=8E2%_+cwF0Pd4Kh(75BUP1IB zO$eSUfqbdq`wH|}3`QHR%TwUJ$>)KRKTFMyva*UoatAF-HdZ0YMYAIv=DT>TtD7^j z(EL8&H?yFuw20DF!5j}c3N4Q!0oi!I2PJqD_hv%ucFj#?m5>0$5<SF$wj9+q5p5KW zbJ#*57`_@(tGV=aH4{pGBZg<Fk|*@Dpmit>l6I}TqM(Q$6FN|LdS>u&yh|H8%8PQm zrR9ta+#1Y0qvNzQM?gsjApb_%cP{fFSv|y<MONr%l@@u@OA36s6<K(aJZYieA=|r8 z2dMpzwBDiAA-g~@K2ulL7om6SZV^4ch1nh-4N_jn$QNq$Zfuj>(!#l%o?p3~3ZcSs zD3#N#ncPz7r<Ih#!9@N*^O^2pm08Pr6zl8I%8!QFp_2k8=}_}xWeLWgBo-HYd_eiF zT6cOD6oD2AYCTC8EO%~&S{dZi&`?lrJL`F9!@dUb(mT80N{`Yj70O`UnVdxWz}!`` zA}_Q0gBB*lNz%(ID)~r4Rx`@r_&dlGA*H!l6uhE<W&C}oP_u{;`(?<8a4#PbF;fT0 zAu!;03w)knX=iqJ0jxhl97EcAW`VC1g%%uSYR2?w8SXKoM--Kn5mKU?4)jb3m%Pv7 z6y03R>{n?!b`G(8gzQyECWinS%@zeurGxy-eytfy4y&uZ(<zDhAE$#nw&ov(>KtDC zUkLx7-+zAp`Ca}S{p|7KkHh+E{~eZhiw`Nv?bk4Q*I?iJf!W)?XOJrxR;rCXCizeO zFpoZ@qkro-M41{?W`!5C@Qwt&IEEMKQM@1TL>M@X<j~0dqC))o@VE#~JY6$)i-WHh z|Iqyk?tVSDJGeca+p~F`>D)bs!&yB2TY27P+#L@=EQGE52f*j!xQ6ra)g0$#94_bn ze(qnx)4?Y@P~7%uZhwa3^E}V*CGNh7<9C4jALagu5v(rMIt#7$uI=!1zkhZ3|7!gI z?)3kw@&EJt@A#Q}{4sw^kH3E_+W)d&&%zhXzh~iqe=pwu%HRL%G|=Vu|96rYrrz7o z)9L4VnBeo5FI;{F_kQs>gU`Ic;Ig%?7ZBQ)R8zPf!Z$wm{&SWdl3#X-K|6<U{KD`K z4mU#hgU^2UY(Mh(v+}dQ?m7J>&rs7Xz>wVX{+;hz$X)N>{r>37!@qaz<JR+pj9S8C z{&0!$QK(B8?de^@|KFNt?87^++y1BdYsk;nMfT|K<F{X6^;@ms{yGL*QW?zV`KobM zyGoY|Zx{8a^1*pO^7~@kK8)KVx&7REW>?wbd~R2lzQedZP7QyK*?Vz&3%B>?_I2Ez z$n7QEp2Y2TZtutK25#@KrgxUv2XOm(ZXd+$E4Y0yw_CW~!tL@IW>@=V`)OvsQmr>` zuTt^hc2({vmD}%C)93aJ+@8qoYGoU^J@JWuEyVQ$t^?K));3+YB2;?$j`z##Fh&P% z4qY5NIka;)o<l2#sT>aD(88gaL&D(?dIn_<KjW~K!w)$;#^E6jTR7auVKaw2IBekX zEe<zxxPilU9IoMTRhRT@I9$Y`z+nl8`5b0*Xy?$%;aCobacJg{a2ToY+@IC{IHF5? z*m=J$oAj@NOZiV7FVs9$T-5cY`m6RbzxHq0IFOx_Oa7T(w)3Bh-^%f}jOl)S>T18l z*XJt4ANF}0e8>S{f5pd-@U<y?efWF$@c1$nzG?8y({!YZ@x~Fhmc?75s5td?`0yR8 z@8B~-*pcvM!B_UbWP$XL<jJ*NemeeB<6Fb|c);N>4lNx1uiLYP0rgAxs=_s-9pJ4n zp{)UPKERiIGxrSu55ZRyr6H}o@$8w9SHRs2@N4*fFlai-ONPo*BD@PG!5<(z!dKz@ z5X=ZS!M6|02oJ;e7MRZgoClNQc!*mC@HUtbOJX&6kDK`WGaPCFp5X4Ep`6bEW{wAV z_W%~A4B*4uyawQ59wrwi%uR!t8D#<v4`yMG0aV}{Z_?07^aYqGivWl90B;xq{TST6 z0F#ng+yMZ858omP^CZCQhr$>PX2VrrzKVsh0=$Qt1%NBL`FVgx;adgaj{%Iknvlo9 z91n0iH}3#A?Hb^(!Mp<CscTr=c7VH6pbo)(AHa`Oc)I{xHXP<nXp0(vGhmP$3+6n4 z_3$~tyc*!q5iFf!0IwMd^CY-m2k?*Z<%9VZfDgi;A%J-ez-1EvA53!sd;1RSX9vKx z8(|Ir_mcqcnFwtcsUdFx{BR<}2jK;7MmWjN@^u2-U}t$D9OHmEU>*zbO>TY*pmP$V zD}>A7i-z=T0FDKQJ08pk{{-JU7{oRJJe$taKL_xn6YzvE=KwCxfHuOo03&W<`C0%P zCKIw6+!4AbvpPrk6MWUtfHT19nXFv701v{~0_F<<%~M!CAiQlV&<42Q4)B|)Ed6$X z?_~jx0PcqXuAT<ds8K_q<z_}R2p_!##uspZ>=vrmfH*M>z|A?V-VlzS!OAGiBxLVQ zR>pk*9kWoU4)jxiwX<0G6#&QOLH`B!@c<k0Sh)~>mdE=Gz$BPRnjy>pfKT1V+}8p8 z11y&=fcq-|)9!#ehcw3nEVv8s26GX>m+oSDtq1tkT`cZNfZygr+kpEI0HX?6m}r2` z0)_*^Mcj<=HEy=ghW3T84Er^}m*884=>yy`o2AnX@R1@`w>tn{KL^GiaL)!<3*U!e zUJY>D9EQ&hfMF#pt^uHhn-M-<!t#9*;NDW!zWV?^F&D}XVV(r|P#N?ipn)|2Zz_j2 z0<#O?8u;w!4sdb>@RnfC2Ur7N9+-Ck9OGrQF&5xLFKg>X0Jn4Vx_f~BE1@h99^sBk z7JeVV<pOK#8i2DzX3hin9eiF0{{z6q^BH|s13UxY8Ze&&ICBZm4Vd!))-8oP0rM(= zYpbChV<2CEw=IJ<0&@|-s2V5>n4<w^)&c%8_<|TApTbuS=Fb35TLp9p=4^m}hi@~O z@vYL>hk$;-YzCP35bK)=zvk}k02e+C<pul~0lZ}mGv@-_$;~Cej9h$#wFNRXzj_S% z7sRy!lpbU4xC&tP?_rJtGs2eNv${gq=Lu#`2DlTxL<rLiaLUur-e7hET=X;xgV4H` z<%KYN9k@dngb%D^d948W<TFsuU`8189Pp5Urv>1_=NRp^09^Duti2!%Lh=HiF95y> z-(%q30`TNZP!HHI08U&FV-19{1KjyXz!S^^UM6JtD=hs~fYK{0omBvLy@FbMHK@OY z=>Ej$RuAxnKQVe(5AcIO!<YqOK18?y=4db@{Pq6<S_E?uz?rWBK48uRIC>MTACV>j zzP*XHV*|j$o0<6-z!h%+&JYIS*|!+IodfvI+idPj-U>YAR)%L4z_U96e=wf|c=s+S zBj8pB@a}_9*JuWKYYWf^m~RL8Z3}Dn9{`H)vAMMhp!qQ14DJYDJj}}oaQ+eKCt$7u zxakPXcQZi$-vMXrBLMS12ATjf!uF3@`UpQd&Ty6izWfQR=XQWMehTyi?Sl6*@UFxv z>@T0PI}e8dAB2x^Gs0K78R21WM%n#y+>8)q+R=<~I5#7_iJKAL#my*pzLc90KFrN1 z|J}&V2vI&8aYLwZcZ4WQi|z<Va5KUTZbpdmtr#BR0&Yeb*GIV-;RYTa;RX1z&Hqc7 z|Ns2{%fJ5*P)h>@6aWAK2mpivMotj<{3*|j000000RR#J0047kbailaZ*OdKFK2aW zE@gOS?7e?{RK>YCd^UTsIY~A-3v3`jfB-?!prT7O>n5-<*$|cB#+6+nB*BU_ZfQ%y zIe=FJ!Lw^~GHj)--s)|=m5Y8ay|?$)w(`SPaF@`82+A*ifKVH2)QO84OH3BB<h;)_ zXEzDh``*5PegApklXK3@JTvpm%=0|+JTuSCRzJ9dGjbfq!=I*c+<s2~=j8tPe-!?* zXZ#_XdnNtNnfnb(-kkYB<D={I*EN0r+f5IBH~-;>zW2TFOZne=B)>`iUjC!s%dfc4 zlmFfCuYTm_tgMWJL>WDv@R=8G`)`u``(gh(WEcDX4H<&>wB};+BD@c-x{(Cf+d+QE z-Zznx?7fKWg!lcAKHP};|0i7CE{<DbFmi_9lA2^(H)k|t8qzuL4G1jN<0f1O4+~4w zdjY>wI4(7jC;8@_2EEht<Q4{qup{r07yGy1635N`2m17X``6lk&DeD7sQgd=Zk8U| zB*FXht^`8ZR{m<3e2!anbJOaFq=z`JF<&o}n+1PwT@45II&ap&xWk25o<T3O?;CL8 zf4oKi|G)p6|7u7@fe>;V+5~5yOTOe;<}EzrBQ#WTlhJQ*(@hy1ryLe+n(drgQDEud zW`))nf}d~kMNOffV}7!vAh(UrELkZV7f16;X30~6+7^q?ztT&$vAkyEpiS#At*nfu z*fjD0LQiNll~+3cyty4fvl*y22@2R)8ahm~Iw}oZecg)M_H7r;K&?Al#+Pxn!)l;F zfRLBGQjiO8A9;<v+tSGKKv<d(T3x`EmE0op9c9|eHbWpRe-#Q8n1M*$q3s10VAGn= z0|nOmLlp&9w~ziT3oEs@Y%UNuG58`h20qOz#lUm$2^lbBP3UQsQO^@vQeds|(t5}U z;e5zE+H-}6S~l~UD?=50rkqjLQoK^iL42S>v*S=xdI!g0r2M6y^Np4TrRRb4y`Nr! z4)7Zqd8m@|AdyHP`v&yqLAu*ZUr9$~=SHU`p*|3RS@DbX`MmTQmTV=^Oz4mX(ot_a zMpFRKZHKY{+K(mwDHjA7V;|XEkViVlV(;hOv<=E6YYXPG!Om0bIJH<jnC2#f>dJyV z`Y)`%%)ziUUOaf8VQ~#@Wifm(EPv4^E^b{?kQeBZzAYX+c|ZMbGD%8PHWyepX-OLt ziDXh9Jq=_sd7#}OkGF;GNL7%+iBE@-!cGna&q)>!5=EJy6U9Z_IT)BcPWpKp)X<t; z8T|=<0GyS<O$IoKn45qF8nbqoIL*Zo7gwn+cmi;`Lp(U?etOoN#0eU(*s$15JIx~v zXjueAaJ!~yK!Vl=pgkb_c6gIR>}#a|HW%=mJbovaU&cW}>3+_w<#63jZa)g)cIe;b zwy?j#4Q(-Fd*IIsf4MN`dG1b#M5du@(pb}AEay*fauA(Y0nu8H1qy=tR|0YHNUOQ` z`#JXCfKRs{K+FIF_~te4{?N(M*)Sg|VW*o88+AqvD~Ff2Ll^MCm}b9rznX=ZYB>Uy z45fzn0(Xs;!|SD_HMT%0(fx!kz<kiY1aVjyafI&X67)fU016Miifwe94XsPra#QF< zHiZMWxrA>GZ8GTcpv~e8oC134EOQ(UNhZVQ53n@9!Aoy4A;;3jBT(Zq`gkVf?YxGA z4zlt;Ah9iXqFf=?-`*eMZ)rRXIo$N_OeSp#2>)B?I>;6^j^bB%sM2vUv^mYNxuc<; z{Hbn5a=^A-$W0k5KdcZUfr5N^HFC&dP*07Y!(q~Ltk5gSoMUkUhPI;Aa2(oTh5A~G zZ<fr+%*elv$i^=_m@KeXCHkYS%77VTBxmklp~ti4!Be%6ocZ{!;=QU{0PtKGO!{xH zAoIeYDZ`q)fFaVD3t)7qF)^q&q%blGRT}Govk`UR>UrtN)!3?bpWcM03-aN0zn3of zH3-MhYy3PE5amRd9|kPLlElyH=v;4U6M!c&S}tWssV$eX<fuQTgTZ1kjn=<nZ!gbC zGP{jr@z|6c0iHX}*pBT5c>vj#Wx;@6J9KRUyjr&x%te$QC=l+40%xJ@rL9B2Rr8^N z1vOsi=(+Uz%McL*tW*%VK~2u|Hg>}p_oDLY0a7zBBfl<~2Q3Wog(!)fD4aewGFhie zAc`t4X_{(!9mxfdR62OaU$)F(^Z=xvPxwE$>1+nF7`Pjghc<u0>Zj(hIa$(|Tc+T& z#4>#m8=L9M=1-K@3Kjq!TwSLLdvAs00umI6RA7dA;FT8{&v_e<AuB#>NQ~Ng9jk`@ zm~qU&txp>nIFwO1@gkGn@2;Uw#x>1N!`M&TS;L`k8c>8U8qK5A^G*w}Gs!Z;6Xxd{ zns-Ihpt3_2&Tnq)>jykKW<YHNs@!7>lRClif%r_=(IMy4Z$W$~HxY31;y?P?bT(xu zN3`BIAreHfY-X_1+iIQQp}&Oo)T(lPpxo?~H+pEzGzcp(O`592hNX$*MC5WRIih?x zBl4liXny8}8_T$8>Z{KJqYac5Y?W_7(8&mDB}XEcQkCu*k#3Wb59xsW8KASEMarW` zreBSjJAqksk7k#9<k=p&9%d5~3%M+AuO^#4^lUazoU6y<qhGUmCa=>K9|qY?(@`Y3 zdZ-B++pft1U4pG>-_Kdfxb~f4M;Yh!TkBEs?MJmeYI1Zmr;(0bn1V!hFdx8ccfD4K z(p{eJ2Zk-eH2Tt2390@m%j?^1r(VT!qp3SFS~aIAk$mM4zwHuAo6Vp3hwA~t0uVlO zC=yF0d=T4CE-RnTh<s`yd>VF<03D7KP>OmhWWQ_MrFD>D^IHwJaD6*HH5-(Y()lph zoRms`J`?7MBCLz1%*199Z5g@XC9=TU=jdyiwQYD6)V*;Ed8?3hdc;yg$Ik&8T53ic zr8b(ObmV)roLrD}^>umy#3d*(Yx6`UY;n_%3$O#t+p2VU0CAa>aK2m5GMa<6+!1M- zQOYXJ-L}fCZPm2G2sD%xbZ9oquIJ4glebz>E?J?}<_U>B49TDV58yS*BXN*vuDBZp z9tU(|fi5-8!2vnf?uttjXlovab8!aU3Lm68t_q<4bm<HOoMy&(FL+9N)D{LEL;$sL z;<n2uIGeJS($*VU-}XK;2WO{C%4NRk*1@yNhepX<c(OH3=`<+426+HTxLYtr@MVG5 z8_Hjek=_)^bn!o-;0zt^GlYW*8rtE>C-@aP+!yQ;13y9X_K>q6JFJ5pXmZ2EXpu9a z7%>=xVD$PnlhR>G)+rT&N_&eADSu4P0-XGi@{v)RFbW0`cPLSV{5h)4E9x8C2Rjj5 znwTs^3_J^AJy!lqFGSK4A=|);dL3VNlG4dzoxl8pHaxtAn2aZsKFxNBOaw9bE6!lp zCY=wQlI8^lr0Ii)fCxFsjBiep537@+x!eAVO9$|k4PPAl;%%o`si2TRxn^5fP1Ea; z2cQvRaHFniF|64@YjUn8TQ%7N<LuXPq}_9nwR4k%P~)+k^ZL}fn7vMrnn|_Uaa2yT z*IDErL{s4<`R#R9jL4N&VMMM}Yp=`0h<y1zjL4U&>~#h5LVMj@c_HwOE$l3wE}5z- z9qk(jS{B|Z7dehfQ<P?lQGDWSXoNonknn3YblG)G9#^We5S@g%4|Td?IDzz{eGHjW zS|?+9npzi!5|@bwO>Qbcrdl9MV`X$=o2ld$DXV0qlwNYPEPzObnQDunvUs}uwqr<| z19(eQNoS!;u)A_MG`m@~&=>SP>i~<|EJV|Z%j#%{nsSLN4j=b8Ttbrz8YoR>`SLfo zlKJxJi+Vn2tr+-EK(SDc+vT|%W`pdEBSZmxLWk%LK`IuqwNMu9a{k6Oz?V=ucIyUK zmsJnt>Y+S6l&^;h^w3-kQGPO(B*+u}6YD+rPn}O&b9JMnBYLB~E+&8MpH&O28Hwh3 zM^L>~z!1?3gK}))hWZs<NlB4Acy?;neq`0zM{0mTNVOGXAV8{tP7(pY84@jnXQqag zZevnTbh3%DpswAKh2mIFx!B&j8)ZjAfO*MR9hGJj<`2_HZUdUF6iC%tHJem5s!Ms2 z?Z{d;wTzR-ldSDiK;~DilhY`73&5F3CGSYxF&Ppk638@?E>P)uEQg2K0q43D*{W2n zOMyxZ(F`I$$xa><JL>BW@j4pH1*G;+bst@W?BMEC_Jan;8MaIax%%9G0o(D*1x%ZW zT1d+g6dKinxR0+=x`meJI47l%>X`D-x+{q;Q%Y$8$TN97G>~Mif(8I^835O{gY5vN z1)-kW+5}4}7xICp>~&^&8m*WFsu%v#Ct`YRVp2PZRzqPhI_JHri>j_}oP|AzwyWFS z>FR+3w|2TN+=ZF$VrGp+tL`Cvo6?A@yEQk;;5>B40-Qgg@yXF;g55*vEWvYfnl0S> zFHnF_8RDDd(Btu-w&8og;ZSj#MG5mtga`3+|D82)xw_4L1-?t}thplJ(dHh8@9XZY z8J1_Zxi$E<+zF(Rskq|2y*b`=D7r}8>(s=(cWco~_!@?<;b;kbU4gGF(c9oF4qx%; zT)noa*k*xJtapx+EzUB{6}Q*Ln=SxR0@mVQPTZSb7>WLk;qQB$f>iZsIR!9TLDy<I z`S7u=6Jxh&t3Knnjc93p(2(eC`uy!28-mXk;4Iz>G)Z^f1o}1#Ozi{=aRRWh0<>zq zG{~RRxB&HWEoZJCPQ|KD)Fox6K#$;vvij!%#4*1>XQ86j4j+s1#wZDW(M)230#cwZ z&~0U*sV}Jjc$qYeiogpNk{#><n3D{~+;kxcqm;f<h%@EnMtoCOu`b>+Sj`w!OSj$u ztyu-CaAOtf!#f$NL78_o?yiOK6=?r{C!}=p1r-SJFaRi}`?1(sX=)>W(9iGC%Qb_& zn}X&p#@fO_zPXK-uOSn)f@BuxLTnmRknLQ#eOfUnNMhhmIP*+f0N-sc%fF%0q%@ns zsDB<ixaikd{QP;4jl|UEGeJ$-q!sPP$f+!{PnFNB%{{8zt$e}5w_~u$M+XZ*s+pwE zA#jg&JN>E<)lm9jA&LR*y+onsSZt!Ow+b1%+M9diRJ*HN%EmIA&j8=B8c6e*=r0@B zLG$;o#y)5Ot+lps6NV)W--qF(GCKneiDnBY&sA9yq1|hz0IoRfaS(6Nc1)H8Nbq1n zJI%JDb%6th3kC?-KFkb+x{+7|#{O3_R$p15&+B0fLInL$B1kkZy?7%kTwYr100oBj z+=<VP<M7$VzF%R_UlilB=ni~NM?&~)HZ;d|BlbqYE~NJQBq3EmQw(w{-EPwv;_R&n zE}++6(WR4rdE<N>?4j|xDH9L5o&^?I00izIZcv-!`>P-1xHa}vTx*t#cb33w+kOn- zGQWKNtC<E&hWQ7QCoB6UcxP|0*t+a5Q}`60iKx{*Q6t(&=gK|w_##GhFel~F<w&*k z`I}Iqga`{=%p!civ@pHXSQaKU3;wC}x;Qdk&U`>>*9$oGH48azR|zzZZZAzh36w)9 zYIGzb(&?9A<kfoUzhgY8{%LOdXN;lSpc?~qhb5D^ulh*T=+CIFaeEuFO;q?BSf#FR zw1q&km=0q@UGRW@h!zpo1tO4iwfa05gZqk5$hMP5C~=*K97=N!hgl4mWhOillm(JG zIsx<_giJ*3X9I8?#<iV(2@UDp1hFI1!Am_NTJqn)o<jcIOn(JPfwu1GlX;XK^f?xG zLU<LFtflhM5rdUxTtt<ZdVHahU=?!YBJPj4WgzE!Xx0QYFw>x)Cxj}k{uG#jRnu~{ zG8bmaXck$dZV}XlYJIL+&x84rG7fFj2Iq=s3YbPosnjfR()EC$8LGl^rO948AqOPz z8ngBVAhafzQ?BEbH3C-)c?QbNPRXP^2AK-9yZKF-WL#^CW)Sy=qh|47xW-L;Z^8zG zT_zjTP3@X#RC-PTm7~oiXw_!A2L;zc4N3y}vh~v>G6RdvP7i>Rv(jzKR)Le}!Hi-s zMGM=ETD3rq(`Lw54jJVM^d0C<rT9i!B*$M~L|0>h(3Gw3)UQYsw(Y{Ek#(y-sjfK8 zlxAH{`$#jY$)V7Tz%A;YSMYh@JU)Z_*|U#5kFh6Z&lBt!X3rz=q=N&R2KG}CtrnA} zw=L|(fAn;=zAAp;WdP))3=;e`YErA#UBQ)tBN-ewP-%9`^<L@(Ua0*8+VNvn1#m%t z^hJhK*{Z-EX6&bsH`tQEkH;<v;CjHN)G<o}DdZ5Y2Z+IMLvPr+9B0Kq9elM-P(x=B z^H4W?z6Q_MXTF4I;FK7c0r-?F2M~Z$pFa#QaeF4jwH=z5U$T7TIPu^i@nFkxm_n6q z(KY~P$$%{^9t=b_L6ko&660&t;M0)J5fOj*U+Ex_3WAw7fDU2LLHF)poy@v!59`uB ztTXqpPTqr^*}DO<K|Ko1m+n!hQMz5Bf;6Y9O3Hzd81&)Nd<fx%-g`&B`QAk%--ccr zuIaJw7PKo0Mv_u`bK$$?@{RI5FrV~sCR^i<Vf6rFBZe*sBP9+#k5Rp!;vzm9{_lh{ z#Di~yDufd{IrJWbBy|tAtT!U)#a?%9v6L12Z>(6>2fhEy3Z&N*$Vz#fm2$VVtmSf} zRMB#It(4nxd7~J7SV*>qgRkBP5X`Ywo>-oU1WwgQtJgk)zoqx4k?;K8nYgHLEV*5t z*7CSvfjp@^nYCpk>o91WB{l|d8v}R=0dPej0q|!8SS<$L!S|zL;7xpg9~1?A%VOXF zzBh@1J@{TO2L3Azy9cQu6h!87i+c~b^+BdWDVrnOf=GF_(kv1}#tZF1%A+rW1aC8z z>(vIrV&FxP?pHxP0T8{_X*!|AR*O$jkc(pAF<k14dBmsw#$gZ#U!i4^1&C)k{0UW6 zV(=$0%e5TJ?+hX-qS>iazur+!I~&f>^ZoE-OIqslJ&ey^VB=T?F`aCzaQ(9PB?t~O z0Wlx?R}A9nz?gATxv|M|#%K~@w4hwl<kVNOkAZ4*Kns#ol77?!ShpDXEf03_u$;N` zX%G%-5F-hDb~5q9Z0D^!wiSB)eZUFY`dDE^3|tRoW1IgK6Tex7G+*4eIPPx5c7}r3 zWOpctV!=)CbuiNdrluL4OwwT`(Ftvf<E;#^lfhx6o>9lDw+JdCX(K!U6S9L;@s78o z1$y1scJXyi4I#8-eXj7($=H}i^cj(2m=yRJK6maIX|J0eLKV69EnLfwtrMRbVgvpW zE)vHc5x2j_;=e8aXaTBPu}7sJD6#KJbCuZl#o!B&Ho&TH(a{!gQRkt=XyCHtGIGZV z&h*Y=R4&B8EtfS-&z3Kl*N`9*-Wt^u74%QlG}<w}|A$Yqnp3YL18qwdF&IG}69d1( zy~Q-*<CRXK_Z^(Z$F*Gkw)}`rPON)t?d*GtNf!s(nDE#IDO(m1Mwi<<>I|q6&dLOC zW@HQE79}{0lSS_+bq`W1ITOv$3&!lW0UQ%S4Yp#^;<y^zKFX9DlgYqG8mmI@1c-fs zfnW}gTPs?g2YOf;F4}4*$N_AZayW0>r^sPazRomqZlXkwR<s(y$Lrv=wJiq_)o;sr zK*VE!Rw2;mGm=1#o8)ncF@Z*w>x}2=HKLxynu5cohHz4j7ASPR7}y(U<Q-6P%yDkm zYe4oyi0ip)#@xar!lMA$#sK)5j^NwKnXSQh7(L@WggXqqs0+fNS&*Uc#gaSufk?iT ztM|-61XLdJ^~LchkIeHNC^C!V7-@VCG^tagKvNy>Zk@E5cXX^DH+V)l#SOkc+PDNW z>;Q^*pTy)8+c|}eHP>t&Lk?3ECV>Z;9J-n`NM~ldY?{fC4#^kw=|p2fB^cgn!er?t z!W#bE{cews_J9qcMCL1(?CSH3Kw{+mEhZ!D&DQLt(E}mZ#lnut1Y#)nSY~w(W7LOm z-<iDCVxKR0HO9MyJv$8ZozaDNuYq`z)9H9i?k{9Scrq59%LLYrYXnv_?e3OhPD(}C zuXR|xBIN+`67={=WD|zPZl`qHuduhIbbY99istS%Bm;%f%-t!{I6aWB4<Gg#VY7DO z^WE%;u{s%;<w+V-?m~=vJ^p;U?rUb1X-own2SyV^AuN<`_&S+c0E1fp;^px^kAJ=n zM{m|kP!6ET;`IKO)&#>_zD4$onKt&Bv=Dx{{icwsA7t#a5U6xl(vOQ0QdXX8XOU9A zw&&SVJgWQYSN+&In47DW_eAp)roCxEc5DRP2~6Gqu-b&;wmFHbgt+D>AfD(?;EM8s zlO||;@Pi7dB)r7pY6+Wg+l;MjRz?>P5_+2T4H9+RiQW&Py?;lO)deD{jyKfX-dsW7 zk7`<1`;Li)PHxf-PHr*$y##+>!CxHy?z+**t%EfG1C7hkDt!cGrwy&Ikn0x-t2ALm z`JMiJP>dflp%LNe6a%>Pw+ppfwP*)CL#;TUMCW%nc}@|u4rgkHx=HA87H}QTIT;<! z>mXR%;aq_Gh$IX1ZHr(IN2KZ48hi6wVju&l&2<9HMuUwMhnDjp-l4jB4l=;u%_(HK z)78!RaRuT-qp1m-%}c7gLuRIIs|F<%5y}tkU>Myv1|wyaz_qL@Xi1`^tSaV`IE^#D z>p0YON&{oG6!UL>K58QDOL?T53u;@wOI$rf06jtSDwl?(nl>YFz`eT#IkQH~aq3H0 zB}DEf9k@^Q$&AP+CgTEqTMROCstE?Ol5czg%#u*0*-ZmC>d1=$^k35|1*p1QarN-_ z=I+fuwVfjuv4kR4fC<fuOf)Y{Elc^9Xj4Zezb$x9PW2Bgk7kheDz-u#{u;)t1ic|* z3eazPP?Hw<MsQo8E}VlMtHe@dEX5g3S7Jt)hfiS?t1oUybm<*{Q8WYLI!(jOx*IZz z+tGm0*nn#}#ZWHT$K$THw!xI552qxTYH&5$HsI)xr_lq3#3pEB8P;VOS%x(dr)A8R z-7Ytn(<8>>T;o_{QF-YM%ru<Gza$hq4`1kQaIuGRX&jk+F5}qwY*I9<!FeN6O${+a z@)@QtJpcBU5qpPO8*8>d6JxK?1@?OW2zvz&v)4;u_WCbm&0jpl7@D~FP&MDlYBGRi zOxU9#RKUpHab2tGWJpcoxo{^#7D*RGFnnn_%W=hrBWJXn2hcTxAr8am*1cEEFt~z0 zg;w7N!_kN(XgN!|*=lJO4sdlGxjX(Ta<{%-T7;cOZ_G{X&D3e#kUbl-*Y*A`x!?hv z3+5;P<{9WtX+oKD>87TyLRFtDm&R?(_Gc}JKIh*&KOQ?jwE~$wyVh}JYIt@;2@7@Y z^o7Z6>BzL-X)WX0A+DW<l2H|UlsU1gK>vzsG1WqiD$plznThn#*U;*m59567*s(^g z*vYNdiV}V{7IkfbB?Nzk-5#%xjrOgsxb07F^%1JcG2)6Rs7rOlLax5ms7V2ZRrjq{ zv+%RFp`m^S`M9oT)En&BvBX9|uD-soUa%Emxjtg*aA_dc`kBW3xCOZ?i!9}h$8F|f z`m0X>@1<r^Dd^$nFzgZroctOwI1xouwI#HSs-8GmVa8p9>I=%yu+$K`n+x$P$dV_m zp^7Ihs;dt;-W3aWNmlY64cy9cP^lpp-t64En7Cr(4Ad&W)zS>Yy8yX+EDF~pQ1CJo z?xYhL3jKNu+W~QGakLA1cbom;_22E5Z%|6Nv%TK@MtoCcX3`l<B+CT9;eIU#<CVh# zsW#K=Z)Mxy_T^@2e52kYr^yj|qaIDFV``Q8T9khJ@zp3PAG19jQYAp^4$SAcKj7fl zJ!Ua*KYS#LJxbq!q~1I&x!mTn4dANi9IPr<8`R|M?Wqp{*>0HO)i)bLPvRbfLyt6q zXdr#KVD$#+Y#3S5heB}qm+gePQn4i5G5?3lYQLteL`f@joDivbc9&WD2TO~5qclsR zz&W;2)SyJmKU(4ey+pscaTCtSr_tP&h2VfBE2RM#MWbBq=jmiVu}R>ici3>P(ba=4 zdtNtPj=_<2_Dr_U-owdv08Y^i$eC)y)pRd(VUctLit$yt#F<F*u&O>SXC=xRdTa>o zs#^Lph;8><8lOdMTyb2QSL=HG2KvufkXje_8ynQ-ZbvElk~I6sVC0h&<}_mLu;)q@ zgd1?06-ji{H%b#uHb%|WqiEL6a~T-nO}b}91ysvov;`)51vd+H-;+Gk;^@C#>jYz9 zSQ+RYDI@zp9$Z5tm1c6J<wK+GT+5{t+4(C0byhoYvyUt+jKM5E&*%2ihb}?sZu)5j z+t6@y$|B?ogdY=??kj4gIhv*{HRmfwwFbzjtl?qqt|#p)#%w7C2jp}wMd?)=y~Rs6 zqlCj9ES$_{;CihSs<nD)EQaRt3Kzf)o~fN0PAu^Ht&RJ!I|sn5MRlu3Z9Wf;sldj7 z@`d{X-45oQBZd^HgmpxSf7xCv)h9aC3(c7PXWUb;ow`e17Eko$%cROY5K*LC?8^js zoSWW*m|>?+hfa@9wl@p1bs&<0<8ezONj9dt&O@yfZMw>6zy|czofwFh!M<gcv?m8( zJR>N<0D~YIiR(Pwcv&Bb|KixzoPo~3a&dbF*x~i%xG-Mw^%5)Yi%bvkUsu7GTFmqf zZNAc(OPgmV6b^HxGF-6v6lfC-_3cUlgGBw}E24SGG^7siL5zcu1jS~8vV}KDSw8Kw zkDdTxP_6^w>JYXKH|BuucAh~tuwB7)gp`eL?eu8+C-o~vv<+>+pAb0dngfj2jbroR zB^;Z@FgUhz_G!o}axQ%ZraS+1nv$E`)^UG?y#o{xTEGytPnUSo8U3C=m!{+12Z=d` zWRXUI4mvqATZ@j?_%moNr!$Xzx;&3{hL1}5dPm5Ud~}%Yn~;%Qz;V$`bzwBkM?V@G zvyGNyhrh*e5Hjf8MBgVguaMp}Wg#a|aMM{jm4aR|j#m5?cX)0e@s@&C16^@+b&O5h zHqCK-!_EHg<+f9UUpZXnsbQx)gANTQ@$un5stlr*WwnKS-$9H1H`QkHl`0F4LD^^< zsAO_N8SdWrXi{+9t8|FUCw;1n`_Ycnbr8An4iHI85HX-Y6q{AI>(VUQ!Uk+%U6120 z(l|)=d8p|eQ|%mokstE<g`^N$jY`oOh+JYXZGjlc=A}QG!E_-p*u?gQENEG{wPX`| zUAPtxv~C6rP@}7DhwNDlPBQ5*q@6wsZER<H1P>UJW}HGJy=iO2FT+tG;dr`ZjkpzJ zwl22dBOf30@!`aW8y~Ciu`cvFuF>2rpCC{YOy#<p1QzQOo+B~a<-*I#ry{;!&L{yz zgPc_Ux>a4)?|4HRU-(9io32L%8>VrWK$i6fPf0GL%Tjm<6b)OLG{;DF|Hc2nt^S(_ z|Dtq4!F?DF824dxAB-zmW-%TqJaNCDtD#$1SvV94bbto(kp@-`KmtrHYs9&cPFD}J zw`SvJ97niPm~g{VM(H$s8ExVAgz~RE(!-7H!1d5?K@mwuj9gpT1B$!q>IXbMzgSL= z6ydoX_w&Dau<)cbqvm;ASo}9kt)uF)3u<*Ab2o>mWsoPfV$c<bATMRpl^R=IONA;? zj;`oxr_VvuF7$H)Omx=^HVfF!`5YIeRC}FyV?K3(q3oYn%RE4UJ_UM=S>IOD!JI>3 zz=7J^rO9pFo$b;De@cVB*(^SZJL|2c$_~?=m89BAB95byvv{&p0=5eD)-p2)hPdPM z`p4QVtrIJq#kn$d*U$?f_S=AoOKy=YB`YQKVn?%iy_cO3VcA@{P|^6P9>1_nXw7C> z`*ioC>)V7ok4iIJF5N8UGKjnm)6JC$Xv-)xhBu6Zacj+`jnEeVtlsI+53SS3dKfYP z8v*@qJ^_Xi_o8Ok-?q#ec)&1Cp3e5x#{*#y6+LgzlV-Ndg1s7K!|MEd9yorUZM%bh z!}?u0Y^l2{!OzicSI2WBZg0riA1`7C-&Ka)u9s)Qe312PeCF)N=d>5`S@Z%vOMd~+ zHQRHJuvgY=>^1FK_DX%4z2@v-ubZ~R>laU@hG(I<&Fy-Hz4=}H;T-~t@-T*j-7ryf zrgHF&CfiO--1W-LGOjaqH$2nPPD}muOiWFfoGLTmb_Uqz`4PKqS8OKwDAV5n``4l? z2byq=Z!_l>G~kp{1mK`c43r>DWBRogTvz)|FGBmJSqkN)Nea!9%vFq`_VakCW&e2g z<OO_=<C!__^^v|tg8^4)LX~+wHywHhBv@G7cZ5XLEj;ciZ!t$cv}8s?TP*+ipa1zP zPIb)3KCket*D+(8)zE5j-X{-+o}323gB*(!Aa1EV*ifGwn7q`hwr72zAia#n=>}fQ zX$0I~$9%YOF~lac)<7yUzSGg!)ZZ5T0zf;07?B?cOE-s}|MD`@-w|=I(Q#zs#KMTv z9eO$o)BXAP)8coS5GrpomIuP}8R*Lm=1?#WS)evI)Qo^`=D6_~Xi>Iv9*Bonkk`JE zWFKVm&<D$ryebj^@v#7GSA_u;F`xqMwe2pfW*}mavRjszrdisyr(&_uai|~VU{pRv zK|!tCP1s#gp(DUP@T5W0!Khd7#m-<4l=DlrvwH*kCePqA6v)P8<B8CN`O47bjpmjm z*-*>LmP7ebQMo*MV>U+QL&RtKt(K^<gX78^$D0n}+8rAAGtQuK4?@|ALiuPPOoq>9 zpiQxpdF3r$CrwkfuH~djWMd=fqk=!5e(!x$IXdV^eW(s((Tjtq;(;g!5LNDR6fxJn z+rgNa0!GL>UGW!nok&Xa(jQ(#ts8;V#f^kPLpA_iJGu}^@tA1zM?~&{3ic0-=o=t# zJTN>caisUabeMLm0H|+xSf1XQil5kTTFxdYsJJdJxe}r!TA~bJk;jh(kpLumP8p7) zt6v{+@}r5-!<aV>3~090*)b~Y^1ta$;A6fAFs%-#&4OcC&W721AKEYB-skaD2c9CZ z?|*hO`d9rJYX++%JiinVd^UZ$O`}(E0Chl$zmsB}0bSmD+4pMP=GxZ@47{239N4;e z9>hg~02yCklnu|BAg_hW^UxYQ1r?sU3)i9^=hgLQ`!Xs%8G|ZXn!kV|kK+=A{AF8q zpi2y(*Ri;_5}2i{_y2HL6*KM>s%1S;%y+uxgK-f0?QVT+qBpixqObH^aqmL(^?)wx zZfkiO5`_xKG$_rm*b&?C8E65Ol`WtKo`iAJT-~4vE6v?J6wuU5IsvuLa<r5<`fboI z{U){C94fbj)L%e353V7%maS3empPsH$QQ{)`X280?gLV2Sz?^VI~|b?15oxB+%Q;x z8z1G<UmeB<3WD=)`4TDT>3B3H%gw4sh#J-PLPBKelIn4kRMFk`A{=8exO|wcAdakG zPkDzifwgfJGC{}ZkXqfX(Wlao5x{DqD3nP<BaAndaRCk#%W_@}_;48TBouw(OXP_& z!E<7u5+Yx1#W{atBN@8*k}{j~;KYO*FSVd_cB8V0+6Ix&Ya1FzIAk2DY%JAz#7!UW zLuIwT(L+j+E423pD%Yim!Ow7$D-}7@AO`=8KGs=O>QAy?Ilt>Xw2zbvySmxiysM`G zwHDBHl~`)CWer(UZds$6T_+&g8Ko?x6bYa?t8GbcUTbUXBuwbl6ObF4L1N{iglTQv zk&9`cXpCb=(4N3Jc?9wQz>ZL-VVp;MFUifg%@&;x$bSAeWaa1_v<UOJ4e7Z&RKi@; zZ~@h3T(*t!xEu~tMz=s*yHfgcA@j=hU!h*+;FpRK1~xH_wacG;4WmFWYnQ%XS~U#{ zZzNB?j85k5QoTJ_evmx5Uk^=!5LhciUjTZ0F&F)L8FR3G@|CLq-X8@hVgTA+ERP-< zjo<eLv(BCj>lrH`qmw*&7(zE8iMr`O0|0sQ7<@C;ys*<v6&7_O5t3P9n4kK;V7g7{ z;M+(cX{D`s(1=O)XAvtI?CGhX-e`Bwa#m+(i@Vb$pku<et+5?I71B781}J0#3NRMa z5y;*U2OVrNKN_8e(V)3&)q>pVr7<A)+J+IoDd@-|Bsm{&vrl`M{1BUq`kEU9`^N@e z85;<X20{%ZXg#i@l}?O_H0AL)?j)7-$#6Tv0}8+fr(%&1JBkjX5!A#0E>Iw9NOk|$ z(5hcSIveWRgPL>)p6m0H`Hn$pu1_td5u{3(@uqsIi#fM(wK(NHJ4K)JYLWLzXFV7) zIM=qIm}%$*#+b*><mq#5<vP&Qw!mDQM{_WG-P**2d*zfq;WqW+glncx^d&exRJoRv zqL)2=l&xC#T*Yq@0BvS+N$yE3DrrRlfF?yPC{x~rHq6}FGF5j!o8;CLwRg1>kRXs2 zJfac3{-E@clk+CsspU*BU3f}ghsteS{n1#@YJquHgKPw&0gZi*{%~}m;Qw3I@&BRf z_LIq~cl^Iqt>pwDo*fcM)T`xSy`&F%bgEWlnFC$+h`wPk0?>*89rf)aXiWsPauL$O zJj72ZS(pNPdLlg=>ferfcor+5_Yc5GFt{(^;6CxGrd@+RkO7bA!!UuU>a1M3qu0sd z+Rqj%w4gxmOfn5yq@7lu#NKDE)L<@!Fm{Q$WnIUUXiAlLJb5p=OmtQ@q6h`S`n@j_ zG{L5nv6|FEoF>e)`U`#egSgCU<yu^z*@=_`-`a+?Y^8H#y(b3+Q7W{c9nb?@q4**c z5=eXVK2NT@=}Wj;5q1iR(H~>h6Rd}qHsZD|SS7!uxYk>XjB%$|ht!I!*rm9QRm(;@ z*Ux$BpOAfOwVbE1JD2jBYKo?NX+6+;t!)5m+5z!+CZG9JZ$*WxkMV|uet4YmMt!?q zXgq>FFMN_%$`%8t0g=iAbY%eL1`8vV^YoBW4=vC`UsDz;(L<l=A*UWXtA{G|&`~{9 zrH2map_QdLlo;`AjDYUyzL1=gw={yZnBp6w2W$GI=c8Ncm_GOEqxA0=^f>0&uw^ae zo$aF+FQcn7V|2;7O=CjEtSsVWC`5~mDP%f_zCzbyxzzQsrXdHg;oA^pqXyq*>W?Nz z@S6ns@LOy(5e05N?m`tIH8zGnVlub!6@2e9&p}RY+|2?OJ@5hxSXn?RMF_}?47Cdx zNSdgWA|NMaDWz8Sfd@7Vb|O!*B6cDlb*5s*r|)xuVUAENug=Q55<Djca2C}W*o{&| z4Ezy^^_dg6VT{@7gdzMy0EQ_wvM?);u|0OC&esfI`q5=J;j+r;uY1|z&m)bkHAvd5 zfYKpGs=Jb6p(;t;r#~K{?gdv<cg9eXx~C#_e>!w6b>rev8vV%-+6hUE821p-ExDS~ z=iY#l>x59bf$3lyMdG6R=_PR=zdS0dbwZ?B5YQ+9fyegS-SpolB$l|xx48s=N~<f@ zT6d|#bs5jB+PYfnVjZqaTp5()H)!ju+BzQ3gw}*yF?R^#+;q$BXtn0!A(moSKN>)N zXaL#5QLDJm6`$=gw>0;&^_o63sz%Nsq4&6#uJ6Vf$V@8DwY#5?C(#9eMP&|`j@dTH z5v}(YXv%J<ltm}Aq**veeFWCrZi6&Yt><@J#J~@c?3W5k_pq9+R$^gF_m|3%6!-=R zwJ!cE<_<rPu5C{^&r4>ysy*pApM|SNf<-@!0OUN~iCZF-X0$qdx_2lZI9nL1GN{>P zX>MWcZpV<il;1MVho|0XiGKD3%)4l{awH#W#jTddNVORqGNz(K#zYcPx@VA+k;}U4 z^)pwU#^&=St3So#siAEkc4r>~!a|an1GTnQ3#~$QB1lwU$R)7q-n=ncoxM3Or6>9+ zDkR6WVMTqik88l*6mYMD`OP@;uC$^sNXPX-MVr+01w2G$BQ(=*r0+Y~7MMW{EYKsm zoO+J{_iZ1KrbA#V8k|FDgouGMoM_g80Q;jAv<}bf`9Q%wx}!LGeL<Ffru^*>*m@?r zG3B6r4xR(&I#NroD?@AAs!NdT8ka*kjYBCYhL(<$ASPYocj#pRM`UxH6L2iqQ0%4e zqr?0c4r7Pk`09eWWnAL}P)OmC8aMUc!PfGih;g<79gS+eh-iv!pwSI*9v@wI`!%TE zpu-SXTwCy`?a)yGbnmr5e4;&;d;`}w7fSNc;)VK2!Q1@(2@jVujt`^)Wk{1|_<Y z3$9>!+U;}>AYJR$Zue+8&*J2SOQO)#^^5ermvSIblQ<SLBhl~j#769LdIJb+ePd?^ zoA*W*m3@f=QEv>OjKbqkXnw}&9|m+u;}{g5Kt-5*Q23WnIj_X{rj0&Yw1}PUFXw9= zvGrB^nHy7VeG2I`b~-wnL?E>|UH@U?EZM}+VhhANS!`V*R=PDZlmd-=mcH{f#Oy*O z*b&gLad%ef;Jx%UmcUSQ3AMO}n^*<*`gu@MJG&7>FMUS$k7Fe;Xqcu`{khBQ+m-7$ zJdux=EZ{W#5OhD?aYWw(z`A0?x^8ssrc*Njw$tw)NiOvx>^=ZMU!=h^wN+>*c=vbr zJGq1S@R69KW4%by5-0UKdB<?mS4_rw_fv$T{|l7QriJ!7^VleN^fPbJTId9AZW9H7 zW63l4i4#-?iO17*q^!gk*;dR>Pkm`Sl{i0Dl`B4dh#ac>hQA1Ihg6jqkBIxqtRAnp z?*}H^DPO2U$PEr`m`a+>q{{5L)Raz^3&yjKp{9(xl<-`~yG@k!`c=j0<@tvjErY;$ z%->}v?iRW6o}v*amzeEO?h%g`m3dL&mwr0xMz)-emd`T4>n3&zOiyv^8$pobAkKma zoiTVq={6*HV8-~x=uRX0Q7VJ&6x+XHO&{a3Wea~Z2Pkdx0dML#4<nwBRPNjawM}G1 zaUz;_wbK_JECHTb3$X2tr7IxY^|+F_3uQ)oQcim5s;_nRP+y55-jzG0yfS9ak~chd zyOd4NeCM25iI|P=JB~Je@tv^Qc*t>Ny<oS?Jc%TBCo-VxVY*2it;H2+WhhlPqiY}F z)cYBW073czo3K`?)iIbP)TOIP6|Y<p#2^}^B&!iBCZ%ifdD3{v@m_Pmce>1E%SvUn zU4R6ZJPniYGX4b+a-81$S5g-zp!uyX{SkDboZeZv8W}!XU%De1-iG0&r9V!F0~lUd z`qN~XU4?LSX($<f0>jfwpGt<G#Bg@$PcWPY;WpH$Hmvpw+UZ(#%j#$vHnK)LO<b{B zwQ?2ANGlqW^ANht6+?ILD#3>n9~E=U#@uQ_vaqwgb~i7H<g4!tn2oZagw2kQrVG$? zW3^E4h^$Y=<P>BZtq9AY?|;Rti~L465<}(tBmN3!VAfNHGPf>~a!9*BrM564&4NDx z{#F-8<O;g}A}+qN<ES#biRB@jo)E>I_=v93Hm)S6X&o~eln#NIq7RaGg^E&%LQPU( z6&TxXXOqiL$$83hR-a`4`yisX6Ccru2eHjN@e$29h^^j<kHprcn@;?SoiVJng_Y)R zpo}vRYj<_aX)qBS`je*FT|H<ababOl6Gk7yAwkN3#!0El5HC+9_W>2Xtu9^#@v@WL zw_2?}(Ybi_c1CG}e6vnXYV~=N#Rw_~gT^=P)#sZhlj`$GSiY5N#W+E8osXWQTl(06 zg)tT#mNG-zxZ0yF>#mJXhMpzOXV7a$!acPI{(?im(ym5q9C0PFG7;Aab@6Ijn9?&z zaf}qP<SG)_wfySfN*4568rR|AK6)l8^3Ckz^9wL}g4B=RlGyr%F0^%(PGa&SLL$ih z+nT#E491I~TY}eY1FyIWnN_2;Yeg8Ko4?c-4Mes`P@CA?t!rm;J4v_PwqoYxcB8V% zVw4Mr(^{IJ`qRl$PU%d1WtYyvS6V6Od=8J^mNV5I?;&VB*x*d;&9SveoImVry%NE| z)*?kOB<8_`-vTqK%~X=VQNT?rFzyOUX36QcF0i+tv6sZXVW7Q_bZiZkmC@4xnpW9n z3WVjanfaSs2u-EEpJ|$x6ya%Es1UDmLF#`2#<`?aGA#De0D3Ls1!64wXMTRMkIp=c z+)`VsmgeH^YnpUaFToSN%S%1z<#wjLWnpQpbgSRsp%>4v1#6rmmwG*J+I;gj6uQ^n zW{d(;r12sy{J*NP^5~1mKy&buQ?3WY?!}SS+FB4M!1h=_-NK-985HQfJ-P@d)fSH} z>{Zjq-^em^C$3HdBMDME$^w_bs}q2ES{BZdEw-@T761J#@#%0Ss_Z3NTJV%4w3%8{ z?oyYT+op?q+ufD)^$+z9ouH-RaZ?cO)#f&n<}$Y$Dxm_XE^tn|O=*sE@~>Kk@}<<4 zp>+9|P!iv9m&PHjLd(QJFQ9>AC-EievZ*q9acT4;mVk@6>=<o2-UEaPS~P?0T)C|) zno?QTvT&tz39-FyAYuSb5O=)Ip-Mwb@hq5b`l4C3u<aZ)18?th#ZUGIyQJ}Vv&vIe z-USWnlE1>Xz!*x)7>)v<aBoSvv^aQ9Disfg-2gnBzTd4kGONu5&C?sFrH!^Unnm{| zK#Y(8Nz2TYy<YTnI3=ZZq;S|{n8DJU&Dct)UxBbnKBpN*_P@;R1{wRb1a&_`L62qj zKqK&(*V8&}EpwAWYhWi5y;?LE1{ZHRfwmRr%0^X=lVx$#q&=Qcb3e^MmthzBFP1{B zi`L&ms{6szT7MUbMLtal@uDNrbi11tyvy`o$3^LeM0Vq_&x-|gT}c*DwF|HGQj73< zFEClr)p68MVdpwP4Dkn+c?DOHZRgM(L%vyi7k#HBb7v|-=uRm5!j=--Bxm?jmhZxZ zXsTWU7*#=>f6?7a&&u=zyb_jluCdRMvYpN~_FVar{`wm!dKrrHcszxjo|7@B+voA9 zu72%Z)fIzYxy4QId53Aecq7eB519Wk(98P)3fDGJLdI$By9fbVL0#OZ<@_40lJ@9I zC6*%b(10hjoZW0;({WJ@pa)X%bSVS<H-_*rP}t#gLtXTvw;AIDx@NDI^CIM6j!96T z*GK<Dw|Wx^=op&pHe@iE9Dp_(@pP11%h`{MG3X417jB^lb?!p1tC9OqEKK249*Hr= z@%Ua}`ib+8f5e-S9i38Euw6<YJh2NM9ipqeIF4G*F|1RL+vJ#*a|DHGpT1Cn@5Ahk zSGj08VT5z_+gyFNKF6S(cJMwZIhq-~D5sH*NVg@kPi3ChgYT+ESV4WmiczHn{h&p< z^JH>K0!2SNF|b*1uyY(uc~pVa#K{2!p_wNWerM4s$-~w}Kl}lPzj(01z$@L(`nq<# z#YYUbE_>=G=ox+98r9F26!3!)cB@oDn?Z@-KI&3ELjICnhMe&4O5O))U{^>bE|5|p ziR+^%DT_nS+X6jO!LQf_QWJiKikp-YeKS<1VJ(G`_E6dI$k&yTuXy5XWCtBrY;5O1 zCAK&&%2vnF28(_}O^TWe)XXeQ7B(t^hR!zH)(unX!za+gY2<FA3&#`wO;Il%1g!3( zAMIoA+V<sEG58B8V-0axUqv%_jU%$*c3@r+YRdF^yma^PnUzQ_CvZS+WXsL)NjQDu zUEj24WC*!#a|~^qM?XG}E=VJ_e^0L+;KjgWnl1xYt-I3uU35`0>DZe(8ACIeIb&cZ z<Nk5AxyIx3`VFCKYmG;(Gi&R3EeDwuGFt6*W-(Z=pDl14l@6$e=&MPo@K0h84=o_S z;V~7*koaT+ys=p)f5)2DdtcHO{TkP#&FoST>nO7%?k@U|z07w?xXM#%4jv-?yAD#! zTz)li5799%UbmVVmgmACTj1M_&XnW~-b)7WKGHt88sd+T4tyI=Mi;~PN{GR0-2mof z@5yr~KRbCQvrFzDyh!>0$_fw_1(v~2j3=A29RRmcXc8R&yCHpPAtX$FpulQ72VVkw znFrq=JfpnNkvGU`au(~UKV;#QIW2fpfZd1c^+8>TnH8@jU3R~_rl#@bM@P<OBySdl z;#RA37zb1o%m?!epy$~plXYfgco^)@2MQJ_mxn><{cXd|p#>X4D}QexnQE0;d7S6u zW6X<zlnXTFR*qx0tYW|lf#}PtpJHsL9L{Y(hg{^xG9I@9nG2v~WA{i_3AQ72{2mQ@ zxG`5-2lQak)>-L7-F>l+!9X+Al>NxL?aSCLmN#fW$kTq1tNmau%}D@)M!3xD^N`PQ zUbmgX1v~BJ3g*548TpDt{07=E9|aJkc0szPeZn?feRzvZqtEZ;YUs~uIF8x*%gEXS z;r<%X6Rq@>#Dz151iYwn2kO$(-b7ux2iN!=Ma<82mY=7q-%jj3c<Do#SG&0;*HmtJ z6E_lh+HiVwe+~*!hP%Zd;_89NM@m;S4>J_?=#o4W_qL|f??;m>R|obY{q02I53{12 z9UPE&kOk<~=Z@y#k*`cpDHFcH6G1;URO)`Yqh|u%Lw^bRX1}@Kp31ywbC9s_>Q89v zfKcz_i1lYj@k9^(h`ky}`--U5OQ#|jJ$`i5<GG$0882hU@W<HtIh3A_>#S1|joxEO zAu`^2X!cMeZX5OP!^2^^+prk?sX;%L*u%P^4VO-NI_b2&Yv!T1Gq-tHH~RPfE2;o` zkKc`&ac){tGfqVx>LM@wG+pm`nDwqF<?$*ofKx~ZUi;NU?*uvTp`YM>o~s*jn^PEZ z;*CdDFteF#1C^?59`RzvRl!mBW4+A$Ys>s(Hiup&-Sl<+yjya_Z)VDAHz(gZW(crQ z&*;&Nx7k^~=y>QH=rm|_)k#Jc%{^e31Ybw>TlaRJ=cO<Hjg5{NJcT#nxZeP~wz*qg zJ9?mFs0%yH6m7t~IFryq9Y|`_2P*mlhRHV(01MumAcO^8>d-5aX257{c+*P@F--r` zH9Fq(;Wuz)@EAn(;?W4mKan2n8hg6rdtK~w3F(ZUN-W!<2J1MwVXnX1c4|2~om<xD zQ5C=vSGQr&bX-?*<}VX}Q*8kO_7z^4n8|Jn!;_2T3|_!TLsxWj3JfW$<Ae2<!izxM z#=m&zkzeah&z+-w3}C(kx$ImEkMDF@jYp#6$TFeOZQgbne*vH=T?t!3*Nu+Yq%b?6 zCv}+x=V~7rE_@6qA|CltB*!1^;_>>1?S={@A(%6=?^dhhU|xv9(~#f^<=sjqsLT3^ zH?A&=k!Afby$u{P$Wr7oe~)r`(FUV`(Szh(-f^!W--X*}Ez0Hm^^?gPr=y`IDg5B+ znJf2K45!Pp0fCv5qj{lwx<^ueu^;_fAkl=0wLGaa6OTYv@T59!tnODI<k6&p=lz1} z5dbaRDH&61T}=7Npw{(^!KcvoMUFvCWQg}K0-C(H-tobP6!L+wI;Q7>?2dOK=3U48 zQa#=;_XFPX13`8iWH=Ayub)JYp8jI+-I)^LyTr)LGZCp<qf<incC+|bbZjw+;rj!g zl_HS4dAy>Kl}PRu)TIJ+a@2?hW^+H7SdRA-n?==qA@fO63(x}YKLPYocna`zEEVKc zZO|#L)#7lZ6+W;N=d?77oSaSGVBLB;3YDf$X5XxLEB05U=SFW}Ko;oMF;KNUg#W<8 zpM?Sp?{v`0;;Kolm>&nVN)yE3MVv1;GwoYnU?N$Y@!)RJYq(8|$AKaripDDQA5nMk z)PRM;(pi>7+39Y91&Pz5Cn_(t9_EteLhNu=x&B#YX?d)ilhc(|{4k4AHVK;i2=XmV zkMFW5m?f`1;*}tCOan3}IY{q?M?y=+U8o6FS!>+%^FpRv;wgLv>PSV{4ZQMQ!OFN} zm&DF83%f90EkzXB`s2<`@CD`@X7YjY)+aAe!j|uZt!}Ld^ZCX~6GtbzRBMxxin%O$ zu3e1z2CPN~-*~tTFT%S@wpQY)j7~q_$mO%eaSL8gc!s6m`K|HV28(ZOYok9`mI|7> zP~F07saOT6w1CP?I+A<3H8qTh1<<&EU;(2uYBYw+gW={&r2Ww_<Kn=4<YJ(ISL{L6 zDX30f2@Chg{eGSdF{3N;sc3x6+=wHZKn8s`aIpsu4}^Zktpg#jEbh3xv7Ee7cs$Z; z4lTBnDOE8|X}y5wpF%t0@KP=C{t~38Gv0?mH{aPp;R6GySkK+^QLwE+M@~i0lhA!; zwTf5EgwQ?kA*f}%vie^un7hhr|BCd|R$1P5WH=HC;|YPK<+3q-6VFHtSn{*MQ#0KH zX&-w|z^qF%G(9Xn+~Ihyum&XBq{wF?dE*+1)=%z>!!&ib<EzkSdz{Qrt1Vyvi$7Wh zsRQjG=I~Ir@hqs|PdV6G*?8m<4>B;OTw1ij<X=>a%kd4oqd}0%b@_HFfBh8Xvsh?} zfeE-BDB!Ns1>6iJ(mgiu7dx(zarX&Onu;Gh*(#`yfue3He9KTB#|0VjM=v2GHplVE zj>g{?T5@Y#(U`bvAa(trydkyD0s<2A*ICqBLA{qpiE^(1Pe-jF``VVIffSj5QY4L6 zwEXpXEzJ{9iX0y+MM4!jD#-C@K1;KN?z={K1Q^l~o#b;1Tic3<DsGFbg1W>I2l=)P zSDw_n;%dchvECBYcf!5J=x-dty?K!3H$cft4eGt|&`MhzMk+GQFNN6yB9vj)r1}9@ z90q_1M>&qk$pq*e$9*Fc$}mnSZ-K~@Ov(Pv9-UB@vI)iXcRL#<6zK1bOxSJ|pj4E% zvc)LJRUMy^3ak4==C8<O*p=w^40-Q`r;wQ0pj%Bz;cVg&p}d4}e(QDCMPFji*;%)~ zh26?z^3v`xiI0tR>(VjZ>awUtwIVmpju4I#xOFEJ0M!DBBx5Q{7$q`E`LGWrXrNBd z-9Uq0UvsANmUj9Jr8=fXvw-ZBH#FP8>CbSQ&SG-!Ea(Luo;YSNi_IR+d{53$+O2Ax z;5gGn9cSdNWEvLyKfs&?n6vVVD40Y7HzsEv<h(VJGySTxvygUH&Y>^hae^}{)0lBR zD;?DcdM7(tc&|k@kaCMstVtiM(-@NF7GeRBqg)2Phiqp(L^kiJm|czd9G7okj!$~W zRaFps63=YS6(>K&?J6b0M?Xbr^G(iQvZKPL&3;QBpC}j#_2)N$-0WH$>;kz7AP-#P zNk$>)Jzpir0oZ*DQiNkr3@|(J9^P?}Ag=^oV$|4t9XXDS5)W-I2AWgrF3eupTA{+< zuqfL|^#z#tXJ$s{0r%)&+u4+;L(iN%EJ6-B6E{q%FU-7`Pbdm8s7E0G#H)|-P$Bsz z6bxb@#MFi)W!@vG08oPfYK@S<t6rzf%;5-7B@$=z?3U(CPR?Yc2VC=Ix?>EH#?v>q zR-n=VAX%dXn*KQIT%p%m69meXqSIfb-vNRw*d=AE8S0X8$n+o!<v!y{<ZFn!4cNM$ zWQQIzs0)K#@)XB3oM)lCLDypXfSjhx!6^M6_|RSaD3LQCYnXeLqZ-&Ld9>!Brm-`c ziMuw=9$<QNW_$Fmfl9L?-QlH24&gS%8G3jwx`f>K8Xi=RUZ1!Fr#Tf$0%ESrgK0Md z)b$A34qNinEoL@(u)~5U(4ey&M3?*?+(X8D!eOAF3B!aujlOjtxp$`@7WL{V;C6x; zuUVALSQwbRw?hf-UYhxWZqIqyuJ>5mm>oEIhh5cK`@)D>yuW7(G_3f>u}77N%j~rc zsKEsv<Lw^B>^UEvcG<$Xr`H75VTXJ@tvJ98*BcLvEG)8a`rT_u9D5I%n6cd~kj_Xf zHI%r>#iakffw8k~c|pp#6GQ5rxlnxT^Vh?(Whe!AC=Bv^n1lvT;-<oN^c<837|o}z zzjk$1i}k8{%b_0Toiq+F1=d%P9-ge<H4UHde5PA<f#-o4iD{rBjc*YHJMdrw!KHWS zT3eUB${Gsh0S4mJ5jQbu3)0k3{>OM$tvhijWfi~!9E+8Nz&SDC#sg6~=TR?wp7j<h zz!p}6CD>msi}>VSsd!mQ#m9I{7q%||w&l0+z*r_>t+s_*E@j~6NDzx9&?(BMVou6w zb1!IJ*56wFHQuh{Pr+N3qW6jiBX0WM1>JJIlZ3F&!lTA&3&?865%I~FP}NEa1)U$` z9cQ#;uKw#MvBZsg<r+gII@NFR=s;lFkAVsC`WCT2HB{YS<2Qst2vg(M_F%ITx%E{< z-2q`GWbkt#)>^k0aU?-(6yc!zbjKm=xEt^eJ(ih-kdTZK`<@ckT}WKw_8h!x?f|x* z69agfbfiqcVN9VNuKuj63O<2%<Q+grgSh=T1hgQQud#C3I&X<V;!9HGnc_a1t!s@k z3|$>5FIN~cDe4|<pFYe9!22~8N9W7|GkA@Ib&?ot#ClkvDG5BK8~j<z-6~6`v4XL{ z4u(fD!(%?X;lpBQ^@&eh0)x8udh~tIZkwRPv_2p%AlYh#SlpX!MEXJ!08$3}d>x5Z z=R!6RKyg9biAhjbHBeW+5r3jYrz8@>XyqlWiYsKa5einp(@||%Zzs=`FpTioHomOo za)xZt@$2BSochqVS`r`I4zQ7)z;R87$Qiwq!ZSE3^Keu=dW_B`qoZ*b!xte8tZ9yR zar>Pt4l6BWEpY%(Jb@?Gd+}J2&KSV*V(=s`!(fxDQ^q!_f;Fk+?=`8CJi}7;u@v`> zFDqN4K(i()tXV1ktQBk2T&GiE)u$w0YgCKVxsB1xFt%^cKi<A?8NS)R2MtNm9@D-> z*gpKtMb@Cr2=dK_AfHxU(zJSPONrhVXoO)8ei+|kP07~VVC*n3e$k)M0%M2Xg54nY znqEiO!Nz6ylXIcIDDZ12gyj}S*j<!v5^;MQ@#tNGanCqD5CcC;Fd1tuX)o+>hXO^I z`R_5XWH#<WK*tALk4DY<+LKQC5VLY@>ve`^eUO1yx-Eh_LYNhQenH!VAlm$qVsrG) zR9?cOI6d#x<tqm;j+56a2N;ZWlRvfI&Nx)I(%<b(Zg<f??8TWVx+uZD2XXN>dTWA+ zn7nsNqRvY##Z#E=TtJ&x{yfb8Pw=Vavt4>KVTcqmB5GK{?ue?VXP###=q!zWI9&(! zvMprXb(=~T>Urtx5p<HqD@^2_BO7otX$~S;Oo#R);S%>h?9rWZy4bHEh4R=I9O={V zJ|mgp!6moy%7+H&bvLya=vSK%<3PoH-XKjJ-Fvw?rr*`&>WNOI&yG|<U)Y0{qHb~R zA~_G}uwOt@3fP?^mPShq+O~VoNZTgR`}T}&(|=%_&N<pg+BAjUJOaQL80p?u^v0af z8&h(1V?=07Hfv0Wo35R$U*18|1}aR@m|GE-?pe(3G^ZzVBql)(F1(DruE$>2BTc4n zzQT@isseral@av*P6KD}Ni^`^W{+HNqo1$E-yzAPO|OhBi!x>6^6!(&qJCVIbX=6D z(52VFysN`RQ|+?Qgk-dkxwQAuj-Mk^{h><DUMom>Rd$!KF+<#I8K}sZ#>;*9b4$?f z!mpN+j<K77Bf96vWlYPovDfi~-Gx30ptj+U*Wh-h1%HkMCj8z{L9Qh4XP8c3`u$bA zmpA`Dc{@WG<q+iMTc=06*p}#!JiT=~m9EZk<#)O!g+I>5_B$`oi~o|??-b-5;5VO! zZt%M@^dE-7pUqO5tr}Y49kSRawhGS0cOI2y+#_F%P8kUb_eiN)wN?HCQ82dVIvuCQ zAZ`H`&%oQ!tp>R$w28TV4>wH@xh}YgD=zNk-1Nl3gzK)LRmbgeeEnbX2XNxM!8mW{ z^s40t@u#O^h7EUyHk*dkW-F92Q!m5H%Gf@p469wXLK!YIIbK+8#q;WX>x?Mhy3(W- z*TwKKKtFDt`rXUfZ{9!$d46}*j_mp0CU#^;fk{VnH91oFmU1a&b9HD_0)^>gQAqzL z3eXJeZiAH9I)nB>ndFH7#^tI3%bkSYA$XiSdu%ON{o;)aomIyxRM=Mh=Rb2C9(T+I zG9UfH7VDTJ++N%R|H?isfEG}($AiB4jjKO%>OXAg(Q^6{r_0n*1c~O1@eJuq#V9;y z2P3y-7T(_BvfN#qD+x}=QF%b=0@AP+MyebxYqP<rx~w|`%z-3D4E!1ivt10lh$Mm@ zCAc%iewHa;7KjOd<;ImyiY_pZGJ9PC`h{4*;6YB}|HQlvH922*KM?~@LBy7FeLrIm z%5S<ORIx}X#h)nNID!5MSeqPnv`cxN+_7VzIgE2ta}ORTYM0VGIqV}PEU2!2lpp=} zx_&XR5D!aea=*THjlXu0ub;H}2<1jmA9HBY0hkNlyW|KM;EtpE(ego;8LO6Vu-D~@ z0e1AZI!}D+-_ch=&I8UFo3nQZrXStnN^Hj<`u0#odIJ54^f-t+(hpqh?=&I$N{0}g z;->d}bZrYrAD##Rz%u63GFnG+3}<;f_-j_Y#}hT_h#;T`8^`8-)fMyVN3<a?{f+Kc zRNGt2hNfSw>qD8yM#rkUgsX-MrBZ%A+wZ%8=bF(5oQY%X$`=FYnCM3@1L#Z~H@YyN zZTCT+Lkr#}MU-_Y^tL<MEzCOziW%tL2f4SDDzWa3#n8xPue>@FdL`}{lK$M8#(Jfb z^$MQ2xu#cQ_?y81_zE=E<D>I`qThcj$9!yb`>(E%w+%$+K<9*9(288Q4?9P`KtnU| zjH)X40oH>bOdXgF*=Yz53`VCUyK>aaLCc}c{sCH&(y=d}{Vgsdx%vPzv)z@8POw21 z)e(B68~wmhgP=cqX5^B|(Mx51{0#ai&4o`*E@0SPRU4g)S8^TB|9f5%H8rD*zOxlr zPv`ba(9Ap0@yIq%>1Dj`)pBA<HZMZJ=z?n;z*=<&u+}91;&lqhznxryfAMGB8UN-2 zQKT`V$Q|Y1d>mX0<6rYA|K=w77k^)DOUX8^Pt&$;Trie*PtEuy@4CCcF~(<t=cGqN z{35rX^U$R`*a-VPiQj=Uu$u4y4HB4#jZaJ`cMt8ltW$YZwhbV2Fyw)}^R8+M{>oTc z;-@Q_X1Le^qc|Oj+5$vv#>UV`r|CZ`m<ud;UPVF}LlH1)IsI&p7gE!_^vU0_)6k(u zE{qKSvp@Yi!~c_?;_w%+;s3_iPh|cOd4F&0y@~Um+i<Slz|)Dp!HZr5n$6y3YGQ8- z9sX~8Tj>CM=h83meLMY>1@q}&*t>wf$KG@4arT}^JK1|aeVx4*(0%NkM}NcK#q{6V zyM+GozY#;Hw!ulCW>FP%J9}5r0DCW?o7vk<CH8)Ru4V7#bTxagq$}Bb6@7rcSJNfz z-AF6gdo3+t?{#zmdrNd4dvBrz?7f-hB~aLl3-&Y{WB1|$EH$!Eyrts*Y42MAqPng{ z&wPLp2WO0^sHkH^V}daxr~yWrK^Vlu(Ln^{D(VP>F!IZAj-OO?a3EzknMTd0CQXx= zUu~17>22aCX%Y|%{^}>1ghZQQ!c7hxnqVb>3E{l8_C7Prpjhu~?(Kc|b#S@Q+26H4 zXYaN4UVAN}_c!>6a^}Kc$s<n6!e`|1QGEQ6Jffuo;RJa^;Vz+pJU)w$`^Y2O{}x^* zk9!Ga{TnQM=BfaNhU^?ZSRX_*Gr&Ah`5SV7R;dqKB>Ai-J{wf}Ip&Gd)p_(8l*v{; zRjm(NCZ)NX=AzXHEth<zQJ-*q&`QZ?6!nSF2d$BOWYi~8ACxcoeEkaX(dmN<C7(YN zpAAv^ImHq-$6xWo2B-}p5Q_q?e5G3d-Np$*;;#tV=!&8Ae$!sBl-xX?kf+Mp2+zm- z>A3N%a{dwyWlz7V8&MlNKNW~U#S-o^P@me`2%&o~5?5&L?~><@fLlM<3X=FW{P0L; zAyX$0MGb_9WSW<iQJzaE%5zi%e`kZNE|>&0$u!R^qbk1Q8(_X%<-eZ`vtj`0e3Mif zeyZL|748kF)TLi~EA_sYaz4gqYV~Ky;~7HsBF!5LMDBd3*CeQyXPoa<wZxC+mDff< zm3cz1YJmK-nUUmN-o6P1`6dZp{c@lkwtKH$(MCT$fZvf{2H=<O!!O3$=;NT#&k)J* z)P%-?h8`!l{R(Kf#`UTbk|}Ui&mkhRIggho$hcY1sM8ZHGHzOE8#}Q<&?Y3wxpCk* zGQpzYw9W>l^N=#MjeCz5W9u7tOsGH8>a3SF_8cM-XAyOB=qt$POXwg-bfM=E5|Zo- z1v~^`{wKk=3G@FW<o~v_LGG#b;)6Odko`i%eU&P{fj^^Y()Ys`)2rEz6lK*FVwrWa z*D~vv>@4S(8s`@pegCS}oNCqT-1eE{eI`vuH?+&0pDCPIRQB60zbHmM*0$5Y?BJW< z#879u(yn&4DilY=sG8m#21bl>cVRfVo6uFkf3pFW15Cx{4XI0&)h>|LrOF}S+68iF zlfv0dazEkA9mb_EE{P>`Hp!jMa*XxT01h+`3|z#pS%#st{&}1S=LkSOzyW~Q0QLer z3$S}9T7my*n=9qvHgE-S1#mmS?EtqE+)i-2!0iIJ7u;TO`@rpUE0Mop6rGA*sW4u| zO7{V%b{Uw+T_}eP?Rd0t2V&^|OlvRs;CJcYBG4S(xNi2&K0Ml%Iw5MH6T-f~{9+%J z>v#mq?fD2=I_42lUvHmWp?wmKeNw%P^a)1Z@hChW0B8lMOI1ugQ@cRn{ED>R*QE9S z-7jmzO^P$nS6@L)(hIeIF?aaIgGd8?_Lai<HKMH9j<*N`^PUaPJb)B{MF7hHRs!S$ zY<z_DO(e8+B)AdaMt~a*ZaBDFaJAs7!BvB+0#^mD5?p0q-_SPN0srp?*bDH7NBsIG zRRLK0^#yqk><53pfWGtl{%>r)<wY{ls=X8KC3mXmH`Au4<Dn761G)?N#Oy4fN`>%| z(4D7%oNMMr3PI0%w`%xi{zK2bK<Kzled**zz-Z<oq1YheC`y~6!dbJ>^BmIPr-&&4 z$u>6KNOGsdC>^@*Q3ZHr9}3Ud!V6<?^U4D$oF_%J)X23;yI7IJQ_s;Ix~k`VI5hDe zw4c6ui_ZQW*`iziT;LX6>mIu6bL9G4blh~|PMX2kK^Z(lGjJXg`9q!+W}#dgxRDnb zAV>WxLi%Z4#tW{@R?m3h=pNs8-kCjgJMRL~;N{)%B3f3B7x>IpVb*ifrq^$@zD+M` zYmZ3V2nV0XCEuiSCE-p&m~)|8)tnT8L7tKDqI4&PLlAi3jLj#hoE9bHlKJgMWn~NU zgY=G@GjRtwNNv&7{FFg~qAt8C_LL;;sHwhfK*dJaWujsO+3au`UMF010P3WSYD53$ zF&ps%pmeC`Y2x{)<asmoe4TjimOR4_;LX@)iKrMGUicKv-Yk5xAN`*K|2_C0P%ca2 zCt@^qfmz5nfY;9Pjqemv4-l<Zy+CfwtP$B6go_yGHua|4)NWHpx=m&lKLoGfZey2> z8&+k~qP|s6{GLZ?zA<J&ae$u0O+(c@eee*uXEzNTWfs2JPXmEH=p*6c9IU2rQu5dO z@edHe@5VVL0`U6A$t{zdSL9pO&MOKod=Hw%^vocRD~!BM5MF&I@IZ9#Gv2dTDlTls zuj2h@$nE4@JX!wKd$P<v6L_-R_q6Y1Im4@JIL@XNzIn+jAskL_>Y#)$JDjiRbAB}p zRp%*q&UeO);_WCetIhC<ktr`Cv&=UMk3B>5?Vywa*9Q4EzDVxG$_263cN#s|OhtFl z4xmeAS**$yDx7^AC1ihnm}oFj*~SR3z+(=L0$eLS8T+rWQNbzQMx{$K66Uj1K`cb^ zhCZ8_nggPyGtiL6udBRo#CXPlEe#t(O<9a)7=!DLHezW5O>11kc!f<Nl+=kLouA>G z%Ov9SyPqJIgoUh|879|zDSfcK|6SxNLRw$!5#i<<BJZ!|%`=wr=BTA;8y5{2TqW+0 zml#r_w3%jGf8n!F48FTycBe!s>D_vWH3RQ1;H?FbO>l0BnklludNyk2hTGk<H}LA; zyB0;M@!G<c-zynzEWNjo@_UuAkdYox7qw?UqAgvPmo6^E*5~u&y=t=(ap1Ikx|(0A zj!#!{L8NMp8R>653cc+aE<NyA)_p2hveLC)otbW4o|Bui;*gRNPy6O8+$&SzZuYcl zauka<gYd4F+!dqm;bsaYPX)?&eDibi88|9?8NVIa_7>bluMCF;urge}<tY3gwXKmi zb!5~{LOVZOWzK`tF!xy8{nhMiw5iMjTEc@k)HwG}a`9zfqh`NyzOxl4-=Mn53p~w^ z?{4RUou&x6C&=+#G^YSh-WU!O<wN&L`={0O$wQRp;dmLb6LOp5yBKy@voRcPvUz6L zh0NQ;hRs_}yionTX9_%^c`#3?vscTFg6P}`5=%L6Ij3BJMf?uY!TC^(eXoZL*X%p4 z*{@#Q-JoPuns<&n+haTvdKwf^9(!lqaYwtwab+C%Z&Wzjb<T#PdQ*7CI6ztzZ|t+* z!YTE~HcWw6B{4=kl{ZE#*{kAoL_e|um>66vJS+IzKFx1)!xbO7a{I9A{5yE_YOj); zuvf+<I$P!Ju&PSb+u+zZ3~Cu2&-HDXE}VE$6uXTPGOAFAg{JBgJsR+l+nD7rnJJox z$O;<vle^;3pH=ka_62kxZ|w6#c;mzj>f3?a|3C)$Cgu1bG?dPT6mFUT15RcZUjAOX z+;k%F_XF@NTf&CsR~~(O2!3VnF9>b?!qb#rnSt&B@M{B5J$-}x3g-Uz`4xi0ko=02 z2M^9BfO3FBfHeTi0n7ktPybN-3KqtTSm{>)4gj2Z`oDu;iFww?ue3fhB)>BI8PX>h zc}EI77Xs{f=I`(;82iTf6_W3NieHiPZUY=T0J;GB0F>aZ1_%eZ<=G#KU!iSefdA6~ zmID+&`vdVSzRj`hEa7dXWC6vzhj0Y_K%I3vaMw@94R`j-xyWuqii{ltq{S|jPm=My zf=fvauCb9>LZy-(F{>_;Bj!-banPfLEa4-R&bf-=$Y}yH9Tf_wvjxlJc>fH@Bto%K z%@0Url|Ak!6maX~l;s%lxc>qAPp{@Un8yjj@Wo?+3`6N-H!Ktor3~aHMj(Z7T+%k= z(Fpuw*E=Nde@x;RNV5zyG@q*8>trYGRk7o7Yx(!PMX{<t-9ywu<hX*-6nCm})u4OP zglGf8HGa-(xSzPhnaEB`V*0rt;WJpO_TURSK!SA#7N_zox2Y4w%uK3u=#OyPAM2cn zm{`tzJa9~L%0)8F%CZHaJQzxasmxj8XzfL!B$LRsgpu5@i0pG&?##}mW{j9Fj#iUg zS$6>{!Jx7n>Mghz-yDQlk{j`#54t$4zs!z~&(*TpxJjrz8}Hf%#U3qisbcGqLMN<i zr*Q7a-s`~JWEv@?K(lWIMDtg#jhgU|;SF!izF@QP`C;iexDu6e*S<m~5ZTsg@h0sS zUF>`Dxhl<Lhn7Njq-WWNkt@3$gd2v~Kn|I-dXmJhi(4gQC-4q@A=iJc<Ss8cBWTaT z?tT0b@6BU>WN-{75LHE_BwX%PkhM(~Sem8=BYEER2_|?M({ufjVFJJPFWrroua8Wq z?>Rm72!D7Q(<zGjBlb|fA?Hz^aVeu3Z%6L3hViufEUIMJ)Nje5pFl-A8R2ATd&NaG zFvgwpU>whp6pNuUa&D4SU|22MJmyAa*t$Hb4BIyzMTV_g936p7Mu;mi7*=!77~zRs zK7M)6F0WvZ&%hMjVAUVb%HFa<A4YJ<;2ZFZzvP}r1yn;M!-GxT2Kb=nplo=ISI61J z=;N$*A*)(A1Qt$pFto2{v@mJ_iwW@Pil7=B2KLr*ric*4oph#X+vzt`cyI6DEH%<K zZs;o-5IHVNcxNY(!hK<9;Pw8QJAM3|oR^H#?7(@d83Mc#xqMH6iA71-Pwe^lRVr>S z@LavSsd5H<A3tE;P;*eywuVAEVyenJsl*U*fi`v`$(&00O7o~YB~ERohH`M)`N>Y? z2G0W?P|AUyiGKEWuCA&(MTTi5%R&)_uVFQqos!73h-ROL3w1xEcX7$pAr#dEzxdsh zcXd^^I7NfTjaNeW*>7XEcz%X=9&n#XNqmBcV!2L@6NTftQ=x5FI=8AAE*>!K#LQ#Q zCqq*ZzsP~MAe#VKaF8qaf=2<Zfz+-rg9xcy02au-N}WL~j+wF(GH6YlO$N_)zOseq zTA_e9a8YR_3BG88XwDI0G)1(bKNwoGHAvA3+_tl_P2@H&Xpa`DEm7f)U7}a%I%{#O z-wv?d$&ai$L@ITtV(cLMoz8j#B=Y>Z;maUbWg8s}r<@ljH(c~~SW}8hDa#g`zNgKq zyw>8;@G#!99xn7eCJq=dP!B8x)H-aTQj5Y7D%8~}j_#w9UBt*&C<Y5_&;%MiCcS@y z-!bWIf01;U{UTh(7GRAsT*lKpljSmAfWeXt-ETVKs%&*tp3@uEn(EbL&k5}axJ^Pj zs>q&5CpC7Jvr>?8%TcK)PG`8?b06_C^4x`H<2fApz|`VQ*CI@Rn`mT7)%R>&QPoe* zt~1;zbEUKEI|O3G@GuY*anjlK?b*O+UVx-{B&`z9@~FfEc-nRpY&8p;Q1l<7`^%)D zOj~7Jd}SNk;#ST@afCLZ^nS8ykcCQ-{j&pPxAD0r^q;a5v7pEdjDZqaboGPaHLl!N z;ISs+YkcK7E*$9yUo3(TJ1@&76Z#&Oh76z+4N=Skk@U@Yp}bZ2;|}uOw0efah!oi% z-gMd}L-aPDC$bK$Zfm{oX!~sz`z&BRP@%A!M$s_g=<tS|_K&ZiP^#n`;`KdzMWo%V z!Vi?|MHULJENL6sLp;ImpCe&epeYLmSgeKrvUKp@su;;g)Dkojm5oNCR)berfdT$2 zHN$@!*1&&T%OPML8jdPM!%-X2aMZSPH#sHtnvZ&(hcf*vNJY9Ty8sQMiAK#gKEWSB zGoQzzk3mh)2{bLmpBerkcP|f%@=52#Z7!3bzr>D;zJ!<MZxMYKp-e)}QFbGri+9x& zXQR)!GCLG4(ZK(9@>~aB*$ELYzksHuGW4goIXxda8?-J{o3|y}Ak3svfCr?`Y=dtg z+Sq1ZnocZz(Goo4ea*(70Y>2Ri#*_~Aeo}3J*;9E*(D-Nc__UZp}7<&VyLBRk8-t| z>i3Bp6QOUq?4pQ5L9>K~e4r5InL4j>5+7xOI|<v`pTKzm&n(&Fgtw39v>Rp!p@Wj| zx;i=E<XI!pQWJsP$R=W`3UV_6qosK5oamumntcq?jb>p1-oAi(c53#8P@g$O(|~q? zXwtGOpyHJJPWDgHosj!M|J_wWp%V5!KAux?lZC>%z+Kc%7r~HJ%5zIRr)DoyRci5V z<JncY?d?!Z)&Nzsk5WaeP+gGOY*WC$LdeBXxQOhBM_xpgLO`505&}4jpM#tSGB8L1 z5N-T>$|+?$;N#VqoQRsmFb!%EBho2(*{I_^evS@2*bJdbLAHeMr7>!{Sp(74m4Jv@ z4iIhEo?Fa9)&VmAY#7G}JLbhDawD;c%|fZdr}E6%q(no1+*!)i@UZH}$vj=a-L&9x zyAztk79xDPgQzTbaeZV%S^o)cCpSS8PQ&mqt6gza`|PW=qy=GqYu}EmY%Fh7>zi=* z1!zwqEd+1Jpbdp^QQB2*VwanRS5e1K?*bdFJd=v)2C4$`A1nN^)~gvoc(WD-)N%g2 z4JNB>vv9bT8nbKi>b_O|L{gAT%ZzhzSE&dIcHz<$BFuZ(Z|RD_X;qCHs(Z?ah7Drd zN&iX3GWb%xJAC1|f}sAm=`SMDE#UTE7+>YpUhQm^5$zsTC&+%EGNK(fP9@FKRO2+? z*!~njLvS9TdER+Vjn{8Tq=ir8bzg1n_f5urCI`sN*MH)r@KO17Uz72BpYm&^JG0lO zSelLpY*}JCL0G6FIv=C(1f~q<k6xK(pRt!6rrBq@($K0J-VmVt8ow34{jCg`V1^%M zO~@Els`n@T{@?cLkcXch+Ey3B-V$2RPIWfPoXxU?FYUnzpKp}Qzes3?r$%^cN@xYX zyj{kfi9MRo$__)#KB8UT^AX>$!pGa=BqYr{TS~E6wMe3KqXJo}_O}RuiF48$4+c&u zi4P7jC)JW9YW7cAWJ=PX+%R6)G$=7c6MOFAja?}291f_YOJ6t8g*c~p=0dxoAAqV* zh7?V?8u>cm7fPa5T;IrP2Tf@jXMO*W!rtE5<9jbp<yC|Yvr{&oh@UrVlM8_nY^AF@ z4sDxg&dL(c;$dkMy9~9O-(E|X^FHuMhA^(zY!k)1F&2!Rxo%*{&B8^=#Czq)c&?8n zde<&uIw--}ti(dNJ<<$`bXhk>sK*GNPI6SRC`vp02=2CX!{A-nbMcUt$>_N#sbR{G z3Rlpli;A-=Ajr#Sc|sOC;utpAP;->~W+4ph=!P`ksx#A{yu)+FSdssjzXVh?eA@Ae zYw)gSoK1EBg&5&`GXvc-I*M}h>gFH}Cd_-F&@y@xq2)^L*6Gm5e4|iCCm2|RBlI6` zodh5MQeg%1%cpZ(nGv3woG`Ojeg=aJg;bp1id(w)FwDkzMXss7g5UosP4y*mncSd1 z!hHbDM0_O*6OKSN8>UDo3Kp9WH8oFSxtUtDIKI4{gUs}&H4m4_QM;pdtJ0?Mv{TwM z(rf36twS_#1tL^#Z$(p9ZsS+%hjnII^?U5;y5R{byE5U}hTj<s(1@Jic{{!`Vrv}6 zM(a<8_M7C?02ZeDnx+zfYN#6q2~`QlG!Ft{Cep+gJtwKaCK8X@4B++wix2Qh^f~>f znraco;JZlK)|}sJpt8!BQC4}jJ7t1O-@I{@FdcOlAI2lj0a?u#_R*6}f10+HS~fzJ zJeumgkS!|hA%pz_QnHcs2zVER*N^Zkhybe6hfU3S_QzZ2`;|XeDu0ad5-L6Js}b3M z3lIsOauo`69}gnli89<IdvCeySoAta5TcU2QAF;bC0lsrG!cw$6&^=5ZN^-kLzp04 zvxM8WZQHhc+O}=mwrx$@wrx$@w(Z+@`Tg6fW#)6DPURaJsoBr$W2(6J11aBz^M7~B z)tyOvy9Viy*#K9;cF6*i7Mv2QFs+W+3K<?lXi(_7afzEb;KlQws>H`R3B<zvA#6wj zGb!GNA&AaxHRXdkvX&1bNWG!Q?nDt>1*ABDBHLqeDuse##t=q?KCKOmVL4}Q9kt?K zB_6V(Y6xAhG(`T&zDcJaIg30eL**isFR~u~W7^kLEcI1-6c6#YCzG8wtIaIT@=<z} zQ3+_gOo}BeITZ(&naA%#`RXBNaG;a9Y>&f`UKv<tz%tt@UZC+rpP#IG+9XaLBwCNy zmg+`kMF>?JBZ+c)1lb#fyXk+4kzGN0JIV-DMNt;wsV^%K3j+4G&tWpwCE~8{$i+P= z&ga|DDhy%}6t3+m1+^#-a7&jPXUUr`s$WxLkX1SmUN!jr_1cd)YtO3zmbE~0XkGe# zYv3t1-P&R>Fgj<Ei)cy+ZzoeY;`whq_I!(THd%jr^`tdERH<G@%@$qRt?+iPr7sj_ z=Xe91YI@(Op#Ua7nb|r*V?Z6WdHcHJ5&&u2AI8YqXVVgMervrGyfPm?QbdSFIUShy ziRaGZa9RIEbXbmr#Nsc4R|wAh4t4bAv5iG-!@}#PuFSM;h391~70Ob+MqOSTk-4WW z3P?y20WPeiv*_Hjn?sKO*~Ps1ew&<nRE3Jy)6S8#1{QyW&SmabEQgxB@ZgaE;U-9- zCWPhysvv|spGrh+4)kUt{E*x}SH$wD7nL=eNz30VH!W0BBJ4HkS;N2+GZ-qN>f{&i zb6tWJb}PJ0Xp3+>wHRb}{VBHMWVW>|RV5$f8k!6r+b6&k3FS2d#rBbeKZe*g`|W&L zG*PFsOotd#LhV78tAWS5kj@uYiGD5iXFe9u^#;nvPBUnK7BW5Gj!(%#>WkP0<{svQ zi+IgS@Fc@hej^8XS2$#J3hO!-q_9n))o_|5Z?*H~ZaKyXMd6yt>npnvBn@wUc21!2 z?ZtZkZYgw7gh`7daf+cg)$X=QPb2w0Wy0TN5fV^qF~Eqmy^o^onMyX0uK1x5svYBv zlNayD2-$|twUF9pquI4vwg8B%(&SzYY>j~=Poc|?tIEcbOE%s}yG`gIr(C)V=dkV3 zd=O867iId~uxcyA@}t=)It?!JAhUkV4w+S~F$f2k=0OcW>%&=qp%04dGa7YkABXn| z)%Fy*rM<-B&5d5a?MI5$MlOC*<RhK?BTejT`IjB1c^p};&ASv(AbVx=s`w<!qy^jX z4r(>LjfBoNYYb|=&bcYjQ|<J<4B@FcQ`K<LN0bpgDO)E!#5bH1SxO!el_Hvyo6RRU zR8-K%H}AsLYIXy;IL+QjnH!%BC_lOkoLtf_*<7Ykv~P^Xg4IIrqQdB&@Wj<>$~ffi zz@PQK<#PF)hA+w<z|j`$FpcxQX`~A;_~NXxm*U?}6Lz%SU6yu9R`bua+%mm-ZbwDw z%bEVAM-{Vxu;ZM&OQ<v6olmUxYoA=*o3LJV8*rxKBe?S8-}O^eg$AKc_4SDQ!ykr| zvPIPO18`jkZO6MS9BS=M{t<5>2cHOc(@?uUUMr<kNEczhXOIbfLOo+t`JP($Y^r8k z`dw9`3EJ+=KE}#gm{=p_wt`uB_*Cj;74wzpcD`smfy2fWgWZpR&e^R7_V8`?RU=Ki zjvFKg)l9w!U>nJhlFE7sc*7&XACr@HrpcDY?<{7Y(ew`12?U{h7&>Z4I7B78l@!dJ z<->C$eyBj&EKA6_GDTp@-kJ{t9Ybw01e0veQRPC5&6u=8A?r#`xv1V^YY>0%he9iQ zRO7-@rE7#BvuS!nmLw-jQ4Azx<mkCE%0p(W5OI;gkV)(_fxWP(K@Tk9h~>UXJ|BzW z*g2XL&M5T5q&&aAB+PVohI$+9KzL}afB!TC{p{-v|KQ#b>2Z`5K85;rJ6rW3$>kKC zh}oq>DKKR#T39K@lej=Tzk8Gb(kC1CKt?C_Ri19FK+zKgZp+Qv7Jce4QcSI8+2rzH zt9drXI3$fxj`g;?%v0qp6MeMG3RPlKzQZ^!Pk3Glzaryu4vEuHh+}~y#=>8SC;PeU zT%`H3X2#@dH|$}7u5R$5TVs&*EQ6Z@^wh;wd+}n72|R1X;5$MWvU*nq`*^cVzSbyc zGQin&V>U!}#?vCSLNQ&bt`r1*%$JVa)K4HDGwkWGxpnNiSVuYe92ol(?4lT*RX}-h z8Q5in4FosL>q=~0A7>?dM{dmy05O5a8;Uu)?g^WseEW~^50;NmY#eYc@`9!adG<ez zH|fW?=siH_Xk^xFr#jd?@FalzMaoU?Fg<|CDKO4%HlA~-1};VJGFJ_Vi-`&=<u5j# zj?PghCAq2O)(yqMXy^P=mSEB<&bBL<4UKR`4U;1hRN!1=I#sgfU2D3<DN1bnZ|&v4 z$KQ0_3NbJ8O!x#F6Sy<mzA~`%#9vF-f9d$yo+)Um;#evCA<mp>v5*fe0u>m6#6$xg z-Uo$9cx#s~)lfNV`^H`oT9b3s2GnH&tlS+N`T=rwzPT{Db7n$)eT0We+%mHdv5u?2 zvGlB<NzI-)qQiB`i&W`gQ8;xQur2ee2!Kf!x#dk!IH<jZ*Zf*TXzA@K?du-*_4~u9 zZy93XE&f2};+?m{g3Cd~XbX$U@weP1-6XJ;d{bpgHrPQF+^flf)H*a0CvWw01dEOF zRsiJ^))$U%&A1wN#p|0vYl=QEa?H4KX^igy8hRlvjCGS{W@h^y@^G!IJtIHZnE#zD zp}ic|5y*W=a$s<DKJJNm$ZJ=SQ}RE)qZA^c6o~)WpV#T&de&ru>t3iQoZuKz!VC)v zre?4p$B_wy{3MZb^vZd{T=bcyk^auUHqA#6(atvwu2%bGA+|R0S@MlPbgDM0?yXCd z7MVZs%?e_y!*juIhGQYPnXsvzzOrM>9T~?=H+M~^ZY>_Cu;eY67E4AowsaD0tzV)s z9|(`3p;uA1OdI340{rK$?i7r@w%CUugh5BKy*fdKOEw>Xwu&+z<IbfamuyfEy|Aib zap}Bg4azBwM+o&n1!Q}(qa<i|b6}c6-MGSB(<wMyL0|^v_+7CUo=ODkzWHwwd(cL+ ziP?$0&jtV)ut~PR?<%79k~G=3)GU!D$4gAAu~(e78q+<d1G%T1ozTeiydbE}BHxan z<g)c_4MY9M>^y62JfaN}c#7_?gfRiRObj4a+uEuiQztN9@+$)_o&+Z{GNO}e(ilik zqnMwBQc(e<@gufvXgfk_pQ$ShehH8x)~T)%h;$GkLZHJl)@oLTw9f6{Dkeb}ljy~N z<)5gLcy*BmDLP&*+x98sIQOLIb-L@7Cc<U4s_x%Jj9|;ujt8JwTN`s^+;Hg-;ew_> zJZh3dxIWoOW#29d7xvh4gHzzy&h)YE@DZGr3Dkg|NLM6Fa=btf)-2JunB3J9>rq9R zNy1bTUNOOqZ|%Zc9;Yueg(o-S7N<Mgaawy<Rf&YA%Hr7a?B>L2_rEcZTBe;h<XLz& z$|!&QGQ4EeefXEritTx42ZaErGbCBuL-&yUg_T0;PoNt41*@q(EqF?Q*uvq-f1^9G zG=rS<F`aQz3R+ex2gW&jcqR&*{$=*KsrSlNvPLM+8@d70eDnq-0Me3}-L#J9lnz-_ z9DAe~^U2S#I~@eWPl(o2!KHB3lR?=0Nc`>&2)RL9x#Vl)Xk}}aTYZX2W5vHIyTqOa zq^IElq+ZhAThmX(gqab`&pL)Gr@HyL>5L&FKmdm5iqhK`9035XR*YJC(kx|j5*(D) zj5AC}WF?lhS!S=JjNs^6)k4Mu=3pPp%I+CI%St44bxww1uODBfe~2Eg)d4%mjt(-| zC4ZsNe?Miky!-g4+#BG@A5++$LTzsOoM=+}LV(Eu8}YhlS@Dtt4_O)*^A08>!y2&& zIJqB`6=7ZHJqSSnz&6C;6~w{{T6TAjYvfmzUQ(V5_Zt_MS-i`F4O)+ndym=@M?Nti zVKkIOKs|LUZ0!Vg*9OYdwT#QU#6PU68b3YRK7gz9H$oCXJQaqs6AvuB<d{9)N~QSr zN$ZA58*aJl3+P}FIj;ZC^)1M1d@o4x0hy(TEX8lPO}VFpOM~PeuPgr(2uprhW=^;x z0%IwWwD4X1knd|8HaH^x7Xp6>`k!L%L~kW8K4n_OiwRNF)k6dmk6Zs#=Hy#)pLmf- z$-jcR<oO;5E*5`)nu@ZfuaiX-El}=nOWXuJMeV#zMq3^j#^PWkDt7J32dETWDmtaV zVxu+;m4$}|ELAq<YN~rN_Ft{FPU|&Qw69+_QC@+RFF~Z8VKFg^g^LfU&yol7h=MGj zGnCn0`3x;I>nZJ3%iodAu&787B;#<v%j)vd;_Y77kNRjB)i|CQZH2GD;r6GG<la>R zr^x7zAS3~6XuBBpp(glKC4e}$=xR{q-jpA$?F$*IhB}oOL;TF@<9wP1Gh;M4V4Ukm zNEczL>nhXm@UiIKSB|sB=I=p$__^gc)T5b_a@~wN5874PxN<xDWP@F>$$6Bt{1KwK zMMW(Kn<0BS<dz-Byxk*Ka#cOK@IalY`sOup+(AB9p7?NXhJknGAY9F*TI7(B&|46y zU-#T?H-t>>%OWPo(3yhl*{%<`L;mo1?RtXNL|<0i%T$87o`q`;tv-~!A9Kr+e~!Kj zpmh$Z`F@CEDx^69#xY~By?AV*aD!?;-_dMLSQFw%AZ*|YBtaBdIx2$dVK?tNWl)v1 zk{Uxt=t+UG(L1584GfT%H*<hqi+(i++wxUHl4V+cMnbRA0Vk!<R@vb+l|O6{1)^@< zTUcPAbR>m#uul|N=E^$)>@*3&iDqz#ZdB0}*tZ!ExS4|4a_@bG;1t^Q22~X$8(ttU zKT4r!nSE#=&5`qbgNSlMD9BPI3@DU?C%kxOiA^#=gTuiJRn*E0waZD2N_(QFbaM`X zVe<-K`<JtIh|fbRi;Nooo7^HD5m>qma#|C25`-2Lx@IUx!!nahYp7_bL{(J9dzMCW zX1lbbg`a{gbuDMOFWT|C2(%j}6?vu$TOAZlR!x>aA_QLc9;0-2z4VCa1$UfG*&yZF z4qko%VIuEjQh<fd5+;+&SHw3Lq7_n#+jI62HBJhb2xseX8feX2Co@mCp~8TI{|3z6 z7ILHjo}QX6No@SLFN9x}W)#vzv|~GXPh^dI?}9wMsSbq|-RCs2jpZP9%2xc{pfk?y zIVS*&`#L~P?{y;KdX239Ub1UrX4S!-yH5%vPWm^IhoC3suE5`O#Ap^-SG6s=8V7v{ z7M+jc5sB!K%Pj50=F4s4dIxA&wQ3e4|El$C-Y-X}llAn&sjCc3V^je0U$o^q@*JQN zd^=O8JyMs->glBJsw#)RLO&`@o9t1?n1?JoZ+Bn~3d7>9e<2@Hm%@kmcJ~5Jq56|4 z4TjVlR1x%7I#C>C+}7B0f%67x4@Uydp?-a$jBK+81XZ%}Bsq-FS@RnCc%)&yh${9$ z$KY9Pns#J$Y`Iiq;)<EovyH0dc6sePl4Lb=x5^Ho$6#hZD7-6Qo5Yl~IQnUt<SEcm z;;DL>^KHSksGHbQjI+1u5eHc%?pZtOoLlEX`X(_4&4f*ET>!!;ia6}`vlC(P@VLzo zUHZtsB0N{%12fKq@V0?}A8CPo<tw@ZJ*>au++2A+8hlbLm7&jwM<0|0;8^QdI{(SQ zaeEdll4V<5VC6B@e3g`JEOkaqss=D!GTB#Az_k!3G?1CPL1=I0%Sr~i2n9yBOd4Ap z?0-Y2uVC&k#%qeIChaku%u@sHA@R_yS>&Aw5}dlGMO)>!dv~Q@%OkU7?A~ZNt&V>a zp>?yt8f~b(J>d(e#wxx$4FhPL3db#bEPQ<88+A2yneY}bYe$tnT|ypFen4^w%_B_N z^Npj)H!c3Wq+%3Px4K#J=(?qvp93y#{`#_C2x&_za3L2p!pX~AvynN-jqDN|H85wN zY&pR)hK?dHrN=0rd2xhid_{{BZ(b;@BbVOcsh8q~NN41Lym@RGVE6Hg^cxM6+GEi5 zyEkGiUF0*6auT>8c?-yRKyZ7A+yZY<T@7LLM+O^0ys9WT>ozsYf#8UQ-3f7HM2I{B zM<J0Nq%MKtsVNFAM4rKQlhbu<!^klfDB2MoKLD2G_4)?a;q`Md32|m#WaZr3m+U%N zUdIvB<tgAwX5HBOfsSh~z3+wt(RE6kM6!oWERSUN=vNQv4iJ0LH77}S-z;szs9$cW z;+APPpTfgO;^#|9@DqWhq`+y|=&pn9s{rf*T7-T;f^L-a1q?W*pZAETCSP{4yMf2V zc`}11`s>~XN4Jeg2~bAtUlxyyw=_GR>Qg1+aW+MRbI}glsN_aZTz4g9!fprXNSNoN z*mDQHrr6Xa3>3wrtrRM{A;rYPqv6TYuQSBs_7g*5!$j{q&TQcHX=jEv_6K&LAkHo` zlMf=zTPGqO6Q~1gc?QC6of3@OKu$|r%#eKaZ3J|t%9QSMVyPo84`~Pu(c4+Jk9A3s z5)wBXRp^wow!(uCHbIq#%`NXlMrqUPTe;cBk=wLzvQQ#6Q7{xt_hz{z7tr#lgI*b= zFPK^=uy7nAE+w~Dk!-9F+MObG)l9n0m@J~z2m&(Fhq9=nVG~&_8p+CRKS{1<BPSLq zu+hv?JcGkzlL_D5Nq{MDi)I{Tknr>_E^<ois|z5_;hWJBWltH_rrfut*!K+9A)Qj| zuBHX0d=IexaBR{>11H-n_wC+Ju>z}&F>fnFgO@sfDEjmObJZa)uz+4DI=v#C!V~a^ ztg9Gak?@i6z2GdlL=)}KL6jE8{at)kz>%Cq>LA=XonRZ&oF7!neV96md6HMVv!zf6 zJIdwcDBGOxaa<`1&keTyG_IlKdtqpet>uZa$;=`Bw6>pksFa)-V9mqEfJno~K>0?4 z9Sz`w1S1o9bN<Pv=(Io)g_n-J1%-OYkX7KOY<5j#p>c?N`S!ldh<F%NFb7xU#}%^W zEAZ8ac&gS#{U}8p__E;pHT^QhA@OMlKYzg0LTZzuRo_)3W$=nUp=!U+CX%ws?z@b* zd*tlY2!hSGgGFG?Mt5soA9pjkDz+-nnh^)vSlR#Gb&c28IN12&IOyFaSOZ56-vCh( z&9gTMFlLX-BHXMevzJ-xeWxN#sDH}+Fi5x_5}tIR;3r!>lmIozwyqr*9bR)GX8nM( zcz$v%-Q-mmmzAu*&ah9#tzLVfoj7J4#a`MpcS{U6)gRn<`rv_jRA`g-k%TmBA6Wv_ zq>S-d;jDjLq{7ORdTQsVOfvT61~CngJ34s;q^iuo(JL!Jka2-zln|;TYbi^Jn)efL zig#=b9<K!6I7q9kv4p3(XM{~OMKyo65J^hSUdq*&%OT1u3&yG+cQGnZ6r5YmJ%UA7 zLAdA++#9_eO6_d|AVN8vY<6Y+^jjR+1rqgWGo#~)s~_$ALBzHL&b!N{nD*rfN^>KZ z`PX0&A7n*j8+plpu3-L*Kgi<_rv?pyN%otw1B?$O#;2s?mV_R535a8^94Le(NEnkJ zFD5TROz{^HWx*B#bn1kJy%?Y;(}2Q9=K#==$^J4v#8#-gQ6)DNFlQU^;Yh_XSgF>5 zeUiF2BHOh4q3pF)EeEzCH!fRm@;v(dX0KWU4SirAus7T8TFVE8wG!@|_lb582Y>@| z4r~sV0VsTk!r$YUsDuKX0Bixi1aODjb@3<jhX+{yC1sj?;^F!L>Y)1I>Tq{|Q751- zkXyJuaDZw6T!1ft^BYVuApPIvHU5AE(E7CgxVw`6D}b^9-hgx93?=vzKyA?ah<$$m zxch_wIstWoR>9{$=78pY-`XdQF|Y$qfk}X>!|4OB0?5POQuNgVZi8@u%>mt_`}6rz z5EL5$zyL^%AKUNN5)brwryA?u-!L<LO$K1-8r_C$y<h`BL^*_3E}*DKMpnOZwMe(l zOq^F`MXKxQYV@e6>C;osr)*5#SD~Ud3Vj_MtyQBfpW~NgsrL8rleI@v&#a`R8t^Ui zJc9B|QF@}Fq#R#NWvvY~C?bv3r#26(h6i$imB><(6E+eA6W;VVn;b1GB3(R3@^~q5 za#wmkh*6B%f{09`0Ebc<P^I&fMAtK`zGe*{G7sO5GBBqrh7!-VCU(qF97RT*5#xb? z7$I9?iZUS6tWd>>86kWh4>6b`X`q|w;uRWR$3~2^g$a<lwDmAou!dOejxuCTu=mS> zGNvPl6$6Qb`n^tE<|KmTWQ$BBjH6EE?;<SK&F!7nA!1#PWr>Bv;W4urZoWb$Ad|~1 z%d~q~{%bmGooah(In8LD?I1p$=`=K(&G2&5_73#b-H*FwB$<|zWh|kS&~m@=iIR>= zOJ7VgrJ0<X(9M0YqgFkx(d-^+V58sBtgERTYw2nG+f?=G>jgS#v)X3y0L;Iw*zSV8 zw#=Gpn3g#i`A4G?cNEAd_^uJ-TW@HH$xSe-xNngt&@Pgd!Pe42v|`Irlzni*R3nn} zzN_zsv%Ia127Yn9U9qKXsG@QG%ET3SFj(+}POFK8IOu(sI;r0N4yad+%p`)+Vs9TX zuh_}R&@3#3EajZ$=xA8f1FZ!jRJx#8NX;<7zyi=OwK+Apkpm@al7@i<y1K(Sr}c8b zu-P@rr?Cd&+`3ikVRe7HQD}NtRVoA(%$3q=+(;6tchjzXPR0J{$ix+*Uh|JLsK2*l z#uk)EpAlpPbCjXfT@);Iw@w<1KNz@2784rX{fFb~Kp|94ap8bwLyLPOU0x%4O3h-5 zkScZ+i>iVJqLwiwou|Jseh19KAbTK%24S%+Z7bZiOV%VuCx1<&GqeV-2rXr$enHJe zbv(D~sBQIb<en4d+>u6PR6T<^<<Qx4S3{!X{n<<#aqX&aWsN`eG_lQ}+a?$S70v$j zb{;e;_#X-VKMwWdiXs=WPd(5VGJH1+Otv}&HHDjrW~9@gz<r81bNb&`E+_fV_e)!U zxb4oE*0-$*33OC5&2n50uJ(p$!6y5%5qblF?u&0b_ZhOONgHJeph8roIET>=wtRB9 zY-y;l|Jebb9m8eR1WxzLc5tTGWCyL=Q8YAW7rW;N)sahzM6-L1eX6CU>^J#<v!Kju z8yh|y`I&j^caM8V`sje&ye-3udiXjNvo+XKh24OO!L&sGv_?8y<Dry-gz6w_L0Ad# z#RfhF9l&qVDHeJ|TLqjNG);p0J-S|eWj6ys4<s}wzmF9VF>t4#r0feR2Y<y3=1?C| z)d8|=`u54;og*Og8{<|L&smuilP)Ww85(W25guq>UT{RK?@gw8%YiaP)W7zp9%Nq# zLpS!F#l-4|GNK->O;Sxjsq3gBmYX;_H`Vf@%}c@`ga}<~G@3F#==<oJg;k_z5&)@n z^fXx;oyFyAQ$`?mTKq9D%Mg>AlY9iQr+OMJK8d)kO3uZ9@p2t({NwpuzVk5XJIno< z>-NrjbMNIlbi=v2=RT)!<PWNGmw(WI6?>acpq^l5X$eq}juEz|09|<zt+hY32B&Uk zpum=OcOGLKTC@yUj-j3k4GpbQ5ifIeggrS4ynNvICEvQa+l$%LTRB+sEd~7N%+qga z<rO+w;pm0Dv!DOxapUXzkp1;Urt-s#{pZJjXURwNb%z(o7}$^f9U23$A%Oo4_8T_Z z-|z9}W(ogiU~l$kn*TDil4gnf_Dk%7TmGh>k7<B`tD=Rw(hBcWvbr+XZ|rL^%<XdX zX{;!Y_q%aRj_2*6)c5X@dG^}l`VC#z`z+1N@982<?`^uW*XPRZ=lf%2XSMaGub+MA zeQ@KZOKZoz?CusnD>Dv<*Y$HKPxf~Za@^f`vi-9=m>S2&=eIYT=e_QE*EqZJeGo+- z^4#mr_5HrIl9TrB+J2FBox4rF<Gb?W)B6g~EF#Rz!#;%Y)p+qUOZU^8O^D0&=_m40 zT1=XpOtM=8ICwZ{S26>_kIQErif_cUm5}E*YAPg^Ap?_SOvJ-@>ky1<ik4<`%S#Vv z3yIHMbyT&&9HBL;QU~KiuO@xphHh@+oHTJI+D2~Bu=;TO?pxtfos(qV;ze70h&a*z z$*4Dl{4n6n058#s`Ox>6j<(2viI&=Uq9uV>{!Db=R2AQ-CgHob{Ha*^*brSLSJI%k zpU^K^6EfVC4tHS06CJb%!|=9%C&gB0XoAhGE`(9!XBx89V_XgE?jHh-!hG#6uu3Ea znw1=;UEE%kO-=6mm}5GaP9Q$Xb@ACCBPnef>R@rH)2N6>OT-~K|0}UTuK=3ixEA<j zO#g7O0M-FBfi*#~z}F!%p)_Hz;e5xX(CEjt(T1mha?y9XKO`HM6RrDtN%GpL3#z93 zRFY|Esg2Ig)1Tq1s@w(KJ0|@T%V3a48ER1(ryAw7x#|937kJ4!cHf{A!2s@wgN6JU zSn9i1>%F!v!btN2@vH=S$$F05hJEg%&M-0zJHf0B8zu8Gd_LyiMg<MX!9eNdncprw zU5gCHA31-YzPn4a!r<EeVPX)KT#?J`+<kW!+j0AP<k$25y5-LTKVRN^*<_;FW|jgU z(ADK~_EL8OntYfwdxZjK_86YqYez7}MA7A^_yMj28vOcTwP_B}=zf2H;x)(S;_VoX ztj+sAJiaLX`FsApcVi0=gTI+q%kTR2ShBSOZ@1y(^QqQ_g2DItk=>9MdO-h@7D_nT zetZ6OcgpMh<@x=Y9-!edtcJo2#$K<LVfFp((sCb{Q%#dXTbHVNg|?h2?KYLD;Z^St z)QqwmO$K3fheCweI@wK*SUh1Zg_xyjI!i&Nqh?)9P4a+|Bt0Yj*St>pTQ$MJ<cmqB zG5HuB`0Ez-*ph1Umy{?M9bO(zMWP=1PG{V=^={}6r=4g-F;gG^CKz-cN7tamu2OsR z<Bo@(=D<GYHW8~wHIK|XTByiP&a)%u03ZK^SDIk7anz86B+*t@h8mt7M5%k+(5S&d z{~#$rt}o>zPjgts;xBZ#FDGxJISyo1Z)xA0=z>m`sZZ&Kn(s`R?CNyyLHlH-%xl~z zNa@bCn3!4+N_6URP{KpdipO9g2S-Ut@t=(E#~(vi{j0v>c(JT;Wm-n(x|PNhAx5aB z&yaa&@v9P?hx)n1vyTEsr2RwDDyH8Qdf~kO*xAdUA;li9R*;yWu;1STA?{zy3^s}l z83qIOCaD-QubWV-#=kOmKb{T<75<jsn6aZV!Q-7It90FOwi6*m)Pso9S$FkS=eJbb zotl8V6e4i&DV+gpBQt`qNUNu8I-b@7VZhQ2$>GJ`3;rabXyGg7p+I@{@55L<-$6f& zIcQi32BYW6_)-tGj|PiKlufC6if*En3|;ebazeVzh{uoF$^=e_8y};ZKHfK94|Y&J zS;N^byGbCHD5r6qJ*)aRvp4m4UJ#<&X0Sz9HMvz6D}`Q<H#OgZX-u8;aHoOjwTEhq zBZT}|a#*p2qtTgIzI>_{0!*s9iCfi!G2XK@)0gz|BP7>n^9GlXr_ZB@ra8TmVyNrH z2^3V7JNk<LFe*_d)lpOCG-4b|Pm6~7fenH9bu_SrVa^VE=hiCFc|3p*p)@Dj!VyB4 zU*T8^hg`kmhT_IVu?XhWW!F6YaK8b{!c`xyut;=(Kf+_7mQ9MICEG|67ue8*x&QU( z&F3MjSOX4P#*hgkU1WmRwX(KFBY@A}1$zH<<wpa}3lUG5gz*J4jgE~DsE42zBfUg% zSP^5zn1T6bk>yPa>h#0;4Iu4Tl{2=uUr6fZ=QLxRRY`Qbd_Grh@_s7gWbfOV{1U*f zmK^SM=a&@W1NQFm5nBDezF&UO{0!VL+zz&7-k@(+I9wz7f#0zJj(BkkeqP@8IYcp8 zZ_<?|=yD78T;!4=L=*&Assar^2>~eNDiSvh60xa5U|*oIiHk+mh>t2$KE;4GNq&L& zgwGR+8_5N)hDY1f1)7vkW)gO-34U>^PWAiI7*t#U>87EUZk+*E^~jre`<lefE5$Y? zsM^%~erPv}$cLuK9`S(_(DE+5Ki?mupR#}U@c--~5;oCx*&N$A`K7(dy~Cq^=f&_V zzy56JxsKt(uE4&1looykeTDKl=kE#IMgBP5eG~fq^u__6z5Kk&Q{cclr)!sc0-{y1 zZm`?s5xw<3Qo6i!No-Y^*{6ZGB~`=iUx&QH&iZ|J*@k;pzL#6YZ?fAm_$D4+2fdc& zT6x*>JmAkl&Q@b^{ZxC6A)j0R`Eg$w<uZL5ZHfDZGQZbS<uq#<rgF3_CiZ(5csq?L zKYJ~&w;B1)z<tsf)ea(`3%YxS;sVY-*ZY$7m>8N9B&V+Ll<O%wR#yri2b-JK7~-2B zLE73(`Jw4*_NeUdh<k2}1FD8={i7a5Y1@kWbRg*#SQK_+fm?5&ftm3(2X|!wUI^_I zRL8*GklHABWx-mX_+f%mSE1=*8&}q0hM>~WHf6$j+T2~2-r58DYfDkJajen%hNtI{ zcWc&tjQk(b7ZlRzm&Ye{^*>hgZ`}0Q7~+6_FOU%VX!%%ufOU}hIQa;_K3hxzSbaPJ zoIY!R4F3!OW`IHfXMh9%M1Va2O#oJZr2H4VIdXu39rI6Bdo2K2U>vYl;65t=dH^2i zTa-RHe_DVefWc&7pI9F*=na(j&jPI<KI<f3i$s@9ji3?umL$5<1cxbv-u};&qU@5J zE|HhgY0SycKc2$;PQNpWZ<c>j+!3)>wRu0xz6W0m>7(^!;C&hBqoA6{0>f1&0Cd37 z!I8rNG+=#El-n$jFvU^qOd@o#g1B<-NuPEA?(O$*0LTJ&KR`gYH{<1F;9n>UvspcD zlYNK4RUqoiCT*6VpZM}pz#u39000mG!9ZfN#&5n^aex2-$iM&q|Nqp<#M#B(+0M?| ziQd}4#n#B2&fY^su|IZ$0HON<wdhe_%aQg8i_%a2*X+iINaUWKKkToMv-I^27w@d0 z$1|1nay;F)XOF<Ybo`sY9edlexWz5Ol_}7tAZyuMGcm0nBP<VXfC6a&eb_CdkEGpQ zDxwhL&&(4I)Ch)efdsCKzOy@x+>l6Q?#}-Ak;WJeeA!&sHS8j{lWDpwY$XzA;}-g) zZE<lmHM&!<%(S;Q=F)hQK}gwz;3r__b9jaGN)m$c0La1V%O0gquO;KBw}tDrG0LIc zTk-Ds_3HpA@`_F$;@Xn#NKHgd+V}Q1To5g#`QuSkapJ<11~ct1O+*E4jwYgPwXdKP z7icjv8@7zkxN5<$dh-20h-lc%*=SeAnh6fdPPFW9)63~ja+5Mu-RZbAdevBT1$+EC zNwL=w6opH@PMm^CdG^%E0?eo==yE%0I3*F*m*%Orwuzr+R(&3Iy!M-!6L&tdExI2n z;SWywpdJ0)w+}IWYqxQn&!Bh734^?hgA+0E9=D#}m6BcOz*&<eH~HM)SMdK9Fihd1 z&=&{*U<(`o0ONlOXkp0YY{#r;;{IF29A%lfECz(`54Gr11A{Eb)os-Yi;WadbCqVV zN~*&?flUnTHPfW4+MD!SgR#+?$Yg@stP}PJyx78U-lpX<&Cg+=p2#41H(5WB4YnAz z>s-cHfGTd+Si1S{v5F~}8xLML$5jnVa`)phb0g((oB&{1e@f%MJvAJ#BS7N9$N zo2j;Llu_n(s#rS0gjH5K@oY~&1RaqAFs<=1a#4wZv@R~%35Ev-<^72#v20g>{O@K+ zUw@mm1w-hlhXG@zy$zOcy+^5ytLW=a*GCZly`)On(t2aL>ckI6ogC%@>VT%|s)hEv ztrpU#$!}PKwr(n?+O~H3z(1i2E)qKfky?)^7d8LA3%2SfQZA=YLTR(8T%m}~#}wxe zo{w;6A~j!aqPkFx!%h|=YUUa;{u(PD)~|KDMMiXnw2jKC6tgxTLP6YeZl!JS6;$4i zLp2Y~;Qh6n(jIf`p~}modQf(y(BZ0yLh34DT_?1lan}ostE~4YSvV{l(+ekyh0x%w zxVWHltRwKg6RIHed%cUE;nON_E|HIiUniTam7q3ogfb~*PsPd+xR04=>E~_g=On`l z=R#j#;U6c$JsWG9oZRU!*Y)5$%SsY3anj=V_O!kD*#!?a<KHBMCKBj%xFG{8aveLC z#223wq8fi}e)2F$Y#;;zI4%v7rjOiTytJLi4S)qhoowLqcZYvVYgjiJ%iQhCquzxe zQ`#mT+Av;MhOzi9S~5-v+)?9{X1wAr1+Yi$(nX)CMHK`!^XIlZ4c2=w)Awp5z}w+Y zbUohNqhW=9Z%<`U1v1J^%zE|v+=tA}uP}Qq!vr<^j<|cK)cO6lXHkqKCZ&J-HU9U+ z`JY3_#?IEt#N)SLo7HXXHrNopul4$iF-Yh$8(7BIK_|nAqype3v5dDO4JaTq3vK9< z%My~2Z&q$%QAigY8m<R{NK%J854HwRbkl=^g4UWXZ(dWKr&O)xYr-`XH8D1{2xU0A z0U|QYxr%8SwUF`1BZ}j-2U_bEBu&%)u<vzlxq2&WJ=>V1B$~GTt04TYMv2<9c+HQg z@EQ+FG?y8r=6>J`-RN;*`}3{eZW~mC2%l71G-oYFnUtvLDER$)IMBXs-`z~7Y9LWM z9IBz4D7B=i8Zc-DN57PZlgAk(kZN4%8HnX}U4GOxQadtAtUUR*ZUeANV>&Ikh9kH@ zMOTuUKM(P>U-YvJbjR6hlMmXojWER+j31EAooz?}qHfUe!nnq6CylxEP2r4NI9=68 z3mGf`d(o*-^PV^u82`np#>2l71ilZ@k^V19b%RK!52XKI^xpEp41(dJ6g3xTH?tMk z@*MCWmaOKhQleWmp!E4b$jv1P#HW}6GSF)g?T~U41S^(fNkm=fqzNG6zi(QIyJb(O zK0g2azyAb<EhK&Sva71Errze~|E#+7Qcy49xNOAY%A9x~_A!W$?sW0cB6ktC^o=(- z2`K1C9Kv3X&pmj{($S3tfZz4uqkY5F?;@f(Ii|m}Mv*8EZ6(072%tSyOVR3{4BVR% z1Sy}_-1sNGwdoK^ftRJ)kLhnWwCv0F3go8QrgZ$vM5crF8<=qC_<-Sjy1yd02kg08 zO{~)R7oGpe`KHnAYl0VceQ=v_6}2{+VA>y}ik1{rjo}GW(t{TTe{WDld)j=gSf9DV z2fQs&1Ysvr%SndN*k@fRASte?j;0x;z+Te?Tl2St*DZvN%_ORpQu^IV7Oo7dDf>9S zqEJT32L)h-@r=jJn-`b~_<KFmOWz?^W^?)&v5t<OK7WK~mB+=DFAC-$tCS{A(DWf< zIz}U4EeNuNHAs_))%YQmhQm&>5Au8_?cLuy1EeYgpm$rqWNs{#x;ka1-*f=X*-}4% zIW&bG-`idAns7-YOQRR9IldwwaKN8Jmcg@@g`QqzQNOq?ociZ>AqfbmfbQe$ZgQn| zR^HL-55@f$Ak}&?(as=eF3MpQ0r`W5zk|44;5jJ50if>&)+c$CZ^$SQV44wYpdkpf zX&FWF0<~U1c6kI?+=nsdB^e+reYf4J9!z)GeWz--(V)n{XhFiKiJ&g(;j8hw>e(IQ z0bfqgDxZut^;oMMRqmBq^!(!#Zh1xrp8=M5QivlQFHj;j!)36r{5@)Ai})JeYrZ7S za7EYJc2{RNPHgYz-uYFQp5MEGU9Ii*&;9k_$Hq?ods~uQq$gP+DJ>drVjA0KL#9S5 zd~C114=nsqm;?+ISkpS{YQu*mxH3SV4<z>=Zz@*_?Z3uxi3^w%Njk{7`MM2V7j;>x zp+ntJA$EFrF;Qn=M)fp#3){qZ9%TM-8kfQRjiU6%GJ@p7oAFwBAWpgV-tKRsjc9zN zbTX3r(Vv|`h%UU6yV4d$Y^cM&boyl<*xc!szo=kN7}yI>Q3=~g#b$TtwnS$q>M+o* zDIQJxBKG0DW>sAXC^5)}^R%;#keU#oX|>qcJxy~4Dv6ZzKJ-cwn3J=_b{lrnXRa*< z8ezQ1<Qv=>RO^m1#uPy+5^urrQ(c}K?Ev1xU*cVnL@PLCjUzG!4B>RwZ7Or1wm%LF zn;99rsRvX84CRQIo+J%tagRBjP<6|RwFOlXDgI(mN^~$d&~OW4<1u!wGleR_Hpyk= zY`Yu->-D0cB+$evTx`+U(*D<R)Q9xDXO8UH;>A<_q3RtOc<4pxef@%sN&`MFNCtX0 z)1el~LEQ8P*nPSE)_LOGs72eSv-wBSvPwo-)=bHj8dG823TX8wA14EK;&8-*wEk>+ zV_^zJ`5biUjLO{Eo_scWg-Et`3(Ih2hEex#<OchsD}@UaWyPeukc+@zX<=bAvUPTf zL|qUo3T=+kRYWOsD)bq6s<64YF}=+`a<UW5rBRFk0f|!fJmjeq@iNn{UCRRf!GJi| zjCul2Ul2vX9qbxBv)W*0272wFdFk=ifKRAj=|VWlZngrxy^z<j7R%{4pV)9->{doR zIEQ_q_G!)&n}yWs|4It|)!+INvJp@l;~Z^PXdI(mGY{&(9Edq~=BJu*UoNqvZx^<# zKL_q8rxl51cZnF?IYd?dR5|G6&Rgf6ijK#+MvbqMggsfjNCe5n*+MfUcv^i}?zJ^$ z4f(h{7`ZF!EF?L>p^~toGx_H4Ox~jk`6=ec;(WsK;Qc5m4Mb>2RPgY95?x=)lKvHD z+o^{?<inxG&--Ryq^ow5(dv$A_i1#>lGwyND!hJ3Ng89$Za*s-D1=N>X3OIz|5TfO zdah^jD|0tHSmcPS!g$cYBUebh=7SuL{sk6rx%fcYWF3Es*r~S_DbbW&dbAA}zBk#o zo;7w{oA@?*{Q&-}z5>^gXN&{@0HJvR07(D+VzhB`HTu=wD_$$71GdDSFY313d&NI2 z(Yy!lWHm0fybawMnQAkR+1*$&_2!Tb9;p%`e?QAAKW<jG+z|)>BmZ%%$t;yqVP=T1 zW5tN|&iS{rwzh85rD}MNmgx3q(k)iqnpzzDgp+GzmNpJ_Mn9;qyoB!fUdSvAGvzkY zz_+w)lb-ny2?D5hb8mWHe_CtIe<NJt*?Qd8_uxVei7d~?4a;P@(+8^Q-t0Z~_eG&C z27UR0zOQg(l)SXFb9tQLf_N344fcQcMHL+%*9LBRI{of}>U8OlQBKXpEqlh+xHUzc zE!`H)oN>AtzTSS}TBp!b9wjCaAGX9Qg}AK%68Ncn=nt-RJ|C)wC2B&YmvCIr_MOCE zS~=pO(!WN#ziHFg2rxeivdBiSB+5MjoNQp3Y&F&BxOG&mO8rNt4-b$CGHLFJtus3A zVh`?!7K8%<a<k^b;?Z>o->SXq@rghqFy{ox7IkuKh&Js+=D+LXIEiNxWThHhX^e@Q zgv}NrIP*^(2t%(Qt-Hs~`S8tf*@rL0rn5ILDOv|v0&iM<ERp*LLLH+ojUy<4fgrj_ z1aDEhI7tieM0ETgGHo}{QzZ5=?ZTPmOqXP`yPC8!a4<0m3zhAD7mojclpfgw#Vn}l zHmR?#r`x;U9(~c`10upRqfGjn>Fea%+u10zrGd@u_u}oV&o7wvy0{Tn>WXp`CtkFu z;QoEK7-B7dG{%yP!mG}?N7S43iBLE(uAUpFt)4F!N096BsC!OGKZD$RTi8jFE3Vdu zYPc9k33mwcl$!1wSq7%1%A<jD@=FaXO8BAOf*cIvRQjVl)ay$ofNzI0-mGnJZ(Ge= zR-}WwCI``CSS9dU4k!z$hK_-r;rtEfm0oSQz2w<1OJx|=($Z35J0ONJBWT&%I;5Mp zH|M*F5M5#yy*8u!+HMI7?;C2kLM?Bdz#KQy^^X^G;=G8wrdFiQ<h#*<n_Y<hnTPLU z7C6-Dw-h(FKpV^i?{*%xE$rl&hFJN6m7?--U;pPNSuyR?XZD;ea}X^96&R%Ab5P7| zr<H)GEjrv{e%@sJxNNhNO{KloR@>-g_@}|VKaz{}u{3=|*p5xENa)F9##gKVwDfrf zG~Q6TegX-WQ@n~f^3@Gua~8&;9VgT-R=jPQ*$>2LQydff=CES+4ziOw;$~#sJI>8D zs5?V$x6CUJB@wsw<O5g|yH(ZF;1=|Sc``SsX^#s;Fg>Uo2ox+3O3pqpMP$x;r>;tw zfA>LJEeVJO$TJufCBLCJ>X>>Nm<nvWr4ItO#bd=VqT490NmhypCX+*F^uZ&9E`558 zd)3buHOT?wKq1i*!SrOX_Ux<wdlDUgkrF$uQhLo>I_99FfM$s~Q|PHASe|GA7SoY8 z{^#2bi@Y1jTwce6RM1}=XqXejVp)mygUkgJ(sGTKT$YEm%5Apf{{7DhrsrKN>Li}b zaQODj;qh2lGsM&n*+h-g>q*vz*XOc|k?O78Vr1G3yF0XoaoMDH)dV87GcfQnR_bg8 zfz3y$lCcX+b+#*e_?Ckkk_Oj}422CGPu@N&mb>s(l#IgMpW(<nXauHoFK@t}2aw<_ zRw_#w3Ak}DrlE%nw*=logKoN`hy;OzS_8|sZ3Nswcc9>H@i;Wp=w(c_PMd0#p{{I! zdOpM^ZLKGjV(P8bo+JaTxgwKI$t;hwk-9!X^&y6u!;U8KQ(OyP-NJS4AZ5LnQ~N^> zDdvBtmjN>VU5D$3rE6K~v8~Lp4*uE05#!X*IbO66qg*eb<Z_cEc1arR2cICz&%oP2 zyl2~FFi(XzgcEp!<}NW`!8q^|Ht;<PX5M(s7Gk3sN>yGTglk2R3PHB+>GW&H-OnVY zsupsv<9Sj}se(O?l9d8GP+Lr^c7Zn7x2<#jmX1H>qAm4!PVX?G|DIXveYl?f$+Cah zt_#6Js@{=k4@p8qy+IT|#VO(c(`r1H81V2$Edfb>;p)^cK`PHbh%`pyr+7j{y;I?d zixP+6j`9NQKXz@<q`?OcamZp~sKMjF<rVor-0SM~@ao^zy)CpufD-!~i|zy!x67i) zMoynWKHy^+mo1apF=<WG?>Wu{A-ty+Y=GavzVnfdwR0^G?953=zG9g)cj>cYR<AeO zN8a5(LGZMI{X)Iy%ah}&q$=<)?_i=2LZ0vzjb^sUDwN)K)%#4RcArvCNk4x?haRZ2 zH$VkL2I7=2RGrMogR9p_R~rNs)R~Gm0KQ1--;VcHaUH`vZhA3wJc7CY9Wq1!$r;2r zOgvzoTW=YFl~xpjp{O5&+>OTa1@ZP3cTFF83s^@3X8(C?0pSXJ!$zVl$)BN6B0Y%- zqxvC%nbypTp9BxE=<Of$W>qrp%|11Z2|%J6fF~j4$DTLS+(5D!uP?`OdPn<C<lBtW z)q}4upSt*NFap1w@z$M)H`qe&w_E(XM{~3Di%J30(74zs3DGXG_5_&1DV16A*6kZF ze$UyLspD)Hv$A~AU1k9kyEypgl-Ym`vXK&NF8{r#%S0q{WJC#7Qr&Xa#LIUy_1&)^ zgNkf#RJ#q#2Wxy!Uu3+PTJG)1?zGyN5tGn0UUMgXj_66qu5u7JHX3wx5>y;4auYoA zR^y#QjsOj50pZ^f!MB8dKcjR3>7!2?eR*Rqwqd{nAkP5hSoe}6R>7o>xX}SMCnURQ zJ<sQL=P6qt!dGV}<juiwWn!_lEmR67yJ}kq{UlA1u^Q>$O-*r)hv=In(@oZmTD`9K ze!f`zII0<Q7o3k4ht)4-bV}Y6_e=MxKpOsxIOdc=Wrvuwq|tME#5cDdd&OeaVO}7? z^*&+j!B+0Sm4UkP781X+USX3MG+mDB(agonpoYT^m}>R85n@}+r3(>h4#Yj<_CUZf zSj4Hbr%#hqS$zQuwDa5VKHw~hCv5VlDGLm82gK0s>}fM1X=-wOe6Uv-PsT^1kv`V! zx?FfdfWnf0F^5+>0l}n`k>X2Ig1|zK<$1o-cgnavsyo4OaDsqAtGK>v6^2m{2!-)v z!6vOu=wX;0NKuD-o-AOkIqv$B5M<l_F90^NGxi_xg(Tl9!t~^dzplEE!-7HF*?q|L z#7YgWyg;w!Vof#UaU!`_L=qfNwK{)m+w7YpkRq3tQ4RtNpyIxKrqGk(kzfOseC#3u zbBcC>)%XQ$8v#vkHMo*wfpH+Gklj)Ihd0nS;42Vdpl4=IM~G;Uym!?S=ngM3F`~AU zY-g;z(|kF!g~O2DK;$reD8qnIR~YVgc&HAj8qFuG$^4{E6E67R%s0PwYVbwb>!G1f zzCbetO`W5fz`~-{lsUF?;l@lWA@D?I%HkPPOW|NoMaiTuP2+>KY{{M@Mc%CazH0)@ zIJ2Wk$&!f30GQ#(!#hZju#&PeY&R4+>>S|E%@Cm*LN)^Wx`~V-a#4u&KdA`-Z7R}1 z!J2=io|TZPx@jY$j#=i|NI(6^;T6t7B75j;2jIC&edaFfufy6EQ!s%EgH8#N<F~#T zDT@h(@UUw1$1T3j*x=)nB!{I2nb2tB&hGXz@~bi!$(I**E>f6br=#C9$ecA%V>Ygs zL$#lNQW>NB&G#H1oZ-99<<A<<vO7`GvNGGWp3Tv1%0D<6!k%<kj^N+O{zl`8T~RVV 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 Ls*6z&tVmgrT(+zo?<zR?rf$0u?c$y4u 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⪚r4#7<B<L=5yk3rELbP57pbGu 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/setuptools.pth b/venv/lib/python3.6/site-packages/setuptools.pth new file mode 100644 index 0000000..4902f07 --- /dev/null +++ b/venv/lib/python3.6/site-packages/setuptools.pth @@ -0,0 +1 @@ +./setuptools-40.8.0-py3.6.egg diff --git a/venv/lib64 b/venv/lib64 new file mode 120000 index 0000000..7951405 --- /dev/null +++ b/venv/lib64 @@ -0,0 +1 @@ +lib \ No newline at end of file diff --git a/venv/pyvenv.cfg b/venv/pyvenv.cfg new file mode 100644 index 0000000..99a78fb --- /dev/null +++ b/venv/pyvenv.cfg @@ -0,0 +1,3 @@ +home = /usr/bin +include-system-site-packages = false +version = 3.6.5