python-netgear-switch-library 0.0.post337__tar.gz → 0.0.post339__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.
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/PKG-INFO +1 -1
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/_version.py +2 -2
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/aio_api.py +4 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/capabilities.py +7 -1
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/http_read.py +33 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/sync_api.py +14 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/.github/workflows/ci.yml +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/.github/workflows/deb.yml +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/.github/workflows/publish-pypi.yml +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/.gitignore +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/.readthedocs.yaml +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/CLAUDE.md +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/LICENSE +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/README.md +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/RELEASING.md +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/debian/changelog +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/debian/control +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/debian/copyright +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/debian/rules +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/debian/source/format +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/Makefile +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/_ext/filelinks.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/_ext/support_tables.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/_static/models/gs105pe.png +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/_static/models/gs110emx.png +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/_static/models/gs305ep.png +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/_static/models/gs728tpp.png +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/_static/models/gsm7228ps.jpg +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/_static/models/gsm7252ps.jpg +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/_static/models/m4300-16x.png +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/_static/models/m4300-24x.png +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/_static/ngsw.css +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/api/cli.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/api/core.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/api/facades.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/api/index.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/api/mcp.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/api/operations.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/api/protocols.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/api/transport.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/api/virtual.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/cli.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/conf.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/development.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/fake/index.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/fake/internals.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/fake/serving.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/fake/testing.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/guide/concepts.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/guide/configuration.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/guide/installation.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/guide/principles.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/guide/quickstart.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/guide/reading.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/guide/writing.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/index.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/mcp.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/models/gs105pe.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/models/gs110emx.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/models/gs305ep.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/models/gs728tpp.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/models/gsm7228ps.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/models/gsm7252ps.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/models/index.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/models/m4300-16x.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/models/m4300-24x.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/models/support.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/protocols/cli.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/protocols/http/cheetah-form.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/protocols/http/cheetah-v1.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/protocols/http/gambit.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/protocols/http/merge-hash-cgi.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/protocols/http/xml-api.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/protocols/http.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/protocols/index.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/protocols/nsdp.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/protocols/snmp.rst +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/superpowers/plans/2026-07-15-foundation.md +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/superpowers/plans/2026-07-17-slice-02-snmp-read-core.md +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/superpowers/plans/2026-07-17-slice-03-read-apis.md +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/superpowers/plans/2026-07-18-slice-04-snmp-write.md +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/superpowers/plans/2026-07-18-slice-05-nsdp.md +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/superpowers/plans/2026-07-18-slice-06-http.md +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/superpowers/plans/2026-07-18-slice-07-cli.md +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/superpowers/plans/2026-07-18-slice-08-packaging-ci.md +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/superpowers/plans/2026-07-23-gsm7252ps-http-xe-dialect.md +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/superpowers/specs/2026-07-15-netgear-control-library-design.md +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/superpowers/specs/2026-07-23-gsm7252ps-http-xe-dialect-design.md +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/superpowers/specs/2026-08-02-snmp-surface-findings.md +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/packaging/apt-index.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/packaging/ci-build.sh +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/packaging/deb-version.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/pyproject.toml +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/_dispatch.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/cli/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/cli/capture.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/cli/context.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/cli/format.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/cli/main.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/cli/resolve.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/cli/safety.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/cli_read.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/cli_write.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/config.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/errors.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/http_write.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/mcp/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/mcp/server.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/models.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/nsdp_read.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/nsdp_write.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/protocols/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/protocols/cli/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/protocols/cli/commands.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/protocols/cli/parse.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/protocols/http/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/protocols/http/crypt.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/protocols/http/endpoints.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/protocols/http/forms.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/protocols/http/parse.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/protocols/http/session.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/protocols/http/types.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/protocols/nsdp/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/protocols/nsdp/auth.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/protocols/nsdp/client.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/protocols/nsdp/parsers.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/protocols/nsdp/protocol.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/protocols/nsdp/types.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/protocols/nsdp/write.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/protocols/snmp/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/protocols/snmp/client.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/protocols/snmp/oids.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/protocols/snmp/parse.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/protocols/snmp/write.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/py.typed +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/registry.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/snmp_read.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/snmp_write.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/transport/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/transport/aio/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/transport/aio/nsdp_udp.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/transport/aio/snmp_pysnmp.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/transport/cli/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/transport/cli/console.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/transport/cli/session.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/transport/cli/ssh.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/transport/cli/telnet.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/transport/http/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/transport/http/client.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/transport/sync/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/transport/sync/nsdp_udp.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/transport/sync/snmp_netsnmp_cli.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/virtual/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/virtual/cli_fastpath.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/virtual/faces/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/virtual/faces/cli.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/virtual/faces/http.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/virtual/faces/mibview.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/virtual/faces/nsdp.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/virtual/faces/snmp.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/virtual/seed.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/virtual/server.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/virtual/state.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/virtual/web.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/virtual/web_fastpath_vlan.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/virtual/web_fastpath_xui.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/virtual/web_gs105pe.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/virtual/web_gs110emx.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/virtual/web_gs110emx_templates.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/virtual/web_gs728tpp.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/virtual/web_gsm7228ps.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/virtual/web_gsm7252ps.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/src/netgear_switch/virtual/web_m4300.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/capture_parity.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/cli/test_capture.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/cli/test_cli_integration.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/cli/test_control_poe_port.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/cli/test_control_vlan_ip.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/cli/test_format.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/cli/test_main_framework.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/cli/test_new_commands.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/cli/test_op_coverage.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/cli/test_prompt_wiring.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/cli/test_read_commands.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/cli/test_resolve.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/cli/test_safety.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/cli/test_serve.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/conftest.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/captures/gsm7228ps.json +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/captures/gsm7252ps.json +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/captures/m4300-16x.json +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/captures/m4300-24x.json +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/gsm7228ps_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/gsm7228ps_lldp.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/gsm7228ps_mac_table.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/gsm7228ps_network.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/gsm7228ps_poe.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/gsm7228ps_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/gsm7228ps_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/gsm7228ps_vlan.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/gsm7228ps_vlan_brief.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/gsm7228ps_vlan_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/gsm7252ps_show_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/gsm7252ps_show_interface_ethernet_1_0_1.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/gsm7252ps_show_lldp_remote_device_all.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/gsm7252ps_show_mac_addr_table.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/gsm7252ps_show_network.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/gsm7252ps_show_poe_port_info_all.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/gsm7252ps_show_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/gsm7252ps_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/gsm7252ps_show_vlan_90.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/gsm7252ps_show_vlan_brief.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/gsm7252ps_show_vlan_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/m4300_16x_show_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/m4300_16x_show_interface_ethernet_1_0_1.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/m4300_16x_show_ip_management.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/m4300_16x_show_lldp_remote_device_all.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/m4300_16x_show_mac_addr_table.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/m4300_16x_show_poe_port_info_all.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/m4300_16x_show_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/m4300_16x_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/m4300_16x_show_vlan.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/m4300_16x_show_vlan_1.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/m4300_16x_show_vlan_4.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/m4300_16x_show_vlan_5.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/m4300_16x_show_vlan_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/m4300_24x_show_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/m4300_24x_show_interface_ethernet_1_0_1.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/m4300_24x_show_ip_management.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/m4300_24x_show_lldp_remote_device_all.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/m4300_24x_show_mac_addr_table.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/m4300_24x_show_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/m4300_24x_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/m4300_24x_show_vlan.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/m4300_24x_show_vlan_5.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/m4300_24x_show_vlan_90.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/cli/m4300_24x_show_vlan_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gs105pe_membership.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gs105pe_portstats.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gs105pe_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gs105pe_status.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gs105pe_switch_info.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gs105pe_vlancfg.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gs110emx_cf8021q.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gs110emx_interface_stats.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gs110emx_login.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gs110emx_port_settings.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gs110emx_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gs110emx_redirect.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gs110emx_sysinfo.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gs110emx_vlanmembership.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gs305ep_dashboard.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gs305ep_login.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gs305ep_membership.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gs305ep_poestatus.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gs305ep_portstats.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gs305ep_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gs305ep_vlancfg.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gs728tpp_device_info_and_sensors.xml +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gs728tpp_lldp.xml +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gs728tpp_macs.xml +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gs728tpp_mgmt_ip.xml +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gs728tpp_poe.xml +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gs728tpp_ports.xml +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gs728tpp_pvids_membership.xml +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gs728tpp_vlan_membership_per_vlan.xml +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gs728tpp_vlans.xml +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gsm7228ps_basicAddressTable.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gsm7228ps_ipConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gsm7228ps_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gsm7228ps_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gsm7228ps_portPvidConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gsm7228ps_portStatistics.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gsm7228ps_portsConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gsm7228ps_sysInfo.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gsm7228ps_vlanPortCfg_vlan5.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gsm7228ps_vlanStatus.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gsm7252ps_basicAddressTable.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gsm7252ps_ipConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gsm7252ps_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gsm7252ps_login.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gsm7252ps_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gsm7252ps_portPvidConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gsm7252ps_portStatistics.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gsm7252ps_portsConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gsm7252ps_sysInfo.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gsm7252ps_vlanPortCfg_vlan1.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gsm7252ps_vlanPortCfg_vlan141.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/gsm7252ps_vlanStatus.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/m4300_16x_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/m4300_16x_mgmtVlanIpv4Configuration.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/m4300_16x_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/m4300_16x_portsConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/m4300_16x_vlanportcfg_vlan4.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/m4300_24x_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/m4300_addresstable.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/m4300_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/m4300_mgmtVlanIpv4Configuration.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/m4300_ports.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/m4300_portstats.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/m4300_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/m4300_sysinfo.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/m4300_vlanportcfg_vlan1.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/http/m4300_vlanstatus.html +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/snmp/gsm7252ps_fans.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/snmp/gsm7252ps_ifhighspeed.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/snmp/gsm7252ps_ifoperstatus.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/fixtures/snmp/gsm7252ps_psu.txt +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/http_specs.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/protocols/cli/test_cli_parse.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/protocols/http/test_crypt.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/protocols/http/test_endpoints.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/protocols/http/test_forms.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/protocols/http/test_parse.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/protocols/nsdp/test_auth.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/protocols/nsdp/test_parsers.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/protocols/nsdp/test_protocol.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/protocols/nsdp/test_write_frame.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/protocols/snmp/test_client.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/protocols/snmp/test_oids.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/protocols/snmp/test_parse_lldp_macs.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/protocols/snmp/test_parse_mgmt_ip.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/protocols/snmp/test_parse_poe_sensors.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/protocols/snmp/test_parse_ports.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/protocols/snmp/test_parse_system_info.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/protocols/snmp/test_parse_vlans.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/protocols/snmp/test_write_encode.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_aio_api.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_capabilities.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_cli_read.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_cli_vlan_write.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_cli_write.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_config.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_cross_backend_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_deb_version.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_dispatch.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_docs_coverage.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_errors.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_facade_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_http_dispatch.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_http_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_http_read.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_http_vlan_membership.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_http_write.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_http_xui_writes.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_import.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_mcp_server.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_models.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_models_snmp_read.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_nsdp_integration.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_nsdp_read.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_nsdp_write.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_public_api.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_quality_gates.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_registry.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_snmp_integration.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_snmp_read.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_snmp_write.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_sync_api.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_version.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/test_write_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/transport/_fastpath_fake.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/transport/test_cli_console.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/transport/test_cli_scp_cert.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/transport/test_cli_telnet.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/transport/test_http_client.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/transport/test_nsdp_udp_sync.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/transport/test_set_transport.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/transport/test_snmp_netsnmp_cli.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/transport/test_snmp_pysnmp.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/transport/test_value_parity.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/virtual/test_cli_cross_backend.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/virtual/test_cli_gsm7228ps_parity.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/virtual/test_gsm7228ps_seed.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/virtual/test_hostname.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/virtual/test_m4300_seeds.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/virtual/test_mibview.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/virtual/test_mutable_state.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/virtual/test_nsdp_state.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/virtual/test_serve_daemon.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/virtual/test_snmp_write_face.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/virtual/test_state_seed.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/virtual/test_switchport_vlan_write.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/virtual/test_virtual_http_face.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/virtual/test_virtual_nsdp_face.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/virtual/test_virtual_snmp_face.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/tests/virtual/test_web_projection.py +0 -0
- {python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/uv.lock +0 -0
{python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-netgear-switch-library
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.post339
|
|
4
4
|
Summary: Python library and CLI to query and control Netgear switches over SNMP, NSDP and HTTP.
|
|
5
5
|
Author-email: Tim Ansell <me@mith.ro>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '0.0.
|
|
22
|
-
__version_tuple__ = version_tuple = (0, 0, '
|
|
21
|
+
__version__ = version = '0.0.post339'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 0, 'post339')
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -447,6 +447,10 @@ class AsyncSwitch:
|
|
|
447
447
|
async def get_mgmt_ip(self, *, backend: Backend | None = None) -> MgmtIpConfig:
|
|
448
448
|
return await self._read(lambda r: r.get_mgmt_ip(), backend)
|
|
449
449
|
|
|
450
|
+
async def get_hostname(self, *, backend: Backend | None = None) -> str:
|
|
451
|
+
"""Async twin of ``SyncSwitch.get_hostname`` -- see there."""
|
|
452
|
+
return await self._read(lambda r: r.get_hostname(), backend)
|
|
453
|
+
|
|
450
454
|
async def nsdp_device(self) -> NsdpDevice:
|
|
451
455
|
"""Async twin of ``SyncSwitch.nsdp_device`` -- see there."""
|
|
452
456
|
reader = self._reader_for(Backend.NSDP)
|
|
@@ -113,6 +113,7 @@ READ_OPERATIONS: tuple[Operation, ...] = (
|
|
|
113
113
|
Operation("get_poe", OperationKind.READ, "Per-port PoE status and power draw"),
|
|
114
114
|
Operation("get_sensors", OperationKind.READ, "Fan/PSU/temperature sensors"),
|
|
115
115
|
Operation("get_mgmt_ip", OperationKind.READ, "Management IP configuration"),
|
|
116
|
+
Operation("get_hostname", OperationKind.READ, "The switch's host name"),
|
|
116
117
|
Operation(
|
|
117
118
|
"nsdp_device",
|
|
118
119
|
OperationKind.READ,
|
|
@@ -247,7 +248,7 @@ def _http_path_for(spec: HttpModelSpec, op: Operation) -> str | None:
|
|
|
247
248
|
ops with composite conditions defer to the reader's own helpers so there is
|
|
248
249
|
exactly one definition of "this UI can answer that".
|
|
249
250
|
"""
|
|
250
|
-
from .http_read import _mgmt_ip_path, _supports_sensors
|
|
251
|
+
from .http_read import _has_sysinfo_hostname, _mgmt_ip_path, _supports_sensors
|
|
251
252
|
|
|
252
253
|
simple: dict[str, str | None] = {
|
|
253
254
|
"get_ports": spec.dashboard_path,
|
|
@@ -269,6 +270,11 @@ def _http_path_for(spec: HttpModelSpec, op: Operation) -> str | None:
|
|
|
269
270
|
}
|
|
270
271
|
if op.name == "get_sensors":
|
|
271
272
|
return spec.sysinfo_path if _supports_sensors(spec) else None
|
|
273
|
+
if op.name == "get_hostname":
|
|
274
|
+
# Only two identity pages carry the field (gs110emx's sysInfo.html and
|
|
275
|
+
# gs105pe's switch_info.cgi); the reader's own predicate decides, so
|
|
276
|
+
# there is one definition rather than two that can drift.
|
|
277
|
+
return spec.sysinfo_path if _has_sysinfo_hostname(spec) else None
|
|
272
278
|
if op.name == "get_mgmt_ip":
|
|
273
279
|
return _mgmt_ip_path(spec)
|
|
274
280
|
if op.name == "set_mgmt_ip":
|
|
@@ -380,6 +380,20 @@ def _with_fastpath_egress(
|
|
|
380
380
|
return out
|
|
381
381
|
|
|
382
382
|
|
|
383
|
+
def _has_sysinfo_hostname(spec: HttpModelSpec) -> bool:
|
|
384
|
+
"""Whether this dialect's identity page carries the switch's host name.
|
|
385
|
+
|
|
386
|
+
True only for the two whose parsers extract it -- gs110emx's
|
|
387
|
+
``sysInfo.html`` (``switch_name`` input) and gs105pe's ``switch_info.cgi``.
|
|
388
|
+
The FASTPATH/XE, M4300 and GoAhead identity pages were checked and carry no
|
|
389
|
+
host-name field, so their models read the name over SNMP or the CLI, both of
|
|
390
|
+
which they have.
|
|
391
|
+
"""
|
|
392
|
+
return spec.sysinfo_path is not None and (
|
|
393
|
+
_is_gs110emx_dialect(spec) or _is_gs105pe_dialect(spec)
|
|
394
|
+
)
|
|
395
|
+
|
|
396
|
+
|
|
383
397
|
def _parse_sysinfo(spec: HttpModelSpec, html: str) -> HttpSysInfo:
|
|
384
398
|
"""Dispatch the device-identity/mgmt-IP page: gs105pe's switch_info.cgi
|
|
385
399
|
(lowercase ip_address inputs, dhcpMode select) vs gs110emx's sysInfo.html."""
|
|
@@ -629,6 +643,25 @@ class HttpReader:
|
|
|
629
643
|
self._spec, self.session.get_page(self._spec.sysinfo_path)
|
|
630
644
|
)
|
|
631
645
|
|
|
646
|
+
def get_hostname(self) -> str:
|
|
647
|
+
"""The switch's host name, from its device-identity page.
|
|
648
|
+
|
|
649
|
+
Only the two dialects whose identity page actually carries the field can
|
|
650
|
+
serve this: gs110emx's ``sysInfo.html`` and gs105pe's
|
|
651
|
+
``switch_info.cgi``, both of which already expose it as
|
|
652
|
+
``HttpSysInfo.switch_name``. Every other dialect's identity page has no
|
|
653
|
+
such field, and is refused by name rather than returning "" -- an empty
|
|
654
|
+
string is a real host name on a switch that has never been named, so it
|
|
655
|
+
must not double as "this backend cannot tell you".
|
|
656
|
+
"""
|
|
657
|
+
if not _has_sysinfo_hostname(self._spec):
|
|
658
|
+
raise _unsupported(self.model.key, "a host name field")
|
|
659
|
+
assert self._spec.sysinfo_path is not None # guaranteed by the guard
|
|
660
|
+
info = _parse_sysinfo(
|
|
661
|
+
self._spec, self.session.get_page(self._spec.sysinfo_path)
|
|
662
|
+
)
|
|
663
|
+
return info.switch_name
|
|
664
|
+
|
|
632
665
|
def get_mgmt_ip(self) -> MgmtIpConfig:
|
|
633
666
|
path = _mgmt_ip_path(self._spec)
|
|
634
667
|
if path is None:
|
|
@@ -552,6 +552,20 @@ class SyncSwitch:
|
|
|
552
552
|
def get_mgmt_ip(self, *, backend: Backend | None = None) -> MgmtIpConfig:
|
|
553
553
|
return self._read(lambda r: r.get_mgmt_ip(), backend)
|
|
554
554
|
|
|
555
|
+
def get_hostname(self, *, backend: Backend | None = None) -> str:
|
|
556
|
+
"""The switch's host name.
|
|
557
|
+
|
|
558
|
+
Every backend can answer, but from a different place: SNMP reads the
|
|
559
|
+
standard ``sysName`` scalar, NSDP the ``HOSTNAME`` tag, the CLI
|
|
560
|
+
``show hosts``, and the web UI the device-identity page -- on the two
|
|
561
|
+
dialects whose page carries the field; the rest refuse by name.
|
|
562
|
+
|
|
563
|
+
The CLI deliberately parses ``show hosts`` rather than
|
|
564
|
+
``show running-config``: the two report different values on real
|
|
565
|
+
hardware, and only ``show hosts`` agrees with ``sysName``.
|
|
566
|
+
"""
|
|
567
|
+
return self._read(lambda r: r.get_hostname(), backend)
|
|
568
|
+
|
|
555
569
|
def nsdp_device(self) -> NsdpDevice:
|
|
556
570
|
"""Return the COMPLETE raw ``NsdpDevice`` for this switch: model, MAC,
|
|
557
571
|
hostname, mgmt IP, firmware, DHCP mode, port count, serial number,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/.gitignore
RENAMED
|
File without changes
|
|
File without changes
|
{python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/CLAUDE.md
RENAMED
|
File without changes
|
{python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/LICENSE
RENAMED
|
File without changes
|
{python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/README.md
RENAMED
|
File without changes
|
{python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/RELEASING.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/debian/rules
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/cli.rst
RENAMED
|
File without changes
|
{python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/conf.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_netgear_switch_library-0.0.post337 → python_netgear_switch_library-0.0.post339}/docs/mcp.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|