This is page 56 of 168. Use http://codebase.md/romanshablio/mcp_server?lines=true&page={x} to view the full context.
# Directory Structure
```
├── .DS_Store
├── .venv
│ ├── __pycache__
│ │ └── hello.cpython-312.pyc
│ ├── bin
│ │ ├── activate
│ │ ├── activate.csh
│ │ ├── activate.fish
│ │ ├── Activate.ps1
│ │ ├── flask
│ │ ├── normalizer
│ │ ├── pip
│ │ ├── pip3
│ │ ├── pip3.12
│ │ ├── python
│ │ ├── python3
│ │ └── python3.12
│ ├── hello.py
│ ├── lib
│ │ └── python3.12
│ │ └── site-packages
│ │ ├── beautifulsoup4-4.12.3.dist-info
│ │ │ ├── INSTALLER
│ │ │ ├── licenses
│ │ │ │ ├── AUTHORS
│ │ │ │ └── LICENSE
│ │ │ ├── METADATA
│ │ │ ├── RECORD
│ │ │ ├── REQUESTED
│ │ │ └── WHEEL
│ │ ├── blinker
│ │ │ ├── __init__.py
│ │ │ ├── __pycache__
│ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ ├── _utilities.cpython-312.pyc
│ │ │ │ └── base.cpython-312.pyc
│ │ │ ├── _utilities.py
│ │ │ ├── base.py
│ │ │ └── py.typed
│ │ ├── blinker-1.8.2.dist-info
│ │ │ ├── INSTALLER
│ │ │ ├── LICENSE.txt
│ │ │ ├── METADATA
│ │ │ ├── RECORD
│ │ │ └── WHEEL
│ │ ├── bs4
│ │ │ ├── __init__.py
│ │ │ ├── __pycache__
│ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ ├── css.cpython-312.pyc
│ │ │ │ ├── dammit.cpython-312.pyc
│ │ │ │ ├── diagnose.cpython-312.pyc
│ │ │ │ ├── element.cpython-312.pyc
│ │ │ │ └── formatter.cpython-312.pyc
│ │ │ ├── builder
│ │ │ │ ├── __init__.py
│ │ │ │ ├── __pycache__
│ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ ├── _html5lib.cpython-312.pyc
│ │ │ │ │ ├── _htmlparser.cpython-312.pyc
│ │ │ │ │ └── _lxml.cpython-312.pyc
│ │ │ │ ├── _html5lib.py
│ │ │ │ ├── _htmlparser.py
│ │ │ │ └── _lxml.py
│ │ │ ├── css.py
│ │ │ ├── dammit.py
│ │ │ ├── diagnose.py
│ │ │ ├── element.py
│ │ │ ├── formatter.py
│ │ │ └── tests
│ │ │ ├── __init__.py
│ │ │ ├── __pycache__
│ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ ├── test_builder_registry.cpython-312.pyc
│ │ │ │ ├── test_builder.cpython-312.pyc
│ │ │ │ ├── test_css.cpython-312.pyc
│ │ │ │ ├── test_dammit.cpython-312.pyc
│ │ │ │ ├── test_docs.cpython-312.pyc
│ │ │ │ ├── test_element.cpython-312.pyc
│ │ │ │ ├── test_formatter.cpython-312.pyc
│ │ │ │ ├── test_fuzz.cpython-312.pyc
│ │ │ │ ├── test_html5lib.cpython-312.pyc
│ │ │ │ ├── test_htmlparser.cpython-312.pyc
│ │ │ │ ├── test_lxml.cpython-312.pyc
│ │ │ │ ├── test_navigablestring.cpython-312.pyc
│ │ │ │ ├── test_pageelement.cpython-312.pyc
│ │ │ │ ├── test_soup.cpython-312.pyc
│ │ │ │ ├── test_tag.cpython-312.pyc
│ │ │ │ └── test_tree.cpython-312.pyc
│ │ │ ├── fuzz
│ │ │ │ ├── clusterfuzz-testcase-minimized-bs4_fuzzer-4670634698080256.testcase
│ │ │ │ ├── clusterfuzz-testcase-minimized-bs4_fuzzer-4818336571064320.testcase
│ │ │ │ ├── clusterfuzz-testcase-minimized-bs4_fuzzer-4999465949331456.testcase
│ │ │ │ ├── clusterfuzz-testcase-minimized-bs4_fuzzer-5000587759190016.testcase
│ │ │ │ ├── clusterfuzz-testcase-minimized-bs4_fuzzer-5167584867909632.testcase
│ │ │ │ ├── clusterfuzz-testcase-minimized-bs4_fuzzer-5270998950477824.testcase
│ │ │ │ ├── clusterfuzz-testcase-minimized-bs4_fuzzer-5375146639360000.testcase
│ │ │ │ ├── clusterfuzz-testcase-minimized-bs4_fuzzer-5492400320282624.testcase
│ │ │ │ ├── clusterfuzz-testcase-minimized-bs4_fuzzer-5703933063462912.testcase
│ │ │ │ ├── clusterfuzz-testcase-minimized-bs4_fuzzer-5843991618256896.testcase
│ │ │ │ ├── clusterfuzz-testcase-minimized-bs4_fuzzer-5984173902397440.testcase
│ │ │ │ ├── clusterfuzz-testcase-minimized-bs4_fuzzer-6124268085182464.testcase
│ │ │ │ ├── clusterfuzz-testcase-minimized-bs4_fuzzer-6241471367348224.testcase
│ │ │ │ ├── clusterfuzz-testcase-minimized-bs4_fuzzer-6306874195312640.testcase
│ │ │ │ ├── clusterfuzz-testcase-minimized-bs4_fuzzer-6450958476902400.testcase
│ │ │ │ ├── clusterfuzz-testcase-minimized-bs4_fuzzer-6600557255327744.testcase
│ │ │ │ ├── crash-0d306a50c8ed8bcd0785b67000fcd5dea1d33f08.testcase
│ │ │ │ └── crash-ffbdfa8a2b26f13537b68d3794b0478a4090ee4a.testcase
│ │ │ ├── test_builder_registry.py
│ │ │ ├── test_builder.py
│ │ │ ├── test_css.py
│ │ │ ├── test_dammit.py
│ │ │ ├── test_docs.py
│ │ │ ├── test_element.py
│ │ │ ├── test_formatter.py
│ │ │ ├── test_fuzz.py
│ │ │ ├── test_html5lib.py
│ │ │ ├── test_htmlparser.py
│ │ │ ├── test_lxml.py
│ │ │ ├── test_navigablestring.py
│ │ │ ├── test_pageelement.py
│ │ │ ├── test_soup.py
│ │ │ ├── test_tag.py
│ │ │ └── test_tree.py
│ │ ├── certifi
│ │ │ ├── __init__.py
│ │ │ ├── __main__.py
│ │ │ ├── __pycache__
│ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ ├── __main__.cpython-312.pyc
│ │ │ │ └── core.cpython-312.pyc
│ │ │ ├── cacert.pem
│ │ │ ├── core.py
│ │ │ └── py.typed
│ │ ├── certifi-2024.8.30.dist-info
│ │ │ ├── INSTALLER
│ │ │ ├── LICENSE
│ │ │ ├── METADATA
│ │ │ ├── RECORD
│ │ │ ├── top_level.txt
│ │ │ └── WHEEL
│ │ ├── charset_normalizer
│ │ │ ├── __init__.py
│ │ │ ├── __main__.py
│ │ │ ├── __pycache__
│ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ ├── __main__.cpython-312.pyc
│ │ │ │ ├── api.cpython-312.pyc
│ │ │ │ ├── cd.cpython-312.pyc
│ │ │ │ ├── constant.cpython-312.pyc
│ │ │ │ ├── legacy.cpython-312.pyc
│ │ │ │ ├── md.cpython-312.pyc
│ │ │ │ ├── models.cpython-312.pyc
│ │ │ │ ├── utils.cpython-312.pyc
│ │ │ │ └── version.cpython-312.pyc
│ │ │ ├── api.py
│ │ │ ├── cd.py
│ │ │ ├── cli
│ │ │ │ ├── __init__.py
│ │ │ │ ├── __main__.py
│ │ │ │ └── __pycache__
│ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ └── __main__.cpython-312.pyc
│ │ │ ├── constant.py
│ │ │ ├── legacy.py
│ │ │ ├── md__mypyc.cpython-312-darwin.so
│ │ │ ├── md.cpython-312-darwin.so
│ │ │ ├── md.py
│ │ │ ├── models.py
│ │ │ ├── py.typed
│ │ │ ├── utils.py
│ │ │ └── version.py
│ │ ├── charset_normalizer-3.4.0.dist-info
│ │ │ ├── entry_points.txt
│ │ │ ├── INSTALLER
│ │ │ ├── LICENSE
│ │ │ ├── METADATA
│ │ │ ├── RECORD
│ │ │ ├── top_level.txt
│ │ │ └── WHEEL
│ │ ├── click
│ │ │ ├── __init__.py
│ │ │ ├── __pycache__
│ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ ├── _compat.cpython-312.pyc
│ │ │ │ ├── _termui_impl.cpython-312.pyc
│ │ │ │ ├── _textwrap.cpython-312.pyc
│ │ │ │ ├── _winconsole.cpython-312.pyc
│ │ │ │ ├── core.cpython-312.pyc
│ │ │ │ ├── decorators.cpython-312.pyc
│ │ │ │ ├── exceptions.cpython-312.pyc
│ │ │ │ ├── formatting.cpython-312.pyc
│ │ │ │ ├── globals.cpython-312.pyc
│ │ │ │ ├── parser.cpython-312.pyc
│ │ │ │ ├── shell_completion.cpython-312.pyc
│ │ │ │ ├── termui.cpython-312.pyc
│ │ │ │ ├── testing.cpython-312.pyc
│ │ │ │ ├── types.cpython-312.pyc
│ │ │ │ └── utils.cpython-312.pyc
│ │ │ ├── _compat.py
│ │ │ ├── _termui_impl.py
│ │ │ ├── _textwrap.py
│ │ │ ├── _winconsole.py
│ │ │ ├── core.py
│ │ │ ├── decorators.py
│ │ │ ├── exceptions.py
│ │ │ ├── formatting.py
│ │ │ ├── globals.py
│ │ │ ├── parser.py
│ │ │ ├── py.typed
│ │ │ ├── shell_completion.py
│ │ │ ├── termui.py
│ │ │ ├── testing.py
│ │ │ ├── types.py
│ │ │ └── utils.py
│ │ ├── click-8.1.7.dist-info
│ │ │ ├── INSTALLER
│ │ │ ├── LICENSE.rst
│ │ │ ├── METADATA
│ │ │ ├── RECORD
│ │ │ ├── top_level.txt
│ │ │ └── WHEEL
│ │ ├── fake_useragent
│ │ │ ├── __init__.py
│ │ │ ├── __pycache__
│ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ ├── errors.cpython-312.pyc
│ │ │ │ ├── fake.cpython-312.pyc
│ │ │ │ ├── log.cpython-312.pyc
│ │ │ │ ├── settings.cpython-312.pyc
│ │ │ │ └── utils.cpython-312.pyc
│ │ │ ├── data
│ │ │ │ └── browsers.json
│ │ │ ├── errors.py
│ │ │ ├── fake.py
│ │ │ ├── log.py
│ │ │ ├── settings.py
│ │ │ └── utils.py
│ │ ├── fake_useragent-1.5.1.dist-info
│ │ │ ├── AUTHORS
│ │ │ ├── INSTALLER
│ │ │ ├── LICENSE
│ │ │ ├── METADATA
│ │ │ ├── RECORD
│ │ │ ├── REQUESTED
│ │ │ ├── top_level.txt
│ │ │ └── WHEEL
│ │ ├── flask
│ │ │ ├── __init__.py
│ │ │ ├── __main__.py
│ │ │ ├── __pycache__
│ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ ├── __main__.cpython-312.pyc
│ │ │ │ ├── app.cpython-312.pyc
│ │ │ │ ├── blueprints.cpython-312.pyc
│ │ │ │ ├── cli.cpython-312.pyc
│ │ │ │ ├── config.cpython-312.pyc
│ │ │ │ ├── ctx.cpython-312.pyc
│ │ │ │ ├── debughelpers.cpython-312.pyc
│ │ │ │ ├── globals.cpython-312.pyc
│ │ │ │ ├── helpers.cpython-312.pyc
│ │ │ │ ├── logging.cpython-312.pyc
│ │ │ │ ├── sessions.cpython-312.pyc
│ │ │ │ ├── signals.cpython-312.pyc
│ │ │ │ ├── templating.cpython-312.pyc
│ │ │ │ ├── testing.cpython-312.pyc
│ │ │ │ ├── typing.cpython-312.pyc
│ │ │ │ ├── views.cpython-312.pyc
│ │ │ │ └── wrappers.cpython-312.pyc
│ │ │ ├── app.py
│ │ │ ├── blueprints.py
│ │ │ ├── cli.py
│ │ │ ├── config.py
│ │ │ ├── ctx.py
│ │ │ ├── debughelpers.py
│ │ │ ├── globals.py
│ │ │ ├── helpers.py
│ │ │ ├── json
│ │ │ │ ├── __init__.py
│ │ │ │ ├── __pycache__
│ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ ├── provider.cpython-312.pyc
│ │ │ │ │ └── tag.cpython-312.pyc
│ │ │ │ ├── provider.py
│ │ │ │ └── tag.py
│ │ │ ├── logging.py
│ │ │ ├── py.typed
│ │ │ ├── sansio
│ │ │ │ ├── __pycache__
│ │ │ │ │ ├── app.cpython-312.pyc
│ │ │ │ │ ├── blueprints.cpython-312.pyc
│ │ │ │ │ └── scaffold.cpython-312.pyc
│ │ │ │ ├── app.py
│ │ │ │ ├── blueprints.py
│ │ │ │ ├── README.md
│ │ │ │ └── scaffold.py
│ │ │ ├── sessions.py
│ │ │ ├── signals.py
│ │ │ ├── templating.py
│ │ │ ├── testing.py
│ │ │ ├── typing.py
│ │ │ ├── views.py
│ │ │ └── wrappers.py
│ │ ├── flask-3.0.3.dist-info
│ │ │ ├── entry_points.txt
│ │ │ ├── INSTALLER
│ │ │ ├── LICENSE.txt
│ │ │ ├── METADATA
│ │ │ ├── RECORD
│ │ │ ├── REQUESTED
│ │ │ └── WHEEL
│ │ ├── idna
│ │ │ ├── __init__.py
│ │ │ ├── __pycache__
│ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ ├── codec.cpython-312.pyc
│ │ │ │ ├── compat.cpython-312.pyc
│ │ │ │ ├── core.cpython-312.pyc
│ │ │ │ ├── idnadata.cpython-312.pyc
│ │ │ │ ├── intranges.cpython-312.pyc
│ │ │ │ ├── package_data.cpython-312.pyc
│ │ │ │ └── uts46data.cpython-312.pyc
│ │ │ ├── codec.py
│ │ │ ├── compat.py
│ │ │ ├── core.py
│ │ │ ├── idnadata.py
│ │ │ ├── intranges.py
│ │ │ ├── package_data.py
│ │ │ ├── py.typed
│ │ │ └── uts46data.py
│ │ ├── idna-3.10.dist-info
│ │ │ ├── INSTALLER
│ │ │ ├── LICENSE.md
│ │ │ ├── METADATA
│ │ │ ├── RECORD
│ │ │ └── WHEEL
│ │ ├── itsdangerous
│ │ │ ├── __init__.py
│ │ │ ├── __pycache__
│ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ ├── _json.cpython-312.pyc
│ │ │ │ ├── encoding.cpython-312.pyc
│ │ │ │ ├── exc.cpython-312.pyc
│ │ │ │ ├── serializer.cpython-312.pyc
│ │ │ │ ├── signer.cpython-312.pyc
│ │ │ │ ├── timed.cpython-312.pyc
│ │ │ │ └── url_safe.cpython-312.pyc
│ │ │ ├── _json.py
│ │ │ ├── encoding.py
│ │ │ ├── exc.py
│ │ │ ├── py.typed
│ │ │ ├── serializer.py
│ │ │ ├── signer.py
│ │ │ ├── timed.py
│ │ │ └── url_safe.py
│ │ ├── itsdangerous-2.2.0.dist-info
│ │ │ ├── INSTALLER
│ │ │ ├── LICENSE.txt
│ │ │ ├── METADATA
│ │ │ ├── RECORD
│ │ │ └── WHEEL
│ │ ├── jinja2
│ │ │ ├── __init__.py
│ │ │ ├── __pycache__
│ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ ├── _identifier.cpython-312.pyc
│ │ │ │ ├── async_utils.cpython-312.pyc
│ │ │ │ ├── bccache.cpython-312.pyc
│ │ │ │ ├── compiler.cpython-312.pyc
│ │ │ │ ├── constants.cpython-312.pyc
│ │ │ │ ├── debug.cpython-312.pyc
│ │ │ │ ├── defaults.cpython-312.pyc
│ │ │ │ ├── environment.cpython-312.pyc
│ │ │ │ ├── exceptions.cpython-312.pyc
│ │ │ │ ├── ext.cpython-312.pyc
│ │ │ │ ├── filters.cpython-312.pyc
│ │ │ │ ├── idtracking.cpython-312.pyc
│ │ │ │ ├── lexer.cpython-312.pyc
│ │ │ │ ├── loaders.cpython-312.pyc
│ │ │ │ ├── meta.cpython-312.pyc
│ │ │ │ ├── nativetypes.cpython-312.pyc
│ │ │ │ ├── nodes.cpython-312.pyc
│ │ │ │ ├── optimizer.cpython-312.pyc
│ │ │ │ ├── parser.cpython-312.pyc
│ │ │ │ ├── runtime.cpython-312.pyc
│ │ │ │ ├── sandbox.cpython-312.pyc
│ │ │ │ ├── tests.cpython-312.pyc
│ │ │ │ ├── utils.cpython-312.pyc
│ │ │ │ └── visitor.cpython-312.pyc
│ │ │ ├── _identifier.py
│ │ │ ├── async_utils.py
│ │ │ ├── bccache.py
│ │ │ ├── compiler.py
│ │ │ ├── constants.py
│ │ │ ├── debug.py
│ │ │ ├── defaults.py
│ │ │ ├── environment.py
│ │ │ ├── exceptions.py
│ │ │ ├── ext.py
│ │ │ ├── filters.py
│ │ │ ├── idtracking.py
│ │ │ ├── lexer.py
│ │ │ ├── loaders.py
│ │ │ ├── meta.py
│ │ │ ├── nativetypes.py
│ │ │ ├── nodes.py
│ │ │ ├── optimizer.py
│ │ │ ├── parser.py
│ │ │ ├── py.typed
│ │ │ ├── runtime.py
│ │ │ ├── sandbox.py
│ │ │ ├── tests.py
│ │ │ ├── utils.py
│ │ │ └── visitor.py
│ │ ├── jinja2-3.1.4.dist-info
│ │ │ ├── entry_points.txt
│ │ │ ├── INSTALLER
│ │ │ ├── LICENSE.txt
│ │ │ ├── METADATA
│ │ │ ├── RECORD
│ │ │ └── WHEEL
│ │ ├── lxml
│ │ │ ├── __init__.py
│ │ │ ├── __pycache__
│ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ ├── _elementpath.cpython-312.pyc
│ │ │ │ ├── builder.cpython-312.pyc
│ │ │ │ ├── cssselect.cpython-312.pyc
│ │ │ │ ├── doctestcompare.cpython-312.pyc
│ │ │ │ ├── ElementInclude.cpython-312.pyc
│ │ │ │ ├── pyclasslookup.cpython-312.pyc
│ │ │ │ ├── sax.cpython-312.pyc
│ │ │ │ └── usedoctest.cpython-312.pyc
│ │ │ ├── _elementpath.cpython-312-darwin.so
│ │ │ ├── _elementpath.py
│ │ │ ├── apihelpers.pxi
│ │ │ ├── builder.cpython-312-darwin.so
│ │ │ ├── builder.py
│ │ │ ├── classlookup.pxi
│ │ │ ├── cleanup.pxi
│ │ │ ├── cssselect.py
│ │ │ ├── debug.pxi
│ │ │ ├── docloader.pxi
│ │ │ ├── doctestcompare.py
│ │ │ ├── dtd.pxi
│ │ │ ├── ElementInclude.py
│ │ │ ├── etree_api.h
│ │ │ ├── etree.cpython-312-darwin.so
│ │ │ ├── etree.h
│ │ │ ├── etree.pyx
│ │ │ ├── extensions.pxi
│ │ │ ├── html
│ │ │ │ ├── __init__.py
│ │ │ │ ├── __pycache__
│ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ ├── _diffcommand.cpython-312.pyc
│ │ │ │ │ ├── _html5builder.cpython-312.pyc
│ │ │ │ │ ├── _setmixin.cpython-312.pyc
│ │ │ │ │ ├── builder.cpython-312.pyc
│ │ │ │ │ ├── clean.cpython-312.pyc
│ │ │ │ │ ├── defs.cpython-312.pyc
│ │ │ │ │ ├── diff.cpython-312.pyc
│ │ │ │ │ ├── ElementSoup.cpython-312.pyc
│ │ │ │ │ ├── formfill.cpython-312.pyc
│ │ │ │ │ ├── html5parser.cpython-312.pyc
│ │ │ │ │ ├── soupparser.cpython-312.pyc
│ │ │ │ │ └── usedoctest.cpython-312.pyc
│ │ │ │ ├── _diffcommand.py
│ │ │ │ ├── _html5builder.py
│ │ │ │ ├── _setmixin.py
│ │ │ │ ├── builder.py
│ │ │ │ ├── clean.py
│ │ │ │ ├── defs.py
│ │ │ │ ├── diff.cpython-312-darwin.so
│ │ │ │ ├── diff.py
│ │ │ │ ├── ElementSoup.py
│ │ │ │ ├── formfill.py
│ │ │ │ ├── html5parser.py
│ │ │ │ ├── soupparser.py
│ │ │ │ └── usedoctest.py
│ │ │ ├── includes
│ │ │ │ ├── __init__.pxd
│ │ │ │ ├── __init__.py
│ │ │ │ ├── __pycache__
│ │ │ │ │ └── __init__.cpython-312.pyc
│ │ │ │ ├── c14n.pxd
│ │ │ │ ├── config.pxd
│ │ │ │ ├── dtdvalid.pxd
│ │ │ │ ├── etree_defs.h
│ │ │ │ ├── etreepublic.pxd
│ │ │ │ ├── extlibs
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ └── __init__.cpython-312.pyc
│ │ │ │ │ ├── libcharset.h
│ │ │ │ │ ├── localcharset.h
│ │ │ │ │ ├── zconf.h
│ │ │ │ │ └── zlib.h
│ │ │ │ ├── htmlparser.pxd
│ │ │ │ ├── libexslt
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ └── __init__.cpython-312.pyc
│ │ │ │ │ ├── exslt.h
│ │ │ │ │ ├── exsltconfig.h
│ │ │ │ │ └── exsltexports.h
│ │ │ │ ├── libxml
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ └── __init__.cpython-312.pyc
│ │ │ │ │ ├── c14n.h
│ │ │ │ │ ├── catalog.h
│ │ │ │ │ ├── chvalid.h
│ │ │ │ │ ├── debugXML.h
│ │ │ │ │ ├── dict.h
│ │ │ │ │ ├── encoding.h
│ │ │ │ │ ├── entities.h
│ │ │ │ │ ├── globals.h
│ │ │ │ │ ├── hash.h
│ │ │ │ │ ├── HTMLparser.h
│ │ │ │ │ ├── HTMLtree.h
│ │ │ │ │ ├── list.h
│ │ │ │ │ ├── nanoftp.h
│ │ │ │ │ ├── nanohttp.h
│ │ │ │ │ ├── parser.h
│ │ │ │ │ ├── parserInternals.h
│ │ │ │ │ ├── relaxng.h
│ │ │ │ │ ├── SAX.h
│ │ │ │ │ ├── SAX2.h
│ │ │ │ │ ├── schemasInternals.h
│ │ │ │ │ ├── schematron.h
│ │ │ │ │ ├── threads.h
│ │ │ │ │ ├── tree.h
│ │ │ │ │ ├── uri.h
│ │ │ │ │ ├── valid.h
│ │ │ │ │ ├── xinclude.h
│ │ │ │ │ ├── xlink.h
│ │ │ │ │ ├── xmlautomata.h
│ │ │ │ │ ├── xmlerror.h
│ │ │ │ │ ├── xmlexports.h
│ │ │ │ │ ├── xmlIO.h
│ │ │ │ │ ├── xmlmemory.h
│ │ │ │ │ ├── xmlmodule.h
│ │ │ │ │ ├── xmlreader.h
│ │ │ │ │ ├── xmlregexp.h
│ │ │ │ │ ├── xmlsave.h
│ │ │ │ │ ├── xmlschemas.h
│ │ │ │ │ ├── xmlschemastypes.h
│ │ │ │ │ ├── xmlstring.h
│ │ │ │ │ ├── xmlunicode.h
│ │ │ │ │ ├── xmlversion.h
│ │ │ │ │ ├── xmlwriter.h
│ │ │ │ │ ├── xpath.h
│ │ │ │ │ ├── xpathInternals.h
│ │ │ │ │ └── xpointer.h
│ │ │ │ ├── libxslt
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ └── __init__.cpython-312.pyc
│ │ │ │ │ ├── attributes.h
│ │ │ │ │ ├── documents.h
│ │ │ │ │ ├── extensions.h
│ │ │ │ │ ├── extra.h
│ │ │ │ │ ├── functions.h
│ │ │ │ │ ├── imports.h
│ │ │ │ │ ├── keys.h
│ │ │ │ │ ├── namespaces.h
│ │ │ │ │ ├── numbersInternals.h
│ │ │ │ │ ├── pattern.h
│ │ │ │ │ ├── preproc.h
│ │ │ │ │ ├── security.h
│ │ │ │ │ ├── templates.h
│ │ │ │ │ ├── transform.h
│ │ │ │ │ ├── variables.h
│ │ │ │ │ ├── xslt.h
│ │ │ │ │ ├── xsltconfig.h
│ │ │ │ │ ├── xsltexports.h
│ │ │ │ │ ├── xsltInternals.h
│ │ │ │ │ ├── xsltlocale.h
│ │ │ │ │ └── xsltutils.h
│ │ │ │ ├── lxml-version.h
│ │ │ │ ├── relaxng.pxd
│ │ │ │ ├── schematron.pxd
│ │ │ │ ├── tree.pxd
│ │ │ │ ├── uri.pxd
│ │ │ │ ├── xinclude.pxd
│ │ │ │ ├── xmlerror.pxd
│ │ │ │ ├── xmlparser.pxd
│ │ │ │ ├── xmlschema.pxd
│ │ │ │ ├── xpath.pxd
│ │ │ │ └── xslt.pxd
│ │ │ ├── isoschematron
│ │ │ │ ├── __init__.py
│ │ │ │ ├── __pycache__
│ │ │ │ │ └── __init__.cpython-312.pyc
│ │ │ │ └── resources
│ │ │ │ ├── rng
│ │ │ │ │ └── iso-schematron.rng
│ │ │ │ └── xsl
│ │ │ │ ├── iso-schematron-xslt1
│ │ │ │ │ ├── iso_abstract_expand.xsl
│ │ │ │ │ ├── iso_dsdl_include.xsl
│ │ │ │ │ ├── iso_schematron_message.xsl
│ │ │ │ │ ├── iso_schematron_skeleton_for_xslt1.xsl
│ │ │ │ │ ├── iso_svrl_for_xslt1.xsl
│ │ │ │ │ └── readme.txt
│ │ │ │ ├── RNG2Schtrn.xsl
│ │ │ │ └── XSD2Schtrn.xsl
│ │ │ ├── iterparse.pxi
│ │ │ ├── lxml.etree_api.h
│ │ │ ├── lxml.etree.h
│ │ │ ├── nsclasses.pxi
│ │ │ ├── objectify.cpython-312-darwin.so
│ │ │ ├── objectify.pyx
│ │ │ ├── objectpath.pxi
│ │ │ ├── parser.pxi
│ │ │ ├── parsertarget.pxi
│ │ │ ├── proxy.pxi
│ │ │ ├── public-api.pxi
│ │ │ ├── pyclasslookup.py
│ │ │ ├── readonlytree.pxi
│ │ │ ├── relaxng.pxi
│ │ │ ├── sax.cpython-312-darwin.so
│ │ │ ├── sax.py
│ │ │ ├── saxparser.pxi
│ │ │ ├── schematron.pxi
│ │ │ ├── serializer.pxi
│ │ │ ├── usedoctest.py
│ │ │ ├── xinclude.pxi
│ │ │ ├── xmlerror.pxi
│ │ │ ├── xmlid.pxi
│ │ │ ├── xmlschema.pxi
│ │ │ ├── xpath.pxi
│ │ │ ├── xslt.pxi
│ │ │ └── xsltext.pxi
│ │ ├── lxml-5.3.0.dist-info
│ │ │ ├── INSTALLER
│ │ │ ├── LICENSE.txt
│ │ │ ├── LICENSES.txt
│ │ │ ├── METADATA
│ │ │ ├── RECORD
│ │ │ ├── REQUESTED
│ │ │ ├── top_level.txt
│ │ │ └── WHEEL
│ │ ├── markupsafe
│ │ │ ├── __init__.py
│ │ │ ├── __pycache__
│ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ └── _native.cpython-312.pyc
│ │ │ ├── _native.py
│ │ │ ├── _speedups.c
│ │ │ ├── _speedups.cpython-312-darwin.so
│ │ │ ├── _speedups.pyi
│ │ │ └── py.typed
│ │ ├── MarkupSafe-3.0.1.dist-info
│ │ │ ├── INSTALLER
│ │ │ ├── LICENSE.txt
│ │ │ ├── METADATA
│ │ │ ├── RECORD
│ │ │ ├── top_level.txt
│ │ │ └── WHEEL
│ │ ├── pip
│ │ │ ├── __init__.py
│ │ │ ├── __main__.py
│ │ │ ├── __pip-runner__.py
│ │ │ ├── __pycache__
│ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ ├── __main__.cpython-312.pyc
│ │ │ │ └── __pip-runner__.cpython-312.pyc
│ │ │ ├── _internal
│ │ │ │ ├── __init__.py
│ │ │ │ ├── __pycache__
│ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ ├── build_env.cpython-312.pyc
│ │ │ │ │ ├── cache.cpython-312.pyc
│ │ │ │ │ ├── configuration.cpython-312.pyc
│ │ │ │ │ ├── exceptions.cpython-312.pyc
│ │ │ │ │ ├── main.cpython-312.pyc
│ │ │ │ │ ├── pyproject.cpython-312.pyc
│ │ │ │ │ ├── self_outdated_check.cpython-312.pyc
│ │ │ │ │ └── wheel_builder.cpython-312.pyc
│ │ │ │ ├── build_env.py
│ │ │ │ ├── cache.py
│ │ │ │ ├── cli
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── autocompletion.cpython-312.pyc
│ │ │ │ │ │ ├── base_command.cpython-312.pyc
│ │ │ │ │ │ ├── cmdoptions.cpython-312.pyc
│ │ │ │ │ │ ├── command_context.cpython-312.pyc
│ │ │ │ │ │ ├── index_command.cpython-312.pyc
│ │ │ │ │ │ ├── main_parser.cpython-312.pyc
│ │ │ │ │ │ ├── main.cpython-312.pyc
│ │ │ │ │ │ ├── parser.cpython-312.pyc
│ │ │ │ │ │ ├── progress_bars.cpython-312.pyc
│ │ │ │ │ │ ├── req_command.cpython-312.pyc
│ │ │ │ │ │ ├── spinners.cpython-312.pyc
│ │ │ │ │ │ └── status_codes.cpython-312.pyc
│ │ │ │ │ ├── autocompletion.py
│ │ │ │ │ ├── base_command.py
│ │ │ │ │ ├── cmdoptions.py
│ │ │ │ │ ├── command_context.py
│ │ │ │ │ ├── index_command.py
│ │ │ │ │ ├── main_parser.py
│ │ │ │ │ ├── main.py
│ │ │ │ │ ├── parser.py
│ │ │ │ │ ├── progress_bars.py
│ │ │ │ │ ├── req_command.py
│ │ │ │ │ ├── spinners.py
│ │ │ │ │ └── status_codes.py
│ │ │ │ ├── commands
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── cache.cpython-312.pyc
│ │ │ │ │ │ ├── check.cpython-312.pyc
│ │ │ │ │ │ ├── completion.cpython-312.pyc
│ │ │ │ │ │ ├── configuration.cpython-312.pyc
│ │ │ │ │ │ ├── debug.cpython-312.pyc
│ │ │ │ │ │ ├── download.cpython-312.pyc
│ │ │ │ │ │ ├── freeze.cpython-312.pyc
│ │ │ │ │ │ ├── hash.cpython-312.pyc
│ │ │ │ │ │ ├── help.cpython-312.pyc
│ │ │ │ │ │ ├── index.cpython-312.pyc
│ │ │ │ │ │ ├── inspect.cpython-312.pyc
│ │ │ │ │ │ ├── install.cpython-312.pyc
│ │ │ │ │ │ ├── list.cpython-312.pyc
│ │ │ │ │ │ ├── search.cpython-312.pyc
│ │ │ │ │ │ ├── show.cpython-312.pyc
│ │ │ │ │ │ ├── uninstall.cpython-312.pyc
│ │ │ │ │ │ └── wheel.cpython-312.pyc
│ │ │ │ │ ├── cache.py
│ │ │ │ │ ├── check.py
│ │ │ │ │ ├── completion.py
│ │ │ │ │ ├── configuration.py
│ │ │ │ │ ├── debug.py
│ │ │ │ │ ├── download.py
│ │ │ │ │ ├── freeze.py
│ │ │ │ │ ├── hash.py
│ │ │ │ │ ├── help.py
│ │ │ │ │ ├── index.py
│ │ │ │ │ ├── inspect.py
│ │ │ │ │ ├── install.py
│ │ │ │ │ ├── list.py
│ │ │ │ │ ├── search.py
│ │ │ │ │ ├── show.py
│ │ │ │ │ ├── uninstall.py
│ │ │ │ │ └── wheel.py
│ │ │ │ ├── configuration.py
│ │ │ │ ├── distributions
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── base.cpython-312.pyc
│ │ │ │ │ │ ├── installed.cpython-312.pyc
│ │ │ │ │ │ ├── sdist.cpython-312.pyc
│ │ │ │ │ │ └── wheel.cpython-312.pyc
│ │ │ │ │ ├── base.py
│ │ │ │ │ ├── installed.py
│ │ │ │ │ ├── sdist.py
│ │ │ │ │ └── wheel.py
│ │ │ │ ├── exceptions.py
│ │ │ │ ├── index
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── collector.cpython-312.pyc
│ │ │ │ │ │ ├── package_finder.cpython-312.pyc
│ │ │ │ │ │ └── sources.cpython-312.pyc
│ │ │ │ │ ├── collector.py
│ │ │ │ │ ├── package_finder.py
│ │ │ │ │ └── sources.py
│ │ │ │ ├── locations
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── _distutils.cpython-312.pyc
│ │ │ │ │ │ ├── _sysconfig.cpython-312.pyc
│ │ │ │ │ │ └── base.cpython-312.pyc
│ │ │ │ │ ├── _distutils.py
│ │ │ │ │ ├── _sysconfig.py
│ │ │ │ │ └── base.py
│ │ │ │ ├── main.py
│ │ │ │ ├── metadata
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── _json.cpython-312.pyc
│ │ │ │ │ │ ├── base.cpython-312.pyc
│ │ │ │ │ │ └── pkg_resources.cpython-312.pyc
│ │ │ │ │ ├── _json.py
│ │ │ │ │ ├── base.py
│ │ │ │ │ ├── importlib
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ │ ├── _compat.cpython-312.pyc
│ │ │ │ │ │ │ ├── _dists.cpython-312.pyc
│ │ │ │ │ │ │ └── _envs.cpython-312.pyc
│ │ │ │ │ │ ├── _compat.py
│ │ │ │ │ │ ├── _dists.py
│ │ │ │ │ │ └── _envs.py
│ │ │ │ │ └── pkg_resources.py
│ │ │ │ ├── models
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── candidate.cpython-312.pyc
│ │ │ │ │ │ ├── direct_url.cpython-312.pyc
│ │ │ │ │ │ ├── format_control.cpython-312.pyc
│ │ │ │ │ │ ├── index.cpython-312.pyc
│ │ │ │ │ │ ├── installation_report.cpython-312.pyc
│ │ │ │ │ │ ├── link.cpython-312.pyc
│ │ │ │ │ │ ├── scheme.cpython-312.pyc
│ │ │ │ │ │ ├── search_scope.cpython-312.pyc
│ │ │ │ │ │ ├── selection_prefs.cpython-312.pyc
│ │ │ │ │ │ ├── target_python.cpython-312.pyc
│ │ │ │ │ │ └── wheel.cpython-312.pyc
│ │ │ │ │ ├── candidate.py
│ │ │ │ │ ├── direct_url.py
│ │ │ │ │ ├── format_control.py
│ │ │ │ │ ├── index.py
│ │ │ │ │ ├── installation_report.py
│ │ │ │ │ ├── link.py
│ │ │ │ │ ├── scheme.py
│ │ │ │ │ ├── search_scope.py
│ │ │ │ │ ├── selection_prefs.py
│ │ │ │ │ ├── target_python.py
│ │ │ │ │ └── wheel.py
│ │ │ │ ├── network
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── auth.cpython-312.pyc
│ │ │ │ │ │ ├── cache.cpython-312.pyc
│ │ │ │ │ │ ├── download.cpython-312.pyc
│ │ │ │ │ │ ├── lazy_wheel.cpython-312.pyc
│ │ │ │ │ │ ├── session.cpython-312.pyc
│ │ │ │ │ │ ├── utils.cpython-312.pyc
│ │ │ │ │ │ └── xmlrpc.cpython-312.pyc
│ │ │ │ │ ├── auth.py
│ │ │ │ │ ├── cache.py
│ │ │ │ │ ├── download.py
│ │ │ │ │ ├── lazy_wheel.py
│ │ │ │ │ ├── session.py
│ │ │ │ │ ├── utils.py
│ │ │ │ │ └── xmlrpc.py
│ │ │ │ ├── operations
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── check.cpython-312.pyc
│ │ │ │ │ │ ├── freeze.cpython-312.pyc
│ │ │ │ │ │ └── prepare.cpython-312.pyc
│ │ │ │ │ ├── build
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ │ ├── build_tracker.cpython-312.pyc
│ │ │ │ │ │ │ ├── metadata_editable.cpython-312.pyc
│ │ │ │ │ │ │ ├── metadata_legacy.cpython-312.pyc
│ │ │ │ │ │ │ ├── metadata.cpython-312.pyc
│ │ │ │ │ │ │ ├── wheel_editable.cpython-312.pyc
│ │ │ │ │ │ │ ├── wheel_legacy.cpython-312.pyc
│ │ │ │ │ │ │ └── wheel.cpython-312.pyc
│ │ │ │ │ │ ├── build_tracker.py
│ │ │ │ │ │ ├── metadata_editable.py
│ │ │ │ │ │ ├── metadata_legacy.py
│ │ │ │ │ │ ├── metadata.py
│ │ │ │ │ │ ├── wheel_editable.py
│ │ │ │ │ │ ├── wheel_legacy.py
│ │ │ │ │ │ └── wheel.py
│ │ │ │ │ ├── check.py
│ │ │ │ │ ├── freeze.py
│ │ │ │ │ ├── install
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ │ ├── editable_legacy.cpython-312.pyc
│ │ │ │ │ │ │ └── wheel.cpython-312.pyc
│ │ │ │ │ │ ├── editable_legacy.py
│ │ │ │ │ │ └── wheel.py
│ │ │ │ │ └── prepare.py
│ │ │ │ ├── pyproject.py
│ │ │ │ ├── req
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── constructors.cpython-312.pyc
│ │ │ │ │ │ ├── req_file.cpython-312.pyc
│ │ │ │ │ │ ├── req_install.cpython-312.pyc
│ │ │ │ │ │ ├── req_set.cpython-312.pyc
│ │ │ │ │ │ └── req_uninstall.cpython-312.pyc
│ │ │ │ │ ├── constructors.py
│ │ │ │ │ ├── req_file.py
│ │ │ │ │ ├── req_install.py
│ │ │ │ │ ├── req_set.py
│ │ │ │ │ └── req_uninstall.py
│ │ │ │ ├── resolution
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ └── base.cpython-312.pyc
│ │ │ │ │ ├── base.py
│ │ │ │ │ ├── legacy
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ │ └── resolver.cpython-312.pyc
│ │ │ │ │ │ └── resolver.py
│ │ │ │ │ └── resolvelib
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── base.cpython-312.pyc
│ │ │ │ │ │ ├── candidates.cpython-312.pyc
│ │ │ │ │ │ ├── factory.cpython-312.pyc
│ │ │ │ │ │ ├── found_candidates.cpython-312.pyc
│ │ │ │ │ │ ├── provider.cpython-312.pyc
│ │ │ │ │ │ ├── reporter.cpython-312.pyc
│ │ │ │ │ │ ├── requirements.cpython-312.pyc
│ │ │ │ │ │ └── resolver.cpython-312.pyc
│ │ │ │ │ ├── base.py
│ │ │ │ │ ├── candidates.py
│ │ │ │ │ ├── factory.py
│ │ │ │ │ ├── found_candidates.py
│ │ │ │ │ ├── provider.py
│ │ │ │ │ ├── reporter.py
│ │ │ │ │ ├── requirements.py
│ │ │ │ │ └── resolver.py
│ │ │ │ ├── self_outdated_check.py
│ │ │ │ ├── utils
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── _jaraco_text.cpython-312.pyc
│ │ │ │ │ │ ├── _log.cpython-312.pyc
│ │ │ │ │ │ ├── appdirs.cpython-312.pyc
│ │ │ │ │ │ ├── compat.cpython-312.pyc
│ │ │ │ │ │ ├── compatibility_tags.cpython-312.pyc
│ │ │ │ │ │ ├── datetime.cpython-312.pyc
│ │ │ │ │ │ ├── deprecation.cpython-312.pyc
│ │ │ │ │ │ ├── direct_url_helpers.cpython-312.pyc
│ │ │ │ │ │ ├── egg_link.cpython-312.pyc
│ │ │ │ │ │ ├── encoding.cpython-312.pyc
│ │ │ │ │ │ ├── entrypoints.cpython-312.pyc
│ │ │ │ │ │ ├── filesystem.cpython-312.pyc
│ │ │ │ │ │ ├── filetypes.cpython-312.pyc
│ │ │ │ │ │ ├── glibc.cpython-312.pyc
│ │ │ │ │ │ ├── hashes.cpython-312.pyc
│ │ │ │ │ │ ├── logging.cpython-312.pyc
│ │ │ │ │ │ ├── misc.cpython-312.pyc
│ │ │ │ │ │ ├── packaging.cpython-312.pyc
│ │ │ │ │ │ ├── retry.cpython-312.pyc
│ │ │ │ │ │ ├── setuptools_build.cpython-312.pyc
│ │ │ │ │ │ ├── subprocess.cpython-312.pyc
│ │ │ │ │ │ ├── temp_dir.cpython-312.pyc
│ │ │ │ │ │ ├── unpacking.cpython-312.pyc
│ │ │ │ │ │ ├── urls.cpython-312.pyc
│ │ │ │ │ │ ├── virtualenv.cpython-312.pyc
│ │ │ │ │ │ └── wheel.cpython-312.pyc
│ │ │ │ │ ├── _jaraco_text.py
│ │ │ │ │ ├── _log.py
│ │ │ │ │ ├── appdirs.py
│ │ │ │ │ ├── compat.py
│ │ │ │ │ ├── compatibility_tags.py
│ │ │ │ │ ├── datetime.py
│ │ │ │ │ ├── deprecation.py
│ │ │ │ │ ├── direct_url_helpers.py
│ │ │ │ │ ├── egg_link.py
│ │ │ │ │ ├── encoding.py
│ │ │ │ │ ├── entrypoints.py
│ │ │ │ │ ├── filesystem.py
│ │ │ │ │ ├── filetypes.py
│ │ │ │ │ ├── glibc.py
│ │ │ │ │ ├── hashes.py
│ │ │ │ │ ├── logging.py
│ │ │ │ │ ├── misc.py
│ │ │ │ │ ├── packaging.py
│ │ │ │ │ ├── retry.py
│ │ │ │ │ ├── setuptools_build.py
│ │ │ │ │ ├── subprocess.py
│ │ │ │ │ ├── temp_dir.py
│ │ │ │ │ ├── unpacking.py
│ │ │ │ │ ├── urls.py
│ │ │ │ │ ├── virtualenv.py
│ │ │ │ │ └── wheel.py
│ │ │ │ ├── vcs
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── bazaar.cpython-312.pyc
│ │ │ │ │ │ ├── git.cpython-312.pyc
│ │ │ │ │ │ ├── mercurial.cpython-312.pyc
│ │ │ │ │ │ ├── subversion.cpython-312.pyc
│ │ │ │ │ │ └── versioncontrol.cpython-312.pyc
│ │ │ │ │ ├── bazaar.py
│ │ │ │ │ ├── git.py
│ │ │ │ │ ├── mercurial.py
│ │ │ │ │ ├── subversion.py
│ │ │ │ │ └── versioncontrol.py
│ │ │ │ └── wheel_builder.py
│ │ │ ├── _vendor
│ │ │ │ ├── __init__.py
│ │ │ │ ├── __pycache__
│ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ └── typing_extensions.cpython-312.pyc
│ │ │ │ ├── cachecontrol
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── _cmd.cpython-312.pyc
│ │ │ │ │ │ ├── adapter.cpython-312.pyc
│ │ │ │ │ │ ├── cache.cpython-312.pyc
│ │ │ │ │ │ ├── controller.cpython-312.pyc
│ │ │ │ │ │ ├── filewrapper.cpython-312.pyc
│ │ │ │ │ │ ├── heuristics.cpython-312.pyc
│ │ │ │ │ │ ├── serialize.cpython-312.pyc
│ │ │ │ │ │ └── wrapper.cpython-312.pyc
│ │ │ │ │ ├── _cmd.py
│ │ │ │ │ ├── adapter.py
│ │ │ │ │ ├── cache.py
│ │ │ │ │ ├── caches
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ │ ├── file_cache.cpython-312.pyc
│ │ │ │ │ │ │ └── redis_cache.cpython-312.pyc
│ │ │ │ │ │ ├── file_cache.py
│ │ │ │ │ │ └── redis_cache.py
│ │ │ │ │ ├── controller.py
│ │ │ │ │ ├── filewrapper.py
│ │ │ │ │ ├── heuristics.py
│ │ │ │ │ ├── py.typed
│ │ │ │ │ ├── serialize.py
│ │ │ │ │ └── wrapper.py
│ │ │ │ ├── certifi
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __main__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── __main__.cpython-312.pyc
│ │ │ │ │ │ └── core.cpython-312.pyc
│ │ │ │ │ ├── cacert.pem
│ │ │ │ │ ├── core.py
│ │ │ │ │ └── py.typed
│ │ │ │ ├── distlib
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── compat.cpython-312.pyc
│ │ │ │ │ │ ├── database.cpython-312.pyc
│ │ │ │ │ │ ├── index.cpython-312.pyc
│ │ │ │ │ │ ├── locators.cpython-312.pyc
│ │ │ │ │ │ ├── manifest.cpython-312.pyc
│ │ │ │ │ │ ├── markers.cpython-312.pyc
│ │ │ │ │ │ ├── metadata.cpython-312.pyc
│ │ │ │ │ │ ├── resources.cpython-312.pyc
│ │ │ │ │ │ ├── scripts.cpython-312.pyc
│ │ │ │ │ │ ├── util.cpython-312.pyc
│ │ │ │ │ │ ├── version.cpython-312.pyc
│ │ │ │ │ │ └── wheel.cpython-312.pyc
│ │ │ │ │ ├── compat.py
│ │ │ │ │ ├── database.py
│ │ │ │ │ ├── index.py
│ │ │ │ │ ├── locators.py
│ │ │ │ │ ├── manifest.py
│ │ │ │ │ ├── markers.py
│ │ │ │ │ ├── metadata.py
│ │ │ │ │ ├── resources.py
│ │ │ │ │ ├── scripts.py
│ │ │ │ │ ├── t32.exe
│ │ │ │ │ ├── t64-arm.exe
│ │ │ │ │ ├── t64.exe
│ │ │ │ │ ├── util.py
│ │ │ │ │ ├── version.py
│ │ │ │ │ ├── w32.exe
│ │ │ │ │ ├── w64-arm.exe
│ │ │ │ │ ├── w64.exe
│ │ │ │ │ └── wheel.py
│ │ │ │ ├── distro
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __main__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── __main__.cpython-312.pyc
│ │ │ │ │ │ └── distro.cpython-312.pyc
│ │ │ │ │ ├── distro.py
│ │ │ │ │ └── py.typed
│ │ │ │ ├── idna
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── codec.cpython-312.pyc
│ │ │ │ │ │ ├── compat.cpython-312.pyc
│ │ │ │ │ │ ├── core.cpython-312.pyc
│ │ │ │ │ │ ├── idnadata.cpython-312.pyc
│ │ │ │ │ │ ├── intranges.cpython-312.pyc
│ │ │ │ │ │ ├── package_data.cpython-312.pyc
│ │ │ │ │ │ └── uts46data.cpython-312.pyc
│ │ │ │ │ ├── codec.py
│ │ │ │ │ ├── compat.py
│ │ │ │ │ ├── core.py
│ │ │ │ │ ├── idnadata.py
│ │ │ │ │ ├── intranges.py
│ │ │ │ │ ├── package_data.py
│ │ │ │ │ ├── py.typed
│ │ │ │ │ └── uts46data.py
│ │ │ │ ├── msgpack
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── exceptions.cpython-312.pyc
│ │ │ │ │ │ ├── ext.cpython-312.pyc
│ │ │ │ │ │ └── fallback.cpython-312.pyc
│ │ │ │ │ ├── exceptions.py
│ │ │ │ │ ├── ext.py
│ │ │ │ │ └── fallback.py
│ │ │ │ ├── packaging
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── _elffile.cpython-312.pyc
│ │ │ │ │ │ ├── _manylinux.cpython-312.pyc
│ │ │ │ │ │ ├── _musllinux.cpython-312.pyc
│ │ │ │ │ │ ├── _parser.cpython-312.pyc
│ │ │ │ │ │ ├── _structures.cpython-312.pyc
│ │ │ │ │ │ ├── _tokenizer.cpython-312.pyc
│ │ │ │ │ │ ├── markers.cpython-312.pyc
│ │ │ │ │ │ ├── metadata.cpython-312.pyc
│ │ │ │ │ │ ├── requirements.cpython-312.pyc
│ │ │ │ │ │ ├── specifiers.cpython-312.pyc
│ │ │ │ │ │ ├── tags.cpython-312.pyc
│ │ │ │ │ │ ├── utils.cpython-312.pyc
│ │ │ │ │ │ └── version.cpython-312.pyc
│ │ │ │ │ ├── _elffile.py
│ │ │ │ │ ├── _manylinux.py
│ │ │ │ │ ├── _musllinux.py
│ │ │ │ │ ├── _parser.py
│ │ │ │ │ ├── _structures.py
│ │ │ │ │ ├── _tokenizer.py
│ │ │ │ │ ├── markers.py
│ │ │ │ │ ├── metadata.py
│ │ │ │ │ ├── py.typed
│ │ │ │ │ ├── requirements.py
│ │ │ │ │ ├── specifiers.py
│ │ │ │ │ ├── tags.py
│ │ │ │ │ ├── utils.py
│ │ │ │ │ └── version.py
│ │ │ │ ├── pkg_resources
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ └── __pycache__
│ │ │ │ │ └── __init__.cpython-312.pyc
│ │ │ │ ├── platformdirs
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __main__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── __main__.cpython-312.pyc
│ │ │ │ │ │ ├── android.cpython-312.pyc
│ │ │ │ │ │ ├── api.cpython-312.pyc
│ │ │ │ │ │ ├── macos.cpython-312.pyc
│ │ │ │ │ │ ├── unix.cpython-312.pyc
│ │ │ │ │ │ ├── version.cpython-312.pyc
│ │ │ │ │ │ └── windows.cpython-312.pyc
│ │ │ │ │ ├── android.py
│ │ │ │ │ ├── api.py
│ │ │ │ │ ├── macos.py
│ │ │ │ │ ├── py.typed
│ │ │ │ │ ├── unix.py
│ │ │ │ │ ├── version.py
│ │ │ │ │ └── windows.py
│ │ │ │ ├── pygments
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __main__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── __main__.cpython-312.pyc
│ │ │ │ │ │ ├── cmdline.cpython-312.pyc
│ │ │ │ │ │ ├── console.cpython-312.pyc
│ │ │ │ │ │ ├── filter.cpython-312.pyc
│ │ │ │ │ │ ├── formatter.cpython-312.pyc
│ │ │ │ │ │ ├── lexer.cpython-312.pyc
│ │ │ │ │ │ ├── modeline.cpython-312.pyc
│ │ │ │ │ │ ├── plugin.cpython-312.pyc
│ │ │ │ │ │ ├── regexopt.cpython-312.pyc
│ │ │ │ │ │ ├── scanner.cpython-312.pyc
│ │ │ │ │ │ ├── sphinxext.cpython-312.pyc
│ │ │ │ │ │ ├── style.cpython-312.pyc
│ │ │ │ │ │ ├── token.cpython-312.pyc
│ │ │ │ │ │ ├── unistring.cpython-312.pyc
│ │ │ │ │ │ └── util.cpython-312.pyc
│ │ │ │ │ ├── cmdline.py
│ │ │ │ │ ├── console.py
│ │ │ │ │ ├── filter.py
│ │ │ │ │ ├── filters
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ └── __pycache__
│ │ │ │ │ │ └── __init__.cpython-312.pyc
│ │ │ │ │ ├── formatter.py
│ │ │ │ │ ├── formatters
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ │ ├── _mapping.cpython-312.pyc
│ │ │ │ │ │ │ ├── bbcode.cpython-312.pyc
│ │ │ │ │ │ │ ├── groff.cpython-312.pyc
│ │ │ │ │ │ │ ├── html.cpython-312.pyc
│ │ │ │ │ │ │ ├── img.cpython-312.pyc
│ │ │ │ │ │ │ ├── irc.cpython-312.pyc
│ │ │ │ │ │ │ ├── latex.cpython-312.pyc
│ │ │ │ │ │ │ ├── other.cpython-312.pyc
│ │ │ │ │ │ │ ├── pangomarkup.cpython-312.pyc
│ │ │ │ │ │ │ ├── rtf.cpython-312.pyc
│ │ │ │ │ │ │ ├── svg.cpython-312.pyc
│ │ │ │ │ │ │ ├── terminal.cpython-312.pyc
│ │ │ │ │ │ │ └── terminal256.cpython-312.pyc
│ │ │ │ │ │ ├── _mapping.py
│ │ │ │ │ │ ├── bbcode.py
│ │ │ │ │ │ ├── groff.py
│ │ │ │ │ │ ├── html.py
│ │ │ │ │ │ ├── img.py
│ │ │ │ │ │ ├── irc.py
│ │ │ │ │ │ ├── latex.py
│ │ │ │ │ │ ├── other.py
│ │ │ │ │ │ ├── pangomarkup.py
│ │ │ │ │ │ ├── rtf.py
│ │ │ │ │ │ ├── svg.py
│ │ │ │ │ │ ├── terminal.py
│ │ │ │ │ │ └── terminal256.py
│ │ │ │ │ ├── lexer.py
│ │ │ │ │ ├── lexers
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ │ ├── _mapping.cpython-312.pyc
│ │ │ │ │ │ │ └── python.cpython-312.pyc
│ │ │ │ │ │ ├── _mapping.py
│ │ │ │ │ │ └── python.py
│ │ │ │ │ ├── modeline.py
│ │ │ │ │ ├── plugin.py
│ │ │ │ │ ├── regexopt.py
│ │ │ │ │ ├── scanner.py
│ │ │ │ │ ├── sphinxext.py
│ │ │ │ │ ├── style.py
│ │ │ │ │ ├── styles
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ │ └── _mapping.cpython-312.pyc
│ │ │ │ │ │ └── _mapping.py
│ │ │ │ │ ├── token.py
│ │ │ │ │ ├── unistring.py
│ │ │ │ │ └── util.py
│ │ │ │ ├── pyproject_hooks
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── _compat.cpython-312.pyc
│ │ │ │ │ │ └── _impl.cpython-312.pyc
│ │ │ │ │ ├── _compat.py
│ │ │ │ │ ├── _impl.py
│ │ │ │ │ └── _in_process
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ └── _in_process.cpython-312.pyc
│ │ │ │ │ └── _in_process.py
│ │ │ │ ├── requests
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── __version__.cpython-312.pyc
│ │ │ │ │ │ ├── _internal_utils.cpython-312.pyc
│ │ │ │ │ │ ├── adapters.cpython-312.pyc
│ │ │ │ │ │ ├── api.cpython-312.pyc
│ │ │ │ │ │ ├── auth.cpython-312.pyc
│ │ │ │ │ │ ├── certs.cpython-312.pyc
│ │ │ │ │ │ ├── compat.cpython-312.pyc
│ │ │ │ │ │ ├── cookies.cpython-312.pyc
│ │ │ │ │ │ ├── exceptions.cpython-312.pyc
│ │ │ │ │ │ ├── help.cpython-312.pyc
│ │ │ │ │ │ ├── hooks.cpython-312.pyc
│ │ │ │ │ │ ├── models.cpython-312.pyc
│ │ │ │ │ │ ├── packages.cpython-312.pyc
│ │ │ │ │ │ ├── sessions.cpython-312.pyc
│ │ │ │ │ │ ├── status_codes.cpython-312.pyc
│ │ │ │ │ │ ├── structures.cpython-312.pyc
│ │ │ │ │ │ └── utils.cpython-312.pyc
│ │ │ │ │ ├── __version__.py
│ │ │ │ │ ├── _internal_utils.py
│ │ │ │ │ ├── adapters.py
│ │ │ │ │ ├── api.py
│ │ │ │ │ ├── auth.py
│ │ │ │ │ ├── certs.py
│ │ │ │ │ ├── compat.py
│ │ │ │ │ ├── cookies.py
│ │ │ │ │ ├── exceptions.py
│ │ │ │ │ ├── help.py
│ │ │ │ │ ├── hooks.py
│ │ │ │ │ ├── models.py
│ │ │ │ │ ├── packages.py
│ │ │ │ │ ├── sessions.py
│ │ │ │ │ ├── status_codes.py
│ │ │ │ │ ├── structures.py
│ │ │ │ │ └── utils.py
│ │ │ │ ├── resolvelib
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── providers.cpython-312.pyc
│ │ │ │ │ │ ├── reporters.cpython-312.pyc
│ │ │ │ │ │ ├── resolvers.cpython-312.pyc
│ │ │ │ │ │ └── structs.cpython-312.pyc
│ │ │ │ │ ├── compat
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ │ └── collections_abc.cpython-312.pyc
│ │ │ │ │ │ └── collections_abc.py
│ │ │ │ │ ├── providers.py
│ │ │ │ │ ├── py.typed
│ │ │ │ │ ├── reporters.py
│ │ │ │ │ ├── resolvers.py
│ │ │ │ │ └── structs.py
│ │ │ │ ├── rich
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __main__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── __main__.cpython-312.pyc
│ │ │ │ │ │ ├── _cell_widths.cpython-312.pyc
│ │ │ │ │ │ ├── _emoji_codes.cpython-312.pyc
│ │ │ │ │ │ ├── _emoji_replace.cpython-312.pyc
│ │ │ │ │ │ ├── _export_format.cpython-312.pyc
│ │ │ │ │ │ ├── _extension.cpython-312.pyc
│ │ │ │ │ │ ├── _fileno.cpython-312.pyc
│ │ │ │ │ │ ├── _inspect.cpython-312.pyc
│ │ │ │ │ │ ├── _log_render.cpython-312.pyc
│ │ │ │ │ │ ├── _loop.cpython-312.pyc
│ │ │ │ │ │ ├── _null_file.cpython-312.pyc
│ │ │ │ │ │ ├── _palettes.cpython-312.pyc
│ │ │ │ │ │ ├── _pick.cpython-312.pyc
│ │ │ │ │ │ ├── _ratio.cpython-312.pyc
│ │ │ │ │ │ ├── _spinners.cpython-312.pyc
│ │ │ │ │ │ ├── _stack.cpython-312.pyc
│ │ │ │ │ │ ├── _timer.cpython-312.pyc
│ │ │ │ │ │ ├── _win32_console.cpython-312.pyc
│ │ │ │ │ │ ├── _windows_renderer.cpython-312.pyc
│ │ │ │ │ │ ├── _windows.cpython-312.pyc
│ │ │ │ │ │ ├── _wrap.cpython-312.pyc
│ │ │ │ │ │ ├── abc.cpython-312.pyc
│ │ │ │ │ │ ├── align.cpython-312.pyc
│ │ │ │ │ │ ├── ansi.cpython-312.pyc
│ │ │ │ │ │ ├── bar.cpython-312.pyc
│ │ │ │ │ │ ├── box.cpython-312.pyc
│ │ │ │ │ │ ├── cells.cpython-312.pyc
│ │ │ │ │ │ ├── color_triplet.cpython-312.pyc
│ │ │ │ │ │ ├── color.cpython-312.pyc
│ │ │ │ │ │ ├── columns.cpython-312.pyc
│ │ │ │ │ │ ├── console.cpython-312.pyc
│ │ │ │ │ │ ├── constrain.cpython-312.pyc
│ │ │ │ │ │ ├── containers.cpython-312.pyc
│ │ │ │ │ │ ├── control.cpython-312.pyc
│ │ │ │ │ │ ├── default_styles.cpython-312.pyc
│ │ │ │ │ │ ├── diagnose.cpython-312.pyc
│ │ │ │ │ │ ├── emoji.cpython-312.pyc
│ │ │ │ │ │ ├── errors.cpython-312.pyc
│ │ │ │ │ │ ├── file_proxy.cpython-312.pyc
│ │ │ │ │ │ ├── filesize.cpython-312.pyc
│ │ │ │ │ │ ├── highlighter.cpython-312.pyc
│ │ │ │ │ │ ├── json.cpython-312.pyc
│ │ │ │ │ │ ├── jupyter.cpython-312.pyc
│ │ │ │ │ │ ├── layout.cpython-312.pyc
│ │ │ │ │ │ ├── live_render.cpython-312.pyc
│ │ │ │ │ │ ├── live.cpython-312.pyc
│ │ │ │ │ │ ├── logging.cpython-312.pyc
│ │ │ │ │ │ ├── markup.cpython-312.pyc
│ │ │ │ │ │ ├── measure.cpython-312.pyc
│ │ │ │ │ │ ├── padding.cpython-312.pyc
│ │ │ │ │ │ ├── pager.cpython-312.pyc
│ │ │ │ │ │ ├── palette.cpython-312.pyc
│ │ │ │ │ │ ├── panel.cpython-312.pyc
│ │ │ │ │ │ ├── pretty.cpython-312.pyc
│ │ │ │ │ │ ├── progress_bar.cpython-312.pyc
│ │ │ │ │ │ ├── progress.cpython-312.pyc
│ │ │ │ │ │ ├── prompt.cpython-312.pyc
│ │ │ │ │ │ ├── protocol.cpython-312.pyc
│ │ │ │ │ │ ├── region.cpython-312.pyc
│ │ │ │ │ │ ├── repr.cpython-312.pyc
│ │ │ │ │ │ ├── rule.cpython-312.pyc
│ │ │ │ │ │ ├── scope.cpython-312.pyc
│ │ │ │ │ │ ├── screen.cpython-312.pyc
│ │ │ │ │ │ ├── segment.cpython-312.pyc
│ │ │ │ │ │ ├── spinner.cpython-312.pyc
│ │ │ │ │ │ ├── status.cpython-312.pyc
│ │ │ │ │ │ ├── style.cpython-312.pyc
│ │ │ │ │ │ ├── styled.cpython-312.pyc
│ │ │ │ │ │ ├── syntax.cpython-312.pyc
│ │ │ │ │ │ ├── table.cpython-312.pyc
│ │ │ │ │ │ ├── terminal_theme.cpython-312.pyc
│ │ │ │ │ │ ├── text.cpython-312.pyc
│ │ │ │ │ │ ├── theme.cpython-312.pyc
│ │ │ │ │ │ ├── themes.cpython-312.pyc
│ │ │ │ │ │ ├── traceback.cpython-312.pyc
│ │ │ │ │ │ └── tree.cpython-312.pyc
│ │ │ │ │ ├── _cell_widths.py
│ │ │ │ │ ├── _emoji_codes.py
│ │ │ │ │ ├── _emoji_replace.py
│ │ │ │ │ ├── _export_format.py
│ │ │ │ │ ├── _extension.py
│ │ │ │ │ ├── _fileno.py
│ │ │ │ │ ├── _inspect.py
│ │ │ │ │ ├── _log_render.py
│ │ │ │ │ ├── _loop.py
│ │ │ │ │ ├── _null_file.py
│ │ │ │ │ ├── _palettes.py
│ │ │ │ │ ├── _pick.py
│ │ │ │ │ ├── _ratio.py
│ │ │ │ │ ├── _spinners.py
│ │ │ │ │ ├── _stack.py
│ │ │ │ │ ├── _timer.py
│ │ │ │ │ ├── _win32_console.py
│ │ │ │ │ ├── _windows_renderer.py
│ │ │ │ │ ├── _windows.py
│ │ │ │ │ ├── _wrap.py
│ │ │ │ │ ├── abc.py
│ │ │ │ │ ├── align.py
│ │ │ │ │ ├── ansi.py
│ │ │ │ │ ├── bar.py
│ │ │ │ │ ├── box.py
│ │ │ │ │ ├── cells.py
│ │ │ │ │ ├── color_triplet.py
│ │ │ │ │ ├── color.py
│ │ │ │ │ ├── columns.py
│ │ │ │ │ ├── console.py
│ │ │ │ │ ├── constrain.py
│ │ │ │ │ ├── containers.py
│ │ │ │ │ ├── control.py
│ │ │ │ │ ├── default_styles.py
│ │ │ │ │ ├── diagnose.py
│ │ │ │ │ ├── emoji.py
│ │ │ │ │ ├── errors.py
│ │ │ │ │ ├── file_proxy.py
│ │ │ │ │ ├── filesize.py
│ │ │ │ │ ├── highlighter.py
│ │ │ │ │ ├── json.py
│ │ │ │ │ ├── jupyter.py
│ │ │ │ │ ├── layout.py
│ │ │ │ │ ├── live_render.py
│ │ │ │ │ ├── live.py
│ │ │ │ │ ├── logging.py
│ │ │ │ │ ├── markup.py
│ │ │ │ │ ├── measure.py
│ │ │ │ │ ├── padding.py
│ │ │ │ │ ├── pager.py
│ │ │ │ │ ├── palette.py
│ │ │ │ │ ├── panel.py
│ │ │ │ │ ├── pretty.py
│ │ │ │ │ ├── progress_bar.py
│ │ │ │ │ ├── progress.py
│ │ │ │ │ ├── prompt.py
│ │ │ │ │ ├── protocol.py
│ │ │ │ │ ├── py.typed
│ │ │ │ │ ├── region.py
│ │ │ │ │ ├── repr.py
│ │ │ │ │ ├── rule.py
│ │ │ │ │ ├── scope.py
│ │ │ │ │ ├── screen.py
│ │ │ │ │ ├── segment.py
│ │ │ │ │ ├── spinner.py
│ │ │ │ │ ├── status.py
│ │ │ │ │ ├── style.py
│ │ │ │ │ ├── styled.py
│ │ │ │ │ ├── syntax.py
│ │ │ │ │ ├── table.py
│ │ │ │ │ ├── terminal_theme.py
│ │ │ │ │ ├── text.py
│ │ │ │ │ ├── theme.py
│ │ │ │ │ ├── themes.py
│ │ │ │ │ ├── traceback.py
│ │ │ │ │ └── tree.py
│ │ │ │ ├── tomli
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── _parser.cpython-312.pyc
│ │ │ │ │ │ ├── _re.cpython-312.pyc
│ │ │ │ │ │ └── _types.cpython-312.pyc
│ │ │ │ │ ├── _parser.py
│ │ │ │ │ ├── _re.py
│ │ │ │ │ ├── _types.py
│ │ │ │ │ └── py.typed
│ │ │ │ ├── truststore
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── _api.cpython-312.pyc
│ │ │ │ │ │ ├── _macos.cpython-312.pyc
│ │ │ │ │ │ ├── _openssl.cpython-312.pyc
│ │ │ │ │ │ ├── _ssl_constants.cpython-312.pyc
│ │ │ │ │ │ └── _windows.cpython-312.pyc
│ │ │ │ │ ├── _api.py
│ │ │ │ │ ├── _macos.py
│ │ │ │ │ ├── _openssl.py
│ │ │ │ │ ├── _ssl_constants.py
│ │ │ │ │ ├── _windows.py
│ │ │ │ │ └── py.typed
│ │ │ │ ├── typing_extensions.py
│ │ │ │ ├── urllib3
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── _collections.cpython-312.pyc
│ │ │ │ │ │ ├── _version.cpython-312.pyc
│ │ │ │ │ │ ├── connection.cpython-312.pyc
│ │ │ │ │ │ ├── connectionpool.cpython-312.pyc
│ │ │ │ │ │ ├── exceptions.cpython-312.pyc
│ │ │ │ │ │ ├── fields.cpython-312.pyc
│ │ │ │ │ │ ├── filepost.cpython-312.pyc
│ │ │ │ │ │ ├── poolmanager.cpython-312.pyc
│ │ │ │ │ │ ├── request.cpython-312.pyc
│ │ │ │ │ │ └── response.cpython-312.pyc
│ │ │ │ │ ├── _collections.py
│ │ │ │ │ ├── _version.py
│ │ │ │ │ ├── connection.py
│ │ │ │ │ ├── connectionpool.py
│ │ │ │ │ ├── contrib
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ │ ├── _appengine_environ.cpython-312.pyc
│ │ │ │ │ │ │ ├── appengine.cpython-312.pyc
│ │ │ │ │ │ │ ├── ntlmpool.cpython-312.pyc
│ │ │ │ │ │ │ ├── pyopenssl.cpython-312.pyc
│ │ │ │ │ │ │ ├── securetransport.cpython-312.pyc
│ │ │ │ │ │ │ └── socks.cpython-312.pyc
│ │ │ │ │ │ ├── _appengine_environ.py
│ │ │ │ │ │ ├── _securetransport
│ │ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ │ │ ├── bindings.cpython-312.pyc
│ │ │ │ │ │ │ │ └── low_level.cpython-312.pyc
│ │ │ │ │ │ │ ├── bindings.py
│ │ │ │ │ │ │ └── low_level.py
│ │ │ │ │ │ ├── appengine.py
│ │ │ │ │ │ ├── ntlmpool.py
│ │ │ │ │ │ ├── pyopenssl.py
│ │ │ │ │ │ ├── securetransport.py
│ │ │ │ │ │ └── socks.py
│ │ │ │ │ ├── exceptions.py
│ │ │ │ │ ├── fields.py
│ │ │ │ │ ├── filepost.py
│ │ │ │ │ ├── packages
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ │ └── six.cpython-312.pyc
│ │ │ │ │ │ ├── backports
│ │ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ │ │ ├── makefile.cpython-312.pyc
│ │ │ │ │ │ │ │ └── weakref_finalize.cpython-312.pyc
│ │ │ │ │ │ │ ├── makefile.py
│ │ │ │ │ │ │ └── weakref_finalize.py
│ │ │ │ │ │ └── six.py
│ │ │ │ │ ├── poolmanager.py
│ │ │ │ │ ├── request.py
│ │ │ │ │ ├── response.py
│ │ │ │ │ └── util
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── connection.cpython-312.pyc
│ │ │ │ │ │ ├── proxy.cpython-312.pyc
│ │ │ │ │ │ ├── queue.cpython-312.pyc
│ │ │ │ │ │ ├── request.cpython-312.pyc
│ │ │ │ │ │ ├── response.cpython-312.pyc
│ │ │ │ │ │ ├── retry.cpython-312.pyc
│ │ │ │ │ │ ├── ssl_.cpython-312.pyc
│ │ │ │ │ │ ├── ssl_match_hostname.cpython-312.pyc
│ │ │ │ │ │ ├── ssltransport.cpython-312.pyc
│ │ │ │ │ │ ├── timeout.cpython-312.pyc
│ │ │ │ │ │ ├── url.cpython-312.pyc
│ │ │ │ │ │ └── wait.cpython-312.pyc
│ │ │ │ │ ├── connection.py
│ │ │ │ │ ├── proxy.py
│ │ │ │ │ ├── queue.py
│ │ │ │ │ ├── request.py
│ │ │ │ │ ├── response.py
│ │ │ │ │ ├── retry.py
│ │ │ │ │ ├── ssl_.py
│ │ │ │ │ ├── ssl_match_hostname.py
│ │ │ │ │ ├── ssltransport.py
│ │ │ │ │ ├── timeout.py
│ │ │ │ │ ├── url.py
│ │ │ │ │ └── wait.py
│ │ │ │ └── vendor.txt
│ │ │ └── py.typed
│ │ ├── pip-24.2.dist-info
│ │ │ ├── AUTHORS.txt
│ │ │ ├── entry_points.txt
│ │ │ ├── INSTALLER
│ │ │ ├── LICENSE.txt
│ │ │ ├── METADATA
│ │ │ ├── RECORD
│ │ │ ├── REQUESTED
│ │ │ ├── top_level.txt
│ │ │ └── WHEEL
│ │ ├── requests
│ │ │ ├── __init__.py
│ │ │ ├── __pycache__
│ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ ├── __version__.cpython-312.pyc
│ │ │ │ ├── _internal_utils.cpython-312.pyc
│ │ │ │ ├── adapters.cpython-312.pyc
│ │ │ │ ├── api.cpython-312.pyc
│ │ │ │ ├── auth.cpython-312.pyc
│ │ │ │ ├── certs.cpython-312.pyc
│ │ │ │ ├── compat.cpython-312.pyc
│ │ │ │ ├── cookies.cpython-312.pyc
│ │ │ │ ├── exceptions.cpython-312.pyc
│ │ │ │ ├── help.cpython-312.pyc
│ │ │ │ ├── hooks.cpython-312.pyc
│ │ │ │ ├── models.cpython-312.pyc
│ │ │ │ ├── packages.cpython-312.pyc
│ │ │ │ ├── sessions.cpython-312.pyc
│ │ │ │ ├── status_codes.cpython-312.pyc
│ │ │ │ ├── structures.cpython-312.pyc
│ │ │ │ └── utils.cpython-312.pyc
│ │ │ ├── __version__.py
│ │ │ ├── _internal_utils.py
│ │ │ ├── adapters.py
│ │ │ ├── api.py
│ │ │ ├── auth.py
│ │ │ ├── certs.py
│ │ │ ├── compat.py
│ │ │ ├── cookies.py
│ │ │ ├── exceptions.py
│ │ │ ├── help.py
│ │ │ ├── hooks.py
│ │ │ ├── models.py
│ │ │ ├── packages.py
│ │ │ ├── sessions.py
│ │ │ ├── status_codes.py
│ │ │ ├── structures.py
│ │ │ └── utils.py
│ │ ├── requests-2.32.3.dist-info
│ │ │ ├── INSTALLER
│ │ │ ├── LICENSE
│ │ │ ├── METADATA
│ │ │ ├── RECORD
│ │ │ ├── REQUESTED
│ │ │ ├── top_level.txt
│ │ │ └── WHEEL
│ │ ├── soupsieve
│ │ │ ├── __init__.py
│ │ │ ├── __meta__.py
│ │ │ ├── __pycache__
│ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ ├── __meta__.cpython-312.pyc
│ │ │ │ ├── css_match.cpython-312.pyc
│ │ │ │ ├── css_parser.cpython-312.pyc
│ │ │ │ ├── css_types.cpython-312.pyc
│ │ │ │ ├── pretty.cpython-312.pyc
│ │ │ │ └── util.cpython-312.pyc
│ │ │ ├── css_match.py
│ │ │ ├── css_parser.py
│ │ │ ├── css_types.py
│ │ │ ├── pretty.py
│ │ │ ├── py.typed
│ │ │ └── util.py
│ │ ├── soupsieve-2.6.dist-info
│ │ │ ├── INSTALLER
│ │ │ ├── licenses
│ │ │ │ └── LICENSE.md
│ │ │ ├── METADATA
│ │ │ ├── RECORD
│ │ │ └── WHEEL
│ │ ├── urllib3
│ │ │ ├── __init__.py
│ │ │ ├── __pycache__
│ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ ├── _base_connection.cpython-312.pyc
│ │ │ │ ├── _collections.cpython-312.pyc
│ │ │ │ ├── _request_methods.cpython-312.pyc
│ │ │ │ ├── _version.cpython-312.pyc
│ │ │ │ ├── connection.cpython-312.pyc
│ │ │ │ ├── connectionpool.cpython-312.pyc
│ │ │ │ ├── exceptions.cpython-312.pyc
│ │ │ │ ├── fields.cpython-312.pyc
│ │ │ │ ├── filepost.cpython-312.pyc
│ │ │ │ ├── poolmanager.cpython-312.pyc
│ │ │ │ └── response.cpython-312.pyc
│ │ │ ├── _base_connection.py
│ │ │ ├── _collections.py
│ │ │ ├── _request_methods.py
│ │ │ ├── _version.py
│ │ │ ├── connection.py
│ │ │ ├── connectionpool.py
│ │ │ ├── contrib
│ │ │ │ ├── __init__.py
│ │ │ │ ├── __pycache__
│ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ ├── pyopenssl.cpython-312.pyc
│ │ │ │ │ └── socks.cpython-312.pyc
│ │ │ │ ├── emscripten
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── __pycache__
│ │ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ │ ├── connection.cpython-312.pyc
│ │ │ │ │ │ ├── fetch.cpython-312.pyc
│ │ │ │ │ │ ├── request.cpython-312.pyc
│ │ │ │ │ │ └── response.cpython-312.pyc
│ │ │ │ │ ├── connection.py
│ │ │ │ │ ├── emscripten_fetch_worker.js
│ │ │ │ │ ├── fetch.py
│ │ │ │ │ ├── request.py
│ │ │ │ │ └── response.py
│ │ │ │ ├── pyopenssl.py
│ │ │ │ └── socks.py
│ │ │ ├── exceptions.py
│ │ │ ├── fields.py
│ │ │ ├── filepost.py
│ │ │ ├── http2
│ │ │ │ ├── __init__.py
│ │ │ │ ├── __pycache__
│ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ ├── connection.cpython-312.pyc
│ │ │ │ │ └── probe.cpython-312.pyc
│ │ │ │ ├── connection.py
│ │ │ │ └── probe.py
│ │ │ ├── poolmanager.py
│ │ │ ├── py.typed
│ │ │ ├── response.py
│ │ │ └── util
│ │ │ ├── __init__.py
│ │ │ ├── __pycache__
│ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ ├── connection.cpython-312.pyc
│ │ │ │ ├── proxy.cpython-312.pyc
│ │ │ │ ├── request.cpython-312.pyc
│ │ │ │ ├── response.cpython-312.pyc
│ │ │ │ ├── retry.cpython-312.pyc
│ │ │ │ ├── ssl_.cpython-312.pyc
│ │ │ │ ├── ssl_match_hostname.cpython-312.pyc
│ │ │ │ ├── ssltransport.cpython-312.pyc
│ │ │ │ ├── timeout.cpython-312.pyc
│ │ │ │ ├── url.cpython-312.pyc
│ │ │ │ ├── util.cpython-312.pyc
│ │ │ │ └── wait.cpython-312.pyc
│ │ │ ├── connection.py
│ │ │ ├── proxy.py
│ │ │ ├── request.py
│ │ │ ├── response.py
│ │ │ ├── retry.py
│ │ │ ├── ssl_.py
│ │ │ ├── ssl_match_hostname.py
│ │ │ ├── ssltransport.py
│ │ │ ├── timeout.py
│ │ │ ├── url.py
│ │ │ ├── util.py
│ │ │ └── wait.py
│ │ ├── urllib3-2.2.3.dist-info
│ │ │ ├── INSTALLER
│ │ │ ├── licenses
│ │ │ │ └── LICENSE.txt
│ │ │ ├── METADATA
│ │ │ ├── RECORD
│ │ │ └── WHEEL
│ │ ├── useragent
│ │ │ ├── __init__.py
│ │ │ ├── __init__.pyc
│ │ │ ├── __pycache__
│ │ │ │ └── __init__.cpython-312.pyc
│ │ │ ├── resources
│ │ │ │ └── user_agent_data.json
│ │ │ └── test
│ │ │ ├── __init__.py
│ │ │ ├── __pycache__
│ │ │ │ └── __init__.cpython-312.pyc
│ │ │ ├── test_additional_os.json
│ │ │ ├── test_browser.json
│ │ │ ├── test_device.json
│ │ │ ├── test_firefox.json
│ │ │ ├── test_os.json
│ │ │ └── test_pgts_browser.json
│ │ ├── useragent-0.1.1.dist-info
│ │ │ ├── INSTALLER
│ │ │ ├── LICENSE.txt
│ │ │ ├── METADATA
│ │ │ ├── RECORD
│ │ │ ├── REQUESTED
│ │ │ ├── top_level.txt
│ │ │ └── WHEEL
│ │ ├── werkzeug
│ │ │ ├── __init__.py
│ │ │ ├── __pycache__
│ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ ├── _internal.cpython-312.pyc
│ │ │ │ ├── _reloader.cpython-312.pyc
│ │ │ │ ├── exceptions.cpython-312.pyc
│ │ │ │ ├── formparser.cpython-312.pyc
│ │ │ │ ├── http.cpython-312.pyc
│ │ │ │ ├── local.cpython-312.pyc
│ │ │ │ ├── security.cpython-312.pyc
│ │ │ │ ├── serving.cpython-312.pyc
│ │ │ │ ├── test.cpython-312.pyc
│ │ │ │ ├── testapp.cpython-312.pyc
│ │ │ │ ├── urls.cpython-312.pyc
│ │ │ │ ├── user_agent.cpython-312.pyc
│ │ │ │ ├── utils.cpython-312.pyc
│ │ │ │ └── wsgi.cpython-312.pyc
│ │ │ ├── _internal.py
│ │ │ ├── _reloader.py
│ │ │ ├── datastructures
│ │ │ │ ├── __init__.py
│ │ │ │ ├── __pycache__
│ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ ├── accept.cpython-312.pyc
│ │ │ │ │ ├── auth.cpython-312.pyc
│ │ │ │ │ ├── cache_control.cpython-312.pyc
│ │ │ │ │ ├── csp.cpython-312.pyc
│ │ │ │ │ ├── etag.cpython-312.pyc
│ │ │ │ │ ├── file_storage.cpython-312.pyc
│ │ │ │ │ ├── headers.cpython-312.pyc
│ │ │ │ │ ├── mixins.cpython-312.pyc
│ │ │ │ │ ├── range.cpython-312.pyc
│ │ │ │ │ └── structures.cpython-312.pyc
│ │ │ │ ├── accept.py
│ │ │ │ ├── accept.pyi
│ │ │ │ ├── auth.py
│ │ │ │ ├── cache_control.py
│ │ │ │ ├── cache_control.pyi
│ │ │ │ ├── csp.py
│ │ │ │ ├── csp.pyi
│ │ │ │ ├── etag.py
│ │ │ │ ├── etag.pyi
│ │ │ │ ├── file_storage.py
│ │ │ │ ├── file_storage.pyi
│ │ │ │ ├── headers.py
│ │ │ │ ├── headers.pyi
│ │ │ │ ├── mixins.py
│ │ │ │ ├── mixins.pyi
│ │ │ │ ├── range.py
│ │ │ │ ├── range.pyi
│ │ │ │ ├── structures.py
│ │ │ │ └── structures.pyi
│ │ │ ├── debug
│ │ │ │ ├── __init__.py
│ │ │ │ ├── __pycache__
│ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ ├── console.cpython-312.pyc
│ │ │ │ │ ├── repr.cpython-312.pyc
│ │ │ │ │ └── tbtools.cpython-312.pyc
│ │ │ │ ├── console.py
│ │ │ │ ├── repr.py
│ │ │ │ ├── shared
│ │ │ │ │ ├── console.png
│ │ │ │ │ ├── debugger.js
│ │ │ │ │ ├── ICON_LICENSE.md
│ │ │ │ │ ├── less.png
│ │ │ │ │ ├── more.png
│ │ │ │ │ └── style.css
│ │ │ │ └── tbtools.py
│ │ │ ├── exceptions.py
│ │ │ ├── formparser.py
│ │ │ ├── http.py
│ │ │ ├── local.py
│ │ │ ├── middleware
│ │ │ │ ├── __init__.py
│ │ │ │ ├── __pycache__
│ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ ├── dispatcher.cpython-312.pyc
│ │ │ │ │ ├── http_proxy.cpython-312.pyc
│ │ │ │ │ ├── lint.cpython-312.pyc
│ │ │ │ │ ├── profiler.cpython-312.pyc
│ │ │ │ │ ├── proxy_fix.cpython-312.pyc
│ │ │ │ │ └── shared_data.cpython-312.pyc
│ │ │ │ ├── dispatcher.py
│ │ │ │ ├── http_proxy.py
│ │ │ │ ├── lint.py
│ │ │ │ ├── profiler.py
│ │ │ │ ├── proxy_fix.py
│ │ │ │ └── shared_data.py
│ │ │ ├── py.typed
│ │ │ ├── routing
│ │ │ │ ├── __init__.py
│ │ │ │ ├── __pycache__
│ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ ├── converters.cpython-312.pyc
│ │ │ │ │ ├── exceptions.cpython-312.pyc
│ │ │ │ │ ├── map.cpython-312.pyc
│ │ │ │ │ ├── matcher.cpython-312.pyc
│ │ │ │ │ └── rules.cpython-312.pyc
│ │ │ │ ├── converters.py
│ │ │ │ ├── exceptions.py
│ │ │ │ ├── map.py
│ │ │ │ ├── matcher.py
│ │ │ │ └── rules.py
│ │ │ ├── sansio
│ │ │ │ ├── __init__.py
│ │ │ │ ├── __pycache__
│ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ ├── http.cpython-312.pyc
│ │ │ │ │ ├── multipart.cpython-312.pyc
│ │ │ │ │ ├── request.cpython-312.pyc
│ │ │ │ │ ├── response.cpython-312.pyc
│ │ │ │ │ └── utils.cpython-312.pyc
│ │ │ │ ├── http.py
│ │ │ │ ├── multipart.py
│ │ │ │ ├── request.py
│ │ │ │ ├── response.py
│ │ │ │ └── utils.py
│ │ │ ├── security.py
│ │ │ ├── serving.py
│ │ │ ├── test.py
│ │ │ ├── testapp.py
│ │ │ ├── urls.py
│ │ │ ├── user_agent.py
│ │ │ ├── utils.py
│ │ │ ├── wrappers
│ │ │ │ ├── __init__.py
│ │ │ │ ├── __pycache__
│ │ │ │ │ ├── __init__.cpython-312.pyc
│ │ │ │ │ ├── request.cpython-312.pyc
│ │ │ │ │ └── response.cpython-312.pyc
│ │ │ │ ├── request.py
│ │ │ │ └── response.py
│ │ │ └── wsgi.py
│ │ └── werkzeug-3.0.4.dist-info
│ │ ├── INSTALLER
│ │ ├── LICENSE.txt
│ │ ├── METADATA
│ │ ├── RECORD
│ │ └── WHEEL
│ ├── pyvenv.cfg
│ ├── static
│ │ └── styles.css
│ ├── templates
│ │ └── index.html
│ └── test.py
├── cline_config.json
├── mcp_server.py
├── README.md
├── search_results.json
├── settings.json
└── test_files
├── text1.txt
└── text2.txt
```
# Files
--------------------------------------------------------------------------------
/.venv/lib/python3.12/site-packages/lxml/includes/extlibs/zconf.h:
--------------------------------------------------------------------------------
```
1 | /* zconf.h -- configuration of the zlib compression library
2 | * Copyright (C) 1995-2024 Jean-loup Gailly, Mark Adler
3 | * For conditions of distribution and use, see copyright notice in zlib.h
4 | */
5 |
6 | /* @(#) $Id$ */
7 |
8 | #ifndef ZCONF_H
9 | #define ZCONF_H
10 |
11 | /*
12 | * If you *really* need a unique prefix for all types and library functions,
13 | * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
14 | * Even better than compiling with -DZ_PREFIX would be to use configure to set
15 | * this permanently in zconf.h using "./configure --zprefix".
16 | */
17 | #ifdef Z_PREFIX /* may be set to #if 1 by ./configure */
18 | # define Z_PREFIX_SET
19 |
20 | /* all linked symbols and init macros */
21 | # define _dist_code z__dist_code
22 | # define _length_code z__length_code
23 | # define _tr_align z__tr_align
24 | # define _tr_flush_bits z__tr_flush_bits
25 | # define _tr_flush_block z__tr_flush_block
26 | # define _tr_init z__tr_init
27 | # define _tr_stored_block z__tr_stored_block
28 | # define _tr_tally z__tr_tally
29 | # define adler32 z_adler32
30 | # define adler32_combine z_adler32_combine
31 | # define adler32_combine64 z_adler32_combine64
32 | # define adler32_z z_adler32_z
33 | # ifndef Z_SOLO
34 | # define compress z_compress
35 | # define compress2 z_compress2
36 | # define compressBound z_compressBound
37 | # endif
38 | # define crc32 z_crc32
39 | # define crc32_combine z_crc32_combine
40 | # define crc32_combine64 z_crc32_combine64
41 | # define crc32_combine_gen z_crc32_combine_gen
42 | # define crc32_combine_gen64 z_crc32_combine_gen64
43 | # define crc32_combine_op z_crc32_combine_op
44 | # define crc32_z z_crc32_z
45 | # define deflate z_deflate
46 | # define deflateBound z_deflateBound
47 | # define deflateCopy z_deflateCopy
48 | # define deflateEnd z_deflateEnd
49 | # define deflateGetDictionary z_deflateGetDictionary
50 | # define deflateInit z_deflateInit
51 | # define deflateInit2 z_deflateInit2
52 | # define deflateInit2_ z_deflateInit2_
53 | # define deflateInit_ z_deflateInit_
54 | # define deflateParams z_deflateParams
55 | # define deflatePending z_deflatePending
56 | # define deflatePrime z_deflatePrime
57 | # define deflateReset z_deflateReset
58 | # define deflateResetKeep z_deflateResetKeep
59 | # define deflateSetDictionary z_deflateSetDictionary
60 | # define deflateSetHeader z_deflateSetHeader
61 | # define deflateTune z_deflateTune
62 | # define deflate_copyright z_deflate_copyright
63 | # define get_crc_table z_get_crc_table
64 | # ifndef Z_SOLO
65 | # define gz_error z_gz_error
66 | # define gz_intmax z_gz_intmax
67 | # define gz_strwinerror z_gz_strwinerror
68 | # define gzbuffer z_gzbuffer
69 | # define gzclearerr z_gzclearerr
70 | # define gzclose z_gzclose
71 | # define gzclose_r z_gzclose_r
72 | # define gzclose_w z_gzclose_w
73 | # define gzdirect z_gzdirect
74 | # define gzdopen z_gzdopen
75 | # define gzeof z_gzeof
76 | # define gzerror z_gzerror
77 | # define gzflush z_gzflush
78 | # define gzfread z_gzfread
79 | # define gzfwrite z_gzfwrite
80 | # define gzgetc z_gzgetc
81 | # define gzgetc_ z_gzgetc_
82 | # define gzgets z_gzgets
83 | # define gzoffset z_gzoffset
84 | # define gzoffset64 z_gzoffset64
85 | # define gzopen z_gzopen
86 | # define gzopen64 z_gzopen64
87 | # ifdef _WIN32
88 | # define gzopen_w z_gzopen_w
89 | # endif
90 | # define gzprintf z_gzprintf
91 | # define gzputc z_gzputc
92 | # define gzputs z_gzputs
93 | # define gzread z_gzread
94 | # define gzrewind z_gzrewind
95 | # define gzseek z_gzseek
96 | # define gzseek64 z_gzseek64
97 | # define gzsetparams z_gzsetparams
98 | # define gztell z_gztell
99 | # define gztell64 z_gztell64
100 | # define gzungetc z_gzungetc
101 | # define gzvprintf z_gzvprintf
102 | # define gzwrite z_gzwrite
103 | # endif
104 | # define inflate z_inflate
105 | # define inflateBack z_inflateBack
106 | # define inflateBackEnd z_inflateBackEnd
107 | # define inflateBackInit z_inflateBackInit
108 | # define inflateBackInit_ z_inflateBackInit_
109 | # define inflateCodesUsed z_inflateCodesUsed
110 | # define inflateCopy z_inflateCopy
111 | # define inflateEnd z_inflateEnd
112 | # define inflateGetDictionary z_inflateGetDictionary
113 | # define inflateGetHeader z_inflateGetHeader
114 | # define inflateInit z_inflateInit
115 | # define inflateInit2 z_inflateInit2
116 | # define inflateInit2_ z_inflateInit2_
117 | # define inflateInit_ z_inflateInit_
118 | # define inflateMark z_inflateMark
119 | # define inflatePrime z_inflatePrime
120 | # define inflateReset z_inflateReset
121 | # define inflateReset2 z_inflateReset2
122 | # define inflateResetKeep z_inflateResetKeep
123 | # define inflateSetDictionary z_inflateSetDictionary
124 | # define inflateSync z_inflateSync
125 | # define inflateSyncPoint z_inflateSyncPoint
126 | # define inflateUndermine z_inflateUndermine
127 | # define inflateValidate z_inflateValidate
128 | # define inflate_copyright z_inflate_copyright
129 | # define inflate_fast z_inflate_fast
130 | # define inflate_table z_inflate_table
131 | # ifndef Z_SOLO
132 | # define uncompress z_uncompress
133 | # define uncompress2 z_uncompress2
134 | # endif
135 | # define zError z_zError
136 | # ifndef Z_SOLO
137 | # define zcalloc z_zcalloc
138 | # define zcfree z_zcfree
139 | # endif
140 | # define zlibCompileFlags z_zlibCompileFlags
141 | # define zlibVersion z_zlibVersion
142 |
143 | /* all zlib typedefs in zlib.h and zconf.h */
144 | # define Byte z_Byte
145 | # define Bytef z_Bytef
146 | # define alloc_func z_alloc_func
147 | # define charf z_charf
148 | # define free_func z_free_func
149 | # ifndef Z_SOLO
150 | # define gzFile z_gzFile
151 | # endif
152 | # define gz_header z_gz_header
153 | # define gz_headerp z_gz_headerp
154 | # define in_func z_in_func
155 | # define intf z_intf
156 | # define out_func z_out_func
157 | # define uInt z_uInt
158 | # define uIntf z_uIntf
159 | # define uLong z_uLong
160 | # define uLongf z_uLongf
161 | # define voidp z_voidp
162 | # define voidpc z_voidpc
163 | # define voidpf z_voidpf
164 |
165 | /* all zlib structs in zlib.h and zconf.h */
166 | # define gz_header_s z_gz_header_s
167 | # define internal_state z_internal_state
168 |
169 | #endif
170 |
171 | #if defined(__MSDOS__) && !defined(MSDOS)
172 | # define MSDOS
173 | #endif
174 | #if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
175 | # define OS2
176 | #endif
177 | #if defined(_WINDOWS) && !defined(WINDOWS)
178 | # define WINDOWS
179 | #endif
180 | #if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
181 | # ifndef WIN32
182 | # define WIN32
183 | # endif
184 | #endif
185 | #if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
186 | # if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
187 | # ifndef SYS16BIT
188 | # define SYS16BIT
189 | # endif
190 | # endif
191 | #endif
192 |
193 | /*
194 | * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
195 | * than 64k bytes at a time (needed on systems with 16-bit int).
196 | */
197 | #ifdef SYS16BIT
198 | # define MAXSEG_64K
199 | #endif
200 | #ifdef MSDOS
201 | # define UNALIGNED_OK
202 | #endif
203 |
204 | #ifdef __STDC_VERSION__
205 | # ifndef STDC
206 | # define STDC
207 | # endif
208 | # if __STDC_VERSION__ >= 199901L
209 | # ifndef STDC99
210 | # define STDC99
211 | # endif
212 | # endif
213 | #endif
214 | #if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
215 | # define STDC
216 | #endif
217 | #if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
218 | # define STDC
219 | #endif
220 | #if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
221 | # define STDC
222 | #endif
223 | #if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
224 | # define STDC
225 | #endif
226 |
227 | #if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */
228 | # define STDC
229 | #endif
230 |
231 | #ifndef STDC
232 | # ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
233 | # define const /* note: need a more gentle solution here */
234 | # endif
235 | #endif
236 |
237 | #if defined(ZLIB_CONST) && !defined(z_const)
238 | # define z_const const
239 | #else
240 | # define z_const
241 | #endif
242 |
243 | #ifdef Z_SOLO
244 | # ifdef _WIN64
245 | typedef unsigned long long z_size_t;
246 | # else
247 | typedef unsigned long z_size_t;
248 | # endif
249 | #else
250 | # define z_longlong long long
251 | # if defined(NO_SIZE_T)
252 | typedef unsigned NO_SIZE_T z_size_t;
253 | # elif defined(STDC)
254 | # include <stddef.h>
255 | typedef size_t z_size_t;
256 | # else
257 | typedef unsigned long z_size_t;
258 | # endif
259 | # undef z_longlong
260 | #endif
261 |
262 | /* Maximum value for memLevel in deflateInit2 */
263 | #ifndef MAX_MEM_LEVEL
264 | # ifdef MAXSEG_64K
265 | # define MAX_MEM_LEVEL 8
266 | # else
267 | # define MAX_MEM_LEVEL 9
268 | # endif
269 | #endif
270 |
271 | /* Maximum value for windowBits in deflateInit2 and inflateInit2.
272 | * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
273 | * created by gzip. (Files created by minigzip can still be extracted by
274 | * gzip.)
275 | */
276 | #ifndef MAX_WBITS
277 | # define MAX_WBITS 15 /* 32K LZ77 window */
278 | #endif
279 |
280 | /* The memory requirements for deflate are (in bytes):
281 | (1 << (windowBits+2)) + (1 << (memLevel+9))
282 | that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values)
283 | plus a few kilobytes for small objects. For example, if you want to reduce
284 | the default memory requirements from 256K to 128K, compile with
285 | make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
286 | Of course this will generally degrade compression (there's no free lunch).
287 |
288 | The memory requirements for inflate are (in bytes) 1 << windowBits
289 | that is, 32K for windowBits=15 (default value) plus about 7 kilobytes
290 | for small objects.
291 | */
292 |
293 | /* Type declarations */
294 |
295 | #ifndef OF /* function prototypes */
296 | # ifdef STDC
297 | # define OF(args) args
298 | # else
299 | # define OF(args) ()
300 | # endif
301 | #endif
302 |
303 | /* The following definitions for FAR are needed only for MSDOS mixed
304 | * model programming (small or medium model with some far allocations).
305 | * This was tested only with MSC; for other MSDOS compilers you may have
306 | * to define NO_MEMCPY in zutil.h. If you don't need the mixed model,
307 | * just define FAR to be empty.
308 | */
309 | #ifdef SYS16BIT
310 | # if defined(M_I86SM) || defined(M_I86MM)
311 | /* MSC small or medium model */
312 | # define SMALL_MEDIUM
313 | # ifdef _MSC_VER
314 | # define FAR _far
315 | # else
316 | # define FAR far
317 | # endif
318 | # endif
319 | # if (defined(__SMALL__) || defined(__MEDIUM__))
320 | /* Turbo C small or medium model */
321 | # define SMALL_MEDIUM
322 | # ifdef __BORLANDC__
323 | # define FAR _far
324 | # else
325 | # define FAR far
326 | # endif
327 | # endif
328 | #endif
329 |
330 | #if defined(WINDOWS) || defined(WIN32)
331 | /* If building or using zlib as a DLL, define ZLIB_DLL.
332 | * This is not mandatory, but it offers a little performance increase.
333 | */
334 | # ifdef ZLIB_DLL
335 | # if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
336 | # ifdef ZLIB_INTERNAL
337 | # define ZEXTERN extern __declspec(dllexport)
338 | # else
339 | # define ZEXTERN extern __declspec(dllimport)
340 | # endif
341 | # endif
342 | # endif /* ZLIB_DLL */
343 | /* If building or using zlib with the WINAPI/WINAPIV calling convention,
344 | * define ZLIB_WINAPI.
345 | * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
346 | */
347 | # ifdef ZLIB_WINAPI
348 | # ifdef FAR
349 | # undef FAR
350 | # endif
351 | # ifndef WIN32_LEAN_AND_MEAN
352 | # define WIN32_LEAN_AND_MEAN
353 | # endif
354 | # include <windows.h>
355 | /* No need for _export, use ZLIB.DEF instead. */
356 | /* For complete Windows compatibility, use WINAPI, not __stdcall. */
357 | # define ZEXPORT WINAPI
358 | # ifdef WIN32
359 | # define ZEXPORTVA WINAPIV
360 | # else
361 | # define ZEXPORTVA FAR CDECL
362 | # endif
363 | # endif
364 | #endif
365 |
366 | #if defined (__BEOS__)
367 | # ifdef ZLIB_DLL
368 | # ifdef ZLIB_INTERNAL
369 | # define ZEXPORT __declspec(dllexport)
370 | # define ZEXPORTVA __declspec(dllexport)
371 | # else
372 | # define ZEXPORT __declspec(dllimport)
373 | # define ZEXPORTVA __declspec(dllimport)
374 | # endif
375 | # endif
376 | #endif
377 |
378 | #ifndef ZEXTERN
379 | # define ZEXTERN extern
380 | #endif
381 | #ifndef ZEXPORT
382 | # define ZEXPORT
383 | #endif
384 | #ifndef ZEXPORTVA
385 | # define ZEXPORTVA
386 | #endif
387 |
388 | #ifndef FAR
389 | # define FAR
390 | #endif
391 |
392 | #if !defined(__MACTYPES__)
393 | typedef unsigned char Byte; /* 8 bits */
394 | #endif
395 | typedef unsigned int uInt; /* 16 bits or more */
396 | typedef unsigned long uLong; /* 32 bits or more */
397 |
398 | #ifdef SMALL_MEDIUM
399 | /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
400 | # define Bytef Byte FAR
401 | #else
402 | typedef Byte FAR Bytef;
403 | #endif
404 | typedef char FAR charf;
405 | typedef int FAR intf;
406 | typedef uInt FAR uIntf;
407 | typedef uLong FAR uLongf;
408 |
409 | #ifdef STDC
410 | typedef void const *voidpc;
411 | typedef void FAR *voidpf;
412 | typedef void *voidp;
413 | #else
414 | typedef Byte const *voidpc;
415 | typedef Byte FAR *voidpf;
416 | typedef Byte *voidp;
417 | #endif
418 |
419 | #if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC)
420 | # include <limits.h>
421 | # if (UINT_MAX == 0xffffffffUL)
422 | # define Z_U4 unsigned
423 | # elif (ULONG_MAX == 0xffffffffUL)
424 | # define Z_U4 unsigned long
425 | # elif (USHRT_MAX == 0xffffffffUL)
426 | # define Z_U4 unsigned short
427 | # endif
428 | #endif
429 |
430 | #ifdef Z_U4
431 | typedef Z_U4 z_crc_t;
432 | #else
433 | typedef unsigned long z_crc_t;
434 | #endif
435 |
436 | #if 1 /* was set to #if 1 by ./configure */
437 | # define Z_HAVE_UNISTD_H
438 | #endif
439 |
440 | #if 1 /* was set to #if 1 by ./configure */
441 | # define Z_HAVE_STDARG_H
442 | #endif
443 |
444 | #ifdef STDC
445 | # ifndef Z_SOLO
446 | # include <sys/types.h> /* for off_t */
447 | # endif
448 | #endif
449 |
450 | #if defined(STDC) || defined(Z_HAVE_STDARG_H)
451 | # ifndef Z_SOLO
452 | # include <stdarg.h> /* for va_list */
453 | # endif
454 | #endif
455 |
456 | #ifdef _WIN32
457 | # ifndef Z_SOLO
458 | # include <stddef.h> /* for wchar_t */
459 | # endif
460 | #endif
461 |
462 | /* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
463 | * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
464 | * though the former does not conform to the LFS document), but considering
465 | * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
466 | * equivalently requesting no 64-bit operations
467 | */
468 | #if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
469 | # undef _LARGEFILE64_SOURCE
470 | #endif
471 |
472 | #ifndef Z_HAVE_UNISTD_H
473 | # ifdef __WATCOMC__
474 | # define Z_HAVE_UNISTD_H
475 | # endif
476 | #endif
477 | #ifndef Z_HAVE_UNISTD_H
478 | # if defined(_LARGEFILE64_SOURCE) && !defined(_WIN32)
479 | # define Z_HAVE_UNISTD_H
480 | # endif
481 | #endif
482 | #ifndef Z_SOLO
483 | # if defined(Z_HAVE_UNISTD_H)
484 | # include <unistd.h> /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
485 | # ifdef VMS
486 | # include <unixio.h> /* for off_t */
487 | # endif
488 | # ifndef z_off_t
489 | # define z_off_t off_t
490 | # endif
491 | # endif
492 | #endif
493 |
494 | #if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0
495 | # define Z_LFS64
496 | #endif
497 |
498 | #if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64)
499 | # define Z_LARGE64
500 | #endif
501 |
502 | #if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS-0 == 64 && defined(Z_LFS64)
503 | # define Z_WANT64
504 | #endif
505 |
506 | #if !defined(SEEK_SET) && !defined(Z_SOLO)
507 | # define SEEK_SET 0 /* Seek from beginning of file. */
508 | # define SEEK_CUR 1 /* Seek from current position. */
509 | # define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
510 | #endif
511 |
512 | #ifndef z_off_t
513 | # define z_off_t long
514 | #endif
515 |
516 | #if !defined(_WIN32) && defined(Z_LARGE64)
517 | # define z_off64_t off64_t
518 | #else
519 | # if defined(_WIN32) && !defined(__GNUC__)
520 | # define z_off64_t __int64
521 | # else
522 | # define z_off64_t z_off_t
523 | # endif
524 | #endif
525 |
526 | /* MVS linker does not support external names larger than 8 bytes */
527 | #if defined(__MVS__)
528 | #pragma map(deflateInit_,"DEIN")
529 | #pragma map(deflateInit2_,"DEIN2")
530 | #pragma map(deflateEnd,"DEEND")
531 | #pragma map(deflateBound,"DEBND")
532 | #pragma map(inflateInit_,"ININ")
533 | #pragma map(inflateInit2_,"ININ2")
534 | #pragma map(inflateEnd,"INEND")
535 | #pragma map(inflateSync,"INSY")
536 | #pragma map(inflateSetDictionary,"INSEDI")
537 | #pragma map(compressBound,"CMBND")
538 | #pragma map(inflate_table,"INTABL")
539 | #pragma map(inflate_fast,"INFA")
540 | #pragma map(inflate_copyright,"INCOPY")
541 | #endif
542 |
543 | #endif /* ZCONF_H */
544 |
```
--------------------------------------------------------------------------------
/.venv/lib/python3.12/site-packages/lxml/includes/libxml/parserInternals.h:
--------------------------------------------------------------------------------
```
1 | /*
2 | * Summary: internals routines and limits exported by the parser.
3 | * Description: this module exports a number of internal parsing routines
4 | * they are not really all intended for applications but
5 | * can prove useful doing low level processing.
6 | *
7 | * Copy: See Copyright for the status of this software.
8 | *
9 | * Author: Daniel Veillard
10 | */
11 |
12 | #ifndef __XML_PARSER_INTERNALS_H__
13 | #define __XML_PARSER_INTERNALS_H__
14 |
15 | #include <libxml/xmlversion.h>
16 | #include <libxml/parser.h>
17 | #include <libxml/HTMLparser.h>
18 | #include <libxml/chvalid.h>
19 | #include <libxml/SAX2.h>
20 |
21 | #ifdef __cplusplus
22 | extern "C" {
23 | #endif
24 |
25 | /**
26 | * xmlParserMaxDepth:
27 | *
28 | * arbitrary depth limit for the XML documents that we allow to
29 | * process. This is not a limitation of the parser but a safety
30 | * boundary feature, use XML_PARSE_HUGE option to override it.
31 | */
32 | XMLPUBVAR unsigned int xmlParserMaxDepth;
33 |
34 | /**
35 | * XML_MAX_TEXT_LENGTH:
36 | *
37 | * Maximum size allowed for a single text node when building a tree.
38 | * This is not a limitation of the parser but a safety boundary feature,
39 | * use XML_PARSE_HUGE option to override it.
40 | * Introduced in 2.9.0
41 | */
42 | #define XML_MAX_TEXT_LENGTH 10000000
43 |
44 | /**
45 | * XML_MAX_HUGE_LENGTH:
46 | *
47 | * Maximum size allowed when XML_PARSE_HUGE is set.
48 | */
49 | #define XML_MAX_HUGE_LENGTH 1000000000
50 |
51 | /**
52 | * XML_MAX_NAME_LENGTH:
53 | *
54 | * Maximum size allowed for a markup identifier.
55 | * This is not a limitation of the parser but a safety boundary feature,
56 | * use XML_PARSE_HUGE option to override it.
57 | * Note that with the use of parsing dictionaries overriding the limit
58 | * may result in more runtime memory usage in face of "unfriendly' content
59 | * Introduced in 2.9.0
60 | */
61 | #define XML_MAX_NAME_LENGTH 50000
62 |
63 | /**
64 | * XML_MAX_DICTIONARY_LIMIT:
65 | *
66 | * Maximum size allowed by the parser for a dictionary by default
67 | * This is not a limitation of the parser but a safety boundary feature,
68 | * use XML_PARSE_HUGE option to override it.
69 | * Introduced in 2.9.0
70 | */
71 | #define XML_MAX_DICTIONARY_LIMIT 10000000
72 |
73 | /**
74 | * XML_MAX_LOOKUP_LIMIT:
75 | *
76 | * Maximum size allowed by the parser for ahead lookup
77 | * This is an upper boundary enforced by the parser to avoid bad
78 | * behaviour on "unfriendly' content
79 | * Introduced in 2.9.0
80 | */
81 | #define XML_MAX_LOOKUP_LIMIT 10000000
82 |
83 | /**
84 | * XML_MAX_NAMELEN:
85 | *
86 | * Identifiers can be longer, but this will be more costly
87 | * at runtime.
88 | */
89 | #define XML_MAX_NAMELEN 100
90 |
91 | /**
92 | * INPUT_CHUNK:
93 | *
94 | * The parser tries to always have that amount of input ready.
95 | * One of the point is providing context when reporting errors.
96 | */
97 | #define INPUT_CHUNK 250
98 |
99 | /************************************************************************
100 | * *
101 | * UNICODE version of the macros. *
102 | * *
103 | ************************************************************************/
104 | /**
105 | * IS_BYTE_CHAR:
106 | * @c: an byte value (int)
107 | *
108 | * Macro to check the following production in the XML spec:
109 | *
110 | * [2] Char ::= #x9 | #xA | #xD | [#x20...]
111 | * any byte character in the accepted range
112 | */
113 | #define IS_BYTE_CHAR(c) xmlIsChar_ch(c)
114 |
115 | /**
116 | * IS_CHAR:
117 | * @c: an UNICODE value (int)
118 | *
119 | * Macro to check the following production in the XML spec:
120 | *
121 | * [2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD]
122 | * | [#x10000-#x10FFFF]
123 | * any Unicode character, excluding the surrogate blocks, FFFE, and FFFF.
124 | */
125 | #define IS_CHAR(c) xmlIsCharQ(c)
126 |
127 | /**
128 | * IS_CHAR_CH:
129 | * @c: an xmlChar (usually an unsigned char)
130 | *
131 | * Behaves like IS_CHAR on single-byte value
132 | */
133 | #define IS_CHAR_CH(c) xmlIsChar_ch(c)
134 |
135 | /**
136 | * IS_BLANK:
137 | * @c: an UNICODE value (int)
138 | *
139 | * Macro to check the following production in the XML spec:
140 | *
141 | * [3] S ::= (#x20 | #x9 | #xD | #xA)+
142 | */
143 | #define IS_BLANK(c) xmlIsBlankQ(c)
144 |
145 | /**
146 | * IS_BLANK_CH:
147 | * @c: an xmlChar value (normally unsigned char)
148 | *
149 | * Behaviour same as IS_BLANK
150 | */
151 | #define IS_BLANK_CH(c) xmlIsBlank_ch(c)
152 |
153 | /**
154 | * IS_BASECHAR:
155 | * @c: an UNICODE value (int)
156 | *
157 | * Macro to check the following production in the XML spec:
158 | *
159 | * [85] BaseChar ::= ... long list see REC ...
160 | */
161 | #define IS_BASECHAR(c) xmlIsBaseCharQ(c)
162 |
163 | /**
164 | * IS_DIGIT:
165 | * @c: an UNICODE value (int)
166 | *
167 | * Macro to check the following production in the XML spec:
168 | *
169 | * [88] Digit ::= ... long list see REC ...
170 | */
171 | #define IS_DIGIT(c) xmlIsDigitQ(c)
172 |
173 | /**
174 | * IS_DIGIT_CH:
175 | * @c: an xmlChar value (usually an unsigned char)
176 | *
177 | * Behaves like IS_DIGIT but with a single byte argument
178 | */
179 | #define IS_DIGIT_CH(c) xmlIsDigit_ch(c)
180 |
181 | /**
182 | * IS_COMBINING:
183 | * @c: an UNICODE value (int)
184 | *
185 | * Macro to check the following production in the XML spec:
186 | *
187 | * [87] CombiningChar ::= ... long list see REC ...
188 | */
189 | #define IS_COMBINING(c) xmlIsCombiningQ(c)
190 |
191 | /**
192 | * IS_COMBINING_CH:
193 | * @c: an xmlChar (usually an unsigned char)
194 | *
195 | * Always false (all combining chars > 0xff)
196 | */
197 | #define IS_COMBINING_CH(c) 0
198 |
199 | /**
200 | * IS_EXTENDER:
201 | * @c: an UNICODE value (int)
202 | *
203 | * Macro to check the following production in the XML spec:
204 | *
205 | *
206 | * [89] Extender ::= #x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 |
207 | * #x0E46 | #x0EC6 | #x3005 | [#x3031-#x3035] |
208 | * [#x309D-#x309E] | [#x30FC-#x30FE]
209 | */
210 | #define IS_EXTENDER(c) xmlIsExtenderQ(c)
211 |
212 | /**
213 | * IS_EXTENDER_CH:
214 | * @c: an xmlChar value (usually an unsigned char)
215 | *
216 | * Behaves like IS_EXTENDER but with a single-byte argument
217 | */
218 | #define IS_EXTENDER_CH(c) xmlIsExtender_ch(c)
219 |
220 | /**
221 | * IS_IDEOGRAPHIC:
222 | * @c: an UNICODE value (int)
223 | *
224 | * Macro to check the following production in the XML spec:
225 | *
226 | *
227 | * [86] Ideographic ::= [#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029]
228 | */
229 | #define IS_IDEOGRAPHIC(c) xmlIsIdeographicQ(c)
230 |
231 | /**
232 | * IS_LETTER:
233 | * @c: an UNICODE value (int)
234 | *
235 | * Macro to check the following production in the XML spec:
236 | *
237 | *
238 | * [84] Letter ::= BaseChar | Ideographic
239 | */
240 | #define IS_LETTER(c) (IS_BASECHAR(c) || IS_IDEOGRAPHIC(c))
241 |
242 | /**
243 | * IS_LETTER_CH:
244 | * @c: an xmlChar value (normally unsigned char)
245 | *
246 | * Macro behaves like IS_LETTER, but only check base chars
247 | *
248 | */
249 | #define IS_LETTER_CH(c) xmlIsBaseChar_ch(c)
250 |
251 | /**
252 | * IS_ASCII_LETTER:
253 | * @c: an xmlChar value
254 | *
255 | * Macro to check [a-zA-Z]
256 | *
257 | */
258 | #define IS_ASCII_LETTER(c) (((0x41 <= (c)) && ((c) <= 0x5a)) || \
259 | ((0x61 <= (c)) && ((c) <= 0x7a)))
260 |
261 | /**
262 | * IS_ASCII_DIGIT:
263 | * @c: an xmlChar value
264 | *
265 | * Macro to check [0-9]
266 | *
267 | */
268 | #define IS_ASCII_DIGIT(c) ((0x30 <= (c)) && ((c) <= 0x39))
269 |
270 | /**
271 | * IS_PUBIDCHAR:
272 | * @c: an UNICODE value (int)
273 | *
274 | * Macro to check the following production in the XML spec:
275 | *
276 | *
277 | * [13] PubidChar ::= #x20 | #xD | #xA | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]
278 | */
279 | #define IS_PUBIDCHAR(c) xmlIsPubidCharQ(c)
280 |
281 | /**
282 | * IS_PUBIDCHAR_CH:
283 | * @c: an xmlChar value (normally unsigned char)
284 | *
285 | * Same as IS_PUBIDCHAR but for single-byte value
286 | */
287 | #define IS_PUBIDCHAR_CH(c) xmlIsPubidChar_ch(c)
288 |
289 | /**
290 | * Global variables used for predefined strings.
291 | */
292 | XMLPUBVAR const xmlChar xmlStringText[];
293 | XMLPUBVAR const xmlChar xmlStringTextNoenc[];
294 | XMLPUBVAR const xmlChar xmlStringComment[];
295 |
296 | /*
297 | * Function to finish the work of the macros where needed.
298 | */
299 | XMLPUBFUN int xmlIsLetter (int c);
300 |
301 | /**
302 | * Parser context.
303 | */
304 | XMLPUBFUN xmlParserCtxtPtr
305 | xmlCreateFileParserCtxt (const char *filename);
306 | XMLPUBFUN xmlParserCtxtPtr
307 | xmlCreateURLParserCtxt (const char *filename,
308 | int options);
309 | XMLPUBFUN xmlParserCtxtPtr
310 | xmlCreateMemoryParserCtxt(const char *buffer,
311 | int size);
312 | XMLPUBFUN xmlParserCtxtPtr
313 | xmlCreateEntityParserCtxt(const xmlChar *URL,
314 | const xmlChar *ID,
315 | const xmlChar *base);
316 | XMLPUBFUN int
317 | xmlSwitchEncoding (xmlParserCtxtPtr ctxt,
318 | xmlCharEncoding enc);
319 | XMLPUBFUN int
320 | xmlSwitchToEncoding (xmlParserCtxtPtr ctxt,
321 | xmlCharEncodingHandlerPtr handler);
322 | XML_DEPRECATED
323 | XMLPUBFUN int
324 | xmlSwitchInputEncoding (xmlParserCtxtPtr ctxt,
325 | xmlParserInputPtr input,
326 | xmlCharEncodingHandlerPtr handler);
327 |
328 | /**
329 | * Input Streams.
330 | */
331 | XMLPUBFUN xmlParserInputPtr
332 | xmlNewStringInputStream (xmlParserCtxtPtr ctxt,
333 | const xmlChar *buffer);
334 | XML_DEPRECATED
335 | XMLPUBFUN xmlParserInputPtr
336 | xmlNewEntityInputStream (xmlParserCtxtPtr ctxt,
337 | xmlEntityPtr entity);
338 | XMLPUBFUN int
339 | xmlPushInput (xmlParserCtxtPtr ctxt,
340 | xmlParserInputPtr input);
341 | XMLPUBFUN xmlChar
342 | xmlPopInput (xmlParserCtxtPtr ctxt);
343 | XMLPUBFUN void
344 | xmlFreeInputStream (xmlParserInputPtr input);
345 | XMLPUBFUN xmlParserInputPtr
346 | xmlNewInputFromFile (xmlParserCtxtPtr ctxt,
347 | const char *filename);
348 | XMLPUBFUN xmlParserInputPtr
349 | xmlNewInputStream (xmlParserCtxtPtr ctxt);
350 |
351 | /**
352 | * Namespaces.
353 | */
354 | XMLPUBFUN xmlChar *
355 | xmlSplitQName (xmlParserCtxtPtr ctxt,
356 | const xmlChar *name,
357 | xmlChar **prefix);
358 |
359 | /**
360 | * Generic production rules.
361 | */
362 | XML_DEPRECATED
363 | XMLPUBFUN const xmlChar *
364 | xmlParseName (xmlParserCtxtPtr ctxt);
365 | XML_DEPRECATED
366 | XMLPUBFUN xmlChar *
367 | xmlParseNmtoken (xmlParserCtxtPtr ctxt);
368 | XML_DEPRECATED
369 | XMLPUBFUN xmlChar *
370 | xmlParseEntityValue (xmlParserCtxtPtr ctxt,
371 | xmlChar **orig);
372 | XML_DEPRECATED
373 | XMLPUBFUN xmlChar *
374 | xmlParseAttValue (xmlParserCtxtPtr ctxt);
375 | XML_DEPRECATED
376 | XMLPUBFUN xmlChar *
377 | xmlParseSystemLiteral (xmlParserCtxtPtr ctxt);
378 | XML_DEPRECATED
379 | XMLPUBFUN xmlChar *
380 | xmlParsePubidLiteral (xmlParserCtxtPtr ctxt);
381 | XML_DEPRECATED
382 | XMLPUBFUN void
383 | xmlParseCharData (xmlParserCtxtPtr ctxt,
384 | int cdata);
385 | XML_DEPRECATED
386 | XMLPUBFUN xmlChar *
387 | xmlParseExternalID (xmlParserCtxtPtr ctxt,
388 | xmlChar **publicID,
389 | int strict);
390 | XML_DEPRECATED
391 | XMLPUBFUN void
392 | xmlParseComment (xmlParserCtxtPtr ctxt);
393 | XML_DEPRECATED
394 | XMLPUBFUN const xmlChar *
395 | xmlParsePITarget (xmlParserCtxtPtr ctxt);
396 | XML_DEPRECATED
397 | XMLPUBFUN void
398 | xmlParsePI (xmlParserCtxtPtr ctxt);
399 | XML_DEPRECATED
400 | XMLPUBFUN void
401 | xmlParseNotationDecl (xmlParserCtxtPtr ctxt);
402 | XML_DEPRECATED
403 | XMLPUBFUN void
404 | xmlParseEntityDecl (xmlParserCtxtPtr ctxt);
405 | XML_DEPRECATED
406 | XMLPUBFUN int
407 | xmlParseDefaultDecl (xmlParserCtxtPtr ctxt,
408 | xmlChar **value);
409 | XML_DEPRECATED
410 | XMLPUBFUN xmlEnumerationPtr
411 | xmlParseNotationType (xmlParserCtxtPtr ctxt);
412 | XML_DEPRECATED
413 | XMLPUBFUN xmlEnumerationPtr
414 | xmlParseEnumerationType (xmlParserCtxtPtr ctxt);
415 | XML_DEPRECATED
416 | XMLPUBFUN int
417 | xmlParseEnumeratedType (xmlParserCtxtPtr ctxt,
418 | xmlEnumerationPtr *tree);
419 | XML_DEPRECATED
420 | XMLPUBFUN int
421 | xmlParseAttributeType (xmlParserCtxtPtr ctxt,
422 | xmlEnumerationPtr *tree);
423 | XML_DEPRECATED
424 | XMLPUBFUN void
425 | xmlParseAttributeListDecl(xmlParserCtxtPtr ctxt);
426 | XML_DEPRECATED
427 | XMLPUBFUN xmlElementContentPtr
428 | xmlParseElementMixedContentDecl
429 | (xmlParserCtxtPtr ctxt,
430 | int inputchk);
431 | XML_DEPRECATED
432 | XMLPUBFUN xmlElementContentPtr
433 | xmlParseElementChildrenContentDecl
434 | (xmlParserCtxtPtr ctxt,
435 | int inputchk);
436 | XML_DEPRECATED
437 | XMLPUBFUN int
438 | xmlParseElementContentDecl(xmlParserCtxtPtr ctxt,
439 | const xmlChar *name,
440 | xmlElementContentPtr *result);
441 | XML_DEPRECATED
442 | XMLPUBFUN int
443 | xmlParseElementDecl (xmlParserCtxtPtr ctxt);
444 | XML_DEPRECATED
445 | XMLPUBFUN void
446 | xmlParseMarkupDecl (xmlParserCtxtPtr ctxt);
447 | XML_DEPRECATED
448 | XMLPUBFUN int
449 | xmlParseCharRef (xmlParserCtxtPtr ctxt);
450 | XML_DEPRECATED
451 | XMLPUBFUN xmlEntityPtr
452 | xmlParseEntityRef (xmlParserCtxtPtr ctxt);
453 | XML_DEPRECATED
454 | XMLPUBFUN void
455 | xmlParseReference (xmlParserCtxtPtr ctxt);
456 | XML_DEPRECATED
457 | XMLPUBFUN void
458 | xmlParsePEReference (xmlParserCtxtPtr ctxt);
459 | XML_DEPRECATED
460 | XMLPUBFUN void
461 | xmlParseDocTypeDecl (xmlParserCtxtPtr ctxt);
462 | #ifdef LIBXML_SAX1_ENABLED
463 | XML_DEPRECATED
464 | XMLPUBFUN const xmlChar *
465 | xmlParseAttribute (xmlParserCtxtPtr ctxt,
466 | xmlChar **value);
467 | XML_DEPRECATED
468 | XMLPUBFUN const xmlChar *
469 | xmlParseStartTag (xmlParserCtxtPtr ctxt);
470 | XML_DEPRECATED
471 | XMLPUBFUN void
472 | xmlParseEndTag (xmlParserCtxtPtr ctxt);
473 | #endif /* LIBXML_SAX1_ENABLED */
474 | XML_DEPRECATED
475 | XMLPUBFUN void
476 | xmlParseCDSect (xmlParserCtxtPtr ctxt);
477 | XMLPUBFUN void
478 | xmlParseContent (xmlParserCtxtPtr ctxt);
479 | XML_DEPRECATED
480 | XMLPUBFUN void
481 | xmlParseElement (xmlParserCtxtPtr ctxt);
482 | XML_DEPRECATED
483 | XMLPUBFUN xmlChar *
484 | xmlParseVersionNum (xmlParserCtxtPtr ctxt);
485 | XML_DEPRECATED
486 | XMLPUBFUN xmlChar *
487 | xmlParseVersionInfo (xmlParserCtxtPtr ctxt);
488 | XML_DEPRECATED
489 | XMLPUBFUN xmlChar *
490 | xmlParseEncName (xmlParserCtxtPtr ctxt);
491 | XML_DEPRECATED
492 | XMLPUBFUN const xmlChar *
493 | xmlParseEncodingDecl (xmlParserCtxtPtr ctxt);
494 | XML_DEPRECATED
495 | XMLPUBFUN int
496 | xmlParseSDDecl (xmlParserCtxtPtr ctxt);
497 | XML_DEPRECATED
498 | XMLPUBFUN void
499 | xmlParseXMLDecl (xmlParserCtxtPtr ctxt);
500 | XML_DEPRECATED
501 | XMLPUBFUN void
502 | xmlParseTextDecl (xmlParserCtxtPtr ctxt);
503 | XML_DEPRECATED
504 | XMLPUBFUN void
505 | xmlParseMisc (xmlParserCtxtPtr ctxt);
506 | XMLPUBFUN void
507 | xmlParseExternalSubset (xmlParserCtxtPtr ctxt,
508 | const xmlChar *ExternalID,
509 | const xmlChar *SystemID);
510 | /**
511 | * XML_SUBSTITUTE_NONE:
512 | *
513 | * If no entities need to be substituted.
514 | */
515 | #define XML_SUBSTITUTE_NONE 0
516 | /**
517 | * XML_SUBSTITUTE_REF:
518 | *
519 | * Whether general entities need to be substituted.
520 | */
521 | #define XML_SUBSTITUTE_REF 1
522 | /**
523 | * XML_SUBSTITUTE_PEREF:
524 | *
525 | * Whether parameter entities need to be substituted.
526 | */
527 | #define XML_SUBSTITUTE_PEREF 2
528 | /**
529 | * XML_SUBSTITUTE_BOTH:
530 | *
531 | * Both general and parameter entities need to be substituted.
532 | */
533 | #define XML_SUBSTITUTE_BOTH 3
534 |
535 | XML_DEPRECATED
536 | XMLPUBFUN xmlChar *
537 | xmlStringDecodeEntities (xmlParserCtxtPtr ctxt,
538 | const xmlChar *str,
539 | int what,
540 | xmlChar end,
541 | xmlChar end2,
542 | xmlChar end3);
543 | XML_DEPRECATED
544 | XMLPUBFUN xmlChar *
545 | xmlStringLenDecodeEntities (xmlParserCtxtPtr ctxt,
546 | const xmlChar *str,
547 | int len,
548 | int what,
549 | xmlChar end,
550 | xmlChar end2,
551 | xmlChar end3);
552 |
553 | /*
554 | * Generated by MACROS on top of parser.c c.f. PUSH_AND_POP.
555 | */
556 | XML_DEPRECATED
557 | XMLPUBFUN int nodePush (xmlParserCtxtPtr ctxt,
558 | xmlNodePtr value);
559 | XML_DEPRECATED
560 | XMLPUBFUN xmlNodePtr nodePop (xmlParserCtxtPtr ctxt);
561 | XMLPUBFUN int inputPush (xmlParserCtxtPtr ctxt,
562 | xmlParserInputPtr value);
563 | XMLPUBFUN xmlParserInputPtr inputPop (xmlParserCtxtPtr ctxt);
564 | XML_DEPRECATED
565 | XMLPUBFUN const xmlChar * namePop (xmlParserCtxtPtr ctxt);
566 | XML_DEPRECATED
567 | XMLPUBFUN int namePush (xmlParserCtxtPtr ctxt,
568 | const xmlChar *value);
569 |
570 | /*
571 | * other commodities shared between parser.c and parserInternals.
572 | */
573 | XML_DEPRECATED
574 | XMLPUBFUN int xmlSkipBlankChars (xmlParserCtxtPtr ctxt);
575 | XML_DEPRECATED
576 | XMLPUBFUN int xmlStringCurrentChar (xmlParserCtxtPtr ctxt,
577 | const xmlChar *cur,
578 | int *len);
579 | XML_DEPRECATED
580 | XMLPUBFUN void xmlParserHandlePEReference(xmlParserCtxtPtr ctxt);
581 | XML_DEPRECATED
582 | XMLPUBFUN int xmlCheckLanguageID (const xmlChar *lang);
583 |
584 | /*
585 | * Really core function shared with HTML parser.
586 | */
587 | XML_DEPRECATED
588 | XMLPUBFUN int xmlCurrentChar (xmlParserCtxtPtr ctxt,
589 | int *len);
590 | XMLPUBFUN int xmlCopyCharMultiByte (xmlChar *out,
591 | int val);
592 | XMLPUBFUN int xmlCopyChar (int len,
593 | xmlChar *out,
594 | int val);
595 | XML_DEPRECATED
596 | XMLPUBFUN void xmlNextChar (xmlParserCtxtPtr ctxt);
597 | XML_DEPRECATED
598 | XMLPUBFUN void xmlParserInputShrink (xmlParserInputPtr in);
599 |
600 | /*
601 | * Specific function to keep track of entities references
602 | * and used by the XSLT debugger.
603 | */
604 | #ifdef LIBXML_LEGACY_ENABLED
605 | /**
606 | * xmlEntityReferenceFunc:
607 | * @ent: the entity
608 | * @firstNode: the fist node in the chunk
609 | * @lastNode: the last nod in the chunk
610 | *
611 | * Callback function used when one needs to be able to track back the
612 | * provenance of a chunk of nodes inherited from an entity replacement.
613 | */
614 | typedef void (*xmlEntityReferenceFunc) (xmlEntityPtr ent,
615 | xmlNodePtr firstNode,
616 | xmlNodePtr lastNode);
617 |
618 | XML_DEPRECATED
619 | XMLPUBFUN void xmlSetEntityReferenceFunc (xmlEntityReferenceFunc func);
620 |
621 | XML_DEPRECATED
622 | XMLPUBFUN xmlChar *
623 | xmlParseQuotedString (xmlParserCtxtPtr ctxt);
624 | XML_DEPRECATED
625 | XMLPUBFUN void
626 | xmlParseNamespace (xmlParserCtxtPtr ctxt);
627 | XML_DEPRECATED
628 | XMLPUBFUN xmlChar *
629 | xmlNamespaceParseNSDef (xmlParserCtxtPtr ctxt);
630 | XML_DEPRECATED
631 | XMLPUBFUN xmlChar *
632 | xmlScanName (xmlParserCtxtPtr ctxt);
633 | XML_DEPRECATED
634 | XMLPUBFUN xmlChar *
635 | xmlNamespaceParseNCName (xmlParserCtxtPtr ctxt);
636 | XML_DEPRECATED
637 | XMLPUBFUN void xmlParserHandleReference(xmlParserCtxtPtr ctxt);
638 | XML_DEPRECATED
639 | XMLPUBFUN xmlChar *
640 | xmlNamespaceParseQName (xmlParserCtxtPtr ctxt,
641 | xmlChar **prefix);
642 | /**
643 | * Entities
644 | */
645 | XML_DEPRECATED
646 | XMLPUBFUN xmlChar *
647 | xmlDecodeEntities (xmlParserCtxtPtr ctxt,
648 | int len,
649 | int what,
650 | xmlChar end,
651 | xmlChar end2,
652 | xmlChar end3);
653 | XML_DEPRECATED
654 | XMLPUBFUN void
655 | xmlHandleEntity (xmlParserCtxtPtr ctxt,
656 | xmlEntityPtr entity);
657 |
658 | #endif /* LIBXML_LEGACY_ENABLED */
659 |
660 | #ifdef __cplusplus
661 | }
662 | #endif
663 | #endif /* __XML_PARSER_INTERNALS_H__ */
664 |
```
--------------------------------------------------------------------------------
/.venv/lib/python3.12/site-packages/lxml/etree_api.h:
--------------------------------------------------------------------------------
```
1 | /* Generated by Cython 3.0.11 */
2 |
3 | #ifndef __PYX_HAVE_API__lxml__etree
4 | #define __PYX_HAVE_API__lxml__etree
5 | #ifdef __MINGW64__
6 | #define MS_WIN64
7 | #endif
8 | #include "Python.h"
9 | #include "etree.h"
10 |
11 | static struct LxmlElement *(*__pyx_api_f_4lxml_5etree_deepcopyNodeToDocument)(struct LxmlDocument *, xmlNode *) = 0;
12 | #define deepcopyNodeToDocument __pyx_api_f_4lxml_5etree_deepcopyNodeToDocument
13 | static struct LxmlElementTree *(*__pyx_api_f_4lxml_5etree_elementTreeFactory)(struct LxmlElement *) = 0;
14 | #define elementTreeFactory __pyx_api_f_4lxml_5etree_elementTreeFactory
15 | static struct LxmlElementTree *(*__pyx_api_f_4lxml_5etree_newElementTree)(struct LxmlElement *, PyObject *) = 0;
16 | #define newElementTree __pyx_api_f_4lxml_5etree_newElementTree
17 | static struct LxmlElementTree *(*__pyx_api_f_4lxml_5etree_adoptExternalDocument)(xmlDoc *, PyObject *, int) = 0;
18 | #define adoptExternalDocument __pyx_api_f_4lxml_5etree_adoptExternalDocument
19 | static struct LxmlElement *(*__pyx_api_f_4lxml_5etree_elementFactory)(struct LxmlDocument *, xmlNode *) = 0;
20 | #define elementFactory __pyx_api_f_4lxml_5etree_elementFactory
21 | static struct LxmlElement *(*__pyx_api_f_4lxml_5etree_makeElement)(PyObject *, struct LxmlDocument *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *) = 0;
22 | #define makeElement __pyx_api_f_4lxml_5etree_makeElement
23 | static struct LxmlElement *(*__pyx_api_f_4lxml_5etree_makeSubElement)(struct LxmlElement *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *) = 0;
24 | #define makeSubElement __pyx_api_f_4lxml_5etree_makeSubElement
25 | static void (*__pyx_api_f_4lxml_5etree_setElementClassLookupFunction)(_element_class_lookup_function, PyObject *) = 0;
26 | #define setElementClassLookupFunction __pyx_api_f_4lxml_5etree_setElementClassLookupFunction
27 | static PyObject *(*__pyx_api_f_4lxml_5etree_lookupDefaultElementClass)(PyObject *, PyObject *, xmlNode *) = 0;
28 | #define lookupDefaultElementClass __pyx_api_f_4lxml_5etree_lookupDefaultElementClass
29 | static PyObject *(*__pyx_api_f_4lxml_5etree_lookupNamespaceElementClass)(PyObject *, PyObject *, xmlNode *) = 0;
30 | #define lookupNamespaceElementClass __pyx_api_f_4lxml_5etree_lookupNamespaceElementClass
31 | static PyObject *(*__pyx_api_f_4lxml_5etree_callLookupFallback)(struct LxmlFallbackElementClassLookup *, struct LxmlDocument *, xmlNode *) = 0;
32 | #define callLookupFallback __pyx_api_f_4lxml_5etree_callLookupFallback
33 | static int (*__pyx_api_f_4lxml_5etree_tagMatches)(xmlNode *, const xmlChar *, const xmlChar *) = 0;
34 | #define tagMatches __pyx_api_f_4lxml_5etree_tagMatches
35 | static struct LxmlDocument *(*__pyx_api_f_4lxml_5etree_documentOrRaise)(PyObject *) = 0;
36 | #define documentOrRaise __pyx_api_f_4lxml_5etree_documentOrRaise
37 | static struct LxmlElement *(*__pyx_api_f_4lxml_5etree_rootNodeOrRaise)(PyObject *) = 0;
38 | #define rootNodeOrRaise __pyx_api_f_4lxml_5etree_rootNodeOrRaise
39 | static int (*__pyx_api_f_4lxml_5etree_hasText)(xmlNode *) = 0;
40 | #define hasText __pyx_api_f_4lxml_5etree_hasText
41 | static int (*__pyx_api_f_4lxml_5etree_hasTail)(xmlNode *) = 0;
42 | #define hasTail __pyx_api_f_4lxml_5etree_hasTail
43 | static PyObject *(*__pyx_api_f_4lxml_5etree_textOf)(xmlNode *) = 0;
44 | #define textOf __pyx_api_f_4lxml_5etree_textOf
45 | static PyObject *(*__pyx_api_f_4lxml_5etree_tailOf)(xmlNode *) = 0;
46 | #define tailOf __pyx_api_f_4lxml_5etree_tailOf
47 | static int (*__pyx_api_f_4lxml_5etree_setNodeText)(xmlNode *, PyObject *) = 0;
48 | #define setNodeText __pyx_api_f_4lxml_5etree_setNodeText
49 | static int (*__pyx_api_f_4lxml_5etree_setTailText)(xmlNode *, PyObject *) = 0;
50 | #define setTailText __pyx_api_f_4lxml_5etree_setTailText
51 | static PyObject *(*__pyx_api_f_4lxml_5etree_attributeValue)(xmlNode *, xmlAttr *) = 0;
52 | #define attributeValue __pyx_api_f_4lxml_5etree_attributeValue
53 | static PyObject *(*__pyx_api_f_4lxml_5etree_attributeValueFromNsName)(xmlNode *, const xmlChar *, const xmlChar *) = 0;
54 | #define attributeValueFromNsName __pyx_api_f_4lxml_5etree_attributeValueFromNsName
55 | static PyObject *(*__pyx_api_f_4lxml_5etree_getAttributeValue)(struct LxmlElement *, PyObject *, PyObject *) = 0;
56 | #define getAttributeValue __pyx_api_f_4lxml_5etree_getAttributeValue
57 | static PyObject *(*__pyx_api_f_4lxml_5etree_iterattributes)(struct LxmlElement *, int) = 0;
58 | #define iterattributes __pyx_api_f_4lxml_5etree_iterattributes
59 | static PyObject *(*__pyx_api_f_4lxml_5etree_collectAttributes)(xmlNode *, int) = 0;
60 | #define collectAttributes __pyx_api_f_4lxml_5etree_collectAttributes
61 | static int (*__pyx_api_f_4lxml_5etree_setAttributeValue)(struct LxmlElement *, PyObject *, PyObject *) = 0;
62 | #define setAttributeValue __pyx_api_f_4lxml_5etree_setAttributeValue
63 | static int (*__pyx_api_f_4lxml_5etree_delAttribute)(struct LxmlElement *, PyObject *) = 0;
64 | #define delAttribute __pyx_api_f_4lxml_5etree_delAttribute
65 | static int (*__pyx_api_f_4lxml_5etree_delAttributeFromNsName)(xmlNode *, const xmlChar *, const xmlChar *) = 0;
66 | #define delAttributeFromNsName __pyx_api_f_4lxml_5etree_delAttributeFromNsName
67 | static int (*__pyx_api_f_4lxml_5etree_hasChild)(xmlNode *) = 0;
68 | #define hasChild __pyx_api_f_4lxml_5etree_hasChild
69 | static xmlNode *(*__pyx_api_f_4lxml_5etree_findChild)(xmlNode *, Py_ssize_t) = 0;
70 | #define findChild __pyx_api_f_4lxml_5etree_findChild
71 | static xmlNode *(*__pyx_api_f_4lxml_5etree_findChildForwards)(xmlNode *, Py_ssize_t) = 0;
72 | #define findChildForwards __pyx_api_f_4lxml_5etree_findChildForwards
73 | static xmlNode *(*__pyx_api_f_4lxml_5etree_findChildBackwards)(xmlNode *, Py_ssize_t) = 0;
74 | #define findChildBackwards __pyx_api_f_4lxml_5etree_findChildBackwards
75 | static xmlNode *(*__pyx_api_f_4lxml_5etree_nextElement)(xmlNode *) = 0;
76 | #define nextElement __pyx_api_f_4lxml_5etree_nextElement
77 | static xmlNode *(*__pyx_api_f_4lxml_5etree_previousElement)(xmlNode *) = 0;
78 | #define previousElement __pyx_api_f_4lxml_5etree_previousElement
79 | static void (*__pyx_api_f_4lxml_5etree_appendChild)(struct LxmlElement *, struct LxmlElement *) = 0;
80 | #define appendChild __pyx_api_f_4lxml_5etree_appendChild
81 | static int (*__pyx_api_f_4lxml_5etree_appendChildToElement)(struct LxmlElement *, struct LxmlElement *) = 0;
82 | #define appendChildToElement __pyx_api_f_4lxml_5etree_appendChildToElement
83 | static PyObject *(*__pyx_api_f_4lxml_5etree_pyunicode)(const xmlChar *) = 0;
84 | #define pyunicode __pyx_api_f_4lxml_5etree_pyunicode
85 | static PyObject *(*__pyx_api_f_4lxml_5etree_utf8)(PyObject *) = 0;
86 | #define utf8 __pyx_api_f_4lxml_5etree_utf8
87 | static PyObject *(*__pyx_api_f_4lxml_5etree_getNsTag)(PyObject *) = 0;
88 | #define getNsTag __pyx_api_f_4lxml_5etree_getNsTag
89 | static PyObject *(*__pyx_api_f_4lxml_5etree_getNsTagWithEmptyNs)(PyObject *) = 0;
90 | #define getNsTagWithEmptyNs __pyx_api_f_4lxml_5etree_getNsTagWithEmptyNs
91 | static PyObject *(*__pyx_api_f_4lxml_5etree_namespacedName)(xmlNode *) = 0;
92 | #define namespacedName __pyx_api_f_4lxml_5etree_namespacedName
93 | static PyObject *(*__pyx_api_f_4lxml_5etree_namespacedNameFromNsName)(const xmlChar *, const xmlChar *) = 0;
94 | #define namespacedNameFromNsName __pyx_api_f_4lxml_5etree_namespacedNameFromNsName
95 | static void (*__pyx_api_f_4lxml_5etree_iteratorStoreNext)(struct LxmlElementIterator *, struct LxmlElement *) = 0;
96 | #define iteratorStoreNext __pyx_api_f_4lxml_5etree_iteratorStoreNext
97 | static void (*__pyx_api_f_4lxml_5etree_initTagMatch)(struct LxmlElementTagMatcher *, PyObject *) = 0;
98 | #define initTagMatch __pyx_api_f_4lxml_5etree_initTagMatch
99 | static xmlNs *(*__pyx_api_f_4lxml_5etree_findOrBuildNodeNsPrefix)(struct LxmlDocument *, xmlNode *, const xmlChar *, const xmlChar *) = 0;
100 | #define findOrBuildNodeNsPrefix __pyx_api_f_4lxml_5etree_findOrBuildNodeNsPrefix
101 | #ifndef __PYX_HAVE_RT_ImportFunction_3_0_11
102 | #define __PYX_HAVE_RT_ImportFunction_3_0_11
103 | static int __Pyx_ImportFunction_3_0_11(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
104 | PyObject *d = 0;
105 | PyObject *cobj = 0;
106 | union {
107 | void (*fp)(void);
108 | void *p;
109 | } tmp;
110 | d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
111 | if (!d)
112 | goto bad;
113 | cobj = PyDict_GetItemString(d, funcname);
114 | if (!cobj) {
115 | PyErr_Format(PyExc_ImportError,
116 | "%.200s does not export expected C function %.200s",
117 | PyModule_GetName(module), funcname);
118 | goto bad;
119 | }
120 | if (!PyCapsule_IsValid(cobj, sig)) {
121 | PyErr_Format(PyExc_TypeError,
122 | "C function %.200s.%.200s has wrong signature (expected %.500s, got %.500s)",
123 | PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
124 | goto bad;
125 | }
126 | tmp.p = PyCapsule_GetPointer(cobj, sig);
127 | *f = tmp.fp;
128 | if (!(*f))
129 | goto bad;
130 | Py_DECREF(d);
131 | return 0;
132 | bad:
133 | Py_XDECREF(d);
134 | return -1;
135 | }
136 | #endif
137 |
138 |
139 | static int import_lxml__etree(void) {
140 | PyObject *module = 0;
141 | module = PyImport_ImportModule("lxml.etree");
142 | if (!module) goto bad;
143 | if (__Pyx_ImportFunction_3_0_11(module, "deepcopyNodeToDocument", (void (**)(void))&__pyx_api_f_4lxml_5etree_deepcopyNodeToDocument, "struct LxmlElement *(struct LxmlDocument *, xmlNode *)") < 0) goto bad;
144 | if (__Pyx_ImportFunction_3_0_11(module, "elementTreeFactory", (void (**)(void))&__pyx_api_f_4lxml_5etree_elementTreeFactory, "struct LxmlElementTree *(struct LxmlElement *)") < 0) goto bad;
145 | if (__Pyx_ImportFunction_3_0_11(module, "newElementTree", (void (**)(void))&__pyx_api_f_4lxml_5etree_newElementTree, "struct LxmlElementTree *(struct LxmlElement *, PyObject *)") < 0) goto bad;
146 | if (__Pyx_ImportFunction_3_0_11(module, "adoptExternalDocument", (void (**)(void))&__pyx_api_f_4lxml_5etree_adoptExternalDocument, "struct LxmlElementTree *(xmlDoc *, PyObject *, int)") < 0) goto bad;
147 | if (__Pyx_ImportFunction_3_0_11(module, "elementFactory", (void (**)(void))&__pyx_api_f_4lxml_5etree_elementFactory, "struct LxmlElement *(struct LxmlDocument *, xmlNode *)") < 0) goto bad;
148 | if (__Pyx_ImportFunction_3_0_11(module, "makeElement", (void (**)(void))&__pyx_api_f_4lxml_5etree_makeElement, "struct LxmlElement *(PyObject *, struct LxmlDocument *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *)") < 0) goto bad;
149 | if (__Pyx_ImportFunction_3_0_11(module, "makeSubElement", (void (**)(void))&__pyx_api_f_4lxml_5etree_makeSubElement, "struct LxmlElement *(struct LxmlElement *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *)") < 0) goto bad;
150 | if (__Pyx_ImportFunction_3_0_11(module, "setElementClassLookupFunction", (void (**)(void))&__pyx_api_f_4lxml_5etree_setElementClassLookupFunction, "void (_element_class_lookup_function, PyObject *)") < 0) goto bad;
151 | if (__Pyx_ImportFunction_3_0_11(module, "lookupDefaultElementClass", (void (**)(void))&__pyx_api_f_4lxml_5etree_lookupDefaultElementClass, "PyObject *(PyObject *, PyObject *, xmlNode *)") < 0) goto bad;
152 | if (__Pyx_ImportFunction_3_0_11(module, "lookupNamespaceElementClass", (void (**)(void))&__pyx_api_f_4lxml_5etree_lookupNamespaceElementClass, "PyObject *(PyObject *, PyObject *, xmlNode *)") < 0) goto bad;
153 | if (__Pyx_ImportFunction_3_0_11(module, "callLookupFallback", (void (**)(void))&__pyx_api_f_4lxml_5etree_callLookupFallback, "PyObject *(struct LxmlFallbackElementClassLookup *, struct LxmlDocument *, xmlNode *)") < 0) goto bad;
154 | if (__Pyx_ImportFunction_3_0_11(module, "tagMatches", (void (**)(void))&__pyx_api_f_4lxml_5etree_tagMatches, "int (xmlNode *, const xmlChar *, const xmlChar *)") < 0) goto bad;
155 | if (__Pyx_ImportFunction_3_0_11(module, "documentOrRaise", (void (**)(void))&__pyx_api_f_4lxml_5etree_documentOrRaise, "struct LxmlDocument *(PyObject *)") < 0) goto bad;
156 | if (__Pyx_ImportFunction_3_0_11(module, "rootNodeOrRaise", (void (**)(void))&__pyx_api_f_4lxml_5etree_rootNodeOrRaise, "struct LxmlElement *(PyObject *)") < 0) goto bad;
157 | if (__Pyx_ImportFunction_3_0_11(module, "hasText", (void (**)(void))&__pyx_api_f_4lxml_5etree_hasText, "int (xmlNode *)") < 0) goto bad;
158 | if (__Pyx_ImportFunction_3_0_11(module, "hasTail", (void (**)(void))&__pyx_api_f_4lxml_5etree_hasTail, "int (xmlNode *)") < 0) goto bad;
159 | if (__Pyx_ImportFunction_3_0_11(module, "textOf", (void (**)(void))&__pyx_api_f_4lxml_5etree_textOf, "PyObject *(xmlNode *)") < 0) goto bad;
160 | if (__Pyx_ImportFunction_3_0_11(module, "tailOf", (void (**)(void))&__pyx_api_f_4lxml_5etree_tailOf, "PyObject *(xmlNode *)") < 0) goto bad;
161 | if (__Pyx_ImportFunction_3_0_11(module, "setNodeText", (void (**)(void))&__pyx_api_f_4lxml_5etree_setNodeText, "int (xmlNode *, PyObject *)") < 0) goto bad;
162 | if (__Pyx_ImportFunction_3_0_11(module, "setTailText", (void (**)(void))&__pyx_api_f_4lxml_5etree_setTailText, "int (xmlNode *, PyObject *)") < 0) goto bad;
163 | if (__Pyx_ImportFunction_3_0_11(module, "attributeValue", (void (**)(void))&__pyx_api_f_4lxml_5etree_attributeValue, "PyObject *(xmlNode *, xmlAttr *)") < 0) goto bad;
164 | if (__Pyx_ImportFunction_3_0_11(module, "attributeValueFromNsName", (void (**)(void))&__pyx_api_f_4lxml_5etree_attributeValueFromNsName, "PyObject *(xmlNode *, const xmlChar *, const xmlChar *)") < 0) goto bad;
165 | if (__Pyx_ImportFunction_3_0_11(module, "getAttributeValue", (void (**)(void))&__pyx_api_f_4lxml_5etree_getAttributeValue, "PyObject *(struct LxmlElement *, PyObject *, PyObject *)") < 0) goto bad;
166 | if (__Pyx_ImportFunction_3_0_11(module, "iterattributes", (void (**)(void))&__pyx_api_f_4lxml_5etree_iterattributes, "PyObject *(struct LxmlElement *, int)") < 0) goto bad;
167 | if (__Pyx_ImportFunction_3_0_11(module, "collectAttributes", (void (**)(void))&__pyx_api_f_4lxml_5etree_collectAttributes, "PyObject *(xmlNode *, int)") < 0) goto bad;
168 | if (__Pyx_ImportFunction_3_0_11(module, "setAttributeValue", (void (**)(void))&__pyx_api_f_4lxml_5etree_setAttributeValue, "int (struct LxmlElement *, PyObject *, PyObject *)") < 0) goto bad;
169 | if (__Pyx_ImportFunction_3_0_11(module, "delAttribute", (void (**)(void))&__pyx_api_f_4lxml_5etree_delAttribute, "int (struct LxmlElement *, PyObject *)") < 0) goto bad;
170 | if (__Pyx_ImportFunction_3_0_11(module, "delAttributeFromNsName", (void (**)(void))&__pyx_api_f_4lxml_5etree_delAttributeFromNsName, "int (xmlNode *, const xmlChar *, const xmlChar *)") < 0) goto bad;
171 | if (__Pyx_ImportFunction_3_0_11(module, "hasChild", (void (**)(void))&__pyx_api_f_4lxml_5etree_hasChild, "int (xmlNode *)") < 0) goto bad;
172 | if (__Pyx_ImportFunction_3_0_11(module, "findChild", (void (**)(void))&__pyx_api_f_4lxml_5etree_findChild, "xmlNode *(xmlNode *, Py_ssize_t)") < 0) goto bad;
173 | if (__Pyx_ImportFunction_3_0_11(module, "findChildForwards", (void (**)(void))&__pyx_api_f_4lxml_5etree_findChildForwards, "xmlNode *(xmlNode *, Py_ssize_t)") < 0) goto bad;
174 | if (__Pyx_ImportFunction_3_0_11(module, "findChildBackwards", (void (**)(void))&__pyx_api_f_4lxml_5etree_findChildBackwards, "xmlNode *(xmlNode *, Py_ssize_t)") < 0) goto bad;
175 | if (__Pyx_ImportFunction_3_0_11(module, "nextElement", (void (**)(void))&__pyx_api_f_4lxml_5etree_nextElement, "xmlNode *(xmlNode *)") < 0) goto bad;
176 | if (__Pyx_ImportFunction_3_0_11(module, "previousElement", (void (**)(void))&__pyx_api_f_4lxml_5etree_previousElement, "xmlNode *(xmlNode *)") < 0) goto bad;
177 | if (__Pyx_ImportFunction_3_0_11(module, "appendChild", (void (**)(void))&__pyx_api_f_4lxml_5etree_appendChild, "void (struct LxmlElement *, struct LxmlElement *)") < 0) goto bad;
178 | if (__Pyx_ImportFunction_3_0_11(module, "appendChildToElement", (void (**)(void))&__pyx_api_f_4lxml_5etree_appendChildToElement, "int (struct LxmlElement *, struct LxmlElement *)") < 0) goto bad;
179 | if (__Pyx_ImportFunction_3_0_11(module, "pyunicode", (void (**)(void))&__pyx_api_f_4lxml_5etree_pyunicode, "PyObject *(const xmlChar *)") < 0) goto bad;
180 | if (__Pyx_ImportFunction_3_0_11(module, "utf8", (void (**)(void))&__pyx_api_f_4lxml_5etree_utf8, "PyObject *(PyObject *)") < 0) goto bad;
181 | if (__Pyx_ImportFunction_3_0_11(module, "getNsTag", (void (**)(void))&__pyx_api_f_4lxml_5etree_getNsTag, "PyObject *(PyObject *)") < 0) goto bad;
182 | if (__Pyx_ImportFunction_3_0_11(module, "getNsTagWithEmptyNs", (void (**)(void))&__pyx_api_f_4lxml_5etree_getNsTagWithEmptyNs, "PyObject *(PyObject *)") < 0) goto bad;
183 | if (__Pyx_ImportFunction_3_0_11(module, "namespacedName", (void (**)(void))&__pyx_api_f_4lxml_5etree_namespacedName, "PyObject *(xmlNode *)") < 0) goto bad;
184 | if (__Pyx_ImportFunction_3_0_11(module, "namespacedNameFromNsName", (void (**)(void))&__pyx_api_f_4lxml_5etree_namespacedNameFromNsName, "PyObject *(const xmlChar *, const xmlChar *)") < 0) goto bad;
185 | if (__Pyx_ImportFunction_3_0_11(module, "iteratorStoreNext", (void (**)(void))&__pyx_api_f_4lxml_5etree_iteratorStoreNext, "void (struct LxmlElementIterator *, struct LxmlElement *)") < 0) goto bad;
186 | if (__Pyx_ImportFunction_3_0_11(module, "initTagMatch", (void (**)(void))&__pyx_api_f_4lxml_5etree_initTagMatch, "void (struct LxmlElementTagMatcher *, PyObject *)") < 0) goto bad;
187 | if (__Pyx_ImportFunction_3_0_11(module, "findOrBuildNodeNsPrefix", (void (**)(void))&__pyx_api_f_4lxml_5etree_findOrBuildNodeNsPrefix, "xmlNs *(struct LxmlDocument *, xmlNode *, const xmlChar *, const xmlChar *)") < 0) goto bad;
188 | Py_DECREF(module); module = 0;
189 | return 0;
190 | bad:
191 | Py_XDECREF(module);
192 | return -1;
193 | }
194 |
195 | #endif /* !__PYX_HAVE_API__lxml__etree */
196 |
```