REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 36.60 KB
Close
/opt/hc_python/lib/python3.12/site-packages/sqlalchemy/ext/asyncio/__pycache__/result.cpython-312.pyc
Text
Base64
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ICBob3dldmVyIGFubm90YXRlcyBhcyByZXR1cm5pbmcgYSA6Y2xhc3M6YF9hc3luY2lvLkFzeW5jVHVwbGVSZXN1bHRgCiAgICAgICAgb2JqZWN0IHRoYXQgd2lsbCBpbmRpY2F0ZSB0byA6cGVwOmA0ODRgIHR5cGluZyB0b29scyB0aGF0IHBsYWluIHR5cGVkCiAgICAgICAgYGBUdXBsZWBgIGluc3RhbmNlcyBhcmUgcmV0dXJuZWQgcmF0aGVyIHRoYW4gcm93cy4gIFRoaXMgYWxsb3dzCiAgICAgICAgdHVwbGUgdW5wYWNraW5nIGFuZCBgYF9fZ2V0aXRlbV9fYGAgYWNjZXNzIG9mIDpjbGFzczpgX2VuZ2luZS5Sb3dgCiAgICAgICAgb2JqZWN0cyB0byBieSB0eXBlZCwgZm9yIHRob3NlIGNhc2VzIHdoZXJlIHRoZSBzdGF0ZW1lbnQgaW52b2tlZAogICAgICAgIGl0c2VsZiBpbmNsdWRlZCB0eXBpbmcgaW5mb3JtYXRpb24uCgogICAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDIuMAoKICAgICAgICA6cmV0dXJuOiB0aGUgOmNsYXNzOmBfcmVzdWx0LkFzeW5jVHVwbGVSZXN1bHRgIHR5cGUgYXQgdHlwaW5nIHRpbWUuCgogICAgICAgIC4uIHNlZWFsc286OgoKICAgICAgICAgICAgOmF0dHI6YF9hc3luY2lvLkFzeW5jUmVzdWx0LnRgIC0gc2hvcnRlciBzeW5vbnltCgogICAgICAgICAgICA6YXR0cjpgX2VuZ2luZS5Sb3cudGAgLSA6Y2xhc3M6YF9lbmdpbmUuUm93YCB2ZXJzaW9uCgogICAgICAgIHIlAAAAcisAAABzAQAAACByLQAAANoGdHVwbGVzehJBc3luY1Jlc3VsdC50dXBsZXN2AAAAcwkAAACAAPAwABAUiAtyMAAAAE5jAgAAAAAAAAAAAAAAAgAAAAMAAAHzKAAAAJcAdAEAAAAAAAAAAKsAAAAAAAAAfAFmAnwAXwEAAAAAAAAAAHwAUwApAXroQXBwbHkgdW5pcXVlIGZpbHRlcmluZyB0byB0aGUgb2JqZWN0cyByZXR1cm5lZCBieSB0aGlzCiAgICAgICAgOmNsYXNzOmBfYXN5bmNp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IG9yIGNvbWJpbmUgOm1ldGg6YF9hc3luY2lvLkFzeW5jUmVzdWx0LnNjYWxhcnNgIGFuZAogICAgICAgICAgIDptZXRoOmBfYXN5bmNpby5Bc3luY1Jlc3VsdC5maXJzdGAuCgogICAgICAgICAgIEFkZGl0aW9uYWxseSwgaW4gY29udHJhc3QgdG8gdGhlIGJlaGF2aW9yIG9mIHRoZSBsZWdhY3kgIE9STQogICAgICAgICAgIDptZXRoOmBfb3JtLlF1ZXJ5LmZpcnN0YCBtZXRob2QsICoqbm8gbGltaXQgaXMgYXBwbGllZCoqIHRvIHRoZQogICAgICAgICAgIFNRTCBxdWVyeSB3aGljaCB3YXMgaW52b2tlZCB0byBwcm9kdWNlIHRoaXMKICAgICAgICAgICA6Y2xhc3M6YF9hc3luY2lvLkFzeW5jUmVzdWx0YDsKICAgICAgICAgICBmb3IgYSBEQkFQSSBkcml2ZXIgdGhhdCBidWZmZXJzIHJlc3VsdHMgaW4gbWVtb3J5IGJlZm9yZSB5aWVsZGluZwogICAgICAgICAgIHJvd3MsIGFsbCByb3dzIHdpbGwgYmUgc2VudCB0byB0aGUgUHl0aG9uIHByb2Nlc3MgYW5kIGFsbCBidXQKICAgICAgICAgICB0aGUgZmlyc3Qgcm93IHdpbGwgYmUgZGlzY2FyZGVkLgoKICAgICAgICAgICAuLiBzZWVhbHNvOjoKCiAgICAgICAgICAgICAgICA6cmVmOmBtaWdyYXRpb25fMjBfdW5pZnlfc2VsZWN0YAoKICAgICAgICA6cmV0dXJuOiBhIDpjbGFzczpgX2VuZ2luZS5Sb3dgIG9iamVjdCwgb3IgTm9uZQogICAgICAgICBpZiBubyByb3dzIHJlbWFpbi4KCiAgICAgICAgLi4gc2VlYWxzbzo6CgogICAgICAgICAgICA6bWV0aDpgX2FzeW5jaW8uQXN5bmNSZXN1bHQuc2NhbGFyYAoKICAgICAgICAgICAgOm1ldGg6YF9hc3luY2lvLkFzeW5jUmVzdWx0Lm9uZWAKCiAgICAgICAgRk6pAnIaAAAA2g1fb25seV9vbmVfcm93cisAAABzAQAAACByLQAAANoFZmlyc3R6EUFzeW5jUmVzdWx0LmZpcnN0DAEAAHMmAAAA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
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 0 × Files: 7
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
base.cpython-312.pyc
10.92 KB
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
engine.cpython-312.pyc
56.03 KB
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
exc.cpython-312.pyc
1015 B
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
result.cpython-312.pyc
36.60 KB
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
scoping.cpython-312.pyc
55.65 KB
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
session.cpython-312.pyc
69.78 KB
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-312.pyc
955 B
lrw-r--r--
2025-04-04 08:02:02
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).