REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 43.76 KB
Close
/proc/thread-self/root/proc/self/root/opt/alt/python37/lib64/python3.7/xml/etree/__pycache__/ElementTree.cpython-37.pyc
Text
Base64
Qg0NCgAAAACICCBmst8AAOMAAAAAAAAAAAAAAAAXAAAAQAAAAHNWAgAAZABaAGQBZAJkA2QEZAVkBmQHZAhkCWQKZAtkDGQNZA5kD2QQZBFkEmQTZBRkFWQWZBdnF1oBZBhaAmQZZBpsA1oDZBlkGmwEWgRkGWQabAVaBWQZZBpsBloGZBlkGmwHWgdkGWQabAhaB2QZZBpsCVoJZBtkHGwKbQtaCwEARwBkHWQKhABkCmUMgwNaDWQeZAeEAFoORwBkH2QDhABkA4MCWg9pAGYBZCBkDoQBWhBkU2QhZAGEAVoRZFRkImQMhAFaEmUSWhNHAGQjZA2EAGQNgwJaFEcAZCRkBIQAZASDAloVZQlqFmQlZCaEAIMBWhdkVWQnZCiEAVoYZClkKoQAWhlkK1oaeQxlG2UagwFaGlcAbhYEAGUcawqQAXIqAQABAAEAWQBuAlgAZCxkLYQAWh1kLmQvhABaHmUZZR1lHmQwnANaH2QxZBeEAFogZDJkM2Q0ZDVkNmQ3ZDhkOZwHWiFlIWUgXyFkOmQ7hABaImQ8ZD2EAFojZD5kP4QAWiRkQGRBhABaJWRWZEJkQ5wBZERkD4QDWiZHAGRFZEaEAGRGZQZqJ4MDWihkV2RCZEOcAWRHZBCEA1opZEhkAoQAWipkWGRJZAmEAVorZFlkSmQIhAFaLEcAZEtkFoQAZBaDAlotZFpkTGQThAFaLmRbZE1kFIQBWi9lLlowZFxkTmQGhAFaMUcAZE9kEYQAZBGDAloyZFBnAVozRwBkUWQVhABkFYMCWjR5EGUPWjVkGWRSbDZUAFcAbhYEAGU3awqQAnJQAQABAAEAWQBuAlgAZBpTACldYQYFAABMaWdodHdlaWdodCBYTUwgc3VwcG9ydCBmb3IgUHl0aG9uLgoKIFhNTCBpcyBhbiBpbmhlcmVudGx5IGhpZXJhcmNoaWNhbCBkYXRhIGZvcm1hdCwgYW5kIHRoZSBtb3N0IG5hdHVyYWwgd2F5IHRvCiByZXByZXNlbnQgaXQgaXMgd2l0aCBhIHRyZWUuICBUaGlzIG1vZHVsZSBoYXMgdHdvIGNsYXNzZXMgZm9yIHRoaXMgcHVycG9zZToKCiAgICAxLiBFbGVtZW50VHJlZSByZXByZXNlbnRzIHRoZSB3aG9sZSBYTUwgZG9jdW1lbnQgYXMgYSB0cmVlIGFuZAoKICAgIDIuIEVsZW1lbnQgcmVwcmVzZW50cyBhIHNpbmdsZSBub2RlIGluIHRoaXMgdHJlZS4KCiBJbnRlcmFjdGlvbnMgd2l0aCB0aGUgd2hvbGUgZG9jdW1lbnQgKHJlYWRpbmcgYW5kIHdyaXRpbmcgdG8vZnJvbSBmaWxlcykgYXJlCiB1c3VhbGx5IGRvbmUgb24gdGhlIEVsZW1lbnRUcmVlIGxldmVsLiAgSW50ZXJhY3Rpb25zIHdpdGggYSBzaW5nbGUgWE1MIGVsZW1lbnQKIGFuZCBpdHMgc3ViLWVsZW1lbnRzIGFyZSBkb25lIG9uIHRoZSBFbGVtZW50IGxldmVsLgoKIEVsZW1lbnQgaXMgYSBmbGV4aWJsZSBjb250YWluZXIgb2JqZWN0IGRlc2lnbmVkIHRvIHN0b3JlIGhpZXJhcmNoaWNhbCBkYXRhCiBzdHJ1Y3R1cmVzIGluIG1lbW9yeS4gSXQgY2FuIGJlIGRlc2NyaWJlZCBhcyBhIGNyb3NzIGJldHdlZW4gYSBsaXN0IGFuZCBhCiBkaWN0aW9uYXJ5LiAgRWFjaCBFbGVtZW50IGhhcyBhIG51bWJlciBvZiBwcm9wZXJ0aWVzIGFzc29jaWF0ZWQgd2l0aCBpdDoKCiAgICAndGFnJyAtIGEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIGVsZW1lbnQncyBuYW1lLgoKICAgICdhdHRyaWJ1dGVzJyAtIGEgUHl0aG9uIGRpY3Rpb25hcnkgc3RvcmluZyB0aGUgZWxlbWVudCdzIGF0dHJpYnV0ZXMuCgogICAgJ3RleHQnIC0gYSBzdHJpbmcgY29udGFpbmluZyB0aGUgZWxlbWVudCdzIHRleHQgY29udGVudC4KCiAgICAndGFpbCcgLSBhbiBvcHRpb25hbCBzdHJpbmcgY29udGFpbmluZyB0ZXh0IGFmdGVyIHRoZSBlbGVtZW50J3MgZW5kIHRhZy4KCiAgICBBbmQgYSBudW1iZXIgb2YgY2hpbGQgZWxlbWVudHMgc3RvcmVkIGluIGEgUHl0aG9uIHNlcXVlbmNlLgoKIFRvIGNyZWF0ZSBhbiBlbGVtZW50IGluc3RhbmNlLCB1c2UgdGhlIEVsZW1lbnQgY29uc3RydWN0b3IsCiBvciB0aGUgU3ViRWxlbWVudCBmYWN0b3J5IGZ1bmN0aW9uLgoKIFlvdSBjYW4gYWxzbyB1c2UgdGhlIEVsZW1lbnRUcmVlIGNsYXNzIHRvIHdyYXAgYW4gZWxlbWVudCBzdHJ1Y3R1cmUKIGFuZCBjb252ZXJ0IGl0IHRvIGFuZCBmcm9tIFhNTC4KCtoHQ29tbWVudNoEZHVtcNoHRWxlbWVudNoLRWxlbWVudFRyZWXaCmZyb21zdHJpbmfaDmZyb21zdHJpbmdsaXN02glpc2VsZW1lbnTaCWl0ZXJwYXJzZdoFcGFyc2XaClBhcnNlRXJyb3LaAlBJ2hVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb27aBVFOYW1l2gpTdWJFbGVtZW502gh0b3N0cmluZ9oMdG9zdHJpbmdsaXN02gtUcmVlQnVpbGRlctoHVkVSU0lPTtoDWE1M2gVYTUxJRNoJWE1MUGFyc2Vy2g1YTUxQdWxsUGFyc2Vy2hJyZWdpc3Rlcl9uYW1lc3BhY2V6BTEuMy4w6QAAAABO6QEAAAApAdoLRWxlbWVudFBhdGhjAAAAAAAAAAAAAAAAAQAAAEAAAABzEAAAAGUAWgFkAFoCZAFaA2QCUwApA3IKAAAAeuxBbiBlcnJvciB3aGVuIHBhcnNpbmcgYW4gWE1MIGRvY3VtZW50LgoKICAgIEluIGFkZGl0aW9uIHRvIGl0cyBleGNlcHRpb24gdmFsdWUsIGEgUGFyc2VFcnJvciBjb250YWlucwogICAgdHdvIGV4dHJhIGF0dHJpYnV0ZXM6CiAgICAgICAgJ2NvZGUnICAgICAtIHRoZSBzcGVjaWZpYyBleGNlcHRpb24gY29kZQogICAgICAgICdwb3NpdGlvbicgLSB0aGUgbGluZSBhbmQgY29sdW1uIG9mIHRoZSBlcnJvcgoKICAgIE4pBNoIX19uYW1lX1/aCl9fbW9kdWxlX1/aDF9fcXVhbG5hbWVfX9oHX19kb2NfX6kAch8AAAByHwAAAPo6L29wdC9hbHQvcHl0aG9uMzcvbGliNjQvcHl0aG9uMy43L3htbC9ldHJlZS9FbGVtZW50VHJlZS5weXIKAAAAaQAAAHMEAAAACAgEAWMBAAAAAAAAAAEAAAADAAAAQwAAAHMKAAAAdAB8AGQBgwJTACkCejJSZXR1cm4gVHJ1ZSBp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AKABfAB8AXwCfAOhBFMAKQFh5AEAAEZpbmQgdGV4dCBmb3IgZmlyc3QgbWF0Y2hpbmcgZWxlbWVudCBieSB0YWcgbmFtZSBvciBwYXRoLgoKICAgICAgICAqcGF0aCogaXMgYSBzdHJpbmcgaGF2aW5nIGVpdGhlciBhbiBlbGVtZW50IHRhZyBvciBhbiBYUGF0aCwKICAgICAgICAqZGVmYXVsdCogaXMgdGhlIHZhbHVlIHRvIHJldHVybiBpZiB0aGUgZWxlbWVudCB3YXMgbm90IGZvdW5kLAogICAgICAgICpuYW1lc3BhY2VzKiBpcyBhbiBvcHRpb25hbCBtYXBwaW5nIGZyb20gbmFtZXNwYWNlIHByZWZpeCB0byBmdWxsIG5hbWUuCgogICAgICAgIFJldHVybiB0ZXh0IGNvbnRlbnQgb2YgZmlyc3QgbWF0Y2hpbmcgZWxlbWVudCwgb3IgZGVmYXVsdCB2YWx1ZSBpZgogICAgICAgIG5vbmUgd2FzIGZvdW5kLiAgTm90ZSB0aGF0IGlmIGFuIGVsZW1lbnQgaXMgZm91bmQgaGF2aW5nIG5vIHRleHQKICAgICAgICBjb250ZW50LCB0aGUgZW1wdHkgc3RyaW5nIGlzIHJldHVybmVkLgoKICAgICAgICApAnIaAAAA2ghmaW5kdGV4dCkEciwAAAByTgAAANoHZGVmYXVsdHJPAAAAch8AAAByHwAAAHIgAAAAclAAAAAtAQAAcwIAAAAADHoQRWxlbWVudC5maW5kdGV4dGMDAAAAAAAAAAMAAAAFAAAAQwAAAHMOAAAAdACgAXwAfAF8AqEDUwApAWEcAQAARmluZCBhbGwgbWF0Y2hpbmcgc3ViZWxlbWVudHMgYnkgdGFnIG5hbWUgb3IgcGF0aC4KCiAgICAgICAgKnBhdGgqIGlzIGEgc3RyaW5nIGhhdmluZyBlaXRoZXIgYW4gZWxlbWVudCB0YWcgb3IgYW4gWFBhdGgsCiAgICAgICAgKm5hbWVzcGFjZXMqIGlzIGFuIG9wdGlvbmFsIG1hcHBpbmcgZnJvbSBuYW1lc3BhY2UgcHJlZml4IHRvIGZ1bGwgbmFtZS4KCiAgICAgICAgUmV0dXJucyBsaXN0IGNvbnRhaW5pbmcgYWxsIG1hdGNoaW5nIGVsZW1lbnRz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
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 0 × Files: 15
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
cElementTree.cpython-37.opt-1.pyc
184 B
lrw-r--r--
2024-04-17 17:36:13
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
cElementTree.cpython-37.opt-2.pyc
184 B
lrw-r--r--
2024-04-17 17:35:57
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
cElementTree.cpython-37.pyc
184 B
lrw-r--r--
2024-04-17 17:36:19
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ElementInclude.cpython-37.opt-1.pyc
1.54 KB
lrw-r--r--
2024-04-17 17:36:13
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ElementInclude.cpython-37.opt-2.pyc
1.54 KB
lrw-r--r--
2024-04-17 17:35:57
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ElementInclude.cpython-37.pyc
1.54 KB
lrw-r--r--
2024-04-17 17:36:19
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ElementPath.cpython-37.opt-1.pyc
6.20 KB
lrw-r--r--
2024-04-17 17:36:13
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ElementPath.cpython-37.opt-2.pyc
6.20 KB
lrw-r--r--
2024-04-17 17:35:57
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ElementPath.cpython-37.pyc
6.20 KB
lrw-r--r--
2024-04-17 17:36:19
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ElementTree.cpython-37.opt-1.pyc
43.46 KB
lrw-r--r--
2024-04-17 17:36:13
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ElementTree.cpython-37.opt-2.pyc
27.56 KB
lrw-r--r--
2024-04-17 17:35:57
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ElementTree.cpython-37.pyc
43.76 KB
lrw-r--r--
2024-04-17 17:36:19
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-37.opt-1.pyc
142 B
lrw-r--r--
2024-04-17 17:36:13
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-37.opt-2.pyc
142 B
lrw-r--r--
2024-04-17 17:35:57
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-37.pyc
142 B
lrw-r--r--
2024-04-17 17:36:19
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).