REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 37.79 KB
Close
//opt/alt/python312/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/specifiers.cpython-312.pyc
Text
Base64
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IGFuIGV4YWN0IHN0cmluZyBtYXRjaCBvZiB0aGUgdmVyc2lvbiB5b3Ugd2lzaCB0byBpbnN0YWxsLgogICAgICAgICAgICAgICAgIyBUaGlzIHdpbGwgbm90IGJlIHBhcnNlZCBieSBQRVAgNDQwIGFuZCB3ZSBjYW5ub3QgZGV0ZXJtaW5lCiAgICAgICAgICAgICAgICAjIGFueSBzZW1hbnRpYyBtZWFuaW5nIGZyb20gaXQuIFRoaXMgb3BlcmF0b3IgaXMgZGlzY291cmFnZWQKICAgICAgICAgICAgICAgICMgYnV0IGluY2x1ZGVkIGVudGlyZWx5IGFzIGFuIGVzY2FwZSBoYXRjaC4KICAgICAgICAgICAgICAgICg/PD09PT0pICAjIE9ubHkgbWF0Y2ggZm9yIHRoZSBpZGVudGl0eSBvcGVyYXRvcgogICAgICAgICAgICAgICAgXHMqCiAgICAgICAgICAgICAgICBbXlxzOyldKiAgIyBUaGUgYXJiaXRyYXJ5IHZlcnNpb24gY2FuIGJlIGp1c3QgYWJvdXQgYW55dGhpbmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIyB3ZSBtYXRjaCBldmVyeXRoaW5nIGV4Y2VwdCBmb3Igd2hpdGVzcGFjZSwgYQogICAgICAgICAgICAgICAgICAgICAgICAgICMgc2VtaS1jb2xvbiBmb3IgbWFya2VyIHN1cHBvcnQsIGFuZCBhIGNsb3NpbmcgcGFyZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAjIHNpbmNlIHZlcnNpb25zIGNhbiBiZSBlbmNsb3NlZCBpbiB0aGVtLgogICAgICAgICAgICApCiAgICAgICAgICAgIHwKICAgICAgICAgICAgKD86CiAgICAgICAgICAgICAgICAjIFRoZSAobm9uKWVxdWFsaXR5IG9wZXJhdG9ycyBhbGxvdyBmb3Igd2lsZCBjYXJkIGFuZCBsb2NhbAogICAgICAgICAgICAgICAgIyB2ZXJzaW9ucyB0byBiZSBzcGVjaWZpZWQgc28gd2UgaGF2ZSB0byBkZWZpbmUgdGhlc2UgdHdvCiAgICAgICAgICAgICAgICAjIG9wZXJhdG9ycyBzZXBhcmF0ZWx5IHRvIGVuYWJsZSB0aGF0LgogICAgICAgICAgICAgICAgKD88PT09fCE9KSAgICAgICAgICAgICMgT25seSBtYXRjaCBmb3IgZXF1YWxzIGFuZCBub3QgZXF1YWxzCgogICAgICAgICAgICAgICAgXHMqCiAgICAgICAgICAgICAgICB2PwogICAgICAgICAgICAgICAgKD86WzAtOV0rISk/ICAgICAgICAgICMgZXBvY2gKICAgICAgICAgICAgICAgIFswLTldKyg/OlwuWzAtOV0rKSogICAjIHJlbGVhc2UKCiAgICAgICAgICAgICAgICAjIFlvdSBjYW5ub3QgdXNlIGEgd2lsZCBjYXJkIGFuZCBhIHByZS1yZWxlYXNlLCBwb3N0LXJlbGVhc2UsIGEgZGV2IG9yCiAgICAgICAgICAgICAgICAjIGxvY2FsIHZlcnNpb24gdG9nZXRoZXIgc28gZ3JvdXAgdGhlbSB3aXRoIGEgfCBhbmQgbWFrZSB0aGVtIG9wdGlvbmFsLgogICAgICAgICAgICAgICAgKD86CiAgICAgICAgICAgICAgICAgICAgXC5cKiAgIyBXaWxkIGNhcmQgc3ludGF4IG9mIC4qCiAgICAgICAgICAgICAgICAgICAgfAogICAgICAgICAgICAgICAgICAgICg/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHByZSByZWxlYXNlCiAgICAgICAgICAgICAgICAgICAgICAgIFstX1wuXT8KICAgICAgICAgICAgICAgICAgICAgICAgKGFscGhhfGJldGF8cHJldmlld3xwcmV8YXxifGN8cmMpCiAgICAgICAgICAgICAgICAgICAgICAgIFstX1wuXT8KICAgICAgICAgICAgICAgICAgICAgICAgWzAtOV0qCiAgICAgICAgICAgICAgICAgICAgKT8KICAgICAgICAgICAgICAgICAgICAoPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBwb3N0IHJlbGVhc2UKICAgICAgICAgICAgICAgICAgICAgICAgKD86LVswLTldKyl8KD86Wy1fXC5dPyhwb3N0fHJldnxyKVstX1wuXT9bMC05XSopCiAgICAgICAgICAgICAgICAgICAgKT8KICAgICAgICAgICAgICAgICAgICAoPzpbLV9cLl0/ZGV2Wy1fXC5dP1swLTldKik/ICAgICAgICAgIyBkZXYgcmVsZWFzZQogICAgICAgICAgICAgICAgICAgICg/OlwrW2EtejAtOV0rKD86Wy1fXC5dW2EtejAtOV0rKSopPyAjIGxvY2FsCiAgICAgICAgICAgICAgICApPwogICAgICAgICAgICApCiAgICAgICAgICAgIHwKICAgICAgICAgICAgKD86CiAgICAgICAgICAgICAgICAjIFRoZSBjb21wYXRpYmxlIG9wZXJhdG9yIHJlcXVpcmVzIGF0IGxlYXN0IHR3byBkaWdpdHMgaW4gdGhlCiAgICAgICAgICAgICAgICAjIHJlbGVhc2Ugc2VnbWVudC4KICAgICAgICAgICAgICAgICg/PD1+PSkgICAgICAgICAgICAgICAjIE9ubHkgbWF0Y2ggZm9yIHRoZSBjb21wYXRpYmxlIG9wZXJhdG9yCgogICAgICAgICAgICAgICAgXHMqCiAgICAgICAgICAgICAgICB2PwogICAgICAgICAgICAgICAgKD86WzAtOV0rISk/ICAgICAgICAgICMgZXBvY2gKICAgICAgICAgICAgICAgIFswLTldKyg/OlwuWzAtOV0rKSsgICAjIHJlbGVhc2UgIChXZSBoYXZlIGEgKyBpbnN0ZWFkIG9mIGEgKikKICAgICAgICAgICAgICAgICg/OiAgICAgICAgICAgICAgICAgICAjIHByZSByZWxlYXNlCiAgICAgICAgICAgICAgICAgICAgWy1fXC5dPwogICAgICAgICAgICAgICAgICAgIChhbHBoYXxiZXRhfHByZXZpZXd8cHJlfGF8YnxjfHJjKQogICAgICAgICAgICAgICAgICAgIFstX1wuXT8KICAgICAgICAgICAgICAgICAgICBbMC05XSoKICAgICAgICAgICAgICAgICk/CiAgICAgICAgICAgICAgICAoPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgcG9zdCByZWxlYXNlCiAgICAgICAgICAgICAgICAgICAgKD86LVswLTldKyl8KD86Wy1fXC5dPyhwb3N0fHJldnxyKVstX1wuXT9bMC05XSopCiAgICAgICAgICAgICAgICApPwogICAgICAgICAgICAgICAgKD86Wy1fXC5dP2RldlstX1wuXT9bMC05XSopPyAgICAgICAgICAjIGRldiByZWxlYXNlCiAgICAgICAgICAgICkKICAgICAgICAgICAgfAogICAgICAgICAgICAoPzoKICAgICAgICAgICAgICAgICMgQWxsIG90aGVyIG9wZXJhdG9ycyBvbmx5IGFsbG93IGEgc3ViIHNldCBvZiB3aGF0IHRoZQogICAgICAgICAgICAgICAgIyAobm9uKWVxdWFsaXR5IG9wZXJhdG9ycyBkby4gU3BlY2lmaWNhbGx5IHRoZXkgZG8gbm90IGFsbG93CiAgICAgICAgICAgICAgICAjIGxvY2FsIHZlcnNpb25zIHRvIGJlIHNwZWNpZmllZCBub3IgZG8gdGhleSBhbGxvdyB0aGUgcHJlZml4CiAgICAgICAgICAgICAgICAjIG1hdGNoaW5nIHdpbGQgY2FyZHMuCiAgICAgICAgICAgICAgICAoPzwhPT18IT18fj0pICAgICAgICAgIyBXZSBoYXZlIHNwZWNpYWwgY2FzZXMgZm9yIHRoZXNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBvcGVyYXRvcnMgc28gd2Ugd2FudCB0byBtYWtlIHN1cmUgdGhleQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgZG9uJ3QgbWF0Y2ggaGVyZS4KCiAgICAgICAgICAgICAgICBccyoKICAgICAgICAgICAgICAgIHY/CiAgICAgICAgICAgICAgICAoPzpbMC05XSshKT8gICAgICAgICAgIyBlcG9jaAogICAgICAgICAgICAgICAgWzAtOV0rKD86XC5bMC05XSspKiAgICMgcmVsZWFzZQogICAgICAgICAgICAgICAgKD86ICAgICAgICAgICAgICAgICAgICMgcHJlIHJlbGVhc2UKICAgICAgICAgICAgICAgICAgICBbLV9cLl0/CiAgICAgICAgICAgICAgICAgICAgKGFscGhhfGJldGF8cHJldmlld3xwcmV8YXxifGN8cmMpCiAgICAgICAgICAgICAgICAgICAgWy1fXC5dPwogICAgICAgICAgICAgICAgICAgIFswLTldKgogICAgICAgICAgICAgICAgKT8KICAgICAgICAgICAgICAgICg/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBwb3N0IHJlbGVhc2UKICAgICAgICAgICAgICAgICAgICAoPzotWzAtOV0rKXwoPzpbLV9cLl0/KHBvc3R8cmV2fHIpWy1fXC5dP1swLTldKikKICAgICAgICAgICAgICAgICk/CiAgICAgICAgICAgICAgICAoPzpbLV9cLl0/ZGV2Wy1fXC5dP1swLTldKik/ICAgICAgICAgICMgZGV2IHJlbGVhc2UKICAgICAgICAgICAgKQogICAgICAgICkKICAgICAgICB6BF5ccyp6BFxzKiTaCmNvbXBhdGlibGXaBWVxdWFs2glub3RfZXF1YWzaD2xlc3NfdGhhbl9lcXVhbNoSZ3JlYXRlcl90aGFuX2VxdWFs2glsZXNzX3RoYW7aDGdyZWF0ZXJfdGhhbtoJYXJiaXRyYXJ5KQj6An49+gI9PXoCIT36Ajw9+gI+PdoBPNoBPvoDPT09TtoEc3BlY3IuAAAAchIAAABjAwAAAAAAAAAAAAAABQAAAAMAAADz8AAAAJcAfABqAAAAAAAAAAAAAAAAAAAAAAAAAGoDAAAAAAAAAAAAAAAAAAAAAAAAfAGrAQAAAAAAAH0DfANzD3QFAAAAAAAAAABkAXwBmwBkAp0DqwEAAAAAAACCAXwDagcAAAAAAAAAAAAAAAAAAAAAAABkA6sBAAAAAAAAagkAAAAAAAAAAAAAAAAAAAAAAACrAAAAAAAAAHwDagcAAAAAAAAAAAAAAAAAAAAAAABkBKsBAAAAAAAAagkAAAAAAAAAAAAAAAAAAAAAAACrAAAAAAAAAGYCfABfBQAAAAAAAAAAfAJ8AF8GAAAAAAAAAAB5BSkGYfABAABJbml0aWFsaXplIGEgU3BlY2lmaWVyIGluc3RhbmNlLgoKICAgICAgICA6cGFyYW0gc3BlYzoKICAgICAgICAgICAgVGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIHNwZWNpZmllciB3aGljaCB3aWxsIGJlIHBhcnNlZCBhbmQKICAgICAgICAgICAgbm9ybWFsaXplZCBi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ciB0byBhbGxvdwogICAgICAgICAgICBwcmVyZWxlYXNlcyBvciBub3QgKGJhc2VkIG9uIHRoZSA6YXR0cjpgcHJlcmVsZWFzZXNgIGF0dHJpYnV0ZSwgYW5kCiAgICAgICAgICAgIHdoZXRoZXIgdGhlIG9ubHkgdmVyc2lvbnMgbWF0Y2hpbmcgYXJlIHByZXJlbGVhc2VzKS4KCiAgICAgICAgVGhpcyBtZXRob2QgaXMgc21hcnRlciB0aGFuIGp1c3QgYGBmaWx0ZXIoU3BlY2lmaWVyKCkuY29udGFpbnMsIFsuLi5dKWBgCiAgICAgICAgYmVjYXVzZSBpdCBpbXBsZW1lbnRzIHRoZSBydWxlIGZyb20gOnBlcDpgNDQwYCB0aGF0IGEgcHJlcmVsZWFzZSBpdGVtCiAgICAgICAgU0hPVUxEIGJlIGFjY2VwdGVkIGlmIG5vIG90aGVyIHZlcnNpb25zIG1hdGNoIHRoZSBnaXZlbiBzcGVjaWZpZXIuCgogICAgICAgID4+PiBsaXN0KFNwZWNpZmllcigiPj0xLjIuMyIpLmZpbHRlcihbIjEuMiIsICIxLjMiLCAiMS41YTEiXSkpCiAgICAgICAgWycxLjMnXQogICAgICAgID4+PiBsaXN0KFNwZWNpZmllcigiPj0xLjIuMyIpLmZpbHRlcihbIjEuMiIsICIxLjIuMyIsICIxLjMiLCBWZXJzaW9uKCIxLjQiKV0pKQogICAgICAgIFsnMS4yLjMnLCAnMS4zJywgPFZlcnNpb24oJzEuNCcpPl0KICAgICAgICA+Pj4gbGlzdChTcGVjaWZpZXIoIj49MS4yLjMiKS5maWx0ZXIoWyIxLjIiLCAiMS41YTEiXSkpCiAgICAgICAgWycxLjVhMSddCiAgICAgICAgPj4+IGxpc3QoU3BlY2lmaWVyKCI+PTEuMi4zIikuZmlsdGVyKFsiMS4zIiwgIjEuNWExIl0sIHByZXJlbGVhc2VzPVRydWUpKQogICAgICAgIFsnMS4zJywgJzEuNWExJ10KICAgICAgICA+Pj4gbGlzdChTcGVjaWZpZXIoIj49MS4yLjMiLCBwcmVyZWxlYXNlcz1UcnVlKS5maWx0ZXIoWyIxLjMiLCAiMS41YTEiXSkpCiAgICAgICAgWycxLjMnLCAnMS41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dGhlIG9ubHkgdmVyc2lvbnMgbWF0Y2hpbmcgYXJlIHByZXJlbGVhc2VzKS4KCiAgICAgICAgVGhpcyBtZXRob2QgaXMgc21hcnRlciB0aGFuIGp1c3QgYGBmaWx0ZXIoU3BlY2lmaWVyU2V0KC4uLikuY29udGFpbnMsIFsuLi5dKWBgCiAgICAgICAgYmVjYXVzZSBpdCBpbXBsZW1lbnRzIHRoZSBydWxlIGZyb20gOnBlcDpgNDQwYCB0aGF0IGEgcHJlcmVsZWFzZSBpdGVtCiAgICAgICAgU0hPVUxEIGJlIGFjY2VwdGVkIGlmIG5vIG90aGVyIHZlcnNpb25zIG1hdGNoIHRoZSBnaXZlbiBzcGVjaWZpZXIuCgogICAgICAgID4+PiBsaXN0KFNwZWNpZmllclNldCgiPj0xLjIuMyIpLmZpbHRlcihbIjEuMiIsICIxLjMiLCAiMS41YTEiXSkpCiAgICAgICAgWycxLjMnXQogICAgICAgID4+PiBsaXN0KFNwZWNpZmllclNldCgiPj0xLjIuMyIpLmZpbHRlcihbIjEuMiIsICIxLjMiLCBWZXJzaW9uKCIxLjQiKV0pKQogICAgICAgIFsnMS4zJywgPFZlcnNpb24oJzEuNCcpPl0KICAgICAgICA+Pj4gbGlzdChTcGVjaWZpZXJTZXQoIj49MS4yLjMiKS5maWx0ZXIoWyIxLjIiLCAiMS41YTEiXSkpCiAgICAgICAgW10KICAgICAgICA+Pj4gbGlzdChTcGVjaWZpZXJTZXQoIj49MS4yLjMiKS5maWx0ZXIoWyIxLjMiLCAiMS41YTEiXSwgcHJlcmVsZWFzZXM9VHJ1ZSkpCiAgICAgICAgWycxLjMnLCAnMS41YTEnXQogICAgICAgID4+PiBsaXN0KFNwZWNpZmllclNldCgiPj0xLjIuMyIsIHByZXJlbGVhc2VzPVRydWUpLmZpbHRlcihbIjEuMyIsICIxLjVhMSJdKSkKICAgICAgICBbJzEuMycsICcxLjVhMSddCgogICAgICAgIEFuICJlbXB0eSIgU3BlY2lmaWVyU2V0IHdpbGwgZmlsdGVyIGl0ZW1zIGJhc2VkIG9uIHRoZSBwcmVzZW5jZSBvZiBwcmVyZWxlYXNlCiAgICAgICAgdmVyc2lvbnMgaW4gdGhl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
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 0 × Files: 14
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
markers.cpython-312.pyc
10.31 KB
lrw-r--r--
2026-01-08 18:42:35
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
metadata.cpython-312.pyc
9.67 KB
lrw-r--r--
2026-01-08 18:42:35
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
requirements.cpython-312.pyc
4.83 KB
lrw-r--r--
2026-01-08 18:42:35
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
specifiers.cpython-312.pyc
37.79 KB
lrw-r--r--
2026-01-08 18:42:35
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
tags.cpython-312.pyc
20.24 KB
lrw-r--r--
2026-01-08 18:42:35
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
utils.cpython-312.pyc
5.90 KB
lrw-r--r--
2026-01-08 18:42:35
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
version.cpython-312.pyc
19.35 KB
lrw-r--r--
2026-01-08 18:42:35
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_elffile.cpython-312.pyc
4.96 KB
lrw-r--r--
2026-01-08 18:42:35
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_manylinux.cpython-312.pyc
8.97 KB
lrw-r--r--
2026-01-08 18:42:35
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_musllinux.cpython-312.pyc
4.37 KB
lrw-r--r--
2026-01-08 18:42:35
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_parser.cpython-312.pyc
13.53 KB
lrw-r--r--
2026-01-08 18:42:35
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_structures.cpython-312.pyc
3.23 KB
lrw-r--r--
2026-01-08 18:42:35
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_tokenizer.cpython-312.pyc
7.82 KB
lrw-r--r--
2026-01-08 18:42:35
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-312.pyc
625 B
lrw-r--r--
2026-01-08 18:42:35
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).