REDROOM
PHP 8.2.31
Path:
Logout
Edit File
Size: 74.04 KB
Close
/lib/python2.7/site-packages/ipaddress.pyc
Text
Base64
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dGhlIGZpcnN0IGFuZCBsYXN0IElQIGFkZHJlc3Nlcy4KCiAgICBFeGFtcGxlOgogICAgICAgID4+PiBsaXN0KHN1bW1hcml6ZV9hZGRyZXNzX3JhbmdlKElQdjRBZGRyZXNzKCcxOTIuMC4yLjAnKSwKICAgICAgICAuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUHY0QWRkcmVzcygnMTkyLjAuMi4xMzAnKSkpCiAgICAgICAgLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZG9jdGVzdDogK05PUk1BTElaRV9XSElURVNQQUNFCiAgICAgICAgW0lQdjROZXR3b3JrKCcxOTIuMC4yLjAvMjUnKSwgSVB2NE5ldHdvcmsoJzE5Mi4wLjIuMTI4LzMxJyksCiAgICAgICAgIElQdjROZXR3b3JrKCcxOTIuMC4yLjEzMC8zMicpXQoKICAgIEFyZ3M6CiAgICAgICAgZmlyc3Q6IHRoZSBmaXJzdCBJUHY0QWRkcmVzcyBvciBJUHY2QWRkcmVzcyBpbiB0aGUgcmFuZ2UuCiAgICAgICAgbGFzdDogdGhlIGxhc3QgSVB2NEFkZHJlc3Mgb3IgSVB2NkFkZHJlc3MgaW4gdGhlIHJhbmdlLgoKICAgIFJldHVybnM6CiAgICAgICAgQW4gaXRlcmF0b3Igb2YgdGhlIHN1bW1hcml6ZWQgSVB2KDR8NikgbmV0d29yayBvYmplY3RzLgoKICAgIFJhaXNlOgogICAgICAgIFR5cGVFcnJvcjoKICAgICAgICAgICAgSWYgdGhlIGZpcnN0IGFuZCBsYXN0IG9iamVjdHMgYXJlIG5vdCBJUCBhZGRyZXNzZXMuCiAgICAgICAgICAgIElmIHRoZSBmaXJzdCBhbmQgbGFzdCBvYmplY3RzIGFyZSBub3QgdGhlIHNhbWUgdmVyc2lvbi4KICAgICAgICBWYWx1ZUVycm9yOgogICAgICAgICAgICBJZiB0aGUgbGFzdCBvYmplY3QgaXMgbm90IGdyZWF0ZXIgdGhhbiB0aGUgZmlyc3QuCiAgICAgICAgICAgIElmIHRoZSB2ZXJzaW9uIG9mIHRoZSBmaXJzdCBhZGRyZXNzIGlzIG5vdCA0IG9yIDYuCgogICAg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fAIAfAEAawIAclQBfAMAVgFuLQB8AwB8AQBrAgByaAF8AgBWAW4ZAHQKAGQGAHwCAHwDAHwBAGYDABaDAQCCAQBkBABTKAcAAAB1ugQAAFJlbW92ZSBhbiBhZGRyZXNzIGZyb20gYSBsYXJnZXIgYmxvY2suCgogICAgICAgIEZvciBleGFtcGxlOgoKICAgICAgICAgICAgYWRkcjEgPSBpcF9uZXR3b3JrKCcxOTIuMC4yLjAvMjgnKQogICAgICAgICAgICBhZGRyMiA9IGlwX25ldHdvcmsoJzE5Mi4wLjIuMS8zMicpCiAgICAgICAgICAgIGxpc3QoYWRkcjEuYWRkcmVzc19leGNsdWRlKGFkZHIyKSkgPQogICAgICAgICAgICAgICAgW0lQdjROZXR3b3JrKCcxOTIuMC4yLjAvMzInKSwgSVB2NE5ldHdvcmsoJzE5Mi4wLjIuMi8zMScpLAogICAgICAgICAgICAgICAgIElQdjROZXR3b3JrKCcxOTIuMC4yLjQvMzAnKSwgSVB2NE5ldHdvcmsoJzE5Mi4wLjIuOC8yOScpXQoKICAgICAgICBvciBJUHY2OgoKICAgICAgICAgICAgYWRkcjEgPSBpcF9uZXR3b3JrKCcyMDAxOmRiODo6MS8zMicpCiAgICAgICAgICAgIGFkZHIyID0gaXBfbmV0d29yaygnMjAwMTpkYjg6OjEvMTI4JykKICAgICAgICAgICAgbGlzdChhZGRyMS5hZGRyZXNzX2V4Y2x1ZGUoYWRkcjIpKSA9CiAgICAgICAgICAgICAgICBbaXBfbmV0d29yaygnMjAwMTpkYjg6OjEvMTI4JyksCiAgICAgICAgICAgICAgICAgaXBfbmV0d29yaygnMjAwMTpkYjg6OjIvMTI3JyksCiAgICAgICAgICAgICAgICAgaXBfbmV0d29yaygnMjAwMTpkYjg6OjQvMTI2JyksCiAgICAgICAgICAgICAgICAgaXBfbmV0d29yaygnMjAwMTpkYjg6OjgvMTI1JyksCiAgICAgICAgICAgICAgICAgLi4uCiAgICAgICAgICAgICAgICAgaXBfbmV0d29yaygnMjAwMTpkYjg6ODAwMDo6LzMzJyldCgogICAgICAgIEFyZ3M6CiAgICAgICAgICAgIG90aGVyOiBB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OjAwMDA6MDAwMDowMDAwLzEyOCcKICAgICAgICAgICAgICAnMjAwMTpkYjg6OicKICAgICAgICAgICAgICBhcmUgYWxsIGZ1bmN0aW9uYWxseSB0aGUgc2FtZSBpbiBJUHY2LiAgVGhhdCBpcyB0byBzYXksCiAgICAgICAgICAgICAgZmFpbGluZyB0byBwcm92aWRlIGEgc3VibmV0bWFzayB3aWxsIGNyZWF0ZSBhbiBvYmplY3Qgd2l0aAogICAgICAgICAgICAgIGEgbWFzayBvZiAvMTI4LgoKICAgICAgICAgICAgICBBZGRpdGlvbmFsbHksIGFuIGludGVnZXIgY2FuIGJlIHBhc3NlZCwgc28KICAgICAgICAgICAgICBJUHY2TmV0d29yaygnMjAwMTpkYjg6OicpID09CiAgICAgICAgICAgICAgICBJUHY2TmV0d29yayg0MjU0MDc2NjQxMTI4MjU5Mjg1NjkwMzk4NDk1MTY1MzgyNjU2MCkKICAgICAgICAgICAgICBvciwgbW9yZSBnZW5lcmFsbHkKICAgICAgICAgICAgICBJUHY2TmV0d29yayhpbnQoSVB2Nk5ldHdvcmsoJzIwMDE6ZGI4OjonKSkpID09CiAgICAgICAgICAgICAgICBJUHY2TmV0d29yaygnMjAwMTpkYjg6OicpCgogICAgICAgICAgICBzdHJpY3Q6IEEgYm9vbGVhbi4gSWYgdHJ1ZSwgZW5zdXJlIHRoYXQgd2UgaGF2ZSBiZWVuIHBhc3NlZAogICAgICAgICAgICAgIEEgdHJ1ZSBuZXR3b3JrIGFkZHJlc3MsIGVnLCAyMDAxOmRiODo6MTAwMC8xMjQgYW5kIG5vdCBhbgogICAgICAgICAgICAgIElQIGFkZHJlc3Mgb24gYSBuZXR3b3JrLCBlZywgMjAwMTpkYjg6OjEvMTI0LgoKICAgICAgICBSYWlzZXM6CiAgICAgICAgICAgIEFkZHJlc3NWYWx1ZUVycm9yOiBJZiBhZGRyZXNzIGlzbid0IGEgdmFsaWQgSVB2NiBhZGRyZXNzLgogICAgICAgICAgICBOZXRtYXNrVmFsdWVFcnJvcjogSWYgdGhlIG5ldG1hc2sgaXNuJ3QgdmFsaWQgZm9yCiAgICAgICAgICAgICAgYW4gSVB2NiBhZGRyZXNzLgogICAgICAgICAgICBWYWx1ZUVycm9yOiBJZiBzdHJpY3Qgd2FzIFRydWUgYW5kIGEgbmV0d29yayBhZGRyZXNzIHdhcyBub3QKICAgICAgICAgICAgICBzdXBwbGllZC4KCiAgICAgICAgTmkBAAAAaQAAAAB1FAAAACVzIGhhcyBob3N0IGJpdHMgc2V0aQIAAAAoEwAAAFJzAAAAUqgAAABSBwAAAFIxAAAAUggAAABSMAAAAFJsAAAAUs8AAABSVAAAAFKyAAAAUmoAAABS7AAAAFJBAAAAUpMAAABSMgAAAFJDAAAAUpYAAABSrgAAAFKtAAAAKAYAAABSHgAAAFIzAAAAUjcAAABSzgAAAFLiAAAAUkIAAAAoAAAAACgAAAAAcy0AAAAvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9pcGFkZHJlc3MucHlSqAAAAO0IAABzQgAAAAAgEAMVAQ8BBgEYAQQCDwESAQ0CCQEbARMBDwEZAQYBEwIGARkBBAQMAhwCEgENAgkBGwIGAR8BDAEWAQ8BFgIWAWMBAAAABAAAAAQAAABjAAIAc1IAAAB0AAB8AABqAQCDAQB9AQB0AAB8AABqAgCDAQB9AgB4LQB0AwB8AQBkAQAXfAIAZAEAF4MCAERdFAB9AwB8AABqBAB8AwCDAQBWAXE2AFdkAgBTKAMAAAB1ogAAAEdlbmVyYXRlIEl0ZXJhdG9yIG92ZXIgdXNhYmxlIGhvc3RzIGluIGEgbmV0d29yay4KCiAgICAgICAgICBUaGlzIGlzIGxpa2UgX19pdGVyX18gZXhjZXB0IGl0IGRvZXNuJ3QgcmV0dXJuIHRoZQogICAgICAgICAgU3VibmV0LVJvdXRlciBhbnljYXN0IGFkZHJlc3MuCgogICAgICAgIGkBAAAATigFAAAAUpMAAABSbAAAAFJkAAAAUhwAAABSqQAAACgEAAAAUh4AAABSqgAAAFKrAAAAUqwAAAAoAAAAACgAAAAAcy0AAAAvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9pcGFkZHJlc3MucHlSrQAAADwJAABzCAAAAAAHDwEPAR4BYwEAAAABAAAAAQAAAEMAAgBzFgAAAHwAAGoAAGoBAG8VAHwAAGoCAGoBAFMoAQAAAHVgAQAAVGVzdCBpZiB0aGUgYWRkcmVzcyBpcyByZXNlcnZlZCBmb3Igc2l0ZS1sb2NhbC4KCiAgICAgICAgTm90ZSB0aGF0IHRoZSBzaXRlLWxvY2FsIGFkZHJlc3Mgc3BhY2UgaGFzIGJlZW4gZGVwcmVjYXRlZCBieSBSRkMgMzg3OS4KICAgICAgICBVc2UgaXNfcHJpdmF0ZSB0byB0ZXN0IGlmIHRoaXMgYWRkcmVzcyBpcyBpbiB0aGUgc3BhY2Ugb2YgdW5pcXVlIGxvY2FsCiAgICAgICAgYWRkcmVzc2VzIGFzIGRlZmluZWQgYnkgUkZDIDQxOTMuCgogICAgICAgIFJldHVybnM6CiAgICAgICAgICAgIEEgYm9vbGVhbiwgVHJ1ZSBpZiB0aGUgYWRkcmVzcyBpcyByZXNlcnZlZCBwZXIgUkZDIDM1MTMgMi41LjYuCgogICAgICAgICgDAAAAUmwAAABSDQEAAFJkAAAAKAEAAABSHgAAACgAAAAAKAAAAABzLQAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL2lwYWRkcmVzcy5weVINAQAASAkAAHMEAAAAAAwMASgKAAAAUikAAABSKgAAAFItAAAAUjAAAABSqQAAAFLZAAAAUqgAAABSrQAAAFKbAAAAUg0BAAAoAAAAACgAAAAAKAAAAABzLQAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL2lwYWRkcmVzcy5weVI2AAAA3QgAAHMKAAAABgsGAwYCDE8JDHQOAAAAX0lQdjZDb25zdGFudHNjAAAAAAAAAAAQAAAAQgACAHMZAQAAZQAAWgEAZQIAZAAAgwEAWgMAZQIAZAEAgwEAWgQAZQIAZAIAgwEAZQIAZAMAgwEAZQIAZAQAgwEAZQIAZAUAgwEAZQIAZAYAgwEAZQIAZAcAgwEAZQIAZAgAgwEAZQIAZAkAgwEAZQIAZAoAgwEAZQIAZAAAgwEAZwoAWgUAZQIAZAsAgwEAZQIAZAwAgwEAZQIAZA0AgwEAZQIAZA4AgwEAZQIAZA8AgwEAZQIAZBAAgwEAZQIAZBEAgwEAZQIAZBIAgwEAZQIAZBMAgwEAZQIAZBQAgwEAZQIAZBUAgwEAZQIAZBYAgwEAZQIAZBcAgwEAZQIAZBgAgwEAZQIAZBkAgwEAZw8AWgYAZQIAZBoAgwEAWgcAUlMoGwAAAHUJAAAAZmU4MDo6LzEwdQgAAABmZjAwOjovOHUHAAAAOjoxLzEyOHUGAAAAOjovMTI4dQ0AAAA6OmZmZmY6MDowLzk2dQgAAAAxMDA6Oi82NHUJAAAAMjAwMTo6LzIzdQsAAAAyMDAxOjI6Oi80OHUNAAAAMjAwMTpkYjg6Oi8zMnUMAAAAMjAwMToxMDo6LzI4dQgAAABmYzAwOjovN3UEAAAAOjovOHUHAAAAMTAwOjovOHUHAAAAMjAwOjovN3UHAAAANDAwOjovNnUHAAAAODAwOjovNXUIAAAAMTAwMDo6LzR1CAAAADQwMDA6Oi8zdQgAAAA2MDAwOjovM3UIAAAAODAwMDo6LzN1CAAAAEEwMDA6Oi8zdQgAAABDMDAwOjovM3UIAAAARTAwMDo6LzR1CAAAAEYwMDA6Oi81dQgAAABGODAwOjovNnUIAAAARkUwMDo6Lzl1CQAAAGZlYzA6Oi8xMCgIAAAAUikAAABSKgAAAFI2AAAAUusAAABS6AAAAFLmAAAAUgsBAABSDAEAACgAAAAAKAAAAAAoAAAAAHMtAAAAL3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvaXBhZGRyZXNzLnB5UhEBAABYCQAAcyoAAAAGAgwCDAMJAQkBCQEJAQkBCQEJAQkBCQEPBBIBEgESARIBEgESARIBDwMoOQAAAFItAAAAdAoAAABfX2Z1dHVyZV9fUgAAAABSFwAAAFIDAAAAdAsAAABfX3ZlcnNpb25fX1KTAAAAUggAAAB0BAAAAGxvbmd0CQAAAE5hbWVFcnJvcnQHAAAAdW5pY29kZVI/AAAAdAMAAABzdHJSMQAAAFIGAAAAUgIAAAB0CgAAAGZyb21fYnl0ZXNSDQAAAFJrAAAAUhMAAABSxQAAAFIWAAAAUhwAAAB0BgAAAG9iamVjdFIdAAAAUt4AAABSCgEAAFIyAAAAUiwAAABSLgAAAFI0AAAAUtkAAABSOAAAAFI7AAAAUj0AAABSPgAAAFJDAAAAUkwAAABSUAAAAFJbAAAAUmgAAABScgAAAFJ3AAAAUngAAABSUQAAAFJzAAAAUpAAAABSLwAAAFI5AAAAUjUAAABS7wAAAFLjAAAAUvAAAABSMAAAAFI6AAAAUjYAAABSEQEAACgAAAAAKAAAAAAoAAAAAHMtAAAAL3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvaXBhZGRyZXNzLnB5dAgAAAA8bW9kdWxlPgkAAABzeAAAAAYCEAMMAQwCBgMJAQMBEAENAQQBAwEKAQ0BBgEWARABDAMJAgMBDQENAQ0JCQ8PAgwDCQYMCBYpBgEGAxYEFgQJJAwkCSMJFAkQCQgJFAkQCTcJMQk2CRkWnRY9Fv8A3hapGXYWUhlyFiAJAxb/AB4ZtBZWGXsWIQ==
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 10 × Files: 10
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
google
DIR
-
drwxr-xr-x
2025-10-21 13:29:00
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ipaddress-1.0.18-py2.7.egg-info
DIR
-
drwxr-xr-x
2024-03-06 00:08:53
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
pip
DIR
-
drwxr-xr-x
2024-03-03 20:23:47
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
pip-9.0.3.dist-info
DIR
-
drwxr-xr-x
2024-03-03 20:23:47
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
pkg_resources
DIR
-
drwxr-xr-x
2024-06-15 07:06:53
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
protobuf-3.5.0-py2.7.egg-info
DIR
-
drwxr-xr-x
2025-10-28 07:00:35
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
pycriu
DIR
-
drwxr-xr-x
2026-06-03 07:05:12
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
setuptools
DIR
-
drwxr-xr-x
2024-06-15 07:06:53
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
setuptools-39.0.1.dist-info
DIR
-
drwxr-xr-x
2024-06-15 07:06:53
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
six-1.11.0.dist-info
DIR
-
drwxr-xr-x
2024-03-06 00:08:52
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
easy_install.py
126 B
lrw-r--r--
2024-04-10 05:04:00
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
easy_install.pyc
315 B
lrw-r--r--
2024-04-10 05:04:00
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
easy_install.pyo
315 B
lrw-r--r--
2024-04-10 05:04:00
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ipaddress.py
78.28 KB
lrw-r--r--
2017-01-11 12:29:13
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ipaddress.pyc
74.04 KB
lrw-r--r--
2022-04-21 15:05:35
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ipaddress.pyo
73.86 KB
lrw-r--r--
2022-04-21 15:05:35
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
protobuf-3.5.0-py2.7-nspkg.pth
539 B
lrw-r--r--
2025-10-21 13:29:01
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
six.py
30.16 KB
lrw-r--r--
2022-04-21 16:04:41
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
six.pyc
30.05 KB
lrw-r--r--
2022-04-21 16:04:42
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
six.pyo
30.05 KB
lrw-r--r--
2022-04-21 16:04:42
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).