REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 30.69 KB
Close
/opt/hc_python/lib/python3.12/site-packages/sqlalchemy/dialects/sqlite/__pycache__/pysqlite.cpython-312.pyc
Text
Base64
yw0NCgAAAAD5ke9nt20AAOMAAAAAAAAAAAAAAAAFAAAAAAAAAPPmAAAAlwBkAFoAZAFkAmwBWgFkAWQCbAJaAmQBZAJsA1oDZANkBGwEbQVaBQEAZANkBWwEbQZaBgEAZANkBmwEbQdaBwEAZAdkCGwIbQlaCQEAZAdkCWwIbQpaCgEAZAdkCmwIbQtaDAEAZAdkC2wIbQ1aDQEAAgBHAGQMhABkDWUGqwMAAAAAAABaDgIARwBkDoQAZA9lBasDAAAAAAAAWg8CAEcAZBCEAGQRZQerAwAAAAAAAFoQZRBaEQIARwBkEoQAZBNlEKsDAAAAAAAAWhICAEcAZBSEAGQVZRKrAwAAAAAAAFoTeQIpFmFyRQAACi4uIGRpYWxlY3Q6OiBzcWxpdGUrcHlzcWxpdGUKICAgIDpuYW1lOiBweXNxbGl0ZQogICAgOmRiYXBpOiBzcWxpdGUzCiAgICA6Y29ubmVjdHN0cmluZzogc3FsaXRlK3B5c3FsaXRlOi8vL2ZpbGVfcGF0aAogICAgOnVybDogaHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvbGlicmFyeS9zcWxpdGUzLmh0bWwKCiAgICBOb3RlIHRoYXQgYGBweXNxbGl0ZWBgIGlzIHRoZSBzYW1lIGRyaXZlciBhcyB0aGUgYGBzcWxpdGUzYGAKICAgIG1vZHVsZSBpbmNsdWRlZCB3aXRoIHRoZSBQeXRob24gZGlzdHJpYnV0aW9uLgoKRHJpdmVyCi0tLS0tLQoKVGhlIGBgc3FsaXRlM2BgIFB5dGhvbiBEQkFQSSBpcyBzdGFuZGFyZCBvbiBhbGwgbW9kZXJuIFB5dGhvbiB2ZXJzaW9uczsKZm9yIGNQeXRob24gYW5kIFB5cHksIG5vIGFkZGl0aW9uYWwgaW5zdGFsbGF0aW9uIGlzIG5lY2Vzc2FyeS4KCgpDb25uZWN0IFN0cmluZ3MKLS0tLS0tLS0tLS0tLS0tCgpUaGUgZmlsZSBzcGVjaWZpY2F0aW9uIGZvciB0aGUgU1FMaXRlIGRhdGFiYXNlIGlzIHRha2VuIGFzIHRoZSAiZGF0YWJhc2UiCnBvcnRpb24gb2YgdGhlIFVSTC4gIE5vdGUgdGhhdCB0aGUgZm9ybWF0IG9mIGEgU1FMQWxjaGVteSB1cmwgaXM6CgouLiBzb3VyY2Vjb2RlOjogdGV4dAoKICAgIGRyaXZlcjovL3VzZXI6cGFzc0Bob3N0L2RhdGFiYXNlCgpUaGlzIG1lYW5zIHRoYXQgdGhlIGFjdHVhbCBmaWxlbmFtZSB0byBiZSB1c2VkIHN0YXJ0cyB3aXRoIHRoZSBjaGFyYWN0ZXJzIHRvCnRoZSAqKnJpZ2h0Kiogb2YgdGhlIHRoaXJkIHNsYXNoLiAgIFNvIGNvbm5lY3RpbmcgdG8gYSByZWxhdGl2ZSBmaWxlcGF0aApsb29rcyBsaWtlOjoKCiAgICAjIHJlbGF0aXZlIHBhdGgKICAgIGUgPSBjcmVhdGVfZW5naW5lKCJzcWxpdGU6Ly8vcGF0aC90by9kYXRhYmFzZS5kYiIpCgpBbiBhYnNvbHV0ZSBwYXRoLCB3aGljaCBpcyBkZW5vdGVkIGJ5IHN0YXJ0aW5nIHdpdGggYSBzbGFzaCwgbWVhbnMgeW91Cm5lZWQgKipmb3VyKiogc2xhc2hlczo6CgogICAgIyBhYnNvbHV0ZSBwYXRoCiAgICBlID0gY3JlYXRlX2VuZ2luZSgic3FsaXRlOi8vLy9wYXRoL3RvL2RhdGFiYXNlLmRiIikKClRvIHVzZSBhIFdpbmRvd3MgcGF0aCwgcmVndWxhciBkcml2ZSBzcGVjaWZpY2F0aW9ucyBhbmQgYmFja3NsYXNoZXMgY2FuIGJlCnVzZWQuIERvdWJsZSBiYWNrc2xhc2hlcyBhcmUgcHJvYmFibHkgbmVlZGVkOjoKCiAgICAjIGFic29sdXRlIHBhdGggb24gV2luZG93cwogICAgZSA9IGNyZWF0ZV9lbmdpbmUoInNxbGl0ZTovLy9DOlxccGF0aFxcdG9cXGRhdGFiYXNlLmRiIikKClRvIHVzZSBzcWxpdGUgYGA6bWVtb3J5OmBgIGRhdGFiYXNlIHNwZWNpZnkgaXQgYXMgdGhlIGZpbGVuYW1lIHVzaW5nCmBgc3FsaXRlOi8vLzptZW1vcnk6YGAuIEl0J3MgYWxzbyB0aGUgZGVmYXVsdCBpZiBubyBmaWxlcGF0aCBpcwpwcmVzZW50LCBzcGVjaWZ5aW5nIG9ubHkgYGBzcWxpdGU6Ly9gYCBhbmQgbm90aGluZyBlbHNlOjoKCiAgICAjIGluLW1lbW9yeSBkYXRhYmFzZSAobm90ZSB0aHJlZSBzbGFzaGVzKQogICAgZSA9IGNyZWF0ZV9lbmdpbmUoInNxbGl0ZTovLy86bWVtb3J5OiIpCiAgICAjIGFsc28gaW4tbWVtb3J5IGRhdGFiYXNlCiAgICBlMiA9IGNyZWF0ZV9lbmdpbmUoInNxbGl0ZTovLyIpCgouLiBfcHlzcWxpdGVfdXJpX2Nvbm5lY3Rpb25zOgoKVVJJIENvbm5lY3Rpb25zCl5eXl5eXl5eXl5eXl5eXgoKTW9kZXJuIHZlcnNpb25zIG9mIFNRTGl0ZSBzdXBwb3J0IGFuIGFsdGVybmF0aXZlIHN5c3RlbSBvZiBjb25uZWN0aW5nIHVzaW5nIGEKYGRyaXZlciBsZXZlbCBVUkkgPGh0dHBzOi8vd3d3LnNxbGl0ZS5vcmcvdXJpLmh0bWw+YF8sIHdoaWNoIGhhcyB0aGUgIGFkdmFudGFnZQp0aGF0IGFkZGl0aW9uYWwgZHJpdmVyLWxldmVsIGFyZ3VtZW50cyBjYW4gYmUgcGFzc2VkIGluY2x1ZGluZyBvcHRpb25zIHN1Y2ggYXMKInJlYWQgb25seSIuICAgVGhlIFB5dGhvbiBzcWxpdGUzIGRyaXZlciBzdXBwb3J0cyB0aGlzIG1vZGUgdW5kZXIgbW9kZXJuIFB5dGhvbgozIHZlcnNpb25zLiAgIFRoZSBTUUxBbGNoZW15IHB5c3FsaXRlIGRyaXZlciBzdXBwb3J0cyB0aGlzIG1vZGUgb2YgdXNlIGJ5CnNwZWNpZnlpbmcgInVyaT10cnVlIiBpbiB0aGUgVVJMIHF1ZXJ5IHN0cmluZy4gIFRoZSBTUUxpdGUtbGV2ZWwgIlVSSSIgaXMga2VwdAphcyB0aGUgImRhdGFiYXNlIiBwb3J0aW9uIG9mIHRoZSBTUUxBbGNoZW15IHVybCAodGhhdCBpcywgZm9sbG93aW5nIGEgc2xhc2gpOjoKCiAgICBlID0gY3JlYXRlX2VuZ2luZSgic3FsaXRlOi8vL2ZpbGU6cGF0aC90by9kYXRhYmFzZT9tb2RlPXJvJnVyaT10cnVlIikKCi4uIG5vdGU6OiAgVGhlICJ1cmk9dHJ1ZSIgcGFyYW1ldGVyIG11c3QgYXBwZWFyIGluIHRoZSAqKnF1ZXJ5IHN0cmluZyoqCiAgIG9mIHRoZSBVUkwuICBJdCB3aWxsIG5vdCBjdXJyZW50bHkgd29yayBhcyBleHBlY3RlZCBpZiBpdCBpcyBvbmx5CiAgIHByZXNlbnQgaW4gdGhlIDpwYXJhbXJlZjpgX3NhLmNyZWF0ZV9lbmdpbmUuY29ubmVjdF9hcmdzYAogICBwYXJhbWV0ZXIgZGljdGlvbmFyeS4KClRoZSBsb2dpYyByZWNvbmNpbGVzIHRoZSBzaW11bHRhbmVvdXMgcHJlc2VuY2Ugb2YgU1FMQWxjaGVteSdzIHF1ZXJ5IHN0cmluZyBhbmQKU1FMaXRlJ3MgcXVlcnkgc3RyaW5nIGJ5IHNlcGFyYXRpbmcgb3V0IHRoZSBwYXJhbWV0ZXJzIHRoYXQgYmVsb25nIHRvIHRoZQpQeXRob24gc3FsaXRlMyBkcml2ZXIgdnMuIHRob3NlIHRoYXQgYmVsb25nIHRvIHRoZSBTUUxpdGUgVVJJLiAgVGhpcyBpcwphY2hpZXZlZCB0aHJvdWdoIHRoZSB1c2Ugb2YgYSBmaXhlZCBsaXN0IG9mIHBhcmFtZXRlcnMga25vd24gdG8gYmUgYWNjZXB0ZWQgYnkKdGhlIFB5dGhvbiBzaWRlIG9mIHRoZSBkcml2ZXIuICBGb3IgZXhhbXBsZSwgdG8gaW5jbHVkZSBhIFVSTCB0aGF0IGluZGljYXRlcwp0aGUgUHl0aG9uIHNxbGl0ZTMgInRpbWVvdXQiIGFuZCAiY2hlY2tfc2FtZV90aHJlYWQiIHBhcmFtZXRlcnMsIGFsb25nIHdpdGggdGhlClNRTGl0ZSAibW9kZSIgYW5kICJub2xvY2siIHBhcmFtZXRlcnMsIHRoZXkgY2FuIGFsbCBiZSBwYXNzZWQgdG9nZXRoZXIgb24gdGhlCnF1ZXJ5IHN0cmluZzo6CgogICAgZSA9IGNyZWF0ZV9lbmdpbmUoCiAgICAgICAgInNxbGl0ZTovLy9maWxlOnBhdGgvdG8vZGF0YWJhc2U/IgogICAgICAgICJjaGVja19zYW1lX3RocmVhZD10cnVlJnRpbWVvdXQ9MTAmbW9kZT1ybyZub2xvY2s9MSZ1cmk9dHJ1ZSIKICAgICkKCkFib3ZlLCB0aGUgcHlzcWxpdGUgLyBzcWxpdGUzIERCQVBJIHdvdWxkIGJlIHBhc3NlZCBhcmd1bWVudHMgYXM6OgoKICAgIHNxbGl0ZTMuY29ubmVjdCgKICAgICAgICAiZmlsZTpwYXRoL3RvL2RhdGFiYXNlP21vZGU9cm8mbm9sb2NrPTEiLAogICAgICAgIGNoZWNrX3NhbWVfdGhyZWFkPVRydWUsCiAgICAgICAgdGltZW91dD0xMCwKICAgICAgICB1cmk9VHJ1ZSwKICAgICkKClJlZ2FyZGluZyBmdXR1cmUgcGFyYW1ldGVycyBhZGRlZCB0byBlaXRoZXIgdGhlIFB5dGhvbiBvciBuYXRpdmUgZHJpdmVycy4gbmV3CnBhcmFtZXRlciBuYW1lcyBhZGRlZCB0byB0aGUgU1FMaXRlIFVSSSBzY2hlbWUgc2hvdWxkIGJlIGF1dG9tYXRpY2FsbHkKYWNjb21tb2RhdGVkIGJ5IHRoaXMgc2NoZW1lLiAgTmV3IHBhcmFtZXRlciBuYW1lcyBhZGRlZCB0byB0aGUgUHl0aG9uIGRyaXZlcgpzaWRlIGNhbiBiZSBhY2NvbW1vZGF0ZWQgYnkgc3BlY2lmeWluZyB0aGVtIGluIHRoZQo6cGFyYW1yZWY6YF9zYS5jcmVhdGVfZW5naW5lLmNvbm5lY3RfYXJnc2AgZGljdGlvbmFyeSwKdW50aWwgZGlhbGVjdCBzdXBwb3J0IGlzCmFkZGVkIGJ5IFNRTEFsY2hlbXkuICAgRm9yIHRoZSBsZXNzIGxpa2VseSBjYXNlIHRoYXQgdGhlIG5hdGl2ZSBTUUxpdGUgZHJpdmVyCmFkZHMgYSBuZXcgcGFyYW1ldGVyIG5hbWUgdGhhdCBvdmVybGFwcyB3aXRoIG9uZSBvZiB0aGUgZXhpc3RpbmcsIGtub3duIFB5dGhvbgpkcml2ZXIgcGFyYW1ldGVycyAoc3VjaCBhcyAidGltZW91dCIgcGVyaGFwcyksIFNRTEFsY2hlbXkncyBkaWFsZWN0IHdvdWxkCnJlcXVpcmUgYWRqdXN0bWVudCBmb3IgdGhlIFVSTCBzY2hlbWUgdG8gY29udGludWUgdG8gc3VwcG9ydCB0aGlzLgoKQXMgaXMgYWx3YXlzIHRoZSBjYXNlIGZvciBhbGwgU1FMQWxjaGVteSBkaWFsZWN0cywgdGhlIGVudGlyZSAiVVJMIiBwcm9jZXNzCmNhbiBiZSBieXBhc3NlZCBpbiA6ZnVuYzpgX3NhLmNyZWF0ZV9lbmdpbmVgIHRocm91Z2ggdGhlIHVzZSBvZiB0aGUKOnBhcmFtcmVmOmBfc2EuY3JlYXRlX2VuZ2luZS5jcmVhdG9yYApwYXJhbWV0ZXIgd2hpY2ggYWxsb3dzIGZvciBhIGN1c3RvbSBjYWxsYWJsZQp0aGF0IGNyZWF0ZXMgYSBQeXRob24gc3FsaXRlMyBkcml2ZXIgbGV2ZWwgY29ubmVjdGlvbiBkaXJlY3RseS4KCi4uIHZlcnNpb25hZGRlZDo6IDEuMy45CgouLiBzZWVhbHNvOjoKCiAgICBgVW5pZm9ybSBSZXNvdXJjZSBJZGVudGlmaWVycyA8aHR0cHM6Ly93d3cuc3FsaXRlLm9yZy91cmkuaHRtbD5gXyAtIGluCiAgICB0aGUgU1FMaXRlIGRvY3VtZW50YXRpb24KCi4uIF9weXNxbGl0ZV9yZWdleHA6CgpSZWd1bGFyIEV4cHJlc3Npb24gU3VwcG9ydAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi4uIHZlcnNpb25hZGRlZDo6IDEuNAoKU3VwcG9ydCBmb3IgdGhlIDptZXRoOmBfc3FsLkNvbHVtbk9wZXJhdG9ycy5yZWdleHBfbWF0Y2hgIG9wZXJhdG9yIGlzIHByb3ZpZGVkCnVzaW5nIFB5dGhvbidzIHJlLnNlYXJjaF8gZnVuY3Rpb24uICBTUUxpdGUgaXRzZWxmIGRvZXMgbm90IGluY2x1ZGUgYSB3b3JraW5nCnJlZ3VsYXIgZXhwcmVzc2lvbiBvcGVyYXRvcjsgaW5zdGVhZCwgaXQgaW5jbHVkZXMgYSBub24taW1wbGVtZW50ZWQgcGxhY2Vob2xkZXIKb3BlcmF0b3IgYGBSRUdFWFBgYCB0aGF0IGNhbGxzIGEgdXNlci1kZWZpbmVkIGZ1bmN0aW9uIHRoYXQgbXVzdCBiZSBwcm92aWRlZC4KClNRTEFsY2hlbXkncyBpbXBsZW1lbnRhdGlvbiBtYWtlcyB1c2Ugb2YgdGhlIHB5c3FsaXRlIGNyZWF0ZV9mdW5jdGlvbl8gaG9vawphcyBmb2xsb3dzOjoKCgogICAgZGVmIHJlZ2V4cChhLCBiKToKICAgICAgICByZXR1cm4gcmUuc2VhcmNoKGEsIGIpIGlzIG5vdCBOb25lCgoKICAgIHNxbGl0ZV9jb25uZWN0aW9uLmNyZWF0ZV9mdW5jdGlvbigKICAgICAgICAicmVnZXhwIiwKICAgICAgICAyLAogICAgICAgIHJlZ2V4cCwKICAgICkKClRoZXJlIGlzIGN1cnJlbnRseSBubyBzdXBwb3J0IGZvciByZWd1bGFyIGV4cHJlc3Npb24gZmxhZ3MgYXMgYSBzZXBhcmF0ZQphcmd1bWVudCwgYXMgdGhlc2UgYXJlIG5vdCBzdXBwb3J0ZWQgYnkgU1FMaXRlJ3MgUkVHRVhQIG9wZXJhdG9yLCBob3dldmVyIHRoZXNlCm1heSBiZSBpbmNsdWRlZCBpbmxpbmUgd2l0aGluIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gc3RyaW5nLiAgU2VlIGBQeXRob24gcmVndWxhciBleHByZXNzaW9uc2BfIGZvcgpkZXRhaWxzLgoKLi4gc2VlYWxzbzo6CgogICAgYFB5dGhvbiByZWd1bGFyIGV4cHJlc3Npb25zYF86IERvY3VtZW50YXRpb24gZm9yIFB5dGhvbidzIHJlZ3VsYXIgZXhwcmVzc2lvbiBzeW50YXguCgouLiBfY3JlYXRlX2Z1bmN0aW9uOiBodHRwczovL2RvY3MucHl0aG9uLm9yZy8zL2xpYnJhcnkvc3FsaXRlMy5odG1sI3NxbGl0ZTMuQ29ubmVjdGlvbi5jcmVhdGVfZnVuY3Rpb24KCi4uIF9yZS5zZWFyY2g6IGh0dHBzOi8vZG9jcy5weXRob24ub3JnLzMvbGlicmFyeS9yZS5odG1sI3JlLnNlYXJjaAoKLi4gX1B5dGhvbiByZWd1bGFyIGV4cHJlc3Npb25zOiBodHRwczovL2RvY3MucHl0aG9uLm9yZy8zL2xpYnJhcnkvcmUuaHRtbCNyZS5zZWFyY2gKCgoKQ29tcGF0aWJpbGl0eSB3aXRoIHNxbGl0ZTMgIm5hdGl2ZSIgZGF0ZSBhbmQgZGF0ZXRpbWUgdHlwZXMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClRoZSBweXNxbGl0ZSBkcml2ZXIgaW5jbHVkZXMgdGhlIHNxbGl0ZTMuUEFSU0VfREVDTFRZUEVTIGFuZApzcWxpdGUzLlBBUlNFX0NPTE5BTUVTIG9wdGlvbnMsIHdoaWNoIGhhdmUgdGhlIGVmZmVjdCBvZiBhbnkgY29sdW1uCm9yIGV4cHJlc3Npb24gZXhwbGljaXRseSBjYXN0IGFzICJkYXRlIiBvciAidGltZXN0YW1wIiB3aWxsIGJlIGNvbnZlcnRlZAp0byBhIFB5dGhvbiBkYXRlIG9yIGRhdGV0aW1lIG9iamVjdC4gIFRoZSBkYXRlIGFuZCBkYXRldGltZSB0eXBlcyBwcm92aWRlZAp3aXRoIHRoZSBweXNxbGl0ZSBkaWFsZWN0IGFyZSBub3QgY3VycmVudGx5IGNvbXBhdGlibGUgd2l0aCB0aGVzZSBvcHRpb25zLApzaW5jZSB0aGV5IHJlbmRlciB0aGUgSVNPIGRhdGUvZGF0ZXRpbWUgaW5jbHVkaW5nIG1pY3Jvc2Vjb25kcywgd2hpY2gKcHlzcWxpdGUncyBkcml2ZXIgZG9lcyBub3QuICAgQWRkaXRpb25hbGx5LCBTUUxBbGNoZW15IGRvZXMgbm90IGF0CnRoaXMgdGltZSBhdXRvbWF0aWNhbGx5IHJlbmRlciB0aGUgImNhc3QiIHN5bnRheCByZXF1aXJlZCBmb3IgdGhlCmZyZWVzdGFuZGluZyBmdW5jdGlvbnMgImN1cnJlbnRfdGltZXN0YW1wIiBhbmQgImN1cnJlbnRfZGF0ZSIgdG8gcmV0dXJuCmRhdGV0aW1lL2RhdGUgdHlwZXMgbmF0aXZlbHkuICAgVW5mb3J0dW5hdGVseSwgcHlzcWxpdGUKZG9lcyBub3QgcHJvdmlkZSB0aGUgc3RhbmRhcmQgREJBUEkgdHlwZXMgaW4gYGBjdXJzb3IuZGVzY3JpcHRpb25gYCwKbGVhdmluZyBTUUxBbGNoZW15IHdpdGggbm8gd2F5IHRvIGRldGVjdCB0aGVzZSB0eXBlcyBvbiB0aGUgZmx5CndpdGhvdXQgZXhwZW5zaXZlIHBlci1yb3cgdHlwZSBjaGVja3MuCgpLZWVwaW5nIGluIG1pbmQgdGhhdCBweXNxbGl0ZSdzIHBhcnNpbmcgb3B0aW9uIGlzIG5vdCByZWNvbW1lbmRlZCwKbm9yIHNob3VsZCBiZSBuZWNlc3NhcnksIGZvciB1c2Ugd2l0aCBTUUxBbGNoZW15LCB1c2FnZSBvZiBQQVJTRV9ERUNMVFlQRVMKY2FuIGJlIGZvcmNlZCBpZiBvbmUgY29uZmlndXJlcyAibmF0aXZlX2RhdGV0aW1lPVRydWUiIG9uIGNyZWF0ZV9lbmdpbmUoKTo6CgogICAgZW5naW5lID0gY3JlYXRlX2VuZ2luZSgKICAgICAgICAic3FsaXRlOi8vIiwKICAgICAgICBjb25uZWN0X2FyZ3M9ewogICAgICAgICAgICAiZGV0ZWN0X3R5cGVzIjogc3FsaXRlMy5QQVJTRV9ERUNMVFlQRVMgfCBzcWxpdGUzLlBBUlNFX0NPTE5BTUVTCiAgICAgICAgfSwKICAgICAgICBuYXRpdmVfZGF0ZXRpbWU9VHJ1ZSwKICAgICkKCldpdGggdGhpcyBmbGFnIGVuYWJsZWQsIHRoZSBEQVRFIGFuZCBUSU1FU1RBTVAgdHlwZXMgKGJ1dCBub3RlIC0gbm90IHRoZQpEQVRFVElNRSBvciBUSU1FIHR5cGVzLi4uY29uZnVzZWQgeWV0ID8pIHdpbGwgbm90IHBlcmZvcm0gYW55IGJpbmQgcGFyYW1ldGVyCm9yIHJlc3VsdCBwcm9jZXNzaW5nLiBFeGVjdXRpb24gb2YgImZ1bmMuY3VycmVudF9kYXRlKCkiIHdpbGwgcmV0dXJuIGEgc3RyaW5nLgoiZnVuYy5jdXJyZW50X3RpbWVzdGFtcCgpIiBpcyByZWdpc3RlcmVkIGFzIHJldHVybmluZyBhIERBVEVUSU1FIHR5cGUgaW4KU1FMQWxjaGVteSwgc28gdGhpcyBmdW5jdGlvbiBzdGlsbCByZWNlaXZlcyBTUUxBbGNoZW15LWxldmVsIHJlc3VsdApwcm9jZXNzaW5nLgoKLi4gX3B5c3FsaXRlX3RocmVhZGluZ19wb29saW5nOgoKVGhyZWFkaW5nL1Bvb2xpbmcgQmVoYXZpb3IKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpUaGUgYGBzcWxpdGUzYGAgREJBUEkgYnkgZGVmYXVsdCBwcm9oaWJpdHMgdGhlIHVzZSBvZiBhIHBhcnRpY3VsYXIgY29ubmVjdGlvbgppbiBhIHRocmVhZCB3aGljaCBpcyBub3QgdGhlIG9uZSBpbiB3aGljaCBpdCB3YXMgY3JlYXRlZC4gIEFzIFNRTGl0ZSBoYXMKbWF0dXJlZCwgaXQncyBiZWhhdmlvciB1bmRlciBtdWx0aXBsZSB0aHJlYWRzIGhhcyBpbXByb3ZlZCwgYW5kIGV2ZW4gaW5jbHVkZXMKb3B0aW9ucyBmb3IgbWVtb3J5IG9ubHkgZGF0YWJhc2VzIHRvIGJlIHVzZWQgaW4gbXVsdGlwbGUgdGhyZWFkcy4KClRoZSB0aHJlYWQgcHJvaGliaXRpb24gaXMga25vd24gYXMgImNoZWNrIHNhbWUgdGhyZWFkIiBhbmQgbWF5IGJlIGNvbnRyb2xsZWQKdXNpbmcgdGhlIGBgc3FsaXRlM2BgIHBhcmFtZXRlciBgYGNoZWNrX3NhbWVfdGhyZWFkYGAsIHdoaWNoIHdpbGwgZGlzYWJsZSBvcgplbmFibGUgdGhpcyBjaGVjay4gU1FMQWxjaGVteSdzIGRlZmF1bHQgYmVoYXZpb3IgaGVyZSBpcyB0byBzZXQKYGBjaGVja19zYW1lX3RocmVhZGBgIHRvIGBgRmFsc2VgYCBhdXRvbWF0aWNhbGx5IHdoZW5ldmVyIGEgZmlsZS1iYXNlZCBkYXRhYmFzZQppcyBpbiB1c2UsIHRvIGVzdGFibGlzaCBjb21wYXRpYmlsaXR5IHdpdGggdGhlIGRlZmF1bHQgcG9vbCBjbGFzcwo6Y2xhc3M6YC5RdWV1ZVBvb2xgLgoKVGhlIFNRTEFsY2hlbXkgYGBweXNxbGl0ZWBgIERCQVBJIGVzdGFibGlzaGVzIHRoZSBjb25uZWN0aW9uIHBvb2wgZGlmZmVyZW50bHkKYmFzZWQgb24gdGhlIGtpbmQgb2YgU1FMaXRlIGRhdGFiYXNlIHRoYXQncyByZXF1ZXN0ZWQ6CgoqIFdoZW4gYSBgYDptZW1vcnk6YGAgU1FMaXRlIGRhdGFiYXNlIGlzIHNwZWNpZmllZCwgdGhlIGRpYWxlY3QgYnkgZGVmYXVsdAogIHdpbGwgdXNlIDpjbGFzczpgLlNpbmdsZXRvblRocmVhZFBvb2xgLiBUaGlzIHBvb2wgbWFpbnRhaW5zIGEgc2luZ2xlCiAgY29ubmVjdGlvbiBwZXIgdGhyZWFkLCBzbyB0aGF0IGFsbCBhY2Nlc3MgdG8gdGhlIGVuZ2luZSB3aXRoaW4gdGhlIGN1cnJlbnQKICB0aHJlYWQgdXNlIHRoZSBzYW1lIGBgOm1lbW9yeTpgYCBkYXRhYmFzZSAtIG90aGVyIHRocmVhZHMgd291bGQgYWNjZXNzIGEKICBkaWZmZXJlbnQgYGA6bWVtb3J5OmBgIGRhdGFiYXNlLiAgVGhlIGBgY2hlY2tfc2FtZV90aHJlYWRgYCBwYXJhbWV0ZXIKICBkZWZhdWx0cyB0byBgYFRydWVgYC4KKiBXaGVuIGEgZmlsZS1iYXNlZCBkYXRhYmFzZSBpcyBzcGVjaWZpZWQsIHRoZSBkaWFsZWN0IHdpbGwgdXNlCiAgOmNsYXNzOmAuUXVldWVQb29sYCBhcyB0aGUgc291cmNlIG9mIGNvbm5lY3Rpb25zLiAgIGF0IHRoZSBzYW1lIHRpbWUsCiAgdGhlIGBgY2hlY2tfc2FtZV90aHJlYWRgYCBmbGFnIGlzIHNldCB0byBGYWxzZSBieSBkZWZhdWx0IHVubGVzcyBvdmVycmlkZGVuLgoKICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDIuMAoKICAgIFNRTGl0ZSBmaWxlIGRhdGFiYXNlIGVuZ2luZXMgbm93IHVzZSA6Y2xhc3M6YC5RdWV1ZVBvb2xgIGJ5IGRlZmF1bHQuCiAgICBQcmV2aW91c2x5LCA6Y2xhc3M6YC5OdWxsUG9vbGAgd2VyZSB1c2VkLiAgVGhlIDpjbGFzczpgLk51bGxQb29sYCBjbGFzcwogICAgbWF5IGJlIHVzZWQgYnkgc3BlY2lmeWluZyBpdCB2aWEgdGhlCiAgICA6cGFyYW1yZWY6YF9zYS5jcmVhdGVfZW5naW5lLnBvb2xjbGFzc2AgcGFyYW1ldGVyLgoKRGlzYWJsaW5nIENvbm5lY3Rpb24gUG9vbGluZyBmb3IgRmlsZSBEYXRhYmFzZXMKXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCgpQb29saW5nIG1heSBiZSBkaXNhYmxlZCBmb3IgYSBmaWxlIGJhc2VkIGRhdGFiYXNlIGJ5IHNwZWNpZnlpbmcgdGhlCjpjbGFzczpgLk51bGxQb29sYCBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIDpmdW5jOmBfc2EuY3JlYXRlX2VuZ2luZS5wb29sY2xhc3NgCnBhcmFtZXRlcjo6CgogICAgZnJvbSBzcWxhbGNoZW15IGltcG9ydCBOdWxsUG9vbAoKICAgIGVuZ2luZSA9IGNyZWF0ZV9lbmdpbmUoInNxbGl0ZTovLy9teWZpbGUuZGIiLCBwb29sY2xhc3M9TnVsbFBvb2wpCgpJdCdzIGJlZW4gb2JzZXJ2ZWQgdGhhdCB0aGUgOmNsYXNzOmAuTnVsbFBvb2xgIGltcGxlbWVudGF0aW9uIGluY3VycyBhbgpleHRyZW1lbHkgc21hbGwgcGVyZm9ybWFuY2Ugb3ZlcmhlYWQgZm9yIHJlcGVhdGVkIGNoZWNrb3V0cyBkdWUgdG8gdGhlIGxhY2sgb2YKY29ubmVjdGlvbiByZS11c2UgaW1wbGVtZW50ZWQgYnkgOmNsYXNzOmAuUXVldWVQb29sYC4gIEhvd2V2ZXIsIGl0IHN0aWxsCm1heSBiZSBiZW5lZmljaWFsIHRvIHVzZSB0aGlzIGNsYXNzIGlmIHRoZSBhcHBsaWNhdGlvbiBpcyBleHBlcmllbmNpbmcKaXNzdWVzIHdpdGggZmlsZXMgYmVpbmcgbG9ja2VkLgoKVXNpbmcgYSBNZW1vcnkgRGF0YWJhc2UgaW4gTXVsdGlwbGUgVGhyZWFkcwpeXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgoKVG8gdXNlIGEgYGA6bWVtb3J5OmBgIGRhdGFiYXNlIGluIGEgbXVsdGl0aHJlYWRlZCBzY2VuYXJpbywgdGhlIHNhbWUKY29ubmVjdGlvbiBvYmplY3QgbXVzdCBiZSBzaGFyZWQgYW1vbmcgdGhyZWFkcywgc2luY2UgdGhlIGRhdGFiYXNlIGV4aXN0cwpvbmx5IHdpdGhpbiB0aGUgc2NvcGUgb2YgdGhhdCBjb25uZWN0aW9uLiAgIFRoZQo6Y2xhc3M6YC5TdGF0aWNQb29sYCBpbXBsZW1lbnRhdGlvbiB3aWxsIG1haW50YWluIGEgc2luZ2xlIGNvbm5lY3Rpb24KZ2xvYmFsbHksIGFuZCB0aGUgYGBjaGVja19zYW1lX3RocmVhZGBgIGZsYWcgY2FuIGJlIHBhc3NlZCB0byBQeXNxbGl0ZQphcyBgYEZhbHNlYGA6OgoKICAgIGZyb20gc3FsYWxjaGVteS5wb29sIGltcG9ydCBTdGF0aWNQb29sCgogICAgZW5naW5lID0gY3JlYXRlX2VuZ2luZSgKICAgICAgICAic3FsaXRlOi8vIiwKICAgICAgICBjb25uZWN0X2FyZ3M9eyJjaGVja19zYW1lX3RocmVhZCI6IEZhbHNlfSwKICAgICAgICBwb29sY2xhc3M9U3RhdGljUG9vbCwKICAgICkKCk5vdGUgdGhhdCB1c2luZyBhIGBgOm1lbW9yeTpgYCBkYXRhYmFzZSBpbiBtdWx0aXBsZSB0aHJlYWRzIHJlcXVpcmVzIGEgcmVjZW50CnZlcnNpb24gb2YgU1FMaXRlLgoKVXNpbmcgVGVtcG9yYXJ5IFRhYmxlcyB3aXRoIFNRTGl0ZQpeXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgoKRHVlIHRvIHRoZSB3YXkgU1FMaXRlIGRlYWxzIHdpdGggdGVtcG9yYXJ5IHRhYmxlcywgaWYgeW91IHdpc2ggdG8gdXNlIGEKdGVtcG9yYXJ5IHRhYmxlIGluIGEgZmlsZS1iYXNlZCBTUUxpdGUgZGF0YWJhc2UgYWNyb3NzIG11bHRpcGxlIGNoZWNrb3V0cwpmcm9tIHRoZSBjb25uZWN0aW9uIHBvb2wsIHN1Y2ggYXMgd2hlbiB1c2luZyBhbiBPUk0gOmNsYXNzOmAuU2Vzc2lvbmAgd2hlcmUKdGhlIHRlbXBvcmFyeSB0YWJsZSBzaG91bGQgY29udGludWUgdG8gcmVtYWluIGFmdGVyIDptZXRoOmAuU2Vzc2lvbi5jb21taXRgIG9yCjptZXRoOmAuU2Vzc2lvbi5yb2xsYmFja2AgaXMgY2FsbGVkLCBhIHBvb2wgd2hpY2ggbWFpbnRhaW5zIGEgc2luZ2xlCmNvbm5lY3Rpb24gbXVzdCBiZSB1c2VkLiAgIFVzZSA6Y2xhc3M6YC5TaW5nbGV0b25UaHJlYWRQb29sYCBpZiB0aGUgc2NvcGUgaXMKb25seSBuZWVkZWQgd2l0aGluIHRoZSBjdXJyZW50IHRocmVhZCwgb3IgOmNsYXNzOmAuU3RhdGljUG9vbGAgaXMgc2NvcGUgaXMKbmVlZGVkIHdpdGhpbiBtdWx0aXBsZSB0aHJlYWRzIGZvciB0aGlzIGNhc2U6OgoKICAgICMgbWFpbnRhaW4gdGhlIHNhbWUgY29ubmVjdGlvbiBwZXIgdGhyZWFkCiAgICBmcm9tIHNxbGFsY2hlbXkucG9vbCBpbXBvcnQgU2luZ2xldG9uVGhyZWFkUG9vbAoKICAgIGVuZ2luZSA9IGNyZWF0ZV9lbmdpbmUoInNxbGl0ZTovLy9teWRiLmRiIiwgcG9vbGNsYXNzPVNpbmdsZXRvblRocmVhZFBvb2wpCgoKICAgICMgbWFpbnRhaW4gdGhlIHNhbWUgY29ubmVjdGlvbiBhY3Jvc3MgYWxsIHRocmVhZHMKICAgIGZyb20gc3FsYWxjaGVteS5wb29sIGltcG9ydCBTdGF0aWNQb29sCgogICAgZW5naW5lID0gY3JlYXRlX2VuZ2luZSgic3FsaXRlOi8vL215ZGIuZGIiLCBwb29sY2xhc3M9U3RhdGljUG9vbCkKCk5vdGUgdGhhdCA6Y2xhc3M6YC5TaW5nbGV0b25UaHJlYWRQb29sYCBzaG91bGQgYmUgY29uZmlndXJlZCBmb3IgdGhlIG51bWJlcgpvZiB0aHJlYWRzIHRoYXQgYXJlIHRvIGJlIHVzZWQ7IGJleW9uZCB0aGF0IG51bWJlciwgY29ubmVjdGlvbnMgd2lsbCBiZQpjbG9zZWQgb3V0IGluIGEgbm9uIGRldGVybWluaXN0aWMgd2F5LgoKCkRlYWxpbmcgd2l0aCBNaXhlZCBTdHJpbmcgLyBCaW5hcnkgQ29sdW1ucwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClRoZSBTUUxpdGUgZGF0YWJhc2UgaXMgd2Vha2x5IHR5cGVkLCBhbmQgYXMgc3VjaCBpdCBpcyBwb3NzaWJsZSB3aGVuIHVzaW5nCmJpbmFyeSB2YWx1ZXMsIHdoaWNoIGluIFB5dGhvbiBhcmUgcmVwcmVzZW50ZWQgYXMgYGBiJ3NvbWUgc3RyaW5nJ2BgLCB0aGF0IGEKcGFydGljdWxhciBTUUxpdGUgZGF0YWJhc2UgY2FuIGhhdmUgZGF0YSB2YWx1ZXMgd2l0aGluIGRpZmZlcmVudCByb3dzIHdoZXJlCnNvbWUgb2YgdGhlbSB3aWxsIGJlIHJldHVybmVkIGFzIGEgYGBiJydgYCB2YWx1ZSBieSB0aGUgUHlzcWxpdGUgZHJpdmVyLCBhbmQKb3RoZXJzIHdpbGwgYmUgcmV0dXJuZWQgYXMgUHl0aG9uIHN0cmluZ3MsIGUuZy4gYGAnJ2BgIHZhbHVlcy4gICBUaGlzIHNpdHVhdGlvbgppcyBub3Qga25vd24gdG8gb2NjdXIgaWYgdGhlIFNRTEFsY2hlbXkgOmNsYXNzOmAuTGFyZ2VCaW5hcnlgIGRhdGF0eXBlIGlzIHVzZWQKY29uc2lzdGVudGx5LCBob3dldmVyIGlmIGEgcGFydGljdWxhciBTUUxpdGUgZGF0YWJhc2UgaGFzIGRhdGEgdGhhdCB3YXMKaW5zZXJ0ZWQgdXNpbmcgdGhlIFB5c3FsaXRlIGRyaXZlciBkaXJlY3RseSwgb3Igd2hlbiB1c2luZyB0aGUgU1FMQWxjaGVteQo6Y2xhc3M6YC5TdHJpbmdgIHR5cGUgd2hpY2ggd2FzIGxhdGVyIGNoYW5nZWQgdG8gOmNsYXNzOmAuTGFyZ2VCaW5hcnlgLCB0aGUKdGFibGUgd2lsbCBub3QgYmUgY29uc2lzdGVudGx5IHJlYWRhYmxlIGJlY2F1c2UgU1FMQWxjaGVteSdzCjpjbGFzczpgLkxhcmdlQmluYXJ5YCBkYXRhdHlwZSBkb2VzIG5vdCBoYW5kbGUgc3RyaW5ncyBzbyBpdCBoYXMgbm8gd2F5IG9mCiJlbmNvZGluZyIgYSB2YWx1ZSB0aGF0IGlzIGluIHN0cmluZyBmb3JtYXQuCgpUbyBkZWFsIHdpdGggYSBTUUxpdGUgdGFibGUgdGhhdCBoYXMgbWl4ZWQgc3RyaW5nIC8gYmluYXJ5IGRhdGEgaW4gdGhlCnNhbWUgY29sdW1uLCB1c2UgYSBjdXN0b20gdHlwZSB0aGF0IHdpbGwgY2hlY2sgZWFjaCByb3cgaW5kaXZpZHVhbGx5OjoKCiAgICBmcm9tIHNxbGFsY2hlbXkgaW1wb3J0IFN0cmluZwogICAgZnJvbSBzcWxhbGNoZW15IGltcG9ydCBUeXBlRGVjb3JhdG9yCgoKICAgIGNsYXNzIE1peGVkQmluYXJ5KFR5cGVEZWNvcmF0b3IpOgogICAgICAgIGltcGwgPSBTdHJpbmcKICAgICAgICBjYWNoZV9vayA9IFRydWUKCiAgICAgICAgZGVmIHByb2Nlc3NfcmVzdWx0X3ZhbHVlKHNlbGYsIHZhbHVlLCBkaWFsZWN0KToKICAgICAgICAgICAgaWYgaXNpbnN0YW5jZSh2YWx1ZSwgc3RyKToKICAgICAgICAgICAgICAgIHZhbHVlID0gYnl0ZXModmFsdWUsICJ1dGYtOCIpCiAgICAgICAgICAgIGVsaWYgdmFsdWUgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICAgICB2YWx1ZSA9IGJ5dGVzKHZhbHVlKQoKICAgICAgICAgICAgcmV0dXJuIHZhbHVlCgpUaGVuIHVzZSB0aGUgYWJvdmUgYGBNaXhlZEJpbmFyeWBgIGRhdGF0eXBlIGluIHRoZSBwbGFjZSB3aGVyZQo6Y2xhc3M6YC5MYXJnZUJpbmFyeWAgd291bGQgbm9ybWFsbHkgYmUgdXNlZC4KCi4uIF9weXNxbGl0ZV9zZXJpYWxpemFibGU6CgpTZXJpYWxpemFibGUgaXNvbGF0aW9uIC8gU2F2ZXBvaW50cyAvIFRyYW5zYWN0aW9uYWwgRERMCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCkluIHRoZSBzZWN0aW9uIDpyZWY6YHNxbGl0ZV9jb25jdXJyZW5jeWAsIHdlIHJlZmVyIHRvIHRoZSBweXNxbGl0ZQpkcml2ZXIncyBhc3NvcnRtZW50IG9mIGlzc3VlcyB0aGF0IHByZXZlbnQgc2V2ZXJhbCBmZWF0dXJlcyBvZiBTUUxpdGUKZnJvbSB3b3JraW5nIGNvcnJlY3RseS4gIFRoZSBweXNxbGl0ZSBEQkFQSSBkcml2ZXIgaGFzIHNldmVyYWwKbG9uZy1zdGFuZGluZyBidWdzIHdoaWNoIGltcGFjdCB0aGUgY29ycmVjdG5lc3Mgb2YgaXRzIHRyYW5zYWN0aW9uYWwKYmVoYXZpb3IuICAgSW4gaXRzIGRlZmF1bHQgbW9kZSBvZiBvcGVyYXRpb24sIFNRTGl0ZSBmZWF0dXJlcyBzdWNoIGFzClNFUklBTElaQUJMRSBpc29sYXRpb24sIHRyYW5zYWN0aW9uYWwgRERMLCBhbmQgU0FWRVBPSU5UIHN1cHBvcnQgYXJlCm5vbi1mdW5jdGlvbmFsLCBhbmQgaW4gb3JkZXIgdG8gdXNlIHRoZXNlIGZlYXR1cmVzLCB3b3JrYXJvdW5kcyBtdXN0CmJlIHRha2VuLgoKVGhlIGlzc3VlIGlzIGVzc2VudGlhbGx5IHRoYXQgdGhlIGRyaXZlciBhdHRlbXB0cyB0byBzZWNvbmQtZ3Vlc3MgdGhlIHVzZXIncwppbnRlbnQsIGZhaWxpbmcgdG8gc3RhcnQgdHJhbnNhY3Rpb25zIGFuZCBzb21ldGltZXMgZW5kaW5nIHRoZW0gcHJlbWF0dXJlbHksIGluCmFuIGVmZm9ydCB0byBtaW5pbWl6ZSB0aGUgU1FMaXRlIGRhdGFiYXNlcydzIGZpbGUgbG9ja2luZyBiZWhhdmlvciwgZXZlbgp0aG91Z2ggU1FMaXRlIGl0c2VsZiB1c2VzICJzaGFyZWQiIGxvY2tzIGZvciByZWFkLW9ubHkgYWN0aXZpdGllcy4KClNRTEFsY2hlbXkgY2hvb3NlcyB0byBub3QgYWx0ZXIgdGhpcyBiZWhhdmlvciBieSBkZWZhdWx0LCBhcyBpdCBpcyB0aGUKbG9uZy1leHBlY3RlZCBiZWhhdmlvciBvZiB0aGUgcHlzcWxpdGUgZHJpdmVyOyBpZiBhbmQgd2hlbiB0aGUgcHlzcWxpdGUKZHJpdmVyIGF0dGVtcHRzIHRvIHJlcGFpciB0aGVzZSBpc3N1ZXMsIHRoYXQgd2lsbCBiZSBtb3JlIG9mIGEgZHJpdmVyIHRvd2FyZHMKZGVmYXVsdHMgZm9yIFNRTEFsY2hlbXkuCgpUaGUgZ29vZCBuZXdzIGlzIHRoYXQgd2l0aCBhIGZldyBldmVudHMsIHdlIGNhbiBpbXBsZW1lbnQgdHJhbnNhY3Rpb25hbApzdXBwb3J0IGZ1bGx5LCBieSBkaXNhYmxpbmcgcHlzcWxpdGUncyBmZWF0dXJlIGVudGlyZWx5IGFuZCBlbWl0dGluZyBCRUdJTgpvdXJzZWx2ZXMuIFRoaXMgaXMgYWNoaWV2ZWQgdXNpbmcgdHdvIGV2ZW50IGxpc3RlbmVyczo6CgogICAgZnJvbSBzcWxhbGNoZW15IGltcG9ydCBjcmVhdGVfZW5naW5lLCBldmVudAoKICAgIGVuZ2luZSA9IGNyZWF0ZV9lbmdpbmUoInNxbGl0ZTovLy9teWZpbGUuZGIiKQoKCiAgICBAZXZlbnQubGlzdGVuc19mb3IoZW5naW5lLCAiY29ubmVjdCIpCiAgICBkZWYgZG9fY29ubmVjdChkYmFwaV9jb25uZWN0aW9uLCBjb25uZWN0aW9uX3JlY29yZCk6CiAgICAgICAgIyBkaXNhYmxlIHB5c3FsaXRlJ3MgZW1pdHRpbmcgb2YgdGhlIEJFR0lOIHN0YXRlbWVudCBlbnRpcmVseS4KICAgICAgICAjIGFsc28gc3RvcHMgaXQgZnJvbSBlbWl0dGluZyBDT01NSVQgYmVmb3JlIGFueSBEREwuCiAgICAgICAgZGJhcGlfY29ubmVjdGlvbi5pc29sYXRpb25fbGV2ZWwgPSBOb25lCgoKICAgIEBldmVudC5saXN0ZW5zX2ZvcihlbmdpbmUsICJiZWdpbiIpCiAgICBkZWYgZG9fYmVnaW4oY29ubik6CiAgICAgICAgIyBlbWl0IG91ciBvd24gQkVHSU4KICAgICAgICBjb25uLmV4ZWNfZHJpdmVyX3NxbCgiQkVHSU4iKQoKLi4gd2FybmluZzo6IFdoZW4gdXNpbmcgdGhlIGFib3ZlIHJlY2lwZSwgaXQgaXMgYWR2aXNlZCB0byBub3QgdXNlIHRoZQogICA6cGFyYW1yZWY6YC5Db25uZWN0aW9uLmV4ZWN1dGlvbl9vcHRpb25zLmlzb2xhdGlvbl9sZXZlbGAgc2V0dGluZyBvbgogICA6Y2xhc3M6YF9lbmdpbmUuQ29ubmVjdGlvbmAgYW5kIDpmdW5jOmBfc2EuY3JlYXRlX2VuZ2luZWAKICAgd2l0aCB0aGUgU1FMaXRlIGRyaXZlciwKICAgYXMgdGhpcyBmdW5jdGlvbiBuZWNlc3NhcmlseSB3aWxsIGFsc28gYWx0ZXIgdGhlICIuaXNvbGF0aW9uX2xldmVsIiBzZXR0aW5nLgoKCkFib3ZlLCB3ZSBpbnRlcmNlcHQgYSBuZXcgcHlzcWxpdGUgY29ubmVjdGlvbiBhbmQgZGlzYWJsZSBhbnkgdHJhbnNhY3Rpb25hbAppbnRlZ3JhdGlvbi4gICBUaGVuLCBhdCB0aGUgcG9pbnQgYXQgd2hpY2ggU1FMQWxjaGVteSBrbm93cyB0aGF0IHRyYW5zYWN0aW9uCnNjb3BlIGlzIHRvIGJlZ2luLCB3ZSBlbWl0IGBgIkJFR0lOImBgIG91cnNlbHZlcy4KCldoZW4gd2UgdGFrZSBjb250cm9sIG9mIGBgIkJFR0lOImBgLCB3ZSBjYW4gYWxzbyBjb250cm9sIGRpcmVjdGx5IFNRTGl0ZSdzCmxvY2tpbmcgbW9kZXMsIGludHJvZHVjZWQgYXQKYEJFR0lOIFRSQU5TQUNUSU9OIDxodHRwczovL3NxbGl0ZS5vcmcvbGFuZ190cmFuc2FjdGlvbi5odG1sPmBfLApieSBhZGRpbmcgdGhlIGRlc2lyZWQgbG9ja2luZyBtb2RlIHRvIG91ciBgYCJCRUdJTiJgYDo6CgogICAgQGV2ZW50Lmxpc3RlbnNfZm9yKGVuZ2luZSwgImJlZ2luIikKICAgIGRlZiBkb19iZWdpbihjb25uKToKICAgICAgICBjb25uLmV4ZWNfZHJpdmVyX3NxbCgiQkVHSU4gRVhDTFVTSVZFIikKCi4uIHNlZWFsc286OgoKICAgIGBCRUdJTiBUUkFOU0FDVElPTiA8aHR0cHM6Ly9zcWxpdGUub3JnL2xhbmdfdHJhbnNhY3Rpb24uaHRtbD5gXyAtCiAgICBvbiB0aGUgU1FMaXRlIHNpdGUKCiAgICBgc3FsaXRlMyBTRUxFQ1QgZG9lcyBub3QgQkVHSU4gYSB0cmFuc2FjdGlvbiA8aHR0cHM6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWU5OTI0PmBfIC0KICAgIG9uIHRoZSBQeXRob24gYnVnIHRyYWNrZXIKCiAgICBgc3FsaXRlMyBtb2R1bGUgYnJlYWtzIHRyYW5zYWN0aW9ucyBhbmQgcG90ZW50aWFsbHkgY29ycnVwdHMgZGF0YSA8aHR0cHM6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWUxMDc0MD5gXyAtCiAgICBvbiB0aGUgUHl0aG9uIGJ1ZyB0cmFja2VyCgouLiBfcHlzcWxpdGVfdWRmczoKClVzZXItRGVmaW5lZCBGdW5jdGlvbnMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKcHlzcWxpdGUgc3VwcG9ydHMgYSBgY3JlYXRlX2Z1bmN0aW9uKCkgPGh0dHBzOi8vZG9jcy5weXRob24ub3JnLzMvbGlicmFyeS9zcWxpdGUzLmh0bWwjc3FsaXRlMy5Db25uZWN0aW9uLmNyZWF0ZV9mdW5jdGlvbj5gXwptZXRob2QgdGhhdCBhbGxvd3MgdXMgdG8gY3JlYXRlIG91ciBvd24gdXNlci1kZWZpbmVkIGZ1bmN0aW9ucyAoVURGcykgaW4gUHl0aG9uIGFuZCB1c2UgdGhlbSBkaXJlY3RseSBpbiBTUUxpdGUgcXVlcmllcy4KVGhlc2UgZnVuY3Rpb25zIGFyZSByZWdpc3RlcmVkIHdpdGggYSBzcGVjaWZpYyBEQkFQSSBDb25uZWN0aW9uLgoKU1FMQWxjaGVteSB1c2VzIGNvbm5lY3Rpb24gcG9vbGluZyB3aXRoIGZpbGUtYmFzZWQgU1FMaXRlIGRhdGFiYXNlcywgc28gd2UgbmVlZCB0byBlbnN1cmUgdGhhdCB0aGUgVURGIGlzIGF0dGFjaGVkIHRvIHRoZQpjb25uZWN0aW9uIHdoZW4gaXQgaXMgY3JlYXRlZC4gVGhhdCBpcyBhY2NvbXBsaXNoZWQgd2l0aCBhbiBldmVudCBsaXN0ZW5lcjo6CgogICAgZnJvbSBzcWxhbGNoZW15IGltcG9ydCBjcmVhdGVfZW5naW5lCiAgICBmcm9tIHNxbGFsY2hlbXkgaW1wb3J0IGV2ZW50CiAgICBmcm9tIHNxbGFsY2hlbXkgaW1wb3J0IHRleHQKCgogICAgZGVmIHVkZigpOgogICAgICAgIHJldHVybiAidWRmLW9rIgoKCiAgICBlbmdpbmUgPSBjcmVhdGVfZW5naW5lKCJzcWxpdGU6Ly8vLi9kYl9maWxlIikKCgogICAgQGV2ZW50Lmxpc3RlbnNfZm9yKGVuZ2luZSwgImNvbm5lY3QiKQogICAgZGVmIGNvbm5lY3QoY29ubiwgcmVjKToKICAgICAgICBjb25uLmNyZWF0ZV9mdW5jdGlvbigidWRmIiwgMCwgdWRmKQoKCiAgICBmb3IgaSBpbiByYW5nZSg1KToKICAgICAgICB3aXRoIGVuZ2luZS5jb25uZWN0KCkgYXMgY29u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AGovAAAAAAAAAAAAAAAAAAAAAAAAfAGrAQAAAAAAAAwAqwIAAAAAAAABAHwHZwF8BGYCUwApD056FEludmFsaWQgU1FMaXRlIFVSTDogeokKVmFsaWQgU1FMaXRlIFVSTCBmb3JtcyBhcmU6CiBzcWxpdGU6Ly8vOm1lbW9yeTogKG9yLCBzcWxpdGU6Ly8pCiBzcWxpdGU6Ly8vcmVsYXRpdmUvcGF0aC90by9maWxlLmRiCiBzcWxpdGU6Ly8vL2Fic29sdXRlL3BhdGgvdG8vZmlsZS5kYtoDdXJp2gd0aW1lb3V0ckQAAADaDGRldGVjdF90eXBlc9oRY2hlY2tfc2FtZV90aHJlYWTaEWNhY2hlZF9zdGF0ZW1lbnRzKQHaBGRlc3RG2gE/2gEmYwEAAAAAAAAAAAAAAAUAAAAzAAAA8zIAAACVAUsAAQCXAHwAXQ4AAH0BfAGbAWQAiQJ8ARkAAACbAZ0DlgGXAQEAjBAEAHkBrQN3ASkC2gE9TnIfAAAAKQPaAi4w2gNrZXnaCHVyaV9vcHRzcwMAAAAgIIByFQAAANoJPGdlbmV4cHI+ej1TUUxpdGVEaWFsZWN0X3B5c3FsaXRlLmNyZWF0ZV9jb25uZWN0X2FyZ3MuPGxvY2Fscz4uPGdlbmV4cHI+ggIAAHMiAAAA+OgA+IAA8AADHRbhIzOYQ/IDACQnqAiwE6oN1Bg22SMz+XMEAAAAgxQXAXIvAAAAKRjaCHVzZXJuYW1l2ghwYXNzd29yZNoEaG9zdNoEcG9ydHIIAAAA2g1Bcmd1bWVudEVycm9y2gRib29s2gVmbG9hdNoDc3Ry2gNpbnRyMwAAAHILAAAA2g5jb2VyY2Vfa3dfdHlwZXI0AAAA2gRkaWN02gNwb3ByMgAAANoEam9pbtoGc29ydGVk2gJvc9oEcGF0aNoHYWJzcGF0aNoKc2V0ZGVmYXVsdHI3AAAAKQlyEwAAAHI2AAAA2g1weXNxbGl0ZV9hcmdz2gRvcHRz2g1weXNxbGl0ZV9vcHRzcm8AAADaBXR5cGVf2ghmaWxlbmFtZXJwAAAAcwkAAAAgICAgICAgIEByFQAAANoTY3JlYXRlX2Nvbm5lY3RfYXJnc3oqU1FMaXRlRGlhbGVjdF9weXNxbGl0ZS5jcmVhdGVfY29ubmVjdF9hcmdzVAIAAHNyAQAA+IAA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
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 0 × Files: 8
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
aiosqlite.cpython-312.pyc
18.31 KB
lrw-r--r--
2025-04-04 08:02:01
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
base.cpython-312.pyc
99.27 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
dml.cpython-312.pyc
9.80 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
json.cpython-312.pyc
3.67 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
provision.cpython-312.pyc
7.09 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
pysqlcipher.cpython-312.pyc
6.05 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
pysqlite.cpython-312.pyc
30.69 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
1.02 KB
lrw-r--r--
2025-04-04 08:02:01
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).