paramiko 3.3.0__tar.gz → 3.3.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {paramiko-3.3.0/paramiko.egg-info → paramiko-3.3.2}/PKG-INFO +2 -2
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/.buildinfo +1 -1
- paramiko-3.3.2/docs/.doctrees/api/agent.doctree +0 -0
- paramiko-3.3.2/docs/.doctrees/api/auth.doctree +0 -0
- paramiko-3.3.2/docs/.doctrees/api/buffered_pipe.doctree +0 -0
- paramiko-3.3.2/docs/.doctrees/api/channel.doctree +0 -0
- paramiko-3.3.2/docs/.doctrees/api/client.doctree +0 -0
- paramiko-3.3.2/docs/.doctrees/api/config.doctree +0 -0
- paramiko-3.3.2/docs/.doctrees/api/file.doctree +0 -0
- paramiko-3.3.2/docs/.doctrees/api/hostkeys.doctree +0 -0
- paramiko-3.3.2/docs/.doctrees/api/kex_gss.doctree +0 -0
- paramiko-3.3.2/docs/.doctrees/api/keys.doctree +0 -0
- paramiko-3.3.2/docs/.doctrees/api/message.doctree +0 -0
- paramiko-3.3.2/docs/.doctrees/api/packet.doctree +0 -0
- paramiko-3.3.2/docs/.doctrees/api/pipe.doctree +0 -0
- paramiko-3.3.2/docs/.doctrees/api/proxy.doctree +0 -0
- paramiko-3.3.2/docs/.doctrees/api/server.doctree +0 -0
- paramiko-3.3.2/docs/.doctrees/api/sftp.doctree +0 -0
- paramiko-3.3.2/docs/.doctrees/api/ssh_exception.doctree +0 -0
- paramiko-3.3.2/docs/.doctrees/api/ssh_gss.doctree +0 -0
- paramiko-3.3.2/docs/.doctrees/api/transport.doctree +0 -0
- paramiko-3.3.2/docs/.doctrees/environment.pickle +0 -0
- paramiko-3.3.2/docs/.doctrees/index.doctree +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_static/basic.css +45 -29
- paramiko-3.3.2/docs/_static/doctools.js +156 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_static/documentation_options.js +4 -2
- paramiko-3.3.2/docs/_static/language_data.js +199 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_static/pygments.css +1 -0
- paramiko-3.3.2/docs/_static/searchtools.js +566 -0
- paramiko-3.3.2/docs/_static/sphinx_highlight.js +144 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/api/agent.html +153 -53
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/api/auth.html +94 -21
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/api/buffered_pipe.html +39 -23
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/api/channel.html +131 -72
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/api/client.html +71 -38
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/api/config.html +46 -22
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/api/file.html +53 -33
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/api/hostkeys.html +57 -30
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/api/kex_gss.html +39 -18
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/api/keys.html +229 -123
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/api/message.html +61 -30
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/api/packet.html +43 -22
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/api/pipe.html +21 -15
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/api/proxy.html +25 -19
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/api/server.html +131 -91
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/api/sftp.html +259 -146
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/api/ssh_exception.html +60 -19
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/api/ssh_gss.html +120 -78
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/api/transport.html +207 -137
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/genindex.html +21 -15
- paramiko-3.3.2/docs/index.html +1104 -0
- paramiko-3.3.2/docs/objects.inv +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/py-modindex.html +10 -12
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/search.html +9 -11
- paramiko-3.3.2/docs/searchindex.js +1 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/_version.py +1 -1
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/pkey.py +15 -1
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/transport.py +18 -3
- {paramiko-3.3.0 → paramiko-3.3.2/paramiko.egg-info}/PKG-INFO +2 -2
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko.egg-info/SOURCES.txt +1 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/_util.py +4 -1
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_config.py +1 -1
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_transport.py +6 -2
- paramiko-3.3.0/docs/.doctrees/api/agent.doctree +0 -0
- paramiko-3.3.0/docs/.doctrees/api/auth.doctree +0 -0
- paramiko-3.3.0/docs/.doctrees/api/buffered_pipe.doctree +0 -0
- paramiko-3.3.0/docs/.doctrees/api/channel.doctree +0 -0
- paramiko-3.3.0/docs/.doctrees/api/client.doctree +0 -0
- paramiko-3.3.0/docs/.doctrees/api/config.doctree +0 -0
- paramiko-3.3.0/docs/.doctrees/api/file.doctree +0 -0
- paramiko-3.3.0/docs/.doctrees/api/hostkeys.doctree +0 -0
- paramiko-3.3.0/docs/.doctrees/api/kex_gss.doctree +0 -0
- paramiko-3.3.0/docs/.doctrees/api/keys.doctree +0 -0
- paramiko-3.3.0/docs/.doctrees/api/message.doctree +0 -0
- paramiko-3.3.0/docs/.doctrees/api/packet.doctree +0 -0
- paramiko-3.3.0/docs/.doctrees/api/pipe.doctree +0 -0
- paramiko-3.3.0/docs/.doctrees/api/proxy.doctree +0 -0
- paramiko-3.3.0/docs/.doctrees/api/server.doctree +0 -0
- paramiko-3.3.0/docs/.doctrees/api/sftp.doctree +0 -0
- paramiko-3.3.0/docs/.doctrees/api/ssh_exception.doctree +0 -0
- paramiko-3.3.0/docs/.doctrees/api/ssh_gss.doctree +0 -0
- paramiko-3.3.0/docs/.doctrees/api/transport.doctree +0 -0
- paramiko-3.3.0/docs/.doctrees/environment.pickle +0 -0
- paramiko-3.3.0/docs/.doctrees/index.doctree +0 -0
- paramiko-3.3.0/docs/_static/doctools.js +0 -323
- paramiko-3.3.0/docs/_static/language_data.js +0 -297
- paramiko-3.3.0/docs/_static/searchtools.js +0 -529
- paramiko-3.3.0/docs/index.html +0 -243
- paramiko-3.3.0/docs/objects.inv +0 -0
- paramiko-3.3.0/docs/searchindex.js +0 -1
- {paramiko-3.3.0 → paramiko-3.3.2}/LICENSE +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/MANIFEST.in +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/README.rst +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/demos/demo.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/demos/demo_keygen.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/demos/demo_server.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/demos/demo_sftp.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/demos/demo_simple.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/demos/forward.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/demos/interactive.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/demos/rforward.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/demos/test_rsa.key +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/demos/user_rsa_key +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/demos/user_rsa_key.pub +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_sources/api/agent.rst.txt +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_sources/api/auth.rst.txt +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_sources/api/buffered_pipe.rst.txt +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_sources/api/channel.rst.txt +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_sources/api/client.rst.txt +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_sources/api/config.rst.txt +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_sources/api/file.rst.txt +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_sources/api/hostkeys.rst.txt +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_sources/api/kex_gss.rst.txt +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_sources/api/keys.rst.txt +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_sources/api/message.rst.txt +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_sources/api/packet.rst.txt +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_sources/api/pipe.rst.txt +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_sources/api/proxy.rst.txt +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_sources/api/server.rst.txt +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_sources/api/sftp.rst.txt +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_sources/api/ssh_exception.rst.txt +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_sources/api/ssh_gss.rst.txt +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_sources/api/transport.rst.txt +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_sources/index.rst.txt +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_static/alabaster.css +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_static/custom.css +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_static/file.png +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_static/jquery-3.5.1.js +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_static/jquery.js +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_static/minus.png +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_static/plus.png +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_static/underscore-1.13.1.js +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/docs/_static/underscore.js +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/__init__.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/_winapi.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/agent.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/auth_handler.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/auth_strategy.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/ber.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/buffered_pipe.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/channel.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/client.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/common.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/compress.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/config.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/dsskey.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/ecdsakey.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/ed25519key.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/file.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/hostkeys.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/kex_curve25519.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/kex_ecdh_nist.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/kex_gex.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/kex_group1.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/kex_group14.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/kex_group16.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/kex_gss.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/message.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/packet.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/pipe.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/primes.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/proxy.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/rsakey.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/server.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/sftp.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/sftp_attr.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/sftp_client.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/sftp_file.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/sftp_handle.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/sftp_server.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/sftp_si.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/ssh_exception.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/ssh_gss.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/util.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/win_openssh.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko/win_pageant.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko.egg-info/dependency_links.txt +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko.egg-info/requires.txt +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/paramiko.egg-info/top_level.txt +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/pytest.ini +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/setup.cfg +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/setup.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/setup_helper.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/__init__.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/_loop.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/_stub_sftp.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/_support/dss.key +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/_support/dss.key-cert.pub +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/_support/ecdsa-256.key +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/_support/ecdsa-256.key-cert.pub +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/_support/ed25519.key +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/_support/ed25519.key-cert.pub +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/_support/ed448.key +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/_support/rsa-lonely.key +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/_support/rsa-missing.key-cert.pub +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/_support/rsa.key +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/_support/rsa.key-cert.pub +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/agent.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/auth.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/badhash_key1.ed25519.key +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/badhash_key2.ed25519.key +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/blank_rsa.key +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/basic +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/canon +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/canon-always +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/canon-ipv4 +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/canon-local +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/canon-local-always +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/deep-canon +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/deep-canon-maxdots +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/empty-canon +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/fallback-no +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/fallback-yes +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/hostname-exec-tokenized +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/hostname-tokenized +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/invalid +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/match-all +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/match-all-after-canonical +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/match-all-and-more +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/match-all-and-more-before +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/match-all-before-canonical +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/match-canonical-no +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/match-canonical-yes +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/match-complex +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/match-exec +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/match-exec-canonical +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/match-exec-negation +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/match-exec-no-arg +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/match-final +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/match-host +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/match-host-canonicalized +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/match-host-from-match +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/match-host-glob +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/match-host-glob-list +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/match-host-name +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/match-host-negated +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/match-host-no-arg +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/match-localuser +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/match-localuser-no-arg +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/match-orighost +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/match-orighost-canonical +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/match-orighost-no-arg +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/match-user +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/match-user-explicit +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/match-user-no-arg +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/multi-canon-domains +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/no-canon +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/robey +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/configs/zero-maxdots +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/conftest.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/pkey.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_buffered_pipe.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_channelfile.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_client.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_dss_openssh.key +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_dss_password.key +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_ecdsa_384.key +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_ecdsa_384_openssh.key +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_ecdsa_521.key +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_ecdsa_password_256.key +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_ecdsa_password_384.key +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_ecdsa_password_521.key +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_ed25519-funky-padding.key +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_ed25519-funky-padding_password.key +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_ed25519_password.key +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_file.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_gssapi.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_hostkeys.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_kex.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_kex_gss.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_message.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_packetizer.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_pkey.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_proxy.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_rsa.key.pub +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_rsa_openssh.key +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_rsa_openssh_nopad.key +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_rsa_password.key +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_sftp.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_sftp_big.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_ssh_exception.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_ssh_gss.py +0 -0
- {paramiko-3.3.0 → paramiko-3.3.2}/tests/test_util.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: paramiko
|
|
3
|
-
Version: 3.3.
|
|
3
|
+
Version: 3.3.2
|
|
4
4
|
Summary: SSH2 protocol library
|
|
5
5
|
Home-page: https://paramiko.org
|
|
6
6
|
Author: Jeff Forcier
|
|
@@ -82,5 +82,5 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
82
82
|
Requires-Python: >=3.6
|
|
83
83
|
Provides-Extra: gssapi
|
|
84
84
|
Provides-Extra: invoke
|
|
85
|
-
Provides-Extra: all
|
|
86
85
|
Provides-Extra: ed25519
|
|
86
|
+
Provides-Extra: all
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
# Sphinx build info version 1
|
|
2
2
|
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
|
|
3
|
-
config:
|
|
3
|
+
config: 0128861937ba8a629b8e552b8fcea8b7
|
|
4
4
|
tags: 645f666f9bcd5a90fca523b33c5a78b7
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Sphinx stylesheet -- basic theme.
|
|
6
6
|
*
|
|
7
|
-
* :copyright: Copyright 2007-
|
|
7
|
+
* :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
|
|
8
8
|
* :license: BSD, see LICENSE for details.
|
|
9
9
|
*
|
|
10
10
|
*/
|
|
@@ -222,7 +222,7 @@ table.modindextable td {
|
|
|
222
222
|
/* -- general body styles --------------------------------------------------- */
|
|
223
223
|
|
|
224
224
|
div.body {
|
|
225
|
-
min-width:
|
|
225
|
+
min-width: 360px;
|
|
226
226
|
max-width: 800px;
|
|
227
227
|
}
|
|
228
228
|
|
|
@@ -237,16 +237,6 @@ a.headerlink {
|
|
|
237
237
|
visibility: hidden;
|
|
238
238
|
}
|
|
239
239
|
|
|
240
|
-
a.brackets:before,
|
|
241
|
-
span.brackets > a:before{
|
|
242
|
-
content: "[";
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
a.brackets:after,
|
|
246
|
-
span.brackets > a:after {
|
|
247
|
-
content: "]";
|
|
248
|
-
}
|
|
249
|
-
|
|
250
240
|
h1:hover > a.headerlink,
|
|
251
241
|
h2:hover > a.headerlink,
|
|
252
242
|
h3:hover > a.headerlink,
|
|
@@ -335,12 +325,16 @@ p.sidebar-title {
|
|
|
335
325
|
font-weight: bold;
|
|
336
326
|
}
|
|
337
327
|
|
|
328
|
+
nav.contents,
|
|
329
|
+
aside.topic,
|
|
338
330
|
div.admonition, div.topic, blockquote {
|
|
339
331
|
clear: left;
|
|
340
332
|
}
|
|
341
333
|
|
|
342
334
|
/* -- topics ---------------------------------------------------------------- */
|
|
343
335
|
|
|
336
|
+
nav.contents,
|
|
337
|
+
aside.topic,
|
|
344
338
|
div.topic {
|
|
345
339
|
border: 1px solid #ccc;
|
|
346
340
|
padding: 7px;
|
|
@@ -379,6 +373,8 @@ div.body p.centered {
|
|
|
379
373
|
|
|
380
374
|
div.sidebar > :last-child,
|
|
381
375
|
aside.sidebar > :last-child,
|
|
376
|
+
nav.contents > :last-child,
|
|
377
|
+
aside.topic > :last-child,
|
|
382
378
|
div.topic > :last-child,
|
|
383
379
|
div.admonition > :last-child {
|
|
384
380
|
margin-bottom: 0;
|
|
@@ -386,6 +382,8 @@ div.admonition > :last-child {
|
|
|
386
382
|
|
|
387
383
|
div.sidebar::after,
|
|
388
384
|
aside.sidebar::after,
|
|
385
|
+
nav.contents::after,
|
|
386
|
+
aside.topic::after,
|
|
389
387
|
div.topic::after,
|
|
390
388
|
div.admonition::after,
|
|
391
389
|
blockquote::after {
|
|
@@ -428,10 +426,6 @@ table.docutils td, table.docutils th {
|
|
|
428
426
|
border-bottom: 1px solid #aaa;
|
|
429
427
|
}
|
|
430
428
|
|
|
431
|
-
table.footnote td, table.footnote th {
|
|
432
|
-
border: 0 !important;
|
|
433
|
-
}
|
|
434
|
-
|
|
435
429
|
th {
|
|
436
430
|
text-align: left;
|
|
437
431
|
padding-right: 5px;
|
|
@@ -615,19 +609,26 @@ ul.simple p {
|
|
|
615
609
|
margin-bottom: 0;
|
|
616
610
|
}
|
|
617
611
|
|
|
618
|
-
|
|
619
|
-
|
|
612
|
+
aside.footnote > span,
|
|
613
|
+
div.citation > span {
|
|
620
614
|
float: left;
|
|
621
|
-
margin-right: 0.5em;
|
|
622
615
|
}
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
616
|
+
aside.footnote > span:last-of-type,
|
|
617
|
+
div.citation > span:last-of-type {
|
|
618
|
+
padding-right: 0.5em;
|
|
619
|
+
}
|
|
620
|
+
aside.footnote > p {
|
|
621
|
+
margin-left: 2em;
|
|
622
|
+
}
|
|
623
|
+
div.citation > p {
|
|
624
|
+
margin-left: 4em;
|
|
625
|
+
}
|
|
626
|
+
aside.footnote > p:last-of-type,
|
|
627
|
+
div.citation > p:last-of-type {
|
|
626
628
|
margin-bottom: 0em;
|
|
627
629
|
}
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
dl.citation > dd:after {
|
|
630
|
+
aside.footnote > p:last-of-type:after,
|
|
631
|
+
div.citation > p:last-of-type:after {
|
|
631
632
|
content: "";
|
|
632
633
|
clear: both;
|
|
633
634
|
}
|
|
@@ -644,10 +645,6 @@ dl.field-list > dt {
|
|
|
644
645
|
padding-right: 5px;
|
|
645
646
|
}
|
|
646
647
|
|
|
647
|
-
dl.field-list > dt:after {
|
|
648
|
-
content: ":";
|
|
649
|
-
}
|
|
650
|
-
|
|
651
648
|
dl.field-list > dd {
|
|
652
649
|
padding-left: 0.5em;
|
|
653
650
|
margin-top: 0em;
|
|
@@ -673,6 +670,16 @@ dd {
|
|
|
673
670
|
margin-left: 30px;
|
|
674
671
|
}
|
|
675
672
|
|
|
673
|
+
.sig dd {
|
|
674
|
+
margin-top: 0px;
|
|
675
|
+
margin-bottom: 0px;
|
|
676
|
+
}
|
|
677
|
+
|
|
678
|
+
.sig dl {
|
|
679
|
+
margin-top: 0px;
|
|
680
|
+
margin-bottom: 0px;
|
|
681
|
+
}
|
|
682
|
+
|
|
676
683
|
dl > dd:last-child,
|
|
677
684
|
dl > dd:last-child > :last-child {
|
|
678
685
|
margin-bottom: 0;
|
|
@@ -741,6 +748,14 @@ abbr, acronym {
|
|
|
741
748
|
cursor: help;
|
|
742
749
|
}
|
|
743
750
|
|
|
751
|
+
.translated {
|
|
752
|
+
background-color: rgba(207, 255, 207, 0.2)
|
|
753
|
+
}
|
|
754
|
+
|
|
755
|
+
.untranslated {
|
|
756
|
+
background-color: rgba(255, 207, 207, 0.2)
|
|
757
|
+
}
|
|
758
|
+
|
|
744
759
|
/* -- code displays --------------------------------------------------------- */
|
|
745
760
|
|
|
746
761
|
pre {
|
|
@@ -757,6 +772,7 @@ span.pre {
|
|
|
757
772
|
-ms-hyphens: none;
|
|
758
773
|
-webkit-hyphens: none;
|
|
759
774
|
hyphens: none;
|
|
775
|
+
white-space: nowrap;
|
|
760
776
|
}
|
|
761
777
|
|
|
762
778
|
div[class*="highlight-"] {
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* doctools.js
|
|
3
|
+
* ~~~~~~~~~~~
|
|
4
|
+
*
|
|
5
|
+
* Base JavaScript utilities for all Sphinx HTML documentation.
|
|
6
|
+
*
|
|
7
|
+
* :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
|
|
8
|
+
* :license: BSD, see LICENSE for details.
|
|
9
|
+
*
|
|
10
|
+
*/
|
|
11
|
+
"use strict";
|
|
12
|
+
|
|
13
|
+
const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([
|
|
14
|
+
"TEXTAREA",
|
|
15
|
+
"INPUT",
|
|
16
|
+
"SELECT",
|
|
17
|
+
"BUTTON",
|
|
18
|
+
]);
|
|
19
|
+
|
|
20
|
+
const _ready = (callback) => {
|
|
21
|
+
if (document.readyState !== "loading") {
|
|
22
|
+
callback();
|
|
23
|
+
} else {
|
|
24
|
+
document.addEventListener("DOMContentLoaded", callback);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Small JavaScript module for the documentation.
|
|
30
|
+
*/
|
|
31
|
+
const Documentation = {
|
|
32
|
+
init: () => {
|
|
33
|
+
Documentation.initDomainIndexTable();
|
|
34
|
+
Documentation.initOnKeyListeners();
|
|
35
|
+
},
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* i18n support
|
|
39
|
+
*/
|
|
40
|
+
TRANSLATIONS: {},
|
|
41
|
+
PLURAL_EXPR: (n) => (n === 1 ? 0 : 1),
|
|
42
|
+
LOCALE: "unknown",
|
|
43
|
+
|
|
44
|
+
// gettext and ngettext don't access this so that the functions
|
|
45
|
+
// can safely bound to a different name (_ = Documentation.gettext)
|
|
46
|
+
gettext: (string) => {
|
|
47
|
+
const translated = Documentation.TRANSLATIONS[string];
|
|
48
|
+
switch (typeof translated) {
|
|
49
|
+
case "undefined":
|
|
50
|
+
return string; // no translation
|
|
51
|
+
case "string":
|
|
52
|
+
return translated; // translation exists
|
|
53
|
+
default:
|
|
54
|
+
return translated[0]; // (singular, plural) translation tuple exists
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
|
|
58
|
+
ngettext: (singular, plural, n) => {
|
|
59
|
+
const translated = Documentation.TRANSLATIONS[singular];
|
|
60
|
+
if (typeof translated !== "undefined")
|
|
61
|
+
return translated[Documentation.PLURAL_EXPR(n)];
|
|
62
|
+
return n === 1 ? singular : plural;
|
|
63
|
+
},
|
|
64
|
+
|
|
65
|
+
addTranslations: (catalog) => {
|
|
66
|
+
Object.assign(Documentation.TRANSLATIONS, catalog.messages);
|
|
67
|
+
Documentation.PLURAL_EXPR = new Function(
|
|
68
|
+
"n",
|
|
69
|
+
`return (${catalog.plural_expr})`
|
|
70
|
+
);
|
|
71
|
+
Documentation.LOCALE = catalog.locale;
|
|
72
|
+
},
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* helper function to focus on search bar
|
|
76
|
+
*/
|
|
77
|
+
focusSearchBar: () => {
|
|
78
|
+
document.querySelectorAll("input[name=q]")[0]?.focus();
|
|
79
|
+
},
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Initialise the domain index toggle buttons
|
|
83
|
+
*/
|
|
84
|
+
initDomainIndexTable: () => {
|
|
85
|
+
const toggler = (el) => {
|
|
86
|
+
const idNumber = el.id.substr(7);
|
|
87
|
+
const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`);
|
|
88
|
+
if (el.src.substr(-9) === "minus.png") {
|
|
89
|
+
el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`;
|
|
90
|
+
toggledRows.forEach((el) => (el.style.display = "none"));
|
|
91
|
+
} else {
|
|
92
|
+
el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`;
|
|
93
|
+
toggledRows.forEach((el) => (el.style.display = ""));
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
const togglerElements = document.querySelectorAll("img.toggler");
|
|
98
|
+
togglerElements.forEach((el) =>
|
|
99
|
+
el.addEventListener("click", (event) => toggler(event.currentTarget))
|
|
100
|
+
);
|
|
101
|
+
togglerElements.forEach((el) => (el.style.display = ""));
|
|
102
|
+
if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler);
|
|
103
|
+
},
|
|
104
|
+
|
|
105
|
+
initOnKeyListeners: () => {
|
|
106
|
+
// only install a listener if it is really needed
|
|
107
|
+
if (
|
|
108
|
+
!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS &&
|
|
109
|
+
!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS
|
|
110
|
+
)
|
|
111
|
+
return;
|
|
112
|
+
|
|
113
|
+
document.addEventListener("keydown", (event) => {
|
|
114
|
+
// bail for input elements
|
|
115
|
+
if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return;
|
|
116
|
+
// bail with special keys
|
|
117
|
+
if (event.altKey || event.ctrlKey || event.metaKey) return;
|
|
118
|
+
|
|
119
|
+
if (!event.shiftKey) {
|
|
120
|
+
switch (event.key) {
|
|
121
|
+
case "ArrowLeft":
|
|
122
|
+
if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break;
|
|
123
|
+
|
|
124
|
+
const prevLink = document.querySelector('link[rel="prev"]');
|
|
125
|
+
if (prevLink && prevLink.href) {
|
|
126
|
+
window.location.href = prevLink.href;
|
|
127
|
+
event.preventDefault();
|
|
128
|
+
}
|
|
129
|
+
break;
|
|
130
|
+
case "ArrowRight":
|
|
131
|
+
if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break;
|
|
132
|
+
|
|
133
|
+
const nextLink = document.querySelector('link[rel="next"]');
|
|
134
|
+
if (nextLink && nextLink.href) {
|
|
135
|
+
window.location.href = nextLink.href;
|
|
136
|
+
event.preventDefault();
|
|
137
|
+
}
|
|
138
|
+
break;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// some keyboard layouts may need Shift to get /
|
|
143
|
+
switch (event.key) {
|
|
144
|
+
case "/":
|
|
145
|
+
if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break;
|
|
146
|
+
Documentation.focusSearchBar();
|
|
147
|
+
event.preventDefault();
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
},
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
// quick alias for translations
|
|
154
|
+
const _ = Documentation.gettext;
|
|
155
|
+
|
|
156
|
+
_ready(Documentation.init);
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
var DOCUMENTATION_OPTIONS = {
|
|
2
2
|
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
|
|
3
3
|
VERSION: '',
|
|
4
|
-
LANGUAGE: '
|
|
4
|
+
LANGUAGE: 'en',
|
|
5
5
|
COLLAPSE_INDEX: false,
|
|
6
6
|
BUILDER: 'html',
|
|
7
7
|
FILE_SUFFIX: '.html',
|
|
8
8
|
LINK_SUFFIX: '.html',
|
|
9
9
|
HAS_SOURCE: true,
|
|
10
10
|
SOURCELINK_SUFFIX: '.txt',
|
|
11
|
-
NAVIGATION_WITH_KEYS: false
|
|
11
|
+
NAVIGATION_WITH_KEYS: false,
|
|
12
|
+
SHOW_SEARCH_SUMMARY: true,
|
|
13
|
+
ENABLE_SEARCH_SHORTCUTS: true,
|
|
12
14
|
};
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* language_data.js
|
|
3
|
+
* ~~~~~~~~~~~~~~~~
|
|
4
|
+
*
|
|
5
|
+
* This script contains the language-specific data used by searchtools.js,
|
|
6
|
+
* namely the list of stopwords, stemmer, scorer and splitter.
|
|
7
|
+
*
|
|
8
|
+
* :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
|
|
9
|
+
* :license: BSD, see LICENSE for details.
|
|
10
|
+
*
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"];
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
/* Non-minified version is copied as a separate JS file, is available */
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Porter Stemmer
|
|
20
|
+
*/
|
|
21
|
+
var Stemmer = function() {
|
|
22
|
+
|
|
23
|
+
var step2list = {
|
|
24
|
+
ational: 'ate',
|
|
25
|
+
tional: 'tion',
|
|
26
|
+
enci: 'ence',
|
|
27
|
+
anci: 'ance',
|
|
28
|
+
izer: 'ize',
|
|
29
|
+
bli: 'ble',
|
|
30
|
+
alli: 'al',
|
|
31
|
+
entli: 'ent',
|
|
32
|
+
eli: 'e',
|
|
33
|
+
ousli: 'ous',
|
|
34
|
+
ization: 'ize',
|
|
35
|
+
ation: 'ate',
|
|
36
|
+
ator: 'ate',
|
|
37
|
+
alism: 'al',
|
|
38
|
+
iveness: 'ive',
|
|
39
|
+
fulness: 'ful',
|
|
40
|
+
ousness: 'ous',
|
|
41
|
+
aliti: 'al',
|
|
42
|
+
iviti: 'ive',
|
|
43
|
+
biliti: 'ble',
|
|
44
|
+
logi: 'log'
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
var step3list = {
|
|
48
|
+
icate: 'ic',
|
|
49
|
+
ative: '',
|
|
50
|
+
alize: 'al',
|
|
51
|
+
iciti: 'ic',
|
|
52
|
+
ical: 'ic',
|
|
53
|
+
ful: '',
|
|
54
|
+
ness: ''
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
var c = "[^aeiou]"; // consonant
|
|
58
|
+
var v = "[aeiouy]"; // vowel
|
|
59
|
+
var C = c + "[^aeiouy]*"; // consonant sequence
|
|
60
|
+
var V = v + "[aeiou]*"; // vowel sequence
|
|
61
|
+
|
|
62
|
+
var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0
|
|
63
|
+
var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1
|
|
64
|
+
var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1
|
|
65
|
+
var s_v = "^(" + C + ")?" + v; // vowel in stem
|
|
66
|
+
|
|
67
|
+
this.stemWord = function (w) {
|
|
68
|
+
var stem;
|
|
69
|
+
var suffix;
|
|
70
|
+
var firstch;
|
|
71
|
+
var origword = w;
|
|
72
|
+
|
|
73
|
+
if (w.length < 3)
|
|
74
|
+
return w;
|
|
75
|
+
|
|
76
|
+
var re;
|
|
77
|
+
var re2;
|
|
78
|
+
var re3;
|
|
79
|
+
var re4;
|
|
80
|
+
|
|
81
|
+
firstch = w.substr(0,1);
|
|
82
|
+
if (firstch == "y")
|
|
83
|
+
w = firstch.toUpperCase() + w.substr(1);
|
|
84
|
+
|
|
85
|
+
// Step 1a
|
|
86
|
+
re = /^(.+?)(ss|i)es$/;
|
|
87
|
+
re2 = /^(.+?)([^s])s$/;
|
|
88
|
+
|
|
89
|
+
if (re.test(w))
|
|
90
|
+
w = w.replace(re,"$1$2");
|
|
91
|
+
else if (re2.test(w))
|
|
92
|
+
w = w.replace(re2,"$1$2");
|
|
93
|
+
|
|
94
|
+
// Step 1b
|
|
95
|
+
re = /^(.+?)eed$/;
|
|
96
|
+
re2 = /^(.+?)(ed|ing)$/;
|
|
97
|
+
if (re.test(w)) {
|
|
98
|
+
var fp = re.exec(w);
|
|
99
|
+
re = new RegExp(mgr0);
|
|
100
|
+
if (re.test(fp[1])) {
|
|
101
|
+
re = /.$/;
|
|
102
|
+
w = w.replace(re,"");
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
else if (re2.test(w)) {
|
|
106
|
+
var fp = re2.exec(w);
|
|
107
|
+
stem = fp[1];
|
|
108
|
+
re2 = new RegExp(s_v);
|
|
109
|
+
if (re2.test(stem)) {
|
|
110
|
+
w = stem;
|
|
111
|
+
re2 = /(at|bl|iz)$/;
|
|
112
|
+
re3 = new RegExp("([^aeiouylsz])\\1$");
|
|
113
|
+
re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
|
|
114
|
+
if (re2.test(w))
|
|
115
|
+
w = w + "e";
|
|
116
|
+
else if (re3.test(w)) {
|
|
117
|
+
re = /.$/;
|
|
118
|
+
w = w.replace(re,"");
|
|
119
|
+
}
|
|
120
|
+
else if (re4.test(w))
|
|
121
|
+
w = w + "e";
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
// Step 1c
|
|
126
|
+
re = /^(.+?)y$/;
|
|
127
|
+
if (re.test(w)) {
|
|
128
|
+
var fp = re.exec(w);
|
|
129
|
+
stem = fp[1];
|
|
130
|
+
re = new RegExp(s_v);
|
|
131
|
+
if (re.test(stem))
|
|
132
|
+
w = stem + "i";
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// Step 2
|
|
136
|
+
re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
|
|
137
|
+
if (re.test(w)) {
|
|
138
|
+
var fp = re.exec(w);
|
|
139
|
+
stem = fp[1];
|
|
140
|
+
suffix = fp[2];
|
|
141
|
+
re = new RegExp(mgr0);
|
|
142
|
+
if (re.test(stem))
|
|
143
|
+
w = stem + step2list[suffix];
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
// Step 3
|
|
147
|
+
re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
|
|
148
|
+
if (re.test(w)) {
|
|
149
|
+
var fp = re.exec(w);
|
|
150
|
+
stem = fp[1];
|
|
151
|
+
suffix = fp[2];
|
|
152
|
+
re = new RegExp(mgr0);
|
|
153
|
+
if (re.test(stem))
|
|
154
|
+
w = stem + step3list[suffix];
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
// Step 4
|
|
158
|
+
re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
|
|
159
|
+
re2 = /^(.+?)(s|t)(ion)$/;
|
|
160
|
+
if (re.test(w)) {
|
|
161
|
+
var fp = re.exec(w);
|
|
162
|
+
stem = fp[1];
|
|
163
|
+
re = new RegExp(mgr1);
|
|
164
|
+
if (re.test(stem))
|
|
165
|
+
w = stem;
|
|
166
|
+
}
|
|
167
|
+
else if (re2.test(w)) {
|
|
168
|
+
var fp = re2.exec(w);
|
|
169
|
+
stem = fp[1] + fp[2];
|
|
170
|
+
re2 = new RegExp(mgr1);
|
|
171
|
+
if (re2.test(stem))
|
|
172
|
+
w = stem;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
// Step 5
|
|
176
|
+
re = /^(.+?)e$/;
|
|
177
|
+
if (re.test(w)) {
|
|
178
|
+
var fp = re.exec(w);
|
|
179
|
+
stem = fp[1];
|
|
180
|
+
re = new RegExp(mgr1);
|
|
181
|
+
re2 = new RegExp(meq1);
|
|
182
|
+
re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
|
|
183
|
+
if (re.test(stem) || (re2.test(stem) && !(re3.test(stem))))
|
|
184
|
+
w = stem;
|
|
185
|
+
}
|
|
186
|
+
re = /ll$/;
|
|
187
|
+
re2 = new RegExp(mgr1);
|
|
188
|
+
if (re.test(w) && re2.test(w)) {
|
|
189
|
+
re = /.$/;
|
|
190
|
+
w = w.replace(re,"");
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
// and turn initial Y back to y
|
|
194
|
+
if (firstch == "y")
|
|
195
|
+
w = firstch.toLowerCase() + w.substr(1);
|
|
196
|
+
return w;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
|
|
@@ -22,6 +22,7 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
|
|
22
22
|
.highlight .cs { color: #8f5902; font-style: italic } /* Comment.Special */
|
|
23
23
|
.highlight .gd { color: #a40000 } /* Generic.Deleted */
|
|
24
24
|
.highlight .ge { color: #000000; font-style: italic } /* Generic.Emph */
|
|
25
|
+
.highlight .ges { color: #000000 } /* Generic.EmphStrong */
|
|
25
26
|
.highlight .gr { color: #ef2929 } /* Generic.Error */
|
|
26
27
|
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
|
27
28
|
.highlight .gi { color: #00A000 } /* Generic.Inserted */
|